Changing factory class for node


Is there a way to change the factory class of an existing node such that when a workflow with that node is loaded the new factory class is used? What I am trying to do is to replace a node with a newer version, but due to a changed interface this would break existing workflows containing this node. I therefore decided to keep a copy of the old version, marked deprecated, for some time and replace all occurences of the old version of the node with the deprecated version, which has a completely different naming and packaging scheme on source level. I thought this should be possible by just replacing the factory class of the node extension in the plugin.xml, but for some reason this is completely ignored (XNodeFactory is used all the time).

Here is an example what I am trying to do:


factory-class="XNodeFactory" id="XNodeFactory"


factory-class="OldXNodeFactory" id="XNodeFactory"

factory-class="XNodeFactory" id="NewXNodeFactory"

At some later point (migration done):

factory-class="XNodeFactory" id="XNodeFactory"

factory-class="XNodeFactory" id="NewXNodeFactory"

I know that there are several alternative solution, like using a completely new name for the new version of the node, but I just thought this would be an elegant solution and was wondering why it is not working.

Thanks a lot for any suggestions,