X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=source%2Fmir%2Fproducer%2FEntityEnumeratingProducerNode.java;h=1d352ef7bc1a3eaff02d234e639bea942e288a4d;hb=5757f37a1bc4e2dcad3054a66611b1a02fb7d8b3;hp=aaca5925fe8f212ac13d54fe7f33b78003825778;hpb=869b4e549e06fecac2a15e57d361c494c5e9a37f;p=mir.git diff --git a/source/mir/producer/EntityEnumeratingProducerNode.java b/source/mir/producer/EntityEnumeratingProducerNode.java index aaca5925..1d352ef7 100755 --- a/source/mir/producer/EntityEnumeratingProducerNode.java +++ b/source/mir/producer/EntityEnumeratingProducerNode.java @@ -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,10 +66,12 @@ 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()) { - aValueMap.put(key, browser.next()); + ParameterExpander.setValueForKey( aValueMap, key, browser.next()); super.produce(aValueMap, aVerb, aLogger); } }