Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Stepper2010-10-08 17:59:54 +0000
committerEike Stepper2010-10-08 17:59:54 +0000
commite9e7d0213d27d538fe420153036af82e7df511ab (patch)
tree2be727e899975bb0de053a56a7caf95b0dfea7fa /plugins/org.eclipse.emf.cdo.server.ocl
parent01700460fd91df78dc01bd6f026f7077fe98fa5a (diff)
downloadcdo-e9e7d0213d27d538fe420153036af82e7df511ab.tar.gz
cdo-e9e7d0213d27d538fe420153036af82e7df511ab.tar.xz
cdo-e9e7d0213d27d538fe420153036af82e7df511ab.zip
[256931] Provide common query language (OCL)
https://bugs.eclipse.org/bugs/show_bug.cgi?id=256931
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.server.ocl')
-rw-r--r--plugins/org.eclipse.emf.cdo.server.ocl/src/org/eclipse/emf/cdo/server/ocl/CDOExtentCreator.java7
-rw-r--r--plugins/org.eclipse.emf.cdo.server.ocl/src/org/eclipse/emf/cdo/server/ocl/OCLQueryHandler.java8
2 files changed, 10 insertions, 5 deletions
diff --git a/plugins/org.eclipse.emf.cdo.server.ocl/src/org/eclipse/emf/cdo/server/ocl/CDOExtentCreator.java b/plugins/org.eclipse.emf.cdo.server.ocl/src/org/eclipse/emf/cdo/server/ocl/CDOExtentCreator.java
index 0fa6b99e78..da00a092bf 100644
--- a/plugins/org.eclipse.emf.cdo.server.ocl/src/org/eclipse/emf/cdo/server/ocl/CDOExtentCreator.java
+++ b/plugins/org.eclipse.emf.cdo.server.ocl/src/org/eclipse/emf/cdo/server/ocl/CDOExtentCreator.java
@@ -21,6 +21,7 @@ import org.eclipse.emf.cdo.view.CDOView;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.spi.cdo.InternalCDOObject;
import java.util.Collection;
import java.util.HashSet;
@@ -81,7 +82,8 @@ public class CDOExtentCreator implements OCLExtentCreator
revisionCacheAdder.addRevision(revision);
}
- extent.add(view.getObject(revision.getID()));
+ InternalCDOObject object = (InternalCDOObject)view.getObject(revision.getID());
+ extent.add(object.cdoInternalInstance());
return !canceled.get();
}
});
@@ -239,7 +241,8 @@ public class CDOExtentCreator implements OCLExtentCreator
try
{
- return getView().getObject(next);
+ InternalCDOObject object = (InternalCDOObject)getView().getObject(next);
+ return object.cdoInternalInstance();
}
finally
{
diff --git a/plugins/org.eclipse.emf.cdo.server.ocl/src/org/eclipse/emf/cdo/server/ocl/OCLQueryHandler.java b/plugins/org.eclipse.emf.cdo.server.ocl/src/org/eclipse/emf/cdo/server/ocl/OCLQueryHandler.java
index 1383175f86..a71576d878 100644
--- a/plugins/org.eclipse.emf.cdo.server.ocl/src/org/eclipse/emf/cdo/server/ocl/OCLQueryHandler.java
+++ b/plugins/org.eclipse.emf.cdo.server.ocl/src/org/eclipse/emf/cdo/server/ocl/OCLQueryHandler.java
@@ -35,6 +35,7 @@ import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EClassifier;
import org.eclipse.emf.ecore.EEnumLiteral;
import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.spi.cdo.InternalCDOObject;
import org.eclipse.ocl.Environment;
import org.eclipse.ocl.OCL;
@@ -95,7 +96,7 @@ public class OCLQueryHandler implements IQueryHandler
OCLHelper<EClassifier, ?, ?, Constraint> helper = ocl.createOCLHelper();
EClassifier classifier;
- CDOObject object = null;
+ EObject object = null;
Object contextParameter = parameters.get(CONTEXT_PARAMETER);
parameters.remove(CONTEXT_PARAMETER);
@@ -103,7 +104,8 @@ public class OCLQueryHandler implements IQueryHandler
if (contextParameter instanceof CDOID)
{
CDOID id = (CDOID)contextParameter;
- object = view.getObject(id);
+ InternalCDOObject cdoObject = (InternalCDOObject)view.getObject(id);
+ object = cdoObject.cdoInternalInstance();
classifier = object.eClass();
}
else if (contextParameter instanceof EClassifier)
@@ -172,7 +174,7 @@ public class OCLQueryHandler implements IQueryHandler
}
}
- protected Object evaluate(Query<EClassifier, EClass, EObject> query, CDOObject object)
+ protected Object evaluate(Query<EClassifier, EClass, EObject> query, EObject object)
{
if (object == null)
{

Back to the top