572248: [Feature] Add support for CDO
Revert CDO instances query - short query causes OOME
Change-Id: I37f4859a40a91dd0da0338566a7bde11d74baede
Task-Url: https://bugs.eclipse.org/bugs/show_bug.cgi?id=572248
Signed-off-by: Dennis Wagelaar <dwagelaar@gmail.com>
diff --git a/plugins/org.eclipse.m2m.atl.emftvm.cdo/src/org/eclipse/m2m/atl/emftvm/cdo/impl/CDOInstanceOfIterable.java b/plugins/org.eclipse.m2m.atl.emftvm.cdo/src/org/eclipse/m2m/atl/emftvm/cdo/impl/CDOInstanceOfIterable.java
index 6eabc33..7efaa72 100644
--- a/plugins/org.eclipse.m2m.atl.emftvm.cdo/src/org/eclipse/m2m/atl/emftvm/cdo/impl/CDOInstanceOfIterable.java
+++ b/plugins/org.eclipse.m2m.atl.emftvm.cdo/src/org/eclipse/m2m/atl/emftvm/cdo/impl/CDOInstanceOfIterable.java
@@ -11,7 +11,10 @@
*******************************************************************************/
package org.eclipse.m2m.atl.emftvm.cdo.impl;
+import org.eclipse.emf.cdo.common.protocol.CDOProtocolConstants;
import org.eclipse.emf.cdo.eresource.CDOResource;
+import org.eclipse.emf.cdo.view.CDOQuery;
+import org.eclipse.emf.cdo.view.CDOView;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.net4j.util.collection.CloseableIterator;
@@ -46,7 +49,11 @@
* {@inheritDoc}
*/
public CloseableIterator<EObject> iterator() {
- return res.cdoView().queryInstancesAsync(type);
+ final CDOView cdoView = res.cdoView();
+ final CDOQuery query = cdoView.createQuery(CDOProtocolConstants.QUERY_LANGUAGE_INSTANCES, null);
+ query.setParameter(CDOProtocolConstants.QUERY_LANGUAGE_INSTANCES_TYPE, type);
+ query.setParameter(CDOProtocolConstants.QUERY_LANGUAGE_INSTANCES_EXACT, false);
+ return query.getResultAsync();
}
}