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();
-	}
-}