zeiss-digital-innovation / SynchronizeFX

JavaFX data-binding between JVMs over the network

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

A parent and child classes having private property fields with the same name fail to be synchronized

rbi opened this issue · comments

HOW TO REPRODUCE

  • given the following classes:
class A {
  private StringProperty propertySameName = new SimpleStringProperty();
}

class B extends A {
  private StringProperty propertySameName = new SimpleStringProperty();
}
  • Synchronize objects of them and change the value of both private Properties.

WHAT HAPPENED

  • An Exception is thrown:
de.saxsys.synchronizefx.core.exceptions.ObjectToIdMappingException: An object with the id [d44b9948-98db-4b53-935e-5156fe46ab71] was expected to be known but it was not.  In most cases this means that synchronism with other peers has been lost.
    at de.saxsys.synchronizefx.core.metamodel.WeakObjectRegistry.getByIdOrFail(WeakObjectRegistry.java:75)
    at de.saxsys.synchronizefx.core.metamodel.CommandListExecutor.execute(CommandListExecutor.java:175)
    at de.saxsys.synchronizefx.core.metamodel.CommandListExecutor.execute(CommandListExecutor.java:103)
    at de.saxsys.synchronizefx.core.metamodel.MetaModel.execute(MetaModel.java:199)
    at de.saxsys.synchronizefx.core.metamodel.MetaModel.access$000(MetaModel.java:33)
    at de.saxsys.synchronizefx.core.metamodel.MetaModel$2.run(MetaModel.java:120)
    at de.saxsys.synchronizefx.core.metamodel.ModelWalkingSynchronizer.doWhenModelWalkerFinished(ModelWalkingSynchronizer.java:137)
    at de.saxsys.synchronizefx.core.metamodel.MetaModel.execute(MetaModel.java:116)
    at de.saxsys.synchronizefx.core.clientserver.DomainModelClient.recive(DomainModelClient.java:90)
    at de.saxsys.synchronizefx.netty.base.client.InboundCommandHandlerClient.channelRead0(InboundCommandHandlerClient.java:48)
    at de.saxsys.synchronizefx.netty.base.client.InboundCommandHandlerClient.channelRead0(InboundCommandHandlerClient.java:33)
    at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
    ...

WHAT SHOULD HAPPEN

  • No exception is thrown
  • both properties have the correct value.