diff options
author | Eike Stepper | 2010-10-08 18:17:41 +0000 |
---|---|---|
committer | Eike Stepper | 2010-10-08 18:17:41 +0000 |
commit | a4091c5cf1daaed59a8c9a2f051f7a5d0d4ffe89 (patch) | |
tree | 90b31d9ffde5742b03f734aaec51dd93db7d4b77 /plugins/org.eclipse.emf.cdo.server.ocl | |
parent | a3b25774e957f1277023af52a658803d763eaedf (diff) | |
download | cdo-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.java | 11 |
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) |