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();
 	}
 
 }