Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Stepper2010-10-08 18:17:41 +0000
committerEike Stepper2010-10-08 18:17:41 +0000
commita4091c5cf1daaed59a8c9a2f051f7a5d0d4ffe89 (patch)
tree90b31d9ffde5742b03f734aaec51dd93db7d4b77 /plugins/org.eclipse.emf.cdo.server.ocl
parenta3b25774e957f1277023af52a658803d763eaedf (diff)
downloadcdo-a4091c5cf1daaed59a8c9a2f051f7a5d0d4ffe89.tar.gz
cdo-a4091c5cf1daaed59a8c9a2f051f7a5d0d4ffe89.tar.xz
cdo-a4091c5cf1daaed59a8c9a2f051f7a5d0d4ffe89.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/OCLQueryHandler.java11
1 files changed, 8 insertions, 3 deletions
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 a71576d878..8a784ba81a 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
@@ -10,7 +10,6 @@
*/
package org.eclipse.emf.cdo.server.ocl;
-import org.eclipse.emf.cdo.CDOObject;
import org.eclipse.emf.cdo.common.id.CDOID;
import org.eclipse.emf.cdo.common.model.CDOPackageInfo;
import org.eclipse.emf.cdo.common.model.CDOPackageRegistry;
@@ -35,6 +34,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.FSMUtil;
import org.eclipse.emf.spi.cdo.InternalCDOObject;
import org.eclipse.ocl.Environment;
@@ -136,9 +136,9 @@ public class OCLQueryHandler implements IQueryHandler
Collection<?> results = (Collection<?>)evaluated;
for (Object result : results)
{
- if (result instanceof CDOObject)
+ if (result instanceof EObject)
{
- CDORevision revision = ((CDOObject)result).cdoRevision();
+ CDORevision revision = getRevision((EObject)result, view);
if (!context.addResult(revision))
{
break;
@@ -174,6 +174,11 @@ public class OCLQueryHandler implements IQueryHandler
}
}
+ protected CDORevision getRevision(EObject object, CDOView view)
+ {
+ return FSMUtil.adapt(object, view).cdoRevision();
+ }
+
protected Object evaluate(Query<EClassifier, EClass, EObject> query, EObject object)
{
if (object == null)

Back to the top