You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@batchee.apache.org by rm...@apache.org on 2013/11/05 08:39:35 UTC
[58/62] importing batchee from github - a fork from the IBm RI
http://git-wip-us.apache.org/repos/asf/incubator-batchee/blob/efa64877/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/AbstractPropertyResolver.java
----------------------------------------------------------------------
diff --git a/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/AbstractPropertyResolver.java b/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/AbstractPropertyResolver.java
deleted file mode 100755
index 0a3a1dd..0000000
--- a/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/AbstractPropertyResolver.java
+++ /dev/null
@@ -1,408 +0,0 @@
-/*
- * Copyright 2012 International Business Machines Corp.
- *
- * See the NOTICE file distributed with this work for additional information
- * regarding copyright ownership. Licensed under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
-*/
-package com.ibm.jbatch.container.modelresolver.impl;
-
-import java.util.List;
-import java.util.Properties;
-
-
-import com.ibm.jbatch.container.modelresolver.PropertyResolver;
-import com.ibm.jbatch.jsl.model.Property;
-
-public abstract class AbstractPropertyResolver<B> implements
- PropertyResolver<B> {
-
- protected boolean isPartitionedStep = false;
-
- public static final String UNRESOLVED_PROP_VALUE = ""; //Substitute empty String for unresolvable props
- public AbstractPropertyResolver(boolean isPartitionStep){
- this.isPartitionedStep = isPartitionStep;
- }
-
-
- /*
- * Convenience method that is the same as calling substituteProperties(job,
- * null, null)
- */
- public B substituteProperties(final B b) {
-
- return this.substituteProperties(b, null, null);
- }
-
- /*
- * Convenience method that is the same as calling substituteProperties(job,
- * submittedProps, null)
- */
- public B substituteProperties(final B b, final Properties submittedProps) {
-
- return this.substituteProperties(b, submittedProps, null);
-
- }
-
-
-
- private enum PROPERTY_TYPE {
- JOB_PARAMETERS, SYSTEM_PROPERTIES, JOB_PROPERTIES, PARTITION_PROPERTIES
- }
-
-
- /**
- *
- * @param elementProperties
- * xml properties that are direct children of the current element
- * @param submittedProps
- * submitted job properties
- * @param parentProps
- * resolved parent properties
- * @return the properties associated with this elements scope
- */
- protected Properties resolveElementProperties(
- final List<Property> elementProperties,
- final Properties submittedProps, final Properties parentProps) {
-
- Properties currentXMLProperties = new Properties();
-
- currentXMLProperties = this.inheritProperties(parentProps, currentXMLProperties);
-
- for (final Property prop : elementProperties) {
- String name = prop.getName();
-
- name = this.replaceAllProperties(name, submittedProps, currentXMLProperties);
-
- String value = prop.getValue();
- value = this.replaceAllProperties(value, submittedProps,currentXMLProperties);
-
- // add resolved properties to current properties
- currentXMLProperties.setProperty(name, value);
-
- // update JAXB model
- prop.setName(name);
- prop.setValue(value);
- }
- return currentXMLProperties;
-
- }
-
- /**
- * Replace all the properties in String str.
- *
- * @param str
- * @param submittedProps
- * @param xmlProperties
- * @return
- */
- protected String replaceAllProperties(String str,
- final Properties submittedProps, final Properties xmlProperties) {
-
- int startIndex = 0;
- NextProperty nextProp = this.findNextProperty(str, startIndex);
-
-
- while (nextProp != null) {
-
- // get the start index past this property for the next property in
- // the string
- //startIndex = this.getEndIndexOfNextProperty(str, startIndex);
- startIndex = nextProp.endIndex;
-
- // resolve the property
- String nextPropValue = this.resolvePropertyValue(nextProp.propName, nextProp.propType, submittedProps, xmlProperties);
-
- //if the property didn't resolve use the default value if it exists
- if (nextPropValue.equals(UNRESOLVED_PROP_VALUE)){
- if (nextProp.defaultValueExpression != null) {
- nextPropValue = this.replaceAllProperties(nextProp.defaultValueExpression, submittedProps, xmlProperties);
- }
- }
-
-
- // After we get this value the lenght of the string might change so
- // we need to reset the start index
- int lengthDifference = 0;
- switch(nextProp.propType) {
-
- case JOB_PARAMETERS:
- lengthDifference = nextPropValue.length() - (nextProp.propName.length() + "#{jobParameters['']}".length()); // this can be a negative value
- startIndex = startIndex + lengthDifference; // move start index for next property
- str = str.replace("#{jobParameters['" + nextProp.propName + "']}" + nextProp.getDefaultValExprWithDelimitersIfExists(), nextPropValue);
- break;
- case JOB_PROPERTIES:
- lengthDifference = nextPropValue.length() - (nextProp.propName.length() + "#{jobProperties['']}".length()); // this can be a negative value
- startIndex = startIndex + lengthDifference; // move start index for next property
- str = str.replace("#{jobProperties['" + nextProp.propName + "']}" + nextProp.getDefaultValExprWithDelimitersIfExists(), nextPropValue);
- break;
- case SYSTEM_PROPERTIES:
- lengthDifference = nextPropValue.length() - (nextProp.propName.length() + "#{systemProperties['']}".length()); // this can be a negative value
- startIndex = startIndex + lengthDifference; // move start index for next property
- str = str.replace("#{systemProperties['" + nextProp.propName + "']}" + nextProp.getDefaultValExprWithDelimitersIfExists(), nextPropValue);
- break;
- case PARTITION_PROPERTIES:
- lengthDifference = nextPropValue.length() - (nextProp.propName.length() + "#{partitionPlan['']}".length()); // this can be a negative value
- startIndex = startIndex + lengthDifference; // move start index for next property
- str = str.replace("#{partitionPlan['" + nextProp.propName + "']}" + nextProp.getDefaultValExprWithDelimitersIfExists(), nextPropValue);
- break;
-
- }
-
- // find the next property
- nextProp = this.findNextProperty(str, startIndex);
- }
-
- return str;
- }
-
- /**
- * Gets the value of a property using the property type
- *
- * If the property 'propname' is not defined the String 'null' (without quotes) is returned as the
- * value
- *
- * @param name
- * @return
- */
- private String resolvePropertyValue(final String name, PROPERTY_TYPE propType,
- final Properties submittedProperties, final Properties xmlProperties) {
-
-
-
- String value = null;
-
- switch(propType) {
-
- case JOB_PARAMETERS:
- if (submittedProperties != null) {
- value = submittedProperties.getProperty(name);
- }
- if (value != null){
- return value;
- }
- break;
- case JOB_PROPERTIES:
- if (xmlProperties != null){
- value = xmlProperties.getProperty(name);
- }
- if (value != null) {
- return value;
- }
- break;
- case SYSTEM_PROPERTIES:
- value = System.getProperty(name);
- if (value != null) {
- return value;
- }
- break;
- case PARTITION_PROPERTIES: //We are reusing the submitted props to carry the partition props
- if (submittedProperties != null) {
- value = submittedProperties.getProperty(name);
- }
- if (value != null) {
- return value;
- }
- break;
- }
-
-
- return UNRESOLVED_PROP_VALUE;
-
- }
-
- /**
- * Merge the parent properties that are already set into the child
- * properties. Child properties always override parent values.
- *
- * @param parentProps
- * A set of already resolved parent properties
- * @param childProps
- * A set of already resolved child properties
- * @return
- */
- private Properties inheritProperties(final Properties parentProps,
- final Properties childProps) {
- if (parentProps == null) {
- return childProps;
- }
-
- if (childProps == null) {
- return parentProps;
- }
-
- for (final String parentKey : parentProps.stringPropertyNames()) {
-
- // Add the parent property to the child if the child does not
- // already define it
- if (!childProps.containsKey(parentKey)) {
- childProps.setProperty(parentKey, parentProps
- .getProperty(parentKey));
- }
- }
-
- return childProps;
-
- }
-
- /**
- * A helper method to the get the index of the '}' character in the given
- * String str with a valid property substitution. A valid property looks
- * like ${batch.property}
- *
- * @param str
- * The string to search.
- * @param startIndex
- * The index in str to start the search.
- * @return The index of the '}' character or -1 if no valid property is
- * found in str.
- */
- private int getEndIndexOfNextProperty(final String str, final int startIndex) {
- if (str == null) {
- return -1;
- }
-
- final int startPropIndex = str.indexOf("${", startIndex);
-
- // we didn't find a property in this string
- if (startPropIndex == -1) {
- return -1;
- }
-
- final int endPropIndex = str.indexOf("}", startPropIndex);
- // This check allows something like this "Some filename is ${}"
- // Maybe we should require "${f}" ???
- if (endPropIndex > startPropIndex) {
- return endPropIndex;
- }
-
- // if no variables like ${prop1} are in string, return null
- return -1;
- }
-
- /**
- * A helper method to the get the next property in the given String str with
- * a valid property substitution. A valid property looks like
- * #{jobParameter['batch.property']}. This method will return only the name
- * of the property found without the surrounding metadata.
- *
- * Example:
- *
- * @param str
- * The string to search.
- * @param startIndex
- * The index in str to start the search.
- * @return The name of the next property found without the starting
- * #{<propertyType>[' or ending ']}
- */
- private NextProperty findNextProperty(final String str, final int startIndex) {
-
- if (str == null) {
- return null;
- }
-
-
- final int startPropIndex = str.indexOf("#{", startIndex);
- if (startPropIndex == -1) {
- return null;
- }
-
-
- //FIXME We may want to throw a more helpful exception here to say there was probably a typo.
- PROPERTY_TYPE type = null;
- if (str.startsWith("#{jobParameters['", startPropIndex)) {
- type = PROPERTY_TYPE.JOB_PARAMETERS;
- } else if (str.startsWith("#{systemProperties['", startPropIndex)) {
- type = PROPERTY_TYPE.SYSTEM_PROPERTIES;
- } else if (str.startsWith("#{jobProperties['", startPropIndex)) {
- type = PROPERTY_TYPE.JOB_PROPERTIES;
- } else if (isPartitionedStep && str.startsWith("#{partitionPlan['", startPropIndex)) {
- type = PROPERTY_TYPE.PARTITION_PROPERTIES;
- }
-
- if (type == null) {
- return null;
- }
-
-
- final int endPropIndex = str.indexOf("']}");
-
-
- // This check allows something like this "Some filename is ${jobParameters['']}"
- // Maybe we should require "${f}" ???
-
- String propName = null;
- String defaultPropExpression = null;
- if (endPropIndex > startPropIndex) {
-
- //look for the ?:<default-value-expression>; syntax after the property to see if it has a default value
- if (str.startsWith( "?:", endPropIndex + "']}".length())) {
- //find the end of the defaulting string
- int tempEndPropIndex = str.indexOf(";", endPropIndex + "']}?:".length());
- if (tempEndPropIndex == -1) {
- throw new IllegalArgumentException("The default property expression is not properly terminated with ';'");
- }
- //this string does not include the ?: and ; It only contains the content in between
- defaultPropExpression = str.substring(endPropIndex + "]}?:".length() + 1, tempEndPropIndex);
- }
-
- if (type.equals(PROPERTY_TYPE.JOB_PARAMETERS)) {
- propName = str.substring(startPropIndex + "#{jobParameters['".length(), endPropIndex);
- }
-
- if (type.equals(PROPERTY_TYPE.JOB_PROPERTIES)) {
- propName = str.substring(startPropIndex + "#{jobProperties['".length(), endPropIndex);
- }
-
- if (type.equals(PROPERTY_TYPE.SYSTEM_PROPERTIES)) {
- propName = str.substring(startPropIndex + "#{systemProperties['".length(), endPropIndex);
- }
-
- if (type.equals(PROPERTY_TYPE.PARTITION_PROPERTIES)) {
- propName = str.substring(startPropIndex + "#{partitionPlan['".length(), endPropIndex);
- }
-
- return new NextProperty(propName, type, startPropIndex, endPropIndex, defaultPropExpression ) ;
-
- }
-
- // if no variables like #{jobProperties['prop1']} are in string, return null
- return null;
- }
-
- class NextProperty {
-
- final String propName;
- final PROPERTY_TYPE propType;
- final int startIndex;
- final int endIndex;
- final String defaultValueExpression;
-
-
- NextProperty(String propName, PROPERTY_TYPE propType, int startIndex, int endIndex, String defaultValueExpression){
- this.propName = propName;
- this.propType = propType;
- this.startIndex = startIndex;
- this.endIndex = endIndex;
- this.defaultValueExpression = defaultValueExpression;
- }
-
- String getDefaultValExprWithDelimitersIfExists() {
- if (this.defaultValueExpression != null) {
- return "?:" + this.defaultValueExpression + ";";
- }
-
- return "";
- }
-
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-batchee/blob/efa64877/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/AnalyzerPropertyResolverImpl.java
----------------------------------------------------------------------
diff --git a/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/AnalyzerPropertyResolverImpl.java b/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/AnalyzerPropertyResolverImpl.java
deleted file mode 100755
index 43db40d..0000000
--- a/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/AnalyzerPropertyResolverImpl.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright 2012 International Business Machines Corp.
- *
- * See the NOTICE file distributed with this work for additional information
- * regarding copyright ownership. Licensed under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.ibm.jbatch.container.modelresolver.impl;
-
-import java.util.Properties;
-
-import com.ibm.jbatch.jsl.model.Analyzer;
-
-
-public class AnalyzerPropertyResolverImpl extends AbstractPropertyResolver<Analyzer> {
-
- public AnalyzerPropertyResolverImpl(boolean isPartitionStep) {
- super(isPartitionStep);
- }
-
-
- @Override
- public Analyzer substituteProperties(Analyzer analyzer, Properties submittedProps,
- Properties parentProps) {
- /*
- <xs:complexType name="Analyzer">
- <xs:sequence>
- <xs:element name="properties" type="jsl:Properties"
- minOccurs="0" maxOccurs="1" />
- </xs:sequence>
- <xs:attribute name="ref" use="required" type="jsl:artifactRef" />
- </xs:complexType>
- */
-
- //resolve all the properties used in attributes and update the JAXB model
- analyzer.setRef(this.replaceAllProperties(analyzer.getRef(), submittedProps, parentProps));
-
- // Resolve all the properties defined for this artifact
- if (analyzer.getProperties() != null) {
- this.resolveElementProperties(analyzer.getProperties().getPropertyList(), submittedProps, parentProps);
- }
-
- return analyzer;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-batchee/blob/efa64877/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/BatchletPropertyResolverImpl.java
----------------------------------------------------------------------
diff --git a/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/BatchletPropertyResolverImpl.java b/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/BatchletPropertyResolverImpl.java
deleted file mode 100755
index 2be4308..0000000
--- a/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/BatchletPropertyResolverImpl.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright 2012 International Business Machines Corp.
- *
- * See the NOTICE file distributed with this work for additional information
- * regarding copyright ownership. Licensed under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
-*/
-package com.ibm.jbatch.container.modelresolver.impl;
-
-import java.util.Properties;
-
-import com.ibm.jbatch.jsl.model.Batchlet;
-
-
-
-public class BatchletPropertyResolverImpl extends AbstractPropertyResolver<Batchlet> {
-
-
- public BatchletPropertyResolverImpl(boolean isPartitionStep) {
- super(isPartitionStep);
- }
-
- @Override
- public Batchlet substituteProperties(final Batchlet batchlet, final Properties submittedProps, final Properties parentProps) {
-
- //resolve all the properties used in attributes and update the JAXB model
- batchlet.setRef(this.replaceAllProperties(batchlet.getRef(), submittedProps, parentProps));
-
- // Resolve all the properties defined for this batchlet
- if (batchlet.getProperties() != null) {
- this.resolveElementProperties(batchlet.getProperties().getPropertyList(), submittedProps, parentProps);
- }
-
- return batchlet;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-batchee/blob/efa64877/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/CheckpointAlgorithmPropertyResolverImpl.java
----------------------------------------------------------------------
diff --git a/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/CheckpointAlgorithmPropertyResolverImpl.java b/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/CheckpointAlgorithmPropertyResolverImpl.java
deleted file mode 100755
index e0b0714..0000000
--- a/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/CheckpointAlgorithmPropertyResolverImpl.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright 2012 International Business Machines Corp.
- *
- * See the NOTICE file distributed with this work for additional information
- * regarding copyright ownership. Licensed under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
-*/
-package com.ibm.jbatch.container.modelresolver.impl;
-
-import java.util.Properties;
-
-import com.ibm.jbatch.jsl.model.CheckpointAlgorithm;
-
-
-public class CheckpointAlgorithmPropertyResolverImpl extends AbstractPropertyResolver<CheckpointAlgorithm> {
-
-
-
- public CheckpointAlgorithmPropertyResolverImpl(boolean isPartitionStep) {
- super(isPartitionStep);
- }
-
- @Override
- public CheckpointAlgorithm substituteProperties(final CheckpointAlgorithm checkpointalgorithm, final Properties submittedProps, final Properties parentProps) {
-
- //resolve all the properties used in attributes and update the JAXB model
- checkpointalgorithm.setRef(this.replaceAllProperties(checkpointalgorithm.getRef(), submittedProps, parentProps));
-
- // Resolve all the properties defined for this checkpoint algorithm
- if (checkpointalgorithm.getProperties() != null) {
- this.resolveElementProperties(checkpointalgorithm.getProperties().getPropertyList(), submittedProps, parentProps);
- }
-
- return checkpointalgorithm;
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-batchee/blob/efa64877/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/ChunkPropertyResolverImpl.java
----------------------------------------------------------------------
diff --git a/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/ChunkPropertyResolverImpl.java b/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/ChunkPropertyResolverImpl.java
deleted file mode 100755
index 11028ba..0000000
--- a/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/ChunkPropertyResolverImpl.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * Copyright 2012 International Business Machines Corp.
- *
- * See the NOTICE file distributed with this work for additional information
- * regarding copyright ownership. Licensed under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
-*/
-package com.ibm.jbatch.container.modelresolver.impl;
-
-import java.util.Properties;
-
-import com.ibm.jbatch.container.modelresolver.PropertyResolverFactory;
-import com.ibm.jbatch.jsl.model.Chunk;
-
-
-public class ChunkPropertyResolverImpl extends AbstractPropertyResolver<Chunk> {
-
-
-
- public ChunkPropertyResolverImpl(boolean isPartitionStep) {
- super(isPartitionStep);
- }
-
- @Override
- public Chunk substituteProperties(final Chunk chunk, final Properties submittedProps, final Properties parentProps) {
- /*
- <xs:complexType name="Chunk">
- <xs:sequence>
- <xs:element name="reader" type="jsl:ItemReader" />
- <xs:element name="processor" type="jsl:ItemProcessor" minOccurs="0" maxOccurs="1" />
- <xs:element name="writer" type="jsl:ItemWriter" />
- <xs:element name="checkpoint-algorithm" type="jsl:CheckpointAlgorithm" minOccurs="0"
- maxOccurs="1" />
- <xs:element name="skippable-exception-classes" type="jsl:ExceptionClassFilter"
- minOccurs="0" maxOccurs="1" />
- <xs:element name="retryable-exception-classes" type="jsl:ExceptionClassFilter"
- minOccurs="0" maxOccurs="1" />
- <xs:element name="no-rollback-exception-classes" type="jsl:ExceptionClassFilter"
- minOccurs="0" maxOccurs="1" />
- </xs:sequence>
- <xs:attribute name="checkpoint-policy" use="optional" type="xs:string">
-
- </xs:attribute>
- <xs:attribute name="item-count" use="optional" type="xs:string">
- </xs:attribute>
- <xs:attribute name="time-limit" use="optional" type="xs:string">
-
- </xs:attribute>
- <xs:attribute name="skip-limit" use="optional" type="xs:string">
- </xs:attribute>
- <xs:attribute name="retry-limit" use="optional" type="xs:string">
- </xs:attribute>
- </xs:complexType>
- */
-
- //resolve all the properties used in attributes and update the JAXB model
- chunk.setCheckpointPolicy(this.replaceAllProperties(chunk.getCheckpointPolicy(), submittedProps, parentProps));
- chunk.setItemCount(this.replaceAllProperties(chunk.getItemCount(), submittedProps, parentProps));
- chunk.setTimeLimit(this.replaceAllProperties(chunk.getTimeLimit(), submittedProps, parentProps));
- chunk.setSkipLimit(this.replaceAllProperties(chunk.getSkipLimit(), submittedProps, parentProps));
- chunk.setRetryLimit(this.replaceAllProperties(chunk.getRetryLimit(), submittedProps, parentProps));
-
- // Resolve Reader properties
- if (chunk.getReader() != null) {
- PropertyResolverFactory.createReaderPropertyResolver(this.isPartitionedStep).substituteProperties(chunk.getReader(), submittedProps, parentProps);
- }
-
- // Resolve Processor properties
- if (chunk.getProcessor() != null) {
- PropertyResolverFactory.createProcessorPropertyResolver(this.isPartitionedStep).substituteProperties(chunk.getProcessor(), submittedProps, parentProps);
- }
-
- // Resolve Writer properties
- if (chunk.getWriter() != null) {
- PropertyResolverFactory.createWriterPropertyResolver(this.isPartitionedStep).substituteProperties(chunk.getWriter(), submittedProps, parentProps);
- }
-
- // Resolve CheckpointAlgorithm properties
- if (chunk.getCheckpointAlgorithm() != null) {
- PropertyResolverFactory.createCheckpointAlgorithmPropertyResolver(this.isPartitionedStep).substituteProperties(chunk.getCheckpointAlgorithm(), submittedProps, parentProps);
- }
-
- // Resolve SkippableExceptionClasses properties
- if (chunk.getSkippableExceptionClasses() != null) {
- PropertyResolverFactory.createSkippableExceptionClassesPropertyResolver(this.isPartitionedStep).substituteProperties(chunk.getSkippableExceptionClasses(), submittedProps, parentProps);
- }
-
- // Resolve RetryableExceptionClasses properties
- if (chunk.getRetryableExceptionClasses() != null) {
- PropertyResolverFactory.createRetryableExceptionClassesPropertyResolver(this.isPartitionedStep).substituteProperties(chunk.getRetryableExceptionClasses(), submittedProps, parentProps);
- }
-
- // Resolve NoRollbackExceptionClasses properties
- if (chunk.getNoRollbackExceptionClasses() != null) {
- PropertyResolverFactory.createNoRollbackExceptionClassesPropertyResolver(this.isPartitionedStep).substituteProperties(chunk.getNoRollbackExceptionClasses(), submittedProps, parentProps);
- }
-
- //FIXME There are more properties to add in here for the rest of the chunk elements
-
- return chunk;
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-batchee/blob/efa64877/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/CollectorPropertyResolverImpl.java
----------------------------------------------------------------------
diff --git a/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/CollectorPropertyResolverImpl.java b/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/CollectorPropertyResolverImpl.java
deleted file mode 100755
index 9687f7f..0000000
--- a/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/CollectorPropertyResolverImpl.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright 2012 International Business Machines Corp.
- *
- * See the NOTICE file distributed with this work for additional information
- * regarding copyright ownership. Licensed under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.ibm.jbatch.container.modelresolver.impl;
-
-import java.util.Properties;
-
-import com.ibm.jbatch.jsl.model.Collector;
-
-
-public class CollectorPropertyResolverImpl extends AbstractPropertyResolver<Collector> {
-
- public CollectorPropertyResolverImpl(boolean isPartitionStep) {
- super(isPartitionStep);
- }
-
-
- @Override
- public Collector substituteProperties(Collector collector,
- Properties submittedProps, Properties parentProps) {
- /*
- <xs:complexType name="Collector">
- <xs:sequence>
- <xs:element name="properties" type="jsl:Properties"
- minOccurs="0" maxOccurs="1" />
- </xs:sequence>
- <xs:attribute name="ref" use="required" type="jsl:artifactRef" />
- </xs:complexType>
- */
-
- //resolve all the properties used in attributes and update the JAXB model
- collector.setRef(this.replaceAllProperties(collector.getRef(), submittedProps, parentProps));
-
- // Resolve all the properties defined for this artifact
- if (collector.getProperties() != null) {
- this.resolveElementProperties(collector.getProperties().getPropertyList(), submittedProps, parentProps);
- }
-
- return collector;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-batchee/blob/efa64877/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/ControlElementPropertyResolverImpl.java
----------------------------------------------------------------------
diff --git a/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/ControlElementPropertyResolverImpl.java b/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/ControlElementPropertyResolverImpl.java
deleted file mode 100755
index 4dad991..0000000
--- a/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/ControlElementPropertyResolverImpl.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright 2012 International Business Machines Corp.
- *
- * See the NOTICE file distributed with this work for additional information
- * regarding copyright ownership. Licensed under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
-*/
-package com.ibm.jbatch.container.modelresolver.impl;
-
-import java.util.Properties;
-
-
-import com.ibm.jbatch.container.jsl.TransitionElement;
-import com.ibm.jbatch.jsl.model.End;
-import com.ibm.jbatch.jsl.model.Fail;
-import com.ibm.jbatch.jsl.model.Next;
-import com.ibm.jbatch.jsl.model.Stop;
-
-public class ControlElementPropertyResolverImpl extends AbstractPropertyResolver<TransitionElement> {
-
- public ControlElementPropertyResolverImpl(boolean isPartitionStep) {
- super(isPartitionStep);
- }
-
- @Override
- public TransitionElement substituteProperties(final TransitionElement controlElement, final Properties submittedProps,
- final Properties parentProps) {
-
- if (controlElement instanceof End) {
- ((End)controlElement).setOn(this.replaceAllProperties(((End)controlElement).getOn(), submittedProps, parentProps));
- ((End)controlElement).setExitStatus(this.replaceAllProperties(((End)controlElement).getExitStatus(), submittedProps, parentProps));
-
- } else if (controlElement instanceof Fail) {
- ((Fail)controlElement).setOn(this.replaceAllProperties(((Fail)controlElement).getOn(), submittedProps, parentProps));
- ((Fail)controlElement).setExitStatus(this.replaceAllProperties(((Fail)controlElement).getExitStatus(), submittedProps, parentProps));
-
- } else if (controlElement instanceof Next) {
- ((Next)controlElement).setOn(this.replaceAllProperties(((Next)controlElement).getOn(), submittedProps, parentProps));
- ((Next)controlElement).setTo(this.replaceAllProperties(((Next)controlElement).getTo(), submittedProps, parentProps));
-
- } else if (controlElement instanceof Stop) {
- ((Stop)controlElement).setOn(this.replaceAllProperties(((Stop)controlElement).getOn(), submittedProps, parentProps));
- ((Stop)controlElement).setExitStatus(this.replaceAllProperties(((Stop)controlElement).getExitStatus(), submittedProps, parentProps));
- ((Stop)controlElement).setRestart(this.replaceAllProperties(((Stop)controlElement).getRestart(), submittedProps, parentProps));
- }
-
- return controlElement;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-batchee/blob/efa64877/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/DecisionPropertyResolverImpl.java
----------------------------------------------------------------------
diff --git a/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/DecisionPropertyResolverImpl.java b/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/DecisionPropertyResolverImpl.java
deleted file mode 100755
index d09adfd..0000000
--- a/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/DecisionPropertyResolverImpl.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright 2012 International Business Machines Corp.
- *
- * See the NOTICE file distributed with this work for additional information
- * regarding copyright ownership. Licensed under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
-*/
-package com.ibm.jbatch.container.modelresolver.impl;
-
-import java.util.Properties;
-
-
-import com.ibm.jbatch.container.jsl.TransitionElement;
-import com.ibm.jbatch.container.modelresolver.PropertyResolverFactory;
-import com.ibm.jbatch.jsl.model.Decision;
-
-public class DecisionPropertyResolverImpl extends AbstractPropertyResolver<Decision> {
-
- public DecisionPropertyResolverImpl(boolean isPartitionStep) {
- super(isPartitionStep);
- }
-
- public Decision substituteProperties(final Decision decision, final Properties submittedProps, final Properties parentProps) {
-
- // resolve all the properties used in attributes and update the JAXB
- // model
- decision.setId(this.replaceAllProperties(decision.getId(), submittedProps, parentProps));
- decision.setRef(this.replaceAllProperties(decision.getRef(), submittedProps, parentProps));
-
- // Resolve all the properties defined for this decision
- Properties currentProps = parentProps;
- if (decision.getProperties() != null) {
- currentProps = this.resolveElementProperties(decision.getProperties().getPropertyList(), submittedProps, parentProps);
- }
-
- if (decision.getTransitionElements() != null) {
- for (final TransitionElement transitionElement : decision.getTransitionElements()) {
- PropertyResolverFactory.createTransitionElementPropertyResolver(this.isPartitionedStep).substituteProperties(transitionElement, submittedProps, currentProps);
- }
- }
-
- return decision;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-batchee/blob/efa64877/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/ExceptionClassesPropertyResolverImpl.java
----------------------------------------------------------------------
diff --git a/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/ExceptionClassesPropertyResolverImpl.java b/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/ExceptionClassesPropertyResolverImpl.java
deleted file mode 100755
index 19d45b0..0000000
--- a/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/ExceptionClassesPropertyResolverImpl.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/**
- * Copyright 2012 International Business Machines Corp.
- *
- * See the NOTICE file distributed with this work for additional information
- * regarding copyright ownership. Licensed under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.ibm.jbatch.container.modelresolver.impl;
-
-import java.util.Properties;
-
-import com.ibm.jbatch.jsl.model.ExceptionClassFilter;
-import com.ibm.jbatch.jsl.model.ExceptionClassFilter.Exclude;
-import com.ibm.jbatch.jsl.model.ExceptionClassFilter.Include;
-
-
-public class ExceptionClassesPropertyResolverImpl extends AbstractPropertyResolver<ExceptionClassFilter> {
-
- public ExceptionClassesPropertyResolverImpl(boolean isPartitionStep) {
- super(isPartitionStep);
- }
-
- @Override
- public ExceptionClassFilter substituteProperties(ExceptionClassFilter exceptionClassFilter,
- Properties submittedProps, Properties parentProps) {
-
- /*
- <xs:complexType name="ExceptionClassFilter">
- <xs:sequence>
- <xs:element name="include" minOccurs="0" maxOccurs="unbounded">
- <xs:complexType>
- <xs:sequence />
- <xs:attribute name="class" use="required" type="xs:string" />
- </xs:complexType>
- </xs:element>
- <xs:element name="exclude" minOccurs="0" maxOccurs="unbounded">
- <xs:complexType>
- <xs:sequence />
- <xs:attribute name="class" use="required" type="xs:string" />
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- */
-
- // Resolve ExceptionClassFilter properties
- if (exceptionClassFilter.getIncludeList() != null) {
- for (Include includeElem : exceptionClassFilter.getIncludeList()) {
- includeElem.setClazz(this.replaceAllProperties(includeElem.getClazz(), submittedProps, parentProps));
- }
-
- for (Exclude excludeElem : exceptionClassFilter.getExcludeList()) {
- excludeElem.setClazz(this.replaceAllProperties(excludeElem.getClazz(), submittedProps, parentProps));
- }
-
- }
-
- return exceptionClassFilter;
-
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-batchee/blob/efa64877/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/FlowPropertyResolverImpl.java
----------------------------------------------------------------------
diff --git a/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/FlowPropertyResolverImpl.java b/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/FlowPropertyResolverImpl.java
deleted file mode 100755
index 4a1da7e..0000000
--- a/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/FlowPropertyResolverImpl.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright 2012 International Business Machines Corp.
- *
- * See the NOTICE file distributed with this work for additional information
- * regarding copyright ownership. Licensed under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
-*/
-package com.ibm.jbatch.container.modelresolver.impl;
-
-import java.util.Properties;
-
-import com.ibm.jbatch.container.jsl.ExecutionElement;
-import com.ibm.jbatch.container.modelresolver.PropertyResolverFactory;
-import com.ibm.jbatch.jsl.model.Decision;
-import com.ibm.jbatch.jsl.model.Flow;
-import com.ibm.jbatch.jsl.model.Split;
-import com.ibm.jbatch.jsl.model.Step;
-
-public class FlowPropertyResolverImpl extends AbstractPropertyResolver<Flow> {
-
-
- public FlowPropertyResolverImpl(boolean isPartitionStep) {
- super(isPartitionStep);
- }
-
- @Override
- public Flow substituteProperties(final Flow flow, final Properties submittedProps, final Properties parentProps) {
-
- // resolve all the properties used in attributes and update the JAXB model
- flow.setId(this.replaceAllProperties(flow.getId(), submittedProps, parentProps));
- flow.setNextFromAttribute(this.replaceAllProperties(flow.getNextFromAttribute(), submittedProps, parentProps));
-
- Properties currentProps = parentProps;
-
- for (final ExecutionElement next : flow.getExecutionElements()) {
- if (next instanceof Step) {
- PropertyResolverFactory.createStepPropertyResolver(this.isPartitionedStep).substituteProperties((Step)next, submittedProps, currentProps);
- } else if (next instanceof Decision) {
- PropertyResolverFactory.createDecisionPropertyResolver(this.isPartitionedStep).substituteProperties((Decision)next, submittedProps, currentProps);
- } else if (next instanceof Flow) {
- PropertyResolverFactory.createFlowPropertyResolver(this.isPartitionedStep).substituteProperties((Flow)next, submittedProps, currentProps);
- } else if (next instanceof Split) {
- PropertyResolverFactory.createSplitPropertyResolver(this.isPartitionedStep).substituteProperties((Split)next, submittedProps, currentProps);
- }
- }
-
- return flow;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-batchee/blob/efa64877/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/ItemProcessorPropertyResolverImpl.java
----------------------------------------------------------------------
diff --git a/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/ItemProcessorPropertyResolverImpl.java b/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/ItemProcessorPropertyResolverImpl.java
deleted file mode 100755
index 6c4b63b..0000000
--- a/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/ItemProcessorPropertyResolverImpl.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
- * Copyright 2013 International Business Machines Corp.
- *
- * See the NOTICE file distributed with this work for additional information
- * regarding copyright ownership. Licensed under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.ibm.jbatch.container.modelresolver.impl;
-
-import java.util.Properties;
-
-import com.ibm.jbatch.jsl.model.ItemProcessor;
-
-
-public class ItemProcessorPropertyResolverImpl extends AbstractPropertyResolver<ItemProcessor> {
-
-
- public ItemProcessorPropertyResolverImpl(boolean isPartitionStep) {
- super(isPartitionStep);
- // TODO Auto-generated constructor stub
- }
-
- @Override
- public ItemProcessor substituteProperties(ItemProcessor processor,
- Properties submittedProps, Properties parentProps) {
-
- //resolve all the properties used in attributes and update the JAXB model
- processor.setRef(this.replaceAllProperties(processor.getRef(), submittedProps, parentProps));
-
- // Resolve all the properties defined for this artifact
- if (processor.getProperties() != null) {
- this.resolveElementProperties(processor.getProperties().getPropertyList(), submittedProps, parentProps);
- }
-
- return processor;
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-batchee/blob/efa64877/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/ItemReaderPropertyResolverImpl.java
----------------------------------------------------------------------
diff --git a/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/ItemReaderPropertyResolverImpl.java b/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/ItemReaderPropertyResolverImpl.java
deleted file mode 100755
index 7214ead..0000000
--- a/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/ItemReaderPropertyResolverImpl.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
- * Copyright 2013 International Business Machines Corp.
- *
- * See the NOTICE file distributed with this work for additional information
- * regarding copyright ownership. Licensed under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.ibm.jbatch.container.modelresolver.impl;
-
-import java.util.Properties;
-
-import com.ibm.jbatch.jsl.model.ItemReader;
-
-
-public class ItemReaderPropertyResolverImpl extends AbstractPropertyResolver<ItemReader> {
-
-
- public ItemReaderPropertyResolverImpl(boolean isPartitionStep) {
- super(isPartitionStep);
- }
-
-
- @Override
- public ItemReader substituteProperties(ItemReader reader,
- Properties submittedProps, Properties parentProps) {
-
- //resolve all the properties used in attributes and update the JAXB model
- reader.setRef(this.replaceAllProperties(reader.getRef(), submittedProps, parentProps));
-
- // Resolve all the properties defined for this artifact
- if (reader.getProperties() != null) {
- this.resolveElementProperties(reader.getProperties().getPropertyList(), submittedProps, parentProps);
- }
-
- return reader;
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-batchee/blob/efa64877/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/ItemWriterPropertyResolverImpl.java
----------------------------------------------------------------------
diff --git a/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/ItemWriterPropertyResolverImpl.java b/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/ItemWriterPropertyResolverImpl.java
deleted file mode 100755
index 19393d5..0000000
--- a/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/ItemWriterPropertyResolverImpl.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/**
- * Copyright 2013 International Business Machines Corp.
- *
- * See the NOTICE file distributed with this work for additional information
- * regarding copyright ownership. Licensed under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.ibm.jbatch.container.modelresolver.impl;
-
-import java.util.Properties;
-
-import com.ibm.jbatch.jsl.model.ItemWriter;
-
-
-public class ItemWriterPropertyResolverImpl extends AbstractPropertyResolver<ItemWriter> {
-
- public ItemWriterPropertyResolverImpl(boolean isPartitionStep) {
- super(isPartitionStep);
- }
-
- @Override
- public ItemWriter substituteProperties(ItemWriter writer,
- Properties submittedProps, Properties parentProps) {
-
- //resolve all the properties used in attributes and update the JAXB model
- writer.setRef(this.replaceAllProperties(writer.getRef(), submittedProps, parentProps));
-
- // Resolve all the properties defined for this artifact
- if (writer.getProperties() != null) {
- this.resolveElementProperties(writer.getProperties().getPropertyList(), submittedProps, parentProps);
- }
-
- return writer;
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-batchee/blob/efa64877/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/JobPropertyResolverImpl.java
----------------------------------------------------------------------
diff --git a/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/JobPropertyResolverImpl.java b/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/JobPropertyResolverImpl.java
deleted file mode 100755
index 10c21b4..0000000
--- a/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/JobPropertyResolverImpl.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Copyright 2012 International Business Machines Corp.
- *
- * See the NOTICE file distributed with this work for additional information
- * regarding copyright ownership. Licensed under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
-*/
-package com.ibm.jbatch.container.modelresolver.impl;
-
-import java.util.Properties;
-
-import com.ibm.jbatch.container.jsl.ExecutionElement;
-import com.ibm.jbatch.container.modelresolver.PropertyResolverFactory;
-import com.ibm.jbatch.jsl.model.Decision;
-import com.ibm.jbatch.jsl.model.Flow;
-import com.ibm.jbatch.jsl.model.JSLJob;
-import com.ibm.jbatch.jsl.model.Listener;
-import com.ibm.jbatch.jsl.model.Split;
-import com.ibm.jbatch.jsl.model.Step;
-
-
-
-public class JobPropertyResolverImpl extends AbstractPropertyResolver<JSLJob> {
-
- public JobPropertyResolverImpl(boolean isPartitionStep) {
- super(isPartitionStep);
- }
-
- /**
- *
- * @param job
- * This method will modify the given job. If you need to hold on
- * to the original job you need to create a clone of the job
- * before passing it to this method.
- * @param submittedProps
- * The job parameters associated with this job. null is valid if
- * no parameters are passed.
- * @param parentProps
- * Properties that are inherited from parent elements. Job is top
- * level element so it can have no parents, so this paramter is
- * currently ignored. Null is valid.
- * @return
- */
- public JSLJob substituteProperties(final JSLJob job, final Properties submittedProps, final Properties parentProps) {
-
- // resolve all the properties used in attributes and update the JAXB
- // model
- job.setId(this.replaceAllProperties(job.getId(), submittedProps, parentProps));
- job.setRestartable(this.replaceAllProperties(job.getRestartable(), submittedProps, parentProps));
-
- // Resolve all the properties defined for a job
- Properties currentProps = null;
- if (job.getProperties() != null) {
- currentProps = this.resolveElementProperties(job.getProperties().getPropertyList(), submittedProps, parentProps);
- }
-
- // Resolve Listener properties, this is list of listeners List<Listener>
- if (job.getListeners() != null) {
- for (final Listener listener : job.getListeners().getListenerList()) {
- PropertyResolverFactory.createListenerPropertyResolver(this.isPartitionedStep).substituteProperties(listener, submittedProps, currentProps);
- }
- }
-
- for (final ExecutionElement next : job.getExecutionElements()) {
- if (next instanceof Step) {
- PropertyResolverFactory.createStepPropertyResolver(this.isPartitionedStep).substituteProperties((Step)next, submittedProps, currentProps);
- } else if (next instanceof Decision) {
- PropertyResolverFactory.createDecisionPropertyResolver(this.isPartitionedStep).substituteProperties((Decision)next, submittedProps, currentProps);
- } else if (next instanceof Split) {
- PropertyResolverFactory.createSplitPropertyResolver(this.isPartitionedStep).substituteProperties((Split)next, submittedProps, currentProps);
- } else if (next instanceof Flow) {
- PropertyResolverFactory.createFlowPropertyResolver(this.isPartitionedStep).substituteProperties((Flow)next, submittedProps, currentProps);
- }
- }
-
-
- return job;
-
- }
-
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-batchee/blob/efa64877/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/ListenerPropertyResolverImpl.java
----------------------------------------------------------------------
diff --git a/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/ListenerPropertyResolverImpl.java b/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/ListenerPropertyResolverImpl.java
deleted file mode 100755
index c8790c7..0000000
--- a/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/ListenerPropertyResolverImpl.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright 2012 International Business Machines Corp.
- *
- * See the NOTICE file distributed with this work for additional information
- * regarding copyright ownership. Licensed under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
-*/
-package com.ibm.jbatch.container.modelresolver.impl;
-
-import java.util.Properties;
-
-import com.ibm.jbatch.jsl.model.Listener;
-
-
-public class ListenerPropertyResolverImpl extends AbstractPropertyResolver<Listener> {
-
-
- public ListenerPropertyResolverImpl(boolean isPartitionStep) {
- super(isPartitionStep);
- }
-
- @Override
- public Listener substituteProperties(final Listener listener, final Properties submittedProps, final Properties parentProps) {
- //resolve all the properties used in attributes and update the JAXB model
- listener.setRef(this.replaceAllProperties(listener.getRef(), submittedProps, parentProps));
-
- // Resolve all the properties defined for this listener
- if (listener.getProperties() != null) {
- this.resolveElementProperties(listener.getProperties().getPropertyList(), submittedProps, parentProps);
- }
-
- return listener;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-batchee/blob/efa64877/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/PartitionMapperPropertyResolverImpl.java
----------------------------------------------------------------------
diff --git a/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/PartitionMapperPropertyResolverImpl.java b/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/PartitionMapperPropertyResolverImpl.java
deleted file mode 100755
index bcd8e69..0000000
--- a/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/PartitionMapperPropertyResolverImpl.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/**
- * Copyright 2012 International Business Machines Corp.
- *
- * See the NOTICE file distributed with this work for additional information
- * regarding copyright ownership. Licensed under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.ibm.jbatch.container.modelresolver.impl;
-
-import java.util.Properties;
-
-import com.ibm.jbatch.jsl.model.PartitionMapper;
-
-
-public class PartitionMapperPropertyResolverImpl extends
- AbstractPropertyResolver<PartitionMapper> {
-
- public PartitionMapperPropertyResolverImpl(boolean isPartitionStep) {
- super(isPartitionStep);
- }
-
- @Override
- public PartitionMapper substituteProperties(PartitionMapper partitionMapper,
- Properties submittedProps, Properties parentProps) {
-
- /*
- <xs:complexType name="PartitionMapper">
- <xs:sequence>
- <xs:element name="properties" type="jsl:Properties" minOccurs="0" maxOccurs="1" />
- </xs:sequence>
- <xs:attribute name="ref" use="required" type="jsl:artifactRef" />
- </xs:complexType>
- */
-
- partitionMapper.setRef(this.replaceAllProperties(partitionMapper.getRef(), submittedProps, parentProps));
-
- // Resolve all the properties defined for this step
- Properties currentProps = parentProps;
- if (partitionMapper.getProperties() != null) {
- currentProps = this.resolveElementProperties(partitionMapper.getProperties().getPropertyList(), submittedProps, parentProps);
- }
-
- return partitionMapper;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-batchee/blob/efa64877/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/PartitionPlanPropertyResolverImpl.java
----------------------------------------------------------------------
diff --git a/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/PartitionPlanPropertyResolverImpl.java b/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/PartitionPlanPropertyResolverImpl.java
deleted file mode 100755
index df3aecc..0000000
--- a/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/PartitionPlanPropertyResolverImpl.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/**
- * Copyright 2012 International Business Machines Corp.
- *
- * See the NOTICE file distributed with this work for additional information
- * regarding copyright ownership. Licensed under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.ibm.jbatch.container.modelresolver.impl;
-
-import java.util.List;
-import java.util.Properties;
-
-import com.ibm.jbatch.jsl.model.JSLProperties;
-import com.ibm.jbatch.jsl.model.PartitionPlan;
-
-
-public class PartitionPlanPropertyResolverImpl extends
- AbstractPropertyResolver<PartitionPlan> {
-
- public PartitionPlanPropertyResolverImpl(boolean isPartitionStep) {
- super(isPartitionStep);
- }
-
- @Override
- public PartitionPlan substituteProperties(PartitionPlan partitionPlan,
- Properties submittedProps, Properties parentProps) {
-
- /*
- <xs:complexType name="PartitionPlan">
- <xs:sequence>
- <xs:element name="properties" type="jsl:Properties" minOccurs="0" maxOccurs="unbounded" />
- </xs:sequence>
- <xs:attribute name="instances" use="optional" type="xs:string" />
- <xs:attribute name="threads" use="optional" type="xs:string" />
- </xs:complexType>
- */
-
- partitionPlan.setPartitions(this.replaceAllProperties(partitionPlan.getPartitions(), submittedProps, parentProps));
- partitionPlan.setThreads(this.replaceAllProperties(partitionPlan.getThreads(), submittedProps, parentProps));
-
- // Resolve all the properties defined for this plan
- Properties currentProps = parentProps;
- if (partitionPlan.getProperties() != null) {
-
- List<JSLProperties> jslProps = partitionPlan.getProperties();
-
- if (jslProps != null) {
- for (JSLProperties jslProp : jslProps) {
- //for partition properties perform substitution on the partition attribute
- if (jslProp.getPartition() != null) {
- jslProp.setPartition(this.replaceAllProperties(jslProp.getPartition(), submittedProps, parentProps));
- }
- currentProps = this.resolveElementProperties(jslProp.getPropertyList(), submittedProps, parentProps);
- }
- }
-
-
-
- }
-
- return partitionPlan;
-
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-batchee/blob/efa64877/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/PartitionPropertyResolverImpl.java
----------------------------------------------------------------------
diff --git a/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/PartitionPropertyResolverImpl.java b/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/PartitionPropertyResolverImpl.java
deleted file mode 100755
index 29ccf8d..0000000
--- a/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/PartitionPropertyResolverImpl.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright 2012 International Business Machines Corp.
- *
- * See the NOTICE file distributed with this work for additional information
- * regarding copyright ownership. Licensed under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
-*/
-package com.ibm.jbatch.container.modelresolver.impl;
-
-import java.util.Properties;
-
-
-import com.ibm.jbatch.container.modelresolver.PropertyResolverFactory;
-import com.ibm.jbatch.jsl.model.Partition;
-
-public class PartitionPropertyResolverImpl extends AbstractPropertyResolver<Partition> {
-
-
-
- public PartitionPropertyResolverImpl(boolean isPartitionStep) {
- super(isPartitionStep);
- }
-
- @Override
- public Partition substituteProperties(final Partition partition, final Properties submittedProps, final Properties parentProps) {
- /**
- <xs:complexType name="Partition">
- <xs:sequence>
- <xs:element name="mapper" type="jsl:PartitionMapper" minOccurs="0" maxOccurs="1" />
- <xs:element name="plan" type="jsl:PartitionPlan" minOccurs="0" maxOccurs="1" />
- <xs:element name="collector" type="jsl:Collector" minOccurs="0" maxOccurs="1"/>
- <xs:element name="analyzer" type="jsl:Analyzer" minOccurs="0" maxOccurs="1"/>
- <xs:element name="reducer " type="jsl:PartitionReducer" minOccurs="0" maxOccurs="1"/>
- </xs:sequence>
- </xs:complexType>
- */
-
- // Resolve all the properties defined for a partition
- if (partition.getMapper() != null) {
- PropertyResolverFactory.createPartitionMapperPropertyResolver(this.isPartitionedStep).substituteProperties(partition.getMapper(), submittedProps, null);
- }
-
- if (partition.getPlan() != null) {
- PropertyResolverFactory.createPartitionPlanPropertyResolver(this.isPartitionedStep).substituteProperties(partition.getPlan(), submittedProps, null);
- }
-
- if (partition.getCollector() != null) {
- PropertyResolverFactory.createCollectorPropertyResolver(this.isPartitionedStep).substituteProperties(partition.getCollector(), submittedProps, null);
- }
-
- if (partition.getAnalyzer() != null) {
- PropertyResolverFactory.createAnalyzerPropertyResolver(this.isPartitionedStep).substituteProperties(partition.getAnalyzer(), submittedProps, null);
- }
-
- if (partition.getReducer() != null) {
- PropertyResolverFactory.createPartitionReducerPropertyResolver(this.isPartitionedStep).substituteProperties(partition.getReducer(), submittedProps, null);
- }
-
- return partition;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-batchee/blob/efa64877/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/PartitionReducerPropertyResolverImpl.java
----------------------------------------------------------------------
diff --git a/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/PartitionReducerPropertyResolverImpl.java b/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/PartitionReducerPropertyResolverImpl.java
deleted file mode 100755
index 0d4826a..0000000
--- a/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/PartitionReducerPropertyResolverImpl.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright 2012 International Business Machines Corp.
- *
- * See the NOTICE file distributed with this work for additional information
- * regarding copyright ownership. Licensed under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.ibm.jbatch.container.modelresolver.impl;
-
-import java.util.Properties;
-
-import com.ibm.jbatch.jsl.model.PartitionReducer;
-
-
-public class PartitionReducerPropertyResolverImpl extends
- AbstractPropertyResolver<PartitionReducer> {
-
- public PartitionReducerPropertyResolverImpl(boolean isPartitionStep) {
- super(isPartitionStep);
- }
-
-
- @Override
- public PartitionReducer substituteProperties(PartitionReducer reducer,
- Properties submittedProps, Properties parentProps) {
- /*
- <xs:complexType name="Collector">
- <xs:sequence>
- <xs:element name="properties" type="jsl:Properties" minOccurs="0" maxOccurs="1" />
- </xs:sequence>
- <xs:attribute name="ref" use="required" type="jsl:artifactRef" />
- </xs:complexType>
- */
-
- //resolve all the properties used in attributes and update the JAXB model
- reducer.setRef(this.replaceAllProperties(reducer.getRef(), submittedProps, parentProps));
-
- // Resolve all the properties defined for this artifact
- if (reducer.getProperties() != null) {
- this.resolveElementProperties(reducer.getProperties().getPropertyList(), submittedProps, parentProps);
- }
-
- return reducer;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-batchee/blob/efa64877/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/SplitPropertyResolverImpl.java
----------------------------------------------------------------------
diff --git a/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/SplitPropertyResolverImpl.java b/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/SplitPropertyResolverImpl.java
deleted file mode 100755
index 97d4771..0000000
--- a/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/SplitPropertyResolverImpl.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright 2012 International Business Machines Corp.
- *
- * See the NOTICE file distributed with this work for additional information
- * regarding copyright ownership. Licensed under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
-*/
-package com.ibm.jbatch.container.modelresolver.impl;
-
-import java.util.Properties;
-
-import com.ibm.jbatch.container.modelresolver.PropertyResolverFactory;
-import com.ibm.jbatch.jsl.model.Flow;
-import com.ibm.jbatch.jsl.model.Split;
-
-public class SplitPropertyResolverImpl extends AbstractPropertyResolver<Split> {
-
-
-
- public SplitPropertyResolverImpl(boolean isPartitionStep) {
- super(isPartitionStep);
- }
-
- @Override
- public Split substituteProperties(final Split split, final Properties submittedProps, final Properties parentProps) {
- // resolve all the properties used in attributes and update the JAXB model
- split.setId(this.replaceAllProperties(split.getId(), submittedProps, parentProps));
- split.setNextFromAttribute(this.replaceAllProperties(split.getNextFromAttribute(), submittedProps, parentProps));
-
- // Resolve all the properties defined for this step
- Properties currentProps = parentProps;
- for (final Flow flow : split.getFlows()) {
- PropertyResolverFactory.createFlowPropertyResolver(this.isPartitionedStep).substituteProperties(flow, submittedProps, currentProps);
- }
-
- return split;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-batchee/blob/efa64877/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/StepPropertyResolverImpl.java
----------------------------------------------------------------------
diff --git a/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/StepPropertyResolverImpl.java b/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/StepPropertyResolverImpl.java
deleted file mode 100755
index 43ccc37..0000000
--- a/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/container/modelresolver/impl/StepPropertyResolverImpl.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Copyright 2012 International Business Machines Corp.
- *
- * See the NOTICE file distributed with this work for additional information
- * regarding copyright ownership. Licensed under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
-*/
-package com.ibm.jbatch.container.modelresolver.impl;
-
-import java.util.Properties;
-
-import com.ibm.jbatch.container.jsl.TransitionElement;
-import com.ibm.jbatch.container.modelresolver.PropertyResolverFactory;
-import com.ibm.jbatch.jsl.model.Listener;
-import com.ibm.jbatch.jsl.model.Step;
-
-
-public class StepPropertyResolverImpl extends AbstractPropertyResolver<Step> {
-
- public StepPropertyResolverImpl(boolean isPartitionStep) {
- super(isPartitionStep);
- }
-
- @Override
- public Step substituteProperties(final Step step, final Properties submittedProps, final Properties parentProps) {
-
- // resolve all the properties used in attributes and update the JAXB
- // model
- step.setId(this.replaceAllProperties(step.getId(), submittedProps, parentProps));
-
- step.setAllowStartIfComplete(this.replaceAllProperties(step.getAllowStartIfComplete(), submittedProps, parentProps));
- step.setNextFromAttribute(this.replaceAllProperties(step.getNextFromAttribute(), submittedProps, parentProps));
- step.setStartLimit(this.replaceAllProperties(step.getStartLimit(), submittedProps, parentProps));
-
- // Resolve all the properties defined for this step
- Properties currentProps = parentProps;
- if (step.getProperties() != null) {
- currentProps = this.resolveElementProperties(step.getProperties().getPropertyList(), submittedProps, parentProps);
- }
-
- // Resolve partition
- if (step.getPartition() != null) {
- PropertyResolverFactory.createPartitionPropertyResolver(this.isPartitionedStep).substituteProperties(step.getPartition(), submittedProps, currentProps);
- }
-
- // Resolve Listener properties, this is list of listeners List<Listener>
- if (step.getListeners() != null) {
- for (final Listener listener : step.getListeners().getListenerList()) {
- PropertyResolverFactory.createListenerPropertyResolver(this.isPartitionedStep).substituteProperties(listener, submittedProps, currentProps);
- }
- }
-
- if (step.getTransitionElements() != null) {
- for (final TransitionElement controlElement : step.getTransitionElements()) {
- PropertyResolverFactory.createTransitionElementPropertyResolver(this.isPartitionedStep).substituteProperties(controlElement, submittedProps, currentProps);
- }
- }
-
-
-
-
-
- // Resolve Batchlet properties
- if (step.getBatchlet() != null) {
- PropertyResolverFactory.createBatchletPropertyResolver(this.isPartitionedStep).substituteProperties(step.getBatchlet(), submittedProps, currentProps);
- }
-
- // Resolve Chunk properties
- if (step.getChunk() != null) {
- PropertyResolverFactory.createChunkPropertyResolver(this.isPartitionedStep).substituteProperties(step.getChunk(), submittedProps, currentProps);
- }
-
- return step;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-batchee/blob/efa64877/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/jsl/util/JSLLoader.java
----------------------------------------------------------------------
diff --git a/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/jsl/util/JSLLoader.java b/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/jsl/util/JSLLoader.java
deleted file mode 100755
index 2c00eb7..0000000
--- a/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/jsl/util/JSLLoader.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Copyright 2012 International Business Machines Corp.
- *
- * See the NOTICE file distributed with this work for additional information
- * regarding copyright ownership. Licensed under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
-*/
-package com.ibm.jbatch.jsl.util;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FilenameFilter;
-import java.io.IOException;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.net.URL;
-import java.util.Collections;
-import java.util.Enumeration;
-import java.util.LinkedHashSet;
-import java.util.Set;
-import java.util.jar.JarEntry;
-import java.util.jar.JarFile;
-import java.util.logging.Logger;
-
-public class JSLLoader {
-
- private final static Logger logger = Logger.getLogger(JSLLoader.class.getName());
-
- // Holds a list of job.xml files
- private Set<URI> jobFilelist = Collections.synchronizedSet(new LinkedHashSet<URI>());
-
- public static final String JOBS_FOLDER = "META-INF/jobs";
-
- public void traverseJobPath() {
-
- }
-
- /**
- *
- * @param rootURL
- * the jar file associated with this batch application
- * @return list of batch artifact files
- * @throws IOException
- * @throws FileNotFoundException
- * @throws URISyntaxException
- * @throws URISyntaxException
- */
- public Set<URI> getArtifacts(final URL rootURL) throws FileNotFoundException, IOException, URISyntaxException {
-
- JarFile jarfile = new JarFile(new File(rootURL.toURI()));
-
- Enumeration<JarEntry> jarEntries = jarfile.entries();
- if (jarEntries == null) {
- throw new IllegalArgumentException();
- }
-
- while (jarEntries.hasMoreElements()) {
- String entry = jarEntries.nextElement().getName();
- if (entry.startsWith(JOBS_FOLDER) && !(entry.endsWith("/"))) {
- jobFilelist.add(new URI(null, entry, null));
-
- }
- }
- return jobFilelist;
- }
-
- private Set<URI> getFolderArtifacts(File directory) throws FileNotFoundException, IOException, URISyntaxException {
-
- //Get all the xml files in the directory
- File[] xmlFiles = directory.listFiles(new XMLFilenameFilter());
-
- for (File file : xmlFiles) {
- jobFilelist.add(file.toURI());
- }
-
- return jobFilelist;
- }
-
-
-
- private class XMLFilenameFilter implements FilenameFilter {
-
- @Override
- public boolean accept(File dir, String fileName) {
-
- if (fileName.endsWith(".xml")) {
- return true;
- }
- return false;
- }
-
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-batchee/blob/efa64877/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/jsl/util/JSLValidationEventHandler.java
----------------------------------------------------------------------
diff --git a/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/jsl/util/JSLValidationEventHandler.java b/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/jsl/util/JSLValidationEventHandler.java
deleted file mode 100755
index 2661f76..0000000
--- a/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/jsl/util/JSLValidationEventHandler.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright 2012 International Business Machines Corp.
- *
- * See the NOTICE file distributed with this work for additional information
- * regarding copyright ownership. Licensed under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
-*/
-package com.ibm.jbatch.jsl.util;
-
-import java.util.logging.Logger;
-
-import javax.xml.bind.ValidationEvent;
-import javax.xml.bind.ValidationEventHandler;
-
-public class JSLValidationEventHandler implements ValidationEventHandler {
-
- private static final String CLASSNAME = JSLValidationEventHandler.class.getName();
-
- private final static Logger logger = Logger.getLogger(CLASSNAME);
-
- private boolean eventOccurred = false;
-
- public boolean handleEvent(ValidationEvent event) {
- StringBuffer buf = new StringBuffer(150);
- buf.append("\nMESSAGE: " + event.getMessage());
- buf.append("\nSEVERITY: " + event.getSeverity());
- buf.append("\nLINKED EXC: " + event.getLinkedException());
- buf.append("\nLOCATOR INFO:\n------------");
-
- buf.append("\n COLUMN NUMBER: " + event.getLocator().getColumnNumber());
- buf.append("\n LINE NUMBER: " + event.getLocator().getLineNumber());
- buf.append("\n OFFSET: " + event.getLocator().getOffset());
- buf.append("\n CLASS: " + event.getLocator().getClass());
- buf.append("\n NODE: " + event.getLocator().getNode());
- buf.append("\n OBJECT: " + event.getLocator().getObject());
- buf.append("\n URL: " + event.getLocator().getURL());
-
- logger.warning("JSL invalid per XSD, details: " + buf.toString());
-
- eventOccurred = true;
-
- // Allow more parsing feedback
- return true;
- }
-
- public boolean eventOccurred() {
- return eventOccurred;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-batchee/blob/efa64877/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/jsl/util/PropertiesToStringHelper.java
----------------------------------------------------------------------
diff --git a/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/jsl/util/PropertiesToStringHelper.java b/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/jsl/util/PropertiesToStringHelper.java
deleted file mode 100755
index 164034a..0000000
--- a/JSR352.JobXML.Model/src/main/java/com/ibm/jbatch/jsl/util/PropertiesToStringHelper.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright 2012 International Business Machines Corp.
- *
- * See the NOTICE file distributed with this work for additional information
- * regarding copyright ownership. Licensed under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.ibm.jbatch.jsl.util;
-
-import com.ibm.jbatch.jsl.model.JSLProperties;
-import com.ibm.jbatch.jsl.model.Property;
-
-/**
- * @author skurz
- *
- */
-public class PropertiesToStringHelper {
-
- public static String getString(JSLProperties props) {
- if (props == null) return null;
-
- StringBuffer buf = new StringBuffer(150);
- for (Property prop : props.getPropertyList()) {
- buf.append("name=" + prop.getName() + ",value=" + prop.getValue() + "\n");
- }
- return buf.toString();
- }
-}