bugfixes mainly...
[mir.git] / source / mir / producer / EntityEnumeratingProducerNode.java
index cbf5383..1d352ef 100755 (executable)
@@ -13,12 +13,13 @@ public class EntityEnumeratingProducerNode extends ProducerNodeDecorator {
   private String key;
   private EntityAdapterModel model;
   private String definition;
+  private String skip;
+  private String limit;
 
   public EntityEnumeratingProducerNode(
                 String aKey,
                 EntityAdapterModel aModel, String aDefinition,
                 ProducerNode aSubNode) {
-
     super(aSubNode);
 
     defaultVerb = null;
@@ -33,8 +34,19 @@ public class EntityEnumeratingProducerNode extends ProducerNodeDecorator {
               EntityAdapterModel aModel, String aDefinition,
               String aDefaultWhereClause, String aDefaultOrderByClause,
               ProducerNode aSubNode) {
+    this(aKey, aModel, aDefinition, aDefaultWhereClause, aDefaultOrderByClause, "", "", aSubNode);
+  }
+
+  public EntityEnumeratingProducerNode(
+              String aKey,
+              EntityAdapterModel aModel, String aDefinition,
+              String aDefaultWhereClause, String aDefaultOrderByClause,
+              String aLimit, String aSkip,
+              ProducerNode aSubNode) {
     this(aKey, aModel, aDefinition, aSubNode);
 
+    limit= aLimit;
+    skip = aSkip;
     defaultVerb = new EntityEnumeratingProducerNodeVerb(aDefaultWhereClause, aDefaultOrderByClause);
   }
 
@@ -54,7 +66,9 @@ public class EntityEnumeratingProducerNode extends ProducerNodeDecorator {
           ParameterExpander.expandExpression( aValueMap, verb.orderByClause ),
           100,
           model,
-          definition );
+          definition,
+          ParameterExpander.evaluateIntegerExpressionWithDefault( aValueMap, limit, -1),
+          ParameterExpander.evaluateIntegerExpressionWithDefault( aValueMap, skip, 0));
 
       while (browser.hasNext()) {
         ParameterExpander.setValueForKey( aValueMap, key, browser.next());