introduced AdapterEntityModel
[mir.git] / source / mir / producer / EntityBatchingProducerNode.java
index 19df0f1..5f3b2bf 100755 (executable)
@@ -12,8 +12,8 @@ public class EntityBatchingProducerNode implements ProducerNode {
 
   private String batchInfoKey;
   private String batchDataKey;
-  private StorageObject storage;
-  private EntityAdapterDefinition definition;
+  private EntityAdapterModel model;
+  private String definition;
   private String whereClause;
   private String orderByClause;
   private int nrEntitiesToSkip;
@@ -25,15 +25,15 @@ public class EntityBatchingProducerNode implements ProducerNode {
   public EntityBatchingProducerNode(
         String aBatchDataKey,
         String aBatchInfoKey,
-        StorageObject aStorage,
-        EntityAdapterDefinition aDefinition,
+        EntityAdapterModel aModel,
+        String aDefinition,
         String aWhereClause,
         String anOrderByClause,
         int aNrEntitiesPerBatch,
         int aMinNrEntitiesInFirstBatch,
         int aNrEntitiesToSkip,
         ProducerNode aBatchSubNode) {
-    this(aBatchDataKey, aBatchInfoKey, aStorage, aDefinition, aWhereClause,
+    this(aBatchDataKey, aBatchInfoKey, aModel, aDefinition, aWhereClause,
         anOrderByClause, aNrEntitiesPerBatch, aMinNrEntitiesInFirstBatch, aNrEntitiesToSkip,
         aBatchSubNode, null);
   }
@@ -42,8 +42,8 @@ public class EntityBatchingProducerNode implements ProducerNode {
   public EntityBatchingProducerNode(
         String aBatchDataKey,
         String aBatchInfoKey,
-        StorageObject aStorage,
-        EntityAdapterDefinition aDefinition,
+        EntityAdapterModel aModel,
+        String aDefinition,
         String aWhereClause,
         String anOrderByClause,
         int aNrEntitiesPerBatch,
@@ -59,7 +59,7 @@ public class EntityBatchingProducerNode implements ProducerNode {
 
     batchDataKey = aBatchDataKey;
     batchInfoKey = aBatchInfoKey;
-    storage = aStorage;
+    model = aModel;
     definition = aDefinition;
     whereClause = aWhereClause;
     orderByClause = anOrderByClause;
@@ -99,7 +99,7 @@ public class EntityBatchingProducerNode implements ProducerNode {
       batchesData = new Vector();
       batchLocations = new Vector();
 
-      nrEntities = storage.getSize(expandedWhereClause)-nrEntitiesToSkip;
+      nrEntities = model.getMappingForName(definition).getStorage().getSize(expandedWhereClause)-nrEntitiesToSkip;
       nrEntitiesInFirstBatch = nrEntities % nrEntitiesPerBatch;
       while (nrEntitiesInFirstBatch<minNrEntitiesInFirstBatch && nrEntities-nrEntitiesInFirstBatch>=nrEntitiesPerBatch)
         nrEntitiesInFirstBatch = nrEntitiesInFirstBatch + nrEntitiesPerBatch;
@@ -152,8 +152,8 @@ public class EntityBatchingProducerNode implements ProducerNode {
           else
             batchData.put("next", null);
 
-          Iterator j = new EntityIteratorAdapter(storage, expandedWhereClause, expandedOrderByClause,
-                    location.nrEntities, definition, location.nrEntities, location.firstEntity);
+          Iterator j = new EntityIteratorAdapter(expandedWhereClause, expandedOrderByClause,
+                    location.nrEntities, model, definition, location.nrEntities, location.firstEntity);
           List entities = new Vector();
 
           while (j.hasNext())