Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » EMF » [CDO]
[CDO] [message #1065982] Fri, 28 June 2013 16:22
Scott Dybiec is currently offline Scott DybiecFriend
Messages: 148
Registered: July 2009
Senior Member
I have two RCP applications accessing a model instance on a CDO server.
Updates flow in real-time both ways as each user saves his/her model and
the UI is dynamically updated. Pretty cool.

In one scenario a series of integer values are updated on one side (lane
numbers) and when delta notifications are sent to the other user, I get
the stack trace pasted below.

Never had this error before I migrated from base EMF to CDO and tried
this multi-user access to the model.

Here's the snippet from NotificationImpl.java where the error occurs:

public int getNewIntValue()
{
if (primitiveType != PRIMITIVE_TYPE_INT) throw new
IllegalStateException();
return (int)newSimplePrimitiveValue;
}

The debugger shows that the value of 'primitiveType' is -1, rather than
the expected value of 5 (PRIMITIVE_TYPE_INT).

Here's the stack trace:

[ERROR] IllegalStateException
java.lang.IllegalStateException
at
org.eclipse.emf.common.notify.impl.NotificationImpl.getNewIntValue(NotificationImpl.java:943)
at
com.humanfactor.rw.model.ecore.regatta.provider.validation.RegattaValidationAdapterFactory$22.getAffectedObjects(RegattaValidationAdapterFactory.java:1193)
at
com.humanfactor.emf.validation.adapter.ModelValidationAdapter.notifyChanged(ModelValidationAdapter.java:367)
at
org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java:374)
at
org.eclipse.emf.common.notify.impl.NotificationChainImpl.dispatch(NotificationChainImpl.java:98)
at
org.eclipse.emf.common.notify.impl.NotificationChainImpl.dispatch(NotificationChainImpl.java:86)
at
org.eclipse.emf.internal.cdo.view.CDOViewImpl.sendDeltaNotifications(CDOViewImpl.java:949)
at
org.eclipse.emf.internal.cdo.view.CDOViewImpl.doInvalidate(CDOViewImpl.java:833)
at
org.eclipse.emf.internal.cdo.view.CDOViewImpl$InvalidationRunnable.run(CDOViewImpl.java:1554)
at org.eclipse.net4j.util.concurrent.QueueRunner.work(QueueRunner.java:26)
at org.eclipse.net4j.util.concurrent.QueueRunner.work(QueueRunner.java:1)
at
org.eclipse.net4j.util.concurrent.QueueWorker.doWork(QueueWorker.java:86)
at org.eclipse.net4j.util.concurrent.QueueWorker.work(QueueWorker.java:77)
at
org.eclipse.net4j.util.concurrent.Worker$WorkerThread.run(Worker.java:206)
11:55:23 DEBUG (BasicCDOViewContextListener.java:31) - Received event
CDOViewInvalidationEvent:
{RacingCrew@OID8974=CDORevisionDelta[RacingCrew@OID8974:0v3 -->
[CDOFeatureDelta[laneNumber, SET, value=4, oldValue=4]]],
RacingCrew@OID8961=CDORevisionDelta[RacingCrew@OID8961:0v3 -->
[CDOFeatureDelta[laneNumber, SET, value=5, oldValue=5]]],
RacingCrew@OID8968=CDORevisionDelta[RacingCrew@OID8968:0v3 -->
[CDOFeatureDelta[laneNumber, SET, value=2, oldValue=3]]],
com.humanfactor.rw.model.ecore.regatta.impl.RaceImpl (raceStatus:
preliminary, raceNumber: 2a)=CDORevisionDelta[Race@OID8959:0v3 -->
[CDOFeatureDelta[racingCrew, LIST, list=[CDOFeatureDelta[racingCrew,
MOVE, from=0, to=2, value=OID8971]]]]],
RacingCrew@OID8971=CDORevisionDelta[RacingCrew@OID8971:0v3 -->
[CDOFeatureDelta[laneNumber, SET, value=3, oldValue=1]]],
RacingCrew@OID8965=CDORevisionDelta[RacingCrew@OID8965:0v3 -->
[CDOFeatureDelta[laneNumber, SET, value=1, oldValue=2]]],
RacingCrew@OID8979=CDORevisionDelta[RacingCrew@OID8979:0v4 -->
[CDOFeatureDelta[laneNumber, SET, value=6, oldValue=UNSPECIFIED]]]}
11:55:23 DEBUG (CDOViewContextListener.java:43) - Refreshing viewer
Previous Topic:creating database in postgresql via cdo-server.xml
Next Topic:EMF query model
Goto Forum:
  


Current Time: Sat Apr 27 02:30:31 GMT 2024

Powered by FUDForum. Page generated in 0.02781 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top