private Map verbs;
private EntityEnumeratingProducerNodeVerb defaultVerb;
private String key;
- private EntityAdapterDefinition definition;
- private StorageObject storage;
-
- public EntityEnumeratingProducerNode(String aKey, StorageObject aStorage, EntityAdapterDefinition aDefinition, ProducerNode aSubNode) {
+ 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;
verbs = new HashMap();
- storage = aStorage;
+ model = aModel;
definition = aDefinition;
key = aKey;
}
- public EntityEnumeratingProducerNode(String aKey, StorageObject aStorage, EntityAdapterDefinition aDefinition,
- String aDefaultWhereClause, String aDefaultOrderByClause, ProducerNode aSubNode) {
- this(aKey, aStorage, aDefinition, aSubNode);
+ public EntityEnumeratingProducerNode(
+ String aKey,
+ 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);
}
try {
browser = new EntityIteratorAdapter(
- storage,
ParameterExpander.expandExpression( aValueMap, verb.whereClause ),
ParameterExpander.expandExpression( aValueMap, verb.orderByClause ),
- -1,
- definition );
+ 100,
+ model,
+ definition,
+ ParameterExpander.evaluateIntegerExpressionWithDefault( aValueMap, limit, -1),
+ ParameterExpander.evaluateIntegerExpressionWithDefault( aValueMap, skip, 0));
while (browser.hasNext()) {
- aLogger.println( verb.whereClause + ": next... ");
- aValueMap.put(key, browser.next());
+ ParameterExpander.setValueForKey( aValueMap, key, browser.next());
super.produce(aValueMap, aVerb, aLogger);
}
}
}
private class EntityEnumeratingProducerNodeVerb {
- StorageObject database;
-
String whereClause;
String orderByClause;