key = (String) anAttributes.get(ENUMERATION_KEY_ATTRIBUTE);
definition = (String) anAttributes.get(ENUMERATION_DEFINITION_ATTRIBUTE);
- selection = (String) anAttributes.get(ENUMERATION_SELECTION_ATTRIBUTE);
- order = (String) anAttributes.get(ENUMERATION_ORDER_ATTRIBUTE);
+ selection = (String) ReaderTool.getStringAttributeWithDefault(anAttributes, ENUMERATION_SELECTION_ATTRIBUTE, "");
+ order = (String) ReaderTool.getStringAttributeWithDefault(anAttributes, ENUMERATION_ORDER_ATTRIBUTE, "");
limit = (String) anAttributes.get(ENUMERATION_LIMIT_ATTRIBUTE);
skip = (String) anAttributes.get(ENUMERATION_SKIP_ATTRIBUTE);
};
private final static String LIST_SKIP_ATTRIBUTE = SKIP_ATTRIBUTE;
private final static String[] LIST_REQUIRED_ATTRIBUTES = { LIST_KEY_ATTRIBUTE, LIST_DEFINITION_ATTRIBUTE };
private final static String[] LIST_OPTIONAL_ATTRIBUTES = { LIST_SELECTION_ATTRIBUTE, LIST_ORDER_ATTRIBUTE, LIST_SKIP_ATTRIBUTE, LIST_LIMIT_ATTRIBUTE};
- private final static String[] LIST_SUBNODES = {LIST_DEFAULT_SUBNODE};
+ private final static String[] LIST_SUBNODES = {};
private String key;
private String definition;
key = (String) anAttributes.get(LIST_KEY_ATTRIBUTE);
definition = (String) anAttributes.get(LIST_DEFINITION_ATTRIBUTE);
- selection = (String) anAttributes.get(LIST_SELECTION_ATTRIBUTE);
- order = (String) anAttributes.get(LIST_ORDER_ATTRIBUTE);
+ selection = (String) ReaderTool.getStringAttributeWithDefault(anAttributes, LIST_SELECTION_ATTRIBUTE, "");
+ order = (String) ReaderTool.getStringAttributeWithDefault(anAttributes, LIST_ORDER_ATTRIBUTE, "");
limit = (String) anAttributes.get(LIST_LIMIT_ATTRIBUTE);
skip = (String) anAttributes.get(LIST_SKIP_ATTRIBUTE);
};
public ProducerNode constructNode() {
- return new EntityListProducerNode(key, model, definition, selection, order, limit, skip, getSubNode(LIST_DEFAULT_SUBNODE ));
+ return new EntityListProducerNode(key, model, definition, selection, order, limit, skip, null );
};
public static class factory implements ProducerNodeBuilderFactory {
private final static String RESOURCEBUNDLE_DEFAULT_SUBNODE = "default";
private final static String[] RESOURCEBUNDLE_REQUIRED_ATTRIBUTES = { RESOURCEBUNDLE_KEY_ATTRIBUTE, RESOURCEBUNDLE_BUNDLE_ATTRIBUTE };
private final static String[] RESOURCEBUNDLE_OPTIONAL_ATTRIBUTES = { RESOURCEBUNDLE_LANGUAGE_ATTRIBUTE};
- private final static String[] RESOURCEBUNDLE_SUBNODES = {RESOURCEBUNDLE_DEFAULT_SUBNODE};
+ private final static String[] RESOURCEBUNDLE_SUBNODES = {};
private String key;
private String bundle;
};
public ProducerNode constructNode() {
- return new ResourceBundleProducerNode(key, bundle, language, getSubNode(RESOURCEBUNDLE_DEFAULT_SUBNODE ));
+ return new ResourceBundleProducerNode(key, bundle, language, null );
};
}
private final static String BATCHER_MINBATCHSIZE_ATTRIBUTE = "minbatchsize";
private final static String BATCHER_SKIP_ATTRIBUTE = SKIP_ATTRIBUTE;
+ private final static String BATCHER_PROCESS_ATTRIBUTE = "process";
+
private final static String BATCHER_BATCH_SUBNODE = "batches";
private final static String BATCHER_BATCHLIST_SUBNODE = "batchlist";
private final static String[] BATCHER_REQUIRED_ATTRIBUTES = { BATCHER_DATAKEY_ATTRIBUTE, BATCHER_INFOKEY_ATTRIBUTE, BATCHER_DEFINITION_ATTRIBUTE, BATCHER_BATCHSIZE_ATTRIBUTE };
- private final static String[] BATCHER_OPTIONAL_ATTRIBUTES = { BATCHER_SELECTION_ATTRIBUTE, BATCHER_ORDER_ATTRIBUTE, BATCHER_MINBATCHSIZE_ATTRIBUTE, BATCHER_SKIP_ATTRIBUTE };
+ private final static String[] BATCHER_OPTIONAL_ATTRIBUTES = { BATCHER_SELECTION_ATTRIBUTE, BATCHER_ORDER_ATTRIBUTE, BATCHER_MINBATCHSIZE_ATTRIBUTE, BATCHER_SKIP_ATTRIBUTE, BATCHER_PROCESS_ATTRIBUTE };
private final static String[] BATCHER_SUBNODES = { BATCHER_BATCH_SUBNODE, BATCHER_BATCHLIST_SUBNODE };
// ML: batchSize, minBatchSize, skip should be expressions!
private String definition;
private String selection;
private String order;
- private int batchSize;
- private int minBatchSize;
- private int skip;
-
+ private String batchSize;
+ private String minBatchSize;
+ private String skip;
+ private String process;
public BatchingProducerNodeBuilder(EntityAdapterModel aModel) {
super(BATCHER_SUBNODES);
selection = ReaderTool.getStringAttributeWithDefault(anAttributes, BATCHER_SELECTION_ATTRIBUTE, "" );
order = ReaderTool.getStringAttributeWithDefault(anAttributes, BATCHER_ORDER_ATTRIBUTE, "" );
- batchSize = ReaderTool.getIntegerAttributeWithDefault(anAttributes, BATCHER_BATCHSIZE_ATTRIBUTE, 20 );
- minBatchSize = ReaderTool.getIntegerAttributeWithDefault(anAttributes, BATCHER_MINBATCHSIZE_ATTRIBUTE, 0 );
- skip = ReaderTool.getIntegerAttributeWithDefault(anAttributes, BATCHER_SKIP_ATTRIBUTE, 0 );
+ batchSize = ReaderTool.getStringAttributeWithDefault(anAttributes, BATCHER_BATCHSIZE_ATTRIBUTE, "20" );
+ minBatchSize = ReaderTool.getStringAttributeWithDefault(anAttributes, BATCHER_MINBATCHSIZE_ATTRIBUTE, "0" );
+ skip = ReaderTool.getStringAttributeWithDefault(anAttributes, BATCHER_SKIP_ATTRIBUTE, "0" );
+ process = ReaderTool.getStringAttributeWithDefault(anAttributes, BATCHER_PROCESS_ATTRIBUTE, "-1" );
};
public ProducerNode constructNode() {
batchSize,
minBatchSize,
skip,
+ process,
getSubNode( BATCHER_BATCH_SUBNODE ),
getSubNode( BATCHER_BATCHLIST_SUBNODE )
);
////////////////////////////////////////////////////////////////////////////////
+ public static class ScriptedProducerParameterNodeBuilder implements ProducerNodeBuilder {
+ private String parameterName;
+ private String scriptedNodeName;
+
+ public ScriptedProducerParameterNodeBuilder(String aScriptedNodeName, String aParameterName) {
+ parameterName = aParameterName;
+ scriptedNodeName = aScriptedNodeName;
+ }
+
+ public void setSubNode(String aName, ProducerNode aNode) {
+ };
+
+ public Set getAvailableSubNodes() {
+ return new HashSet();
+ };
+
+ public void setAttributes(Map anAttributes) throws ProducerConfigExc {
+ if (!anAttributes.isEmpty())
+ throw new ProducerConfigExc("No parameters allowed here");
+ };
+
+ public ProducerNode constructNode() {
+ return new ScriptedProducerNodeDefinition.NodeParameterProducerNode(scriptedNodeName, parameterName);
+ };
+ }
+
+////////////////////////////////////////////////////////////////////////////////
+
public static class ScriptedProducerNodeBuilder implements ProducerNodeBuilder {
private ScriptedProducerNodeDefinition definition;
private Map nodeParameterValues;