You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-commits@axis.apache.org by ve...@apache.org on 2012/12/10 13:01:17 UTC

svn commit: r1419363 [2/3] - in /axis/axis1/java/branches/AXIS-2882: ./ axis-model/model/ axis-model/src/main/java/org/apache/axis/model/wsdd/ axis-model/src/main/java/org/apache/axis/model/wsdd/impl/ axis-model/src/test/java/org/apache/axis/model/wsdd...

Modified: axis/axis1/java/branches/AXIS-2882/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/WSDDPackageImpl.java
URL: http://svn.apache.org/viewvc/axis/axis1/java/branches/AXIS-2882/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/WSDDPackageImpl.java?rev=1419363&r1=1419362&r2=1419363&view=diff
==============================================================================
--- axis/axis1/java/branches/AXIS-2882/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/WSDDPackageImpl.java (original)
+++ axis/axis1/java/branches/AXIS-2882/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/WSDDPackageImpl.java Mon Dec 10 12:01:10 2012
@@ -12,10 +12,11 @@ import org.apache.axis.model.wsdd.BeanMa
 import org.apache.axis.model.wsdd.DeployableItem;
 import org.apache.axis.model.wsdd.Deployment;
 import org.apache.axis.model.wsdd.Fault;
-import org.apache.axis.model.wsdd.Flow;
+import org.apache.axis.model.wsdd.Chain;
 import org.apache.axis.model.wsdd.GlobalConfiguration;
 import org.apache.axis.model.wsdd.Handler;
 import org.apache.axis.model.wsdd.Mapping;
+import org.apache.axis.model.wsdd.MappingContainer;
 import org.apache.axis.model.wsdd.Operation;
 import org.apache.axis.model.wsdd.OperationParameter;
 import org.apache.axis.model.wsdd.Parameter;
@@ -116,16 +117,6 @@ public class WSDDPackageImpl extends EPa
     public static final int PARAMETER_FEATURE_COUNT = 2;
 
     /**
-     * The meta object id for the '{@link org.apache.axis.model.wsdd.impl.FlowImpl <em>Flow</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.apache.axis.model.wsdd.impl.FlowImpl
-     * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getFlow()
-     * @generated
-     */
-    public static final int FLOW = 10;
-
-    /**
      * The meta object id for the '{@link org.apache.axis.model.wsdd.impl.MappingImpl <em>Mapping</em>}' class.
      * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
@@ -337,6 +328,52 @@ public class WSDDPackageImpl extends EPa
     public static final int BEAN_MAPPING_FEATURE_COUNT = MAPPING_FEATURE_COUNT + 0;
 
     /**
+     * The meta object id for the '{@link org.apache.axis.model.wsdd.impl.MappingContainerImpl <em>Mapping Container</em>}' class.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @see org.apache.axis.model.wsdd.impl.MappingContainerImpl
+     * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getMappingContainer()
+     * @generated
+     */
+    public static final int MAPPING_CONTAINER = 5;
+
+    /**
+     * The feature id for the '<em><b>Type Mappings</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+    public static final int MAPPING_CONTAINER__TYPE_MAPPINGS = 0;
+
+    /**
+     * The feature id for the '<em><b>Bean Mappings</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+    public static final int MAPPING_CONTAINER__BEAN_MAPPINGS = 1;
+
+    /**
+     * The feature id for the '<em><b>Array Mappings</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+    public static final int MAPPING_CONTAINER__ARRAY_MAPPINGS = 2;
+
+    /**
+     * The number of structural features of the '<em>Mapping Container</em>' class.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+    public static final int MAPPING_CONTAINER_FEATURE_COUNT = 3;
+
+    /**
      * The meta object id for the '{@link org.apache.axis.model.wsdd.impl.OperationParameterImpl <em>Operation Parameter</em>}' class.
      * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
@@ -344,7 +381,7 @@ public class WSDDPackageImpl extends EPa
      * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getOperationParameter()
      * @generated
      */
-    public static final int OPERATION_PARAMETER = 5;
+    public static final int OPERATION_PARAMETER = 6;
 
     /**
      * The feature id for the '<em><b>Name</b></em>' attribute.
@@ -426,7 +463,7 @@ public class WSDDPackageImpl extends EPa
      * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getFault()
      * @generated
      */
-    public static final int FAULT = 6;
+    public static final int FAULT = 7;
 
     /**
      * The feature id for the '<em><b>Name</b></em>' attribute.
@@ -481,7 +518,7 @@ public class WSDDPackageImpl extends EPa
      * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getOperation()
      * @generated
      */
-    public static final int OPERATION = 7;
+    public static final int OPERATION = 8;
 
     /**
      * The feature id for the '<em><b>Name</b></em>' attribute.
@@ -599,7 +636,7 @@ public class WSDDPackageImpl extends EPa
      * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getParameterizable()
      * @generated
      */
-    public static final int PARAMETERIZABLE = 8;
+    public static final int PARAMETERIZABLE = 9;
 
     /**
      * The feature id for the '<em><b>Parameters</b></em>' containment reference list.
@@ -627,7 +664,7 @@ public class WSDDPackageImpl extends EPa
      * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getHandler()
      * @generated
      */
-    public static final int HANDLER = 9;
+    public static final int HANDLER = 10;
 
     /**
      * The feature id for the '<em><b>Parameters</b></em>' containment reference list.
@@ -666,22 +703,50 @@ public class WSDDPackageImpl extends EPa
     public static final int HANDLER_FEATURE_COUNT = PARAMETERIZABLE_FEATURE_COUNT + 2;
 
     /**
+     * The meta object id for the '{@link org.apache.axis.model.wsdd.impl.ChainImpl <em>Chain</em>}' class.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @see org.apache.axis.model.wsdd.impl.ChainImpl
+     * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getChain()
+     * @generated
+     */
+    public static final int CHAIN = 11;
+
+    /**
+     * The feature id for the '<em><b>Name</b></em>' attribute.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+    public static final int CHAIN__NAME = 0;
+
+    /**
+     * The feature id for the '<em><b>Type</b></em>' attribute.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+    public static final int CHAIN__TYPE = 1;
+
+    /**
      * The feature id for the '<em><b>Handlers</b></em>' containment reference list.
      * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
      * @generated
      * @ordered
      */
-    public static final int FLOW__HANDLERS = 0;
+    public static final int CHAIN__HANDLERS = 2;
 
     /**
-     * The number of structural features of the '<em>Flow</em>' class.
+     * The number of structural features of the '<em>Chain</em>' class.
      * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
      * @generated
      * @ordered
      */
-    public static final int FLOW_FEATURE_COUNT = 1;
+    public static final int CHAIN_FEATURE_COUNT = 3;
 
     /**
      * The meta object id for the '{@link org.apache.axis.model.wsdd.impl.DeployableItemImpl <em>Deployable Item</em>}' class.
@@ -691,7 +756,7 @@ public class WSDDPackageImpl extends EPa
      * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getDeployableItem()
      * @generated
      */
-    public static final int DEPLOYABLE_ITEM = 11;
+    public static final int DEPLOYABLE_ITEM = 12;
 
     /**
      * The feature id for the '<em><b>Parameters</b></em>' containment reference list.
@@ -737,7 +802,7 @@ public class WSDDPackageImpl extends EPa
      * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getGlobalConfiguration()
      * @generated
      */
-    public static final int GLOBAL_CONFIGURATION = 12;
+    public static final int GLOBAL_CONFIGURATION = 13;
 
     /**
      * The feature id for the '<em><b>Parameters</b></em>' containment reference list.
@@ -783,7 +848,7 @@ public class WSDDPackageImpl extends EPa
      * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getTransport()
      * @generated
      */
-    public static final int TRANSPORT = 13;
+    public static final int TRANSPORT = 14;
 
     /**
      * The feature id for the '<em><b>Parameters</b></em>' containment reference list.
@@ -847,7 +912,7 @@ public class WSDDPackageImpl extends EPa
      * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getService()
      * @generated
      */
-    public static final int SERVICE = 14;
+    public static final int SERVICE = 15;
 
     /**
      * The feature id for the '<em><b>Parameters</b></em>' containment reference list.
@@ -877,85 +942,85 @@ public class WSDDPackageImpl extends EPa
     public static final int SERVICE__RESPONSE_FLOW = DEPLOYABLE_ITEM__RESPONSE_FLOW;
 
     /**
-     * The feature id for the '<em><b>Name</b></em>' attribute.
+     * The feature id for the '<em><b>Type Mappings</b></em>' containment reference list.
      * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
      * @generated
      * @ordered
      */
-    public static final int SERVICE__NAME = DEPLOYABLE_ITEM_FEATURE_COUNT + 0;
+    public static final int SERVICE__TYPE_MAPPINGS = DEPLOYABLE_ITEM_FEATURE_COUNT + 0;
 
     /**
-     * The feature id for the '<em><b>Provider</b></em>' attribute.
+     * The feature id for the '<em><b>Bean Mappings</b></em>' containment reference list.
      * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
      * @generated
      * @ordered
      */
-    public static final int SERVICE__PROVIDER = DEPLOYABLE_ITEM_FEATURE_COUNT + 1;
+    public static final int SERVICE__BEAN_MAPPINGS = DEPLOYABLE_ITEM_FEATURE_COUNT + 1;
 
     /**
-     * The feature id for the '<em><b>Use</b></em>' attribute.
+     * The feature id for the '<em><b>Array Mappings</b></em>' containment reference list.
      * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
      * @generated
      * @ordered
      */
-    public static final int SERVICE__USE = DEPLOYABLE_ITEM_FEATURE_COUNT + 2;
+    public static final int SERVICE__ARRAY_MAPPINGS = DEPLOYABLE_ITEM_FEATURE_COUNT + 2;
 
     /**
-     * The feature id for the '<em><b>Style</b></em>' attribute.
+     * The feature id for the '<em><b>Name</b></em>' attribute.
      * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
      * @generated
      * @ordered
      */
-    public static final int SERVICE__STYLE = DEPLOYABLE_ITEM_FEATURE_COUNT + 3;
+    public static final int SERVICE__NAME = DEPLOYABLE_ITEM_FEATURE_COUNT + 3;
 
     /**
-     * The feature id for the '<em><b>Namespaces</b></em>' attribute list.
+     * The feature id for the '<em><b>Provider</b></em>' attribute.
      * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
      * @generated
      * @ordered
      */
-    public static final int SERVICE__NAMESPACES = DEPLOYABLE_ITEM_FEATURE_COUNT + 4;
+    public static final int SERVICE__PROVIDER = DEPLOYABLE_ITEM_FEATURE_COUNT + 4;
 
     /**
-     * The feature id for the '<em><b>Operations</b></em>' containment reference list.
+     * The feature id for the '<em><b>Use</b></em>' attribute.
      * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
      * @generated
      * @ordered
      */
-    public static final int SERVICE__OPERATIONS = DEPLOYABLE_ITEM_FEATURE_COUNT + 5;
+    public static final int SERVICE__USE = DEPLOYABLE_ITEM_FEATURE_COUNT + 5;
 
     /**
-     * The feature id for the '<em><b>Type Mappings</b></em>' containment reference list.
+     * The feature id for the '<em><b>Style</b></em>' attribute.
      * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
      * @generated
      * @ordered
      */
-    public static final int SERVICE__TYPE_MAPPINGS = DEPLOYABLE_ITEM_FEATURE_COUNT + 6;
+    public static final int SERVICE__STYLE = DEPLOYABLE_ITEM_FEATURE_COUNT + 6;
 
     /**
-     * The feature id for the '<em><b>Bean Mappings</b></em>' containment reference list.
+     * The feature id for the '<em><b>Namespaces</b></em>' attribute list.
      * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
      * @generated
      * @ordered
      */
-    public static final int SERVICE__BEAN_MAPPINGS = DEPLOYABLE_ITEM_FEATURE_COUNT + 7;
+    public static final int SERVICE__NAMESPACES = DEPLOYABLE_ITEM_FEATURE_COUNT + 7;
 
     /**
-     * The feature id for the '<em><b>Array Mappings</b></em>' containment reference list.
+     * The feature id for the '<em><b>Operations</b></em>' containment reference list.
      * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
      * @generated
      * @ordered
      */
-    public static final int SERVICE__ARRAY_MAPPINGS = DEPLOYABLE_ITEM_FEATURE_COUNT + 8;
+    public static final int SERVICE__OPERATIONS = DEPLOYABLE_ITEM_FEATURE_COUNT + 8;
 
     /**
      * The number of structural features of the '<em>Service</em>' class.
@@ -974,7 +1039,34 @@ public class WSDDPackageImpl extends EPa
      * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getDeployment()
      * @generated
      */
-    public static final int DEPLOYMENT = 15;
+    public static final int DEPLOYMENT = 16;
+
+    /**
+     * The feature id for the '<em><b>Type Mappings</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+    public static final int DEPLOYMENT__TYPE_MAPPINGS = MAPPING_CONTAINER__TYPE_MAPPINGS;
+
+    /**
+     * The feature id for the '<em><b>Bean Mappings</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+    public static final int DEPLOYMENT__BEAN_MAPPINGS = MAPPING_CONTAINER__BEAN_MAPPINGS;
+
+    /**
+     * The feature id for the '<em><b>Array Mappings</b></em>' containment reference list.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     * @ordered
+     */
+    public static final int DEPLOYMENT__ARRAY_MAPPINGS = MAPPING_CONTAINER__ARRAY_MAPPINGS;
 
     /**
      * The feature id for the '<em><b>Name</b></em>' attribute.
@@ -983,7 +1075,7 @@ public class WSDDPackageImpl extends EPa
      * @generated
      * @ordered
      */
-    public static final int DEPLOYMENT__NAME = 0;
+    public static final int DEPLOYMENT__NAME = MAPPING_CONTAINER_FEATURE_COUNT + 0;
 
     /**
      * The feature id for the '<em><b>Global Configuration</b></em>' containment reference.
@@ -992,7 +1084,7 @@ public class WSDDPackageImpl extends EPa
      * @generated
      * @ordered
      */
-    public static final int DEPLOYMENT__GLOBAL_CONFIGURATION = 1;
+    public static final int DEPLOYMENT__GLOBAL_CONFIGURATION = MAPPING_CONTAINER_FEATURE_COUNT + 1;
 
     /**
      * The feature id for the '<em><b>Handlers</b></em>' containment reference list.
@@ -1001,7 +1093,7 @@ public class WSDDPackageImpl extends EPa
      * @generated
      * @ordered
      */
-    public static final int DEPLOYMENT__HANDLERS = 2;
+    public static final int DEPLOYMENT__HANDLERS = MAPPING_CONTAINER_FEATURE_COUNT + 2;
 
     /**
      * The feature id for the '<em><b>Transports</b></em>' containment reference list.
@@ -1010,7 +1102,7 @@ public class WSDDPackageImpl extends EPa
      * @generated
      * @ordered
      */
-    public static final int DEPLOYMENT__TRANSPORTS = 3;
+    public static final int DEPLOYMENT__TRANSPORTS = MAPPING_CONTAINER_FEATURE_COUNT + 3;
 
     /**
      * The feature id for the '<em><b>Services</b></em>' containment reference list.
@@ -1019,7 +1111,7 @@ public class WSDDPackageImpl extends EPa
      * @generated
      * @ordered
      */
-    public static final int DEPLOYMENT__SERVICES = 4;
+    public static final int DEPLOYMENT__SERVICES = MAPPING_CONTAINER_FEATURE_COUNT + 4;
 
     /**
      * The number of structural features of the '<em>Deployment</em>' class.
@@ -1028,7 +1120,7 @@ public class WSDDPackageImpl extends EPa
      * @generated
      * @ordered
      */
-    public static final int DEPLOYMENT_FEATURE_COUNT = 5;
+    public static final int DEPLOYMENT_FEATURE_COUNT = MAPPING_CONTAINER_FEATURE_COUNT + 5;
 
     /**
      * The meta object id for the '{@link org.apache.axis.model.wsdd.ParameterMode <em>Parameter Mode</em>}' enum.
@@ -1038,7 +1130,7 @@ public class WSDDPackageImpl extends EPa
      * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getParameterMode()
      * @generated
      */
-    public static final int PARAMETER_MODE = 16;
+    public static final int PARAMETER_MODE = 17;
 
     /**
      * <!-- begin-user-doc -->
@@ -1052,35 +1144,35 @@ public class WSDDPackageImpl extends EPa
      * <!-- end-user-doc -->
      * @generated
      */
-    private EClass flowEClass = null;
+    private EClass mappingEClass = null;
 
     /**
      * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
      * @generated
      */
-    private EClass mappingEClass = null;
+    private EClass typeMappingEClass = null;
 
     /**
      * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
      * @generated
      */
-    private EClass typeMappingEClass = null;
+    private EClass arrayMappingEClass = null;
 
     /**
      * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
      * @generated
      */
-    private EClass arrayMappingEClass = null;
+    private EClass beanMappingEClass = null;
 
     /**
      * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
      * @generated
      */
-    private EClass beanMappingEClass = null;
+    private EClass mappingContainerEClass = null;
 
     /**
      * <!-- begin-user-doc -->
@@ -1122,6 +1214,13 @@ public class WSDDPackageImpl extends EPa
      * <!-- end-user-doc -->
      * @generated
      */
+    private EClass chainEClass = null;
+
+    /**
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
     private EClass deployableItemEClass = null;
 
     /**
@@ -1267,31 +1366,6 @@ public class WSDDPackageImpl extends EPa
     }
 
     /**
-     * Returns the meta object for class '{@link org.apache.axis.model.wsdd.Flow <em>Flow</em>}'.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @return the meta object for class '<em>Flow</em>'.
-     * @see org.apache.axis.model.wsdd.Flow
-     * @generated
-     */
-    public EClass getFlow() {
-        return flowEClass;
-    }
-
-    /**
-     * Returns the meta object for the containment reference list '{@link org.apache.axis.model.wsdd.Flow#getHandlers <em>Handlers</em>}'.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @return the meta object for the containment reference list '<em>Handlers</em>'.
-     * @see org.apache.axis.model.wsdd.Flow#getHandlers()
-     * @see #getFlow()
-     * @generated
-     */
-    public EReference getFlow_Handlers() {
-        return (EReference)flowEClass.getEStructuralFeatures().get(0);
-    }
-
-    /**
      * Returns the meta object for class '{@link org.apache.axis.model.wsdd.Mapping <em>Mapping</em>}'.
      * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
@@ -1418,6 +1492,57 @@ public class WSDDPackageImpl extends EPa
     }
 
     /**
+     * Returns the meta object for class '{@link org.apache.axis.model.wsdd.MappingContainer <em>Mapping Container</em>}'.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @return the meta object for class '<em>Mapping Container</em>'.
+     * @see org.apache.axis.model.wsdd.MappingContainer
+     * @generated
+     */
+    public EClass getMappingContainer() {
+        return mappingContainerEClass;
+    }
+
+    /**
+     * Returns the meta object for the containment reference list '{@link org.apache.axis.model.wsdd.MappingContainer#getTypeMappings <em>Type Mappings</em>}'.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @return the meta object for the containment reference list '<em>Type Mappings</em>'.
+     * @see org.apache.axis.model.wsdd.MappingContainer#getTypeMappings()
+     * @see #getMappingContainer()
+     * @generated
+     */
+    public EReference getMappingContainer_TypeMappings() {
+        return (EReference)mappingContainerEClass.getEStructuralFeatures().get(0);
+    }
+
+    /**
+     * Returns the meta object for the containment reference list '{@link org.apache.axis.model.wsdd.MappingContainer#getBeanMappings <em>Bean Mappings</em>}'.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @return the meta object for the containment reference list '<em>Bean Mappings</em>'.
+     * @see org.apache.axis.model.wsdd.MappingContainer#getBeanMappings()
+     * @see #getMappingContainer()
+     * @generated
+     */
+    public EReference getMappingContainer_BeanMappings() {
+        return (EReference)mappingContainerEClass.getEStructuralFeatures().get(1);
+    }
+
+    /**
+     * Returns the meta object for the containment reference list '{@link org.apache.axis.model.wsdd.MappingContainer#getArrayMappings <em>Array Mappings</em>}'.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @return the meta object for the containment reference list '<em>Array Mappings</em>'.
+     * @see org.apache.axis.model.wsdd.MappingContainer#getArrayMappings()
+     * @see #getMappingContainer()
+     * @generated
+     */
+    public EReference getMappingContainer_ArrayMappings() {
+        return (EReference)mappingContainerEClass.getEStructuralFeatures().get(2);
+    }
+
+    /**
      * Returns the meta object for class '{@link org.apache.axis.model.wsdd.OperationParameter <em>Operation Parameter</em>}'.
      * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
@@ -1803,6 +1928,57 @@ public class WSDDPackageImpl extends EPa
     }
 
     /**
+     * Returns the meta object for class '{@link org.apache.axis.model.wsdd.Chain <em>Chain</em>}'.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @return the meta object for class '<em>Chain</em>'.
+     * @see org.apache.axis.model.wsdd.Chain
+     * @generated
+     */
+    public EClass getChain() {
+        return chainEClass;
+    }
+
+    /**
+     * Returns the meta object for the attribute '{@link org.apache.axis.model.wsdd.Chain#getName <em>Name</em>}'.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @return the meta object for the attribute '<em>Name</em>'.
+     * @see org.apache.axis.model.wsdd.Chain#getName()
+     * @see #getChain()
+     * @generated
+     */
+    public EAttribute getChain_Name() {
+        return (EAttribute)chainEClass.getEStructuralFeatures().get(0);
+    }
+
+    /**
+     * Returns the meta object for the attribute '{@link org.apache.axis.model.wsdd.Chain#getType <em>Type</em>}'.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @return the meta object for the attribute '<em>Type</em>'.
+     * @see org.apache.axis.model.wsdd.Chain#getType()
+     * @see #getChain()
+     * @generated
+     */
+    public EAttribute getChain_Type() {
+        return (EAttribute)chainEClass.getEStructuralFeatures().get(1);
+    }
+
+    /**
+     * Returns the meta object for the containment reference list '{@link org.apache.axis.model.wsdd.Chain#getHandlers <em>Handlers</em>}'.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @return the meta object for the containment reference list '<em>Handlers</em>'.
+     * @see org.apache.axis.model.wsdd.Chain#getHandlers()
+     * @see #getChain()
+     * @generated
+     */
+    public EReference getChain_Handlers() {
+        return (EReference)chainEClass.getEStructuralFeatures().get(2);
+    }
+
+    /**
      * Returns the meta object for class '{@link org.apache.axis.model.wsdd.DeployableItem <em>Deployable Item</em>}'.
      * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
@@ -1981,45 +2157,6 @@ public class WSDDPackageImpl extends EPa
     }
 
     /**
-     * Returns the meta object for the containment reference list '{@link org.apache.axis.model.wsdd.Service#getTypeMappings <em>Type Mappings</em>}'.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @return the meta object for the containment reference list '<em>Type Mappings</em>'.
-     * @see org.apache.axis.model.wsdd.Service#getTypeMappings()
-     * @see #getService()
-     * @generated
-     */
-    public EReference getService_TypeMappings() {
-        return (EReference)serviceEClass.getEStructuralFeatures().get(6);
-    }
-
-    /**
-     * Returns the meta object for the containment reference list '{@link org.apache.axis.model.wsdd.Service#getBeanMappings <em>Bean Mappings</em>}'.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @return the meta object for the containment reference list '<em>Bean Mappings</em>'.
-     * @see org.apache.axis.model.wsdd.Service#getBeanMappings()
-     * @see #getService()
-     * @generated
-     */
-    public EReference getService_BeanMappings() {
-        return (EReference)serviceEClass.getEStructuralFeatures().get(7);
-    }
-
-    /**
-     * Returns the meta object for the containment reference list '{@link org.apache.axis.model.wsdd.Service#getArrayMappings <em>Array Mappings</em>}'.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @return the meta object for the containment reference list '<em>Array Mappings</em>'.
-     * @see org.apache.axis.model.wsdd.Service#getArrayMappings()
-     * @see #getService()
-     * @generated
-     */
-    public EReference getService_ArrayMappings() {
-        return (EReference)serviceEClass.getEStructuralFeatures().get(8);
-    }
-
-    /**
      * Returns the meta object for class '{@link org.apache.axis.model.wsdd.Deployment <em>Deployment</em>}'.
      * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
@@ -2156,6 +2293,11 @@ public class WSDDPackageImpl extends EPa
 
         beanMappingEClass = createEClass(BEAN_MAPPING);
 
+        mappingContainerEClass = createEClass(MAPPING_CONTAINER);
+        createEReference(mappingContainerEClass, MAPPING_CONTAINER__TYPE_MAPPINGS);
+        createEReference(mappingContainerEClass, MAPPING_CONTAINER__BEAN_MAPPINGS);
+        createEReference(mappingContainerEClass, MAPPING_CONTAINER__ARRAY_MAPPINGS);
+
         operationParameterEClass = createEClass(OPERATION_PARAMETER);
         createEAttribute(operationParameterEClass, OPERATION_PARAMETER__NAME);
         createEAttribute(operationParameterEClass, OPERATION_PARAMETER__QNAME);
@@ -2191,8 +2333,10 @@ public class WSDDPackageImpl extends EPa
         createEAttribute(handlerEClass, HANDLER__NAME);
         createEAttribute(handlerEClass, HANDLER__TYPE);
 
-        flowEClass = createEClass(FLOW);
-        createEReference(flowEClass, FLOW__HANDLERS);
+        chainEClass = createEClass(CHAIN);
+        createEAttribute(chainEClass, CHAIN__NAME);
+        createEAttribute(chainEClass, CHAIN__TYPE);
+        createEReference(chainEClass, CHAIN__HANDLERS);
 
         deployableItemEClass = createEClass(DEPLOYABLE_ITEM);
         createEReference(deployableItemEClass, DEPLOYABLE_ITEM__REQUEST_FLOW);
@@ -2211,9 +2355,6 @@ public class WSDDPackageImpl extends EPa
         createEAttribute(serviceEClass, SERVICE__STYLE);
         createEAttribute(serviceEClass, SERVICE__NAMESPACES);
         createEReference(serviceEClass, SERVICE__OPERATIONS);
-        createEReference(serviceEClass, SERVICE__TYPE_MAPPINGS);
-        createEReference(serviceEClass, SERVICE__BEAN_MAPPINGS);
-        createEReference(serviceEClass, SERVICE__ARRAY_MAPPINGS);
 
         deploymentEClass = createEClass(DEPLOYMENT);
         createEAttribute(deploymentEClass, DEPLOYMENT__NAME);
@@ -2262,6 +2403,8 @@ public class WSDDPackageImpl extends EPa
         globalConfigurationEClass.getESuperTypes().add(this.getDeployableItem());
         transportEClass.getESuperTypes().add(this.getDeployableItem());
         serviceEClass.getESuperTypes().add(this.getDeployableItem());
+        serviceEClass.getESuperTypes().add(this.getMappingContainer());
+        deploymentEClass.getESuperTypes().add(this.getMappingContainer());
 
         // Initialize classes and features; add operations and parameters
         initEClass(parameterEClass, Parameter.class, "Parameter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
@@ -2282,6 +2425,11 @@ public class WSDDPackageImpl extends EPa
 
         initEClass(beanMappingEClass, BeanMapping.class, "BeanMapping", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 
+        initEClass(mappingContainerEClass, MappingContainer.class, "MappingContainer", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+        initEReference(getMappingContainer_TypeMappings(), this.getTypeMapping(), null, "typeMappings", null, 0, -1, MappingContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+        initEReference(getMappingContainer_BeanMappings(), this.getBeanMapping(), null, "beanMappings", null, 0, -1, MappingContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+        initEReference(getMappingContainer_ArrayMappings(), this.getArrayMapping(), null, "arrayMappings", null, 0, -1, MappingContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
         initEClass(operationParameterEClass, OperationParameter.class, "OperationParameter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
         initEAttribute(getOperationParameter_Name(), ecorePackage.getEString(), "name", null, 0, 1, OperationParameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
         initEAttribute(getOperationParameter_Qname(), theXmlPackage.getQName(), "qname", null, 0, 1, OperationParameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
@@ -2321,12 +2469,14 @@ public class WSDDPackageImpl extends EPa
         initEAttribute(getHandler_Name(), ecorePackage.getEString(), "name", null, 0, 1, Handler.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
         initEAttribute(getHandler_Type(), theXmlPackage.getQName(), "type", null, 0, 1, Handler.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
-        initEClass(flowEClass, Flow.class, "Flow", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-        initEReference(getFlow_Handlers(), this.getHandler(), null, "handlers", null, 0, -1, Flow.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+        initEClass(chainEClass, Chain.class, "Chain", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+        initEAttribute(getChain_Name(), ecorePackage.getEString(), "name", null, 0, 1, Chain.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+        initEAttribute(getChain_Type(), theXmlPackage.getQName(), "type", null, 0, 1, Chain.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+        initEReference(getChain_Handlers(), this.getHandler(), null, "handlers", null, 0, -1, Chain.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
         initEClass(deployableItemEClass, DeployableItem.class, "DeployableItem", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-        initEReference(getDeployableItem_RequestFlow(), this.getFlow(), null, "requestFlow", null, 0, 1, DeployableItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-        initEReference(getDeployableItem_ResponseFlow(), this.getFlow(), null, "responseFlow", null, 0, 1, DeployableItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+        initEReference(getDeployableItem_RequestFlow(), this.getChain(), null, "requestFlow", null, 0, 1, DeployableItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+        initEReference(getDeployableItem_ResponseFlow(), this.getChain(), null, "responseFlow", null, 0, 1, DeployableItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
         initEClass(globalConfigurationEClass, GlobalConfiguration.class, "GlobalConfiguration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 
@@ -2341,9 +2491,6 @@ public class WSDDPackageImpl extends EPa
         initEAttribute(getService_Style(), theSOAPPackage.getStyle(), "style", null, 0, 1, Service.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
         initEAttribute(getService_Namespaces(), ecorePackage.getEString(), "namespaces", null, 0, -1, Service.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
         initEReference(getService_Operations(), this.getOperation(), null, "operations", null, 0, -1, Service.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-        initEReference(getService_TypeMappings(), this.getTypeMapping(), null, "typeMappings", null, 0, -1, Service.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-        initEReference(getService_BeanMappings(), this.getBeanMapping(), null, "beanMappings", null, 0, -1, Service.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-        initEReference(getService_ArrayMappings(), this.getArrayMapping(), null, "arrayMappings", null, 0, -1, Service.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
         initEClass(deploymentEClass, Deployment.class, "Deployment", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
         initEAttribute(getDeployment_Name(), ecorePackage.getEString(), "name", null, 0, 1, Deployment.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
@@ -2378,91 +2525,91 @@ public class WSDDPackageImpl extends EPa
     protected void createExtendedMetaDataAnnotations() {
         String source = "http:///org/eclipse/emf/ecore/util/ExtendedMetaData";		
         addAnnotation
-          (getOperation_Parameters(), 
+          (getMappingContainer_TypeMappings(), 
            source, 
            new String[] {
              "kind", "element",
-             "name", "parameter",
+             "name", "typeMapping",
              "namespace", "##targetNamespace"
            });		
         addAnnotation
-          (getOperation_Faults(), 
+          (getMappingContainer_BeanMappings(), 
            source, 
            new String[] {
              "kind", "element",
-             "name", "fault",
+             "name", "beanMapping",
              "namespace", "##targetNamespace"
            });		
         addAnnotation
-          (getParameterizable_Parameters(), 
+          (getMappingContainer_ArrayMappings(), 
            source, 
            new String[] {
              "kind", "element",
-             "name", "parameter",
+             "name", "arrayMapping",
              "namespace", "##targetNamespace"
            });		
         addAnnotation
-          (getFlow_Handlers(), 
+          (getOperation_Parameters(), 
            source, 
            new String[] {
-             "name", "handler",
              "kind", "element",
+             "name", "parameter",
              "namespace", "##targetNamespace"
            });		
         addAnnotation
-          (getDeployableItem_RequestFlow(), 
+          (getOperation_Faults(), 
            source, 
            new String[] {
              "kind", "element",
-             "name", "requestFlow",
+             "name", "fault",
              "namespace", "##targetNamespace"
            });		
         addAnnotation
-          (getDeployableItem_ResponseFlow(), 
+          (getParameterizable_Parameters(), 
            source, 
            new String[] {
              "kind", "element",
-             "name", "responseFlow",
+             "name", "parameter",
              "namespace", "##targetNamespace"
            });		
         addAnnotation
-          (getService_Namespaces(), 
+          (getChain_Handlers(), 
            source, 
            new String[] {
+             "name", "handler",
              "kind", "element",
-             "name", "namespace",
              "namespace", "##targetNamespace"
            });		
         addAnnotation
-          (getService_Operations(), 
+          (getDeployableItem_RequestFlow(), 
            source, 
            new String[] {
              "kind", "element",
-             "name", "operation",
+             "name", "requestFlow",
              "namespace", "##targetNamespace"
            });		
         addAnnotation
-          (getService_TypeMappings(), 
+          (getDeployableItem_ResponseFlow(), 
            source, 
            new String[] {
              "kind", "element",
-             "name", "typeMapping",
+             "name", "responseFlow",
              "namespace", "##targetNamespace"
            });		
         addAnnotation
-          (getService_BeanMappings(), 
+          (getService_Namespaces(), 
            source, 
            new String[] {
              "kind", "element",
-             "name", "beanMapping",
+             "name", "namespace",
              "namespace", "##targetNamespace"
            });		
         addAnnotation
-          (getService_ArrayMappings(), 
+          (getService_Operations(), 
            source, 
            new String[] {
              "kind", "element",
-             "name", "arrayMapping",
+             "name", "operation",
              "namespace", "##targetNamespace"
            });		
         addAnnotation
@@ -2546,24 +2693,6 @@ public class WSDDPackageImpl extends EPa
         public static final EAttribute PARAMETER__VALUE = eINSTANCE.getParameter_Value();
 
         /**
-         * The meta object literal for the '{@link org.apache.axis.model.wsdd.impl.FlowImpl <em>Flow</em>}' class.
-         * <!-- begin-user-doc -->
-         * <!-- end-user-doc -->
-         * @see org.apache.axis.model.wsdd.impl.FlowImpl
-         * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getFlow()
-         * @generated
-         */
-        public static final EClass FLOW = eINSTANCE.getFlow();
-
-        /**
-         * The meta object literal for the '<em><b>Handlers</b></em>' containment reference list feature.
-         * <!-- begin-user-doc -->
-         * <!-- end-user-doc -->
-         * @generated
-         */
-        public static final EReference FLOW__HANDLERS = eINSTANCE.getFlow_Handlers();
-
-        /**
          * The meta object literal for the '{@link org.apache.axis.model.wsdd.impl.MappingImpl <em>Mapping</em>}' class.
          * <!-- begin-user-doc -->
          * <!-- end-user-doc -->
@@ -2652,6 +2781,40 @@ public class WSDDPackageImpl extends EPa
         public static final EClass BEAN_MAPPING = eINSTANCE.getBeanMapping();
 
         /**
+         * The meta object literal for the '{@link org.apache.axis.model.wsdd.impl.MappingContainerImpl <em>Mapping Container</em>}' class.
+         * <!-- begin-user-doc -->
+         * <!-- end-user-doc -->
+         * @see org.apache.axis.model.wsdd.impl.MappingContainerImpl
+         * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getMappingContainer()
+         * @generated
+         */
+        public static final EClass MAPPING_CONTAINER = eINSTANCE.getMappingContainer();
+
+        /**
+         * The meta object literal for the '<em><b>Type Mappings</b></em>' containment reference list feature.
+         * <!-- begin-user-doc -->
+         * <!-- end-user-doc -->
+         * @generated
+         */
+        public static final EReference MAPPING_CONTAINER__TYPE_MAPPINGS = eINSTANCE.getMappingContainer_TypeMappings();
+
+        /**
+         * The meta object literal for the '<em><b>Bean Mappings</b></em>' containment reference list feature.
+         * <!-- begin-user-doc -->
+         * <!-- end-user-doc -->
+         * @generated
+         */
+        public static final EReference MAPPING_CONTAINER__BEAN_MAPPINGS = eINSTANCE.getMappingContainer_BeanMappings();
+
+        /**
+         * The meta object literal for the '<em><b>Array Mappings</b></em>' containment reference list feature.
+         * <!-- begin-user-doc -->
+         * <!-- end-user-doc -->
+         * @generated
+         */
+        public static final EReference MAPPING_CONTAINER__ARRAY_MAPPINGS = eINSTANCE.getMappingContainer_ArrayMappings();
+
+        /**
          * The meta object literal for the '{@link org.apache.axis.model.wsdd.impl.OperationParameterImpl <em>Operation Parameter</em>}' class.
          * <!-- begin-user-doc -->
          * <!-- end-user-doc -->
@@ -2902,6 +3065,40 @@ public class WSDDPackageImpl extends EPa
         public static final EAttribute HANDLER__TYPE = eINSTANCE.getHandler_Type();
 
         /**
+         * The meta object literal for the '{@link org.apache.axis.model.wsdd.impl.ChainImpl <em>Chain</em>}' class.
+         * <!-- begin-user-doc -->
+         * <!-- end-user-doc -->
+         * @see org.apache.axis.model.wsdd.impl.ChainImpl
+         * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getChain()
+         * @generated
+         */
+        public static final EClass CHAIN = eINSTANCE.getChain();
+
+        /**
+         * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+         * <!-- begin-user-doc -->
+         * <!-- end-user-doc -->
+         * @generated
+         */
+        public static final EAttribute CHAIN__NAME = eINSTANCE.getChain_Name();
+
+        /**
+         * The meta object literal for the '<em><b>Type</b></em>' attribute feature.
+         * <!-- begin-user-doc -->
+         * <!-- end-user-doc -->
+         * @generated
+         */
+        public static final EAttribute CHAIN__TYPE = eINSTANCE.getChain_Type();
+
+        /**
+         * The meta object literal for the '<em><b>Handlers</b></em>' containment reference list feature.
+         * <!-- begin-user-doc -->
+         * <!-- end-user-doc -->
+         * @generated
+         */
+        public static final EReference CHAIN__HANDLERS = eINSTANCE.getChain_Handlers();
+
+        /**
          * The meta object literal for the '{@link org.apache.axis.model.wsdd.impl.DeployableItemImpl <em>Deployable Item</em>}' class.
          * <!-- begin-user-doc -->
          * <!-- end-user-doc -->
@@ -3022,30 +3219,6 @@ public class WSDDPackageImpl extends EPa
         public static final EReference SERVICE__OPERATIONS = eINSTANCE.getService_Operations();
 
         /**
-         * The meta object literal for the '<em><b>Type Mappings</b></em>' containment reference list feature.
-         * <!-- begin-user-doc -->
-         * <!-- end-user-doc -->
-         * @generated
-         */
-        public static final EReference SERVICE__TYPE_MAPPINGS = eINSTANCE.getService_TypeMappings();
-
-        /**
-         * The meta object literal for the '<em><b>Bean Mappings</b></em>' containment reference list feature.
-         * <!-- begin-user-doc -->
-         * <!-- end-user-doc -->
-         * @generated
-         */
-        public static final EReference SERVICE__BEAN_MAPPINGS = eINSTANCE.getService_BeanMappings();
-
-        /**
-         * The meta object literal for the '<em><b>Array Mappings</b></em>' containment reference list feature.
-         * <!-- begin-user-doc -->
-         * <!-- end-user-doc -->
-         * @generated
-         */
-        public static final EReference SERVICE__ARRAY_MAPPINGS = eINSTANCE.getService_ArrayMappings();
-
-        /**
          * The meta object literal for the '{@link org.apache.axis.model.wsdd.impl.DeploymentImpl <em>Deployment</em>}' class.
          * <!-- begin-user-doc -->
          * <!-- end-user-doc -->

Propchange: axis/axis1/java/branches/AXIS-2882/axis-rt-core/src/main/java/
------------------------------------------------------------------------------
  Merged /axis/axis1/java/trunk/axis-rt-core/src/main/java:r1410918-1419360

Modified: axis/axis1/java/branches/AXIS-2882/axis-rt-transport-http-javanet/pom.xml
URL: http://svn.apache.org/viewvc/axis/axis1/java/branches/AXIS-2882/axis-rt-transport-http-javanet/pom.xml?rev=1419363&r1=1419362&r2=1419363&view=diff
==============================================================================
--- axis/axis1/java/branches/AXIS-2882/axis-rt-transport-http-javanet/pom.xml (original)
+++ axis/axis1/java/branches/AXIS-2882/axis-rt-transport-http-javanet/pom.xml Mon Dec 10 12:01:10 2012
@@ -53,12 +53,6 @@
         </dependency>
         <dependency>
             <groupId>${project.groupId}</groupId>
-            <artifactId>axis-standalone-server</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
             <artifactId>interop-mock</artifactId>
             <version>${project.version}</version>
             <type>war</type>

Modified: axis/axis1/java/branches/AXIS-2882/axis-standalone-server/src/main/java/org/apache/axis/server/standalone/StandaloneAxisServer.java
URL: http://svn.apache.org/viewvc/axis/axis1/java/branches/AXIS-2882/axis-standalone-server/src/main/java/org/apache/axis/server/standalone/StandaloneAxisServer.java?rev=1419363&r1=1419362&r2=1419363&view=diff
==============================================================================
--- axis/axis1/java/branches/AXIS-2882/axis-standalone-server/src/main/java/org/apache/axis/server/standalone/StandaloneAxisServer.java (original)
+++ axis/axis1/java/branches/AXIS-2882/axis-standalone-server/src/main/java/org/apache/axis/server/standalone/StandaloneAxisServer.java Mon Dec 10 12:01:10 2012
@@ -115,7 +115,6 @@ public class StandaloneAxisServer {
             for (int i=0; i<jwsDirs.length; i++) {
                 resources.add(Resource.newResource(jwsDirs[i]));
             }
-            servlet.enableJWS();
             enableJWS = true;
         } else {
             enableJWS = false;

Modified: axis/axis1/java/branches/AXIS-2882/axis-standalone-server/src/main/java/org/apache/axis/server/standalone/StandaloneAxisServlet.java
URL: http://svn.apache.org/viewvc/axis/axis1/java/branches/AXIS-2882/axis-standalone-server/src/main/java/org/apache/axis/server/standalone/StandaloneAxisServlet.java?rev=1419363&r1=1419362&r2=1419363&view=diff
==============================================================================
--- axis/axis1/java/branches/AXIS-2882/axis-standalone-server/src/main/java/org/apache/axis/server/standalone/StandaloneAxisServlet.java (original)
+++ axis/axis1/java/branches/AXIS-2882/axis-standalone-server/src/main/java/org/apache/axis/server/standalone/StandaloneAxisServlet.java Mon Dec 10 12:01:10 2012
@@ -45,10 +45,6 @@ public class StandaloneAxisServlet exten
         wsddUrls.add(StandaloneAxisServlet.class.getResource("quit-handler-deploy.wsdd"));
     }
     
-    public void enableJWS() {
-        wsddUrls.add(StandaloneAxisServlet.class.getResource("jws-handler.wsdd"));
-    }
-    
     public void init() throws ServletException {
         super.init();
         try {

Propchange: axis/axis1/java/branches/AXIS-2882/daemon-launcher/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Mon Dec 10 12:01:10 2012
@@ -0,0 +1,4 @@
+.classpath
+.project
+target
+.settings

Modified: axis/axis1/java/branches/AXIS-2882/distribution/src/main/assembly/bin.xml
URL: http://svn.apache.org/viewvc/axis/axis1/java/branches/AXIS-2882/distribution/src/main/assembly/bin.xml?rev=1419363&r1=1419362&r2=1419363&view=diff
==============================================================================
--- axis/axis1/java/branches/AXIS-2882/distribution/src/main/assembly/bin.xml (original)
+++ axis/axis1/java/branches/AXIS-2882/distribution/src/main/assembly/bin.xml Mon Dec 10 12:01:10 2012
@@ -113,6 +113,18 @@
             <outputDirectory>samples/jaxrpc</outputDirectory>
         </fileSet>
         <fileSet>
+            <directory>../samples/jms-sample/src/main/java</directory>
+            <outputDirectory>/</outputDirectory>
+        </fileSet>
+        <fileSet>
+            <directory>../samples/jms-sample/src/main/wsdl</directory>
+            <outputDirectory>samples/jms/stub</outputDirectory>
+        </fileSet>
+        <fileSet>
+            <directory>../samples/jms-sample/src/main/wsdd</directory>
+            <outputDirectory>samples/jms</outputDirectory>
+        </fileSet>
+        <fileSet>
             <directory>../samples/message-sample/src/main/java</directory>
             <outputDirectory>/</outputDirectory>
         </fileSet>

Modified: axis/axis1/java/branches/AXIS-2882/integration/pom.xml
URL: http://svn.apache.org/viewvc/axis/axis1/java/branches/AXIS-2882/integration/pom.xml?rev=1419363&r1=1419362&r2=1419363&view=diff
==============================================================================
--- axis/axis1/java/branches/AXIS-2882/integration/pom.xml (original)
+++ axis/axis1/java/branches/AXIS-2882/integration/pom.xml Mon Dec 10 12:01:10 2012
@@ -35,22 +35,11 @@
         </dependency>
         <dependency>
             <groupId>${project.groupId}</groupId>
-            <artifactId>axis-rt-jws</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
             <artifactId>axis-codegen</artifactId>
             <version>${project.version}</version>
         </dependency>
         <dependency>
             <groupId>${project.groupId}</groupId>
-            <artifactId>axis-standalone-server</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
             <artifactId>axis-testutils</artifactId>
             <version>${project.version}</version>
             <scope>test</scope>

Modified: axis/axis1/java/branches/AXIS-2882/maven/maven-axis-server-plugin/pom.xml
URL: http://svn.apache.org/viewvc/axis/axis1/java/branches/AXIS-2882/maven/maven-axis-server-plugin/pom.xml?rev=1419363&r1=1419362&r2=1419363&view=diff
==============================================================================
--- axis/axis1/java/branches/AXIS-2882/maven/maven-axis-server-plugin/pom.xml (original)
+++ axis/axis1/java/branches/AXIS-2882/maven/maven-axis-server-plugin/pom.xml Mon Dec 10 12:01:10 2012
@@ -44,6 +44,11 @@
             <artifactId>axis-rt-core</artifactId>
         </dependency>
         <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>axis-model</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
             <groupId>org.apache.maven</groupId>
             <artifactId>maven-plugin-api</artifactId>
         </dependency>
@@ -60,6 +65,23 @@
             <artifactId>maven-toolchain</artifactId>
             <version>1.0</version>
         </dependency>
+        
+        <!-- These dependencies are here merely to ensure that in the Axis build they are built
+             before this project. This is necessary because these artifacts may be loaded by
+             the plug-in at runtime and we need to make sure that they are available and that
+             we get the latest version. -->
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>daemon-launcher</artifactId>
+            <version>${project.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>axis-standalone-server</artifactId>
+            <version>${project.version}</version>
+            <scope>test</scope>
+        </dependency>
     </dependencies>
     <reporting>
         <plugins>

Modified: axis/axis1/java/branches/AXIS-2882/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/AbstractStartProcessMojo.java
URL: http://svn.apache.org/viewvc/axis/axis1/java/branches/AXIS-2882/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/AbstractStartProcessMojo.java?rev=1419363&r1=1419362&r2=1419363&view=diff
==============================================================================
--- axis/axis1/java/branches/AXIS-2882/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/AbstractStartProcessMojo.java (original)
+++ axis/axis1/java/branches/AXIS-2882/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/AbstractStartProcessMojo.java Mon Dec 10 12:01:10 2012
@@ -21,19 +21,37 @@ package org.apache.axis.tools.maven.serv
 import java.io.File;
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Iterator;
 import java.util.List;
+import java.util.Set;
 
-import org.apache.maven.artifact.DependencyResolutionRequiredException;
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.factory.ArtifactFactory;
+import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.resolver.ArtifactCollector;
+import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
+import org.apache.maven.artifact.resolver.ArtifactResolutionException;
+import org.apache.maven.artifact.resolver.ArtifactResolver;
+import org.apache.maven.artifact.resolver.DebugResolutionListener;
+import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
 import org.apache.maven.execution.MavenSession;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
 import org.apache.maven.plugin.logging.Log;
 import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.MavenProjectBuilder;
+import org.apache.maven.project.ProjectBuildingException;
+import org.apache.maven.project.artifact.InvalidDependencyVersionException;
 import org.apache.maven.toolchain.Toolchain;
 import org.apache.maven.toolchain.ToolchainManager;
+import org.codehaus.plexus.logging.LogEnabled;
+import org.codehaus.plexus.logging.Logger;
 import org.codehaus.plexus.util.StringUtils;
 
-public abstract class AbstractStartProcessMojo extends AbstractServerMojo {
+public abstract class AbstractStartProcessMojo extends AbstractServerMojo implements LogEnabled {
     /**
      * The maven project.
      *
@@ -55,6 +73,49 @@ public abstract class AbstractStartProce
     /**
      * @component
      */
+    private MavenProjectBuilder projectBuilder;
+    
+    /**
+     * Local maven repository.
+     * 
+     * @parameter expression="${localRepository}"
+     * @required
+     * @readonly
+     */
+    private ArtifactRepository localRepository;
+    
+    /**
+     * Remote repositories.
+     * 
+     * @parameter expression="${project.remoteArtifactRepositories}"
+     * @required
+     * @readonly
+     */
+    private List remoteArtifactRepositories;
+    
+    /**
+     * @component
+     */
+    private ArtifactFactory artifactFactory;
+    
+    /**
+     * @component
+     */
+    private ArtifactResolver artifactResolver;
+    
+    /**
+     * @component
+     */
+    private ArtifactCollector artifactCollector;
+    
+    /**
+     * @component
+     */
+    private ArtifactMetadataSource artifactMetadataSource;
+    
+    /**
+     * @component
+     */
     private ToolchainManager toolchainManager;
     
     /**
@@ -98,11 +159,92 @@ public abstract class AbstractStartProce
      */
     private String argLine;
     
+    /**
+     * @parameter default-value="${plugin.version}"
+     * @required
+     * @readonly
+     */
+    private String axisVersion;
+    
+    private final Set/*<Artifact>*/ additionalDependencies = new HashSet();
+    private List/*<File>*/ classpath;
+    
+    private Logger logger;
+    
+    public void enableLogging(Logger logger) {
+        this.logger = logger;
+    }
+    
     protected boolean isDebug() {
         return debug;
     }
 
-    protected void startJavaProcess(String description, String mainClass, String[] args, File workDir, ProcessStartAction startAction, ProcessStopAction stopAction) throws MojoExecutionException, MojoFailureException {
+    protected final void addDependency(String groupId, String artifactId, String version) {
+        additionalDependencies.add(artifactFactory.createArtifact(groupId, artifactId, version, Artifact.SCOPE_TEST, "jar"));
+        classpath = null;
+    }
+    
+    protected final void addAxisDependency(String artifactId) {
+        addDependency("org.apache.axis", artifactId, axisVersion);
+    }
+    
+    protected final List/*<File>*/ getClasspath() throws ProjectBuildingException, InvalidDependencyVersionException, ArtifactResolutionException, ArtifactNotFoundException {
+        if (classpath == null) {
+            final Log log = getLog();
+            
+            // We need dependencies in scope test. Since this is the largest scope, we don't need
+            // to do any additional filtering based on dependency scope.
+            Set projectDependencies = project.getArtifacts();
+            
+            final Set artifacts = new HashSet(projectDependencies);
+            
+            if (additionalDependencies != null) {
+                for (Iterator it = additionalDependencies.iterator(); it.hasNext(); ) {
+                    Artifact a = (Artifact)it.next();
+                    if (log.isDebugEnabled()) {
+                        log.debug("Resolving artifact to be added to classpath: " + a);
+                    }
+                    ArtifactFilter filter = new ArtifactFilter() {
+                        public boolean include(Artifact artifact) {
+                            String id = artifact.getDependencyConflictId();
+                            for (Iterator it = artifacts.iterator(); it.hasNext(); ) {
+                                if (id.equals(((Artifact)it.next()).getDependencyConflictId())) {
+                                    return false;
+                                }
+                            }
+                            return true;
+                        }
+                    };
+                    MavenProject p = projectBuilder.buildFromRepository(a, remoteArtifactRepositories, localRepository);
+                    if (filter.include(p.getArtifact())) {
+                        Set s = p.createArtifacts(artifactFactory, Artifact.SCOPE_RUNTIME, filter);
+                        artifacts.addAll(artifactCollector.collect(s,
+                                p.getArtifact(), p.getManagedVersionMap(),
+                                localRepository, remoteArtifactRepositories, artifactMetadataSource, filter,
+                                Collections.singletonList(new DebugResolutionListener(logger))).getArtifacts());
+                        artifacts.add(p.getArtifact());
+                    }
+                }
+            }
+            
+            classpath = new ArrayList();
+            classpath.add(new File(project.getBuild().getTestOutputDirectory()));
+            classpath.add(new File(project.getBuild().getOutputDirectory()));
+            for (Iterator it = artifacts.iterator(); it.hasNext(); ) {
+                Artifact a = (Artifact)it.next();
+                if (a.getArtifactHandler().isAddedToClasspath()) {
+                    if (a.getFile() == null) {
+                        artifactResolver.resolve(a, remoteArtifactRepositories, localRepository);
+                    }
+                    classpath.add(a.getFile());
+                }
+            }
+        }
+        
+        return classpath;
+    }
+    
+    protected final void startJavaProcess(String description, String mainClass, String[] args, File workDir, ProcessControl processControl) throws MojoExecutionException, MojoFailureException {
         Log log = getLog();
         
         // Locate java executable to use
@@ -120,9 +262,9 @@ public abstract class AbstractStartProce
         // Get class path
         List classpath;
         try {
-            classpath = project.getTestClasspathElements();
-        } catch (DependencyResolutionRequiredException ex) {
-            throw new MojoExecutionException("Unexpected exception", ex);
+            classpath = getClasspath();
+        } catch (Exception ex) {
+            throw new MojoExecutionException("Failed to build classpath", ex);
         }
         if (log.isDebugEnabled()) {
             log.debug("Class path elements: " + classpath);
@@ -155,8 +297,7 @@ public abstract class AbstractStartProce
                     description,
                     (String[])cmdline.toArray(new String[cmdline.size()]),
                     workDir,
-                    startAction,
-                    stopAction);
+                    processControl);
         } catch (Exception ex) {
             throw new MojoFailureException("Failed to start server", ex);
         }

Modified: axis/axis1/java/branches/AXIS-2882/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/DefaultProcessManager.java
URL: http://svn.apache.org/viewvc/axis/axis1/java/branches/AXIS-2882/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/DefaultProcessManager.java?rev=1419363&r1=1419362&r2=1419363&view=diff
==============================================================================
--- axis/axis1/java/branches/AXIS-2882/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/DefaultProcessManager.java (original)
+++ axis/axis1/java/branches/AXIS-2882/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/DefaultProcessManager.java Mon Dec 10 12:01:10 2012
@@ -36,15 +36,15 @@ public class DefaultProcessManager imple
         this.logger = logger;
     }
 
-    public void startProcess(String description, String[] cmdline, File workDir, ProcessStartAction startAction, ProcessStopAction stopAction) throws Exception {
+    public void startProcess(String description, String[] cmdline, File workDir, ProcessControl processControl) throws Exception {
         if (logger.isDebugEnabled()) {
             logger.debug("Starting process with command line: " + Arrays.asList(cmdline));
         }
         Process process = Runtime.getRuntime().exec(cmdline, null, workDir);
-        managedProcesses.add(new ManagedProcess(process, description, stopAction));
+        managedProcesses.add(new ManagedProcess(process, description, processControl));
         new Thread(new StreamPump(process.getInputStream(), System.out)).start();
         new Thread(new StreamPump(process.getErrorStream(), System.err)).start();
-        startAction.execute(logger, process);
+        processControl.initializeProcess(logger, process);
     }
     
     public void stopAll() throws Exception {
@@ -54,7 +54,7 @@ public class DefaultProcessManager imple
             int result;
             logger.debug("Executing stop action");
             try {
-                result = managedProcess.getStopAction().execute(logger);
+                result = managedProcess.getProcessControl().shutdownProcess(logger);
             } catch (Exception ex) {
                 if (savedException == null) {
                     savedException = ex;
@@ -64,7 +64,7 @@ public class DefaultProcessManager imple
             if (logger.isDebugEnabled()) {
                 logger.debug("result = " + result);
             }
-            if (result == ProcessStopAction.STOPPING) {
+            if (result == ProcessControl.STOPPING) {
                 managedProcess.getProcess().waitFor();
             } else {
                 managedProcess.getProcess().destroy();

Modified: axis/axis1/java/branches/AXIS-2882/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/ManagedProcess.java
URL: http://svn.apache.org/viewvc/axis/axis1/java/branches/AXIS-2882/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/ManagedProcess.java?rev=1419363&r1=1419362&r2=1419363&view=diff
==============================================================================
--- axis/axis1/java/branches/AXIS-2882/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/ManagedProcess.java (original)
+++ axis/axis1/java/branches/AXIS-2882/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/ManagedProcess.java Mon Dec 10 12:01:10 2012
@@ -21,12 +21,12 @@ package org.apache.axis.tools.maven.serv
 public class ManagedProcess {
     private final Process process;
     private final String description;
-    private final ProcessStopAction stopAction;
+    private final ProcessControl processControl;
 
-    public ManagedProcess(Process process, String description, ProcessStopAction stopAction) {
+    public ManagedProcess(Process process, String description, ProcessControl processControl) {
         this.process = process;
         this.description = description;
-        this.stopAction = stopAction;
+        this.processControl = processControl;
     }
 
     public Process getProcess() {
@@ -37,7 +37,7 @@ public class ManagedProcess {
         return description;
     }
 
-    public ProcessStopAction getStopAction() {
-        return stopAction;
+    public ProcessControl getProcessControl() {
+        return processControl;
     }
 }

Modified: axis/axis1/java/branches/AXIS-2882/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/ProcessManager.java
URL: http://svn.apache.org/viewvc/axis/axis1/java/branches/AXIS-2882/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/ProcessManager.java?rev=1419363&r1=1419362&r2=1419363&view=diff
==============================================================================
--- axis/axis1/java/branches/AXIS-2882/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/ProcessManager.java (original)
+++ axis/axis1/java/branches/AXIS-2882/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/ProcessManager.java Mon Dec 10 12:01:10 2012
@@ -21,6 +21,6 @@ package org.apache.axis.tools.maven.serv
 import java.io.File;
 
 public interface ProcessManager {
-    void startProcess(String description, String[] cmdline, File workDir, ProcessStartAction startAction, ProcessStopAction stopAction) throws Exception;
+    void startProcess(String description, String[] cmdline, File workDir, ProcessControl processControl) throws Exception;
     void stopAll() throws Exception;
 }

Modified: axis/axis1/java/branches/AXIS-2882/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StartServerMojo.java
URL: http://svn.apache.org/viewvc/axis/axis1/java/branches/AXIS-2882/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StartServerMojo.java?rev=1419363&r1=1419362&r2=1419363&view=diff
==============================================================================
--- axis/axis1/java/branches/AXIS-2882/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StartServerMojo.java (original)
+++ axis/axis1/java/branches/AXIS-2882/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StartServerMojo.java Mon Dec 10 12:01:10 2012
@@ -19,24 +19,24 @@
 package org.apache.axis.tools.maven.server;
 
 import java.io.File;
+import java.io.FileOutputStream;
 import java.io.IOException;
+import java.net.MalformedURLException;
 import java.net.URL;
+import java.net.URLClassLoader;
 import java.util.ArrayList;
 import java.util.List;
 
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
 import org.apache.axis.client.AdminClient;
-import org.apache.axis.deployment.wsdd.WSDDConstants;
+import org.apache.axis.model.wsdd.Deployment;
+import org.apache.axis.model.wsdd.WSDDUtil;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
 import org.apache.maven.plugin.logging.Log;
 import org.codehaus.plexus.util.DirectoryScanner;
 import org.codehaus.plexus.util.FileUtils;
 import org.codehaus.plexus.util.StringUtils;
-import org.w3c.dom.Element;
+import org.xml.sax.InputSource;
 
 /**
  * Start a {@link org.apache.axis.server.standalone.StandaloneAxisServer} instance in a separate
@@ -70,9 +70,7 @@ public class StartServerMojo extends Abs
     private int maxSessions;
     
     /**
-     * A set of WSDD files for services to deploy. The WSDD files may be deployment or undeployment
-     * requests. Undeployment requests will be processed when the server is stopped. The primary use
-     * case for this is to test undeployment.
+     * A set of WSDD files for services to deploy.
      * 
      * @parameter
      */
@@ -119,21 +117,37 @@ public class StartServerMojo extends Abs
     protected void doExecute() throws MojoExecutionException, MojoFailureException {
         Log log = getLog();
         
+        // Need to setup additional dependencies before building the default configuration!
+        addAxisDependency("axis-standalone-server");
+        if (jwsDirs != null && jwsDirs.length > 0) {
+            addAxisDependency("axis-rt-jws");
+        }
+        
         // Determine the port to be used
         int actualPort = foreground && foregroundPort != -1 ? foregroundPort : port;
         
-        // Select WSDD files
-        List deployments = new ArrayList();
-        List undeployments = new ArrayList();
-        if (wsdds != null && wsdds.length > 0) {
-            DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
-            dbf.setNamespaceAware(true);
-            DocumentBuilder documentBuilder;
+        // Prepare a work directory where we can place the server-config.wsdd file
+        File workDir = new File(workDirBase, String.valueOf(actualPort));
+        if (workDir.exists()) {
             try {
-                documentBuilder = dbf.newDocumentBuilder();
-            } catch (ParserConfigurationException ex) {
-                throw new MojoFailureException("Unable to initialize DOM parser", ex);
+                FileUtils.deleteDirectory(workDir);
+            } catch (IOException ex) {
+                throw new MojoFailureException("Failed to clean the work directory", ex);
             }
+        }
+        File webInfDir = new File(workDir, "WEB-INF");
+        webInfDir.mkdirs();
+        
+        // Start with the default configuration (which depends on the JARs in the classpath)
+        Deployment deployment;
+        try {
+            deployment = WSDDUtil.buildDefaultConfiguration(buildClassLoader(), "server");
+        } catch (IOException ex) {
+            throw new MojoExecutionException("Failed to build default server configuration", ex);
+        }
+        
+        // Select WSDD files
+        if (wsdds != null) {
             for (int i=0; i<wsdds.length; i++) {
                 FileSet wsdd = wsdds[i];
                 DirectoryScanner scanner = wsdd.createScanner();
@@ -141,47 +155,30 @@ public class StartServerMojo extends Abs
                 String[] includedFiles = scanner.getIncludedFiles();
                 for (int j=0; j<includedFiles.length; j++) {
                     File wsddFile = new File(wsdd.getDirectory(), includedFiles[j]);
-                    Element wsddElement;
                     try {
-                        wsddElement = documentBuilder.parse(wsddFile).getDocumentElement();
-                    } catch (Exception ex) {
-                        log.warn("Skipping " + wsddFile + ": not an XML file", ex);
-                        continue;
-                    }
-                    if (WSDDConstants.URI_WSDD.equals(wsddElement.getNamespaceURI())) {
-                        String type = wsddElement.getLocalName();
-                        if (type.equals(WSDDConstants.ELEM_WSDD_DEPLOY)) {
-                            deployments.add(wsddFile);
-                        } else if (type.equals(WSDDConstants.ELEM_WSDD_UNDEPLOY)) {
-                            undeployments.add(wsddFile);
-                        } else {
-                            log.warn("Skipping " + wsddFile + ": unexpected WSDD type");
-                        }
-                    } else {
-                        log.warn("Skipping " + wsddFile + ": not a WSDD file");
+                        deployment.merge(WSDDUtil.load(new InputSource(wsddFile.toURI().toString())));
+                    } catch (IOException ex) {
+                        throw new MojoExecutionException("Failed to load " + wsddFile, ex);
                     }
+                    getLog().info("Processed " + wsddFile);
                 }
             }
-            if (log.isDebugEnabled()) {
-                log.debug("Deployments: " + deployments);
-                log.debug("Undeployments: " + undeployments);
-            }
         }
         
-        // Prepare a work directory where the server can create a server-config.wsdd file
-        File workDir = new File(workDirBase, String.valueOf(actualPort));
-        if (workDir.exists()) {
+        // Write the server-config.wsdd file
+        File serverConfigWsdd = new File(webInfDir, "server-config.wsdd");
+        try {
+            FileOutputStream out = new FileOutputStream(serverConfigWsdd);
             try {
-                FileUtils.deleteDirectory(workDir);
-            } catch (IOException ex) {
-                throw new MojoFailureException("Failed to clean the work directory", ex);
+                WSDDUtil.save(deployment, out);
+            } finally {
+                out.close();
             }
+        } catch (IOException ex) {
+            throw new MojoExecutionException("Failed to write " + serverConfigWsdd, ex);
         }
-        workDir.mkdirs();
         
         if (configs != null && configs.length > 0) {
-            File webInfDir = new File(workDir, "WEB-INF");
-            webInfDir.mkdirs();
             for (int i=0; i<configs.length; i++) {
                 FileSet config = configs[i];
                 DirectoryScanner scanner = config.createScanner();
@@ -219,11 +216,8 @@ public class StartServerMojo extends Abs
                     "org.apache.axis.server.standalone.StandaloneAxisServer",
                     (String[])args.toArray(new String[args.size()]),
                     workDir,
-                    new AxisServerStartAction(actualPort, adminClient,
-                            (File[])deployments.toArray(new File[deployments.size()]),
-                            isDebug() || foreground ? Integer.MAX_VALUE : 20000),
-                    new AxisServerStopAction(adminClient,
-                            (File[])undeployments.toArray(new File[undeployments.size()])));
+                    new AxisServerProcessControl(actualPort, adminClient,
+                            isDebug() || foreground ? Integer.MAX_VALUE : 20000));
         } catch (Exception ex) {
             throw new MojoFailureException("Failed to start server", ex);
         }
@@ -241,4 +235,22 @@ public class StartServerMojo extends Abs
             }
         }
     }
+    
+    private ClassLoader buildClassLoader() throws MojoExecutionException {
+        List classpath;
+        try {
+            classpath = getClasspath();
+        } catch (Exception ex) {
+            throw new MojoExecutionException("Failed to build classpath", ex);
+        }
+        URL[] urls = new URL[classpath.size()];
+        for (int i=0; i<classpath.size(); i++) {
+            try {
+                urls[i] = ((File)classpath.get(i)).toURI().toURL();
+            } catch (MalformedURLException ex) {
+                throw new MojoExecutionException("Unexpected exception", ex);
+            }
+        }
+        return new URLClassLoader(urls);
+    }
 }

Modified: axis/axis1/java/branches/AXIS-2882/maven/maven-wsdd-plugin/src/main/java/org/apache/axis/tools/maven/wsdd/GenerateWSDDMojo.java
URL: http://svn.apache.org/viewvc/axis/axis1/java/branches/AXIS-2882/maven/maven-wsdd-plugin/src/main/java/org/apache/axis/tools/maven/wsdd/GenerateWSDDMojo.java?rev=1419363&r1=1419362&r2=1419363&view=diff
==============================================================================
--- axis/axis1/java/branches/AXIS-2882/maven/maven-wsdd-plugin/src/main/java/org/apache/axis/tools/maven/wsdd/GenerateWSDDMojo.java (original)
+++ axis/axis1/java/branches/AXIS-2882/maven/maven-wsdd-plugin/src/main/java/org/apache/axis/tools/maven/wsdd/GenerateWSDDMojo.java Mon Dec 10 12:01:10 2012
@@ -106,47 +106,11 @@ public class GenerateWSDDMojo extends Ab
         
         Deployment deployment;
         
-        // Note: To locate the different parts of the default configuration, we use the same
-        //       algorithm as in DefaultConfiguration.
-        
-        // Load the base configuration
-        String resourceName = "org/apache/axis/" + type + "/" + type + "-config.wsdd";
-        InputStream in = cl.getResourceAsStream(resourceName);
-        if (in == null) {
-            throw new MojoFailureException("Resource " + resourceName + " not found");
-        }
-        getLog().info("Loading resource " + resourceName);
-        try {
-            try {
-                deployment = WSDDUtil.load(new InputSource(in));
-            } finally {
-                in.close();
-            }
-        } catch (IOException ex) {
-            throw new MojoFailureException("Failed to process resource " + resourceName, ex);
-        }
-        
-        // Discover and load additional default configuration fragments
-        resourceName = "META-INF/axis/default-" + type + "-config.wsdd";
-        Enumeration resources;
+        getLog().info("Loading default configuration");
         try {
-            resources = cl.getResources(resourceName);
+            deployment = WSDDUtil.buildDefaultConfiguration(cl, type);
         } catch (IOException ex) {
-            throw new MojoFailureException("Failed to discover resources with name " + resourceName, ex);
-        }
-        while (resources.hasMoreElements()) {
-            URL url = (URL)resources.nextElement();
-            getLog().info("Loading " + url);
-            try {
-                in = url.openStream();
-                try {
-                    deployment.merge(WSDDUtil.load(new InputSource(in)));
-                } finally {
-                    in.close();
-                }
-            } catch (Exception ex) {
-                throw new MojoFailureException("Failed to process " + url, ex);
-            }
+            throw new MojoFailureException("Unable to build default configuration", ex);
         }
         
         if (files != null) {

Modified: axis/axis1/java/branches/AXIS-2882/maven/maven-wsdl2java-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/AbstractWsdl2JavaMojo.java
URL: http://svn.apache.org/viewvc/axis/axis1/java/branches/AXIS-2882/maven/maven-wsdl2java-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/AbstractWsdl2JavaMojo.java?rev=1419363&r1=1419362&r2=1419363&view=diff
==============================================================================
--- axis/axis1/java/branches/AXIS-2882/maven/maven-wsdl2java-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/AbstractWsdl2JavaMojo.java (original)
+++ axis/axis1/java/branches/AXIS-2882/maven/maven-wsdl2java-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/AbstractWsdl2JavaMojo.java Mon Dec 10 12:01:10 2012
@@ -180,6 +180,13 @@ public abstract class AbstractWsdl2JavaM
     private boolean helperGen;
     
     /**
+     * 
+     * 
+     * @parameter default-value="false"
+     */
+    private boolean allowInvalidURL;
+    
+    /**
      * The location of the deployment WSDD file to be generated. This parameter is ignored if
      * {@link #generate} is set to <code>client</code>. If this parameter is not specified, then no
      * deployment WSDD will be generated.
@@ -269,7 +276,7 @@ public abstract class AbstractWsdl2JavaM
 //        emitter.setQuiet(quiet);
         emitter.setTypeMappingVersion(typeMappingVersion);
         emitter.setNowrap(noWrapped);
-//        emitter.setAllowInvalidURL(allowInvalidURL);
+        emitter.setAllowInvalidURL(allowInvalidURL);
         emitter.setWrapArrays(wrapArrays);
 //        if (namespaceMappingFile != null) {
 //            emitter.setNStoPkg(namespaceMappingFile.toString());

Modified: axis/axis1/java/branches/AXIS-2882/pom.xml
URL: http://svn.apache.org/viewvc/axis/axis1/java/branches/AXIS-2882/pom.xml?rev=1419363&r1=1419362&r2=1419363&view=diff
==============================================================================
--- axis/axis1/java/branches/AXIS-2882/pom.xml (original)
+++ axis/axis1/java/branches/AXIS-2882/pom.xml Mon Dec 10 12:01:10 2012
@@ -79,6 +79,7 @@
         <module>axis-testutils</module>
         <module>axis-tools</module>
         <module>axis-war</module>
+        <module>daemon-launcher</module>
         <module>distribution</module>
         <module>integration</module>
         <module>interop-mock</module>
@@ -131,6 +132,11 @@
                 <artifactId>commons-lang</artifactId>
                 <version>2.6</version>
             </dependency>
+            <dependency>
+                <groupId>commons-daemon</groupId>
+                <artifactId>commons-daemon</artifactId>
+                <version>1.0.10</version>
+            </dependency>
         </dependencies>
     </dependencyManagement>
     <prerequisites>
@@ -227,6 +233,10 @@
                     <artifactId>maven-shade-plugin</artifactId>
                     <version>2.0</version>
                 </plugin>
+                <plugin>
+                    <artifactId>maven-eclipse-plugin</artifactId>
+                    <version>2.9</version>
+                </plugin>
             </plugins>
         </pluginManagement>
         <plugins>
@@ -306,6 +316,38 @@
             </plugin>
         </plugins>
     </build>
+    <profiles>
+        <profile>
+            <!-- Profile to generate Eclipse project metadata -->
+            <id>eclipse</id>
+            <properties>
+                <skipTests>true</skipTests>
+            </properties>
+            <build>
+                <defaultGoal>install</defaultGoal>
+                <plugins>
+                    <plugin>
+                        <artifactId>maven-eclipse-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <!-- Since we configure the maven-shade-plugin with the dependencyReducedPomLocation
+                                     property, the basedir of the modules that use that plugin will change during
+                                     the build lifecycle. This is an issue for maven-eclipse-plugin. Therefore
+                                     we execute the eclipse goal in the prepare-package phase, i.e. before the shade goal. -->
+                                <phase>prepare-package</phase>
+                                <goals>
+                                    <goal>eclipse</goal>
+                                </goals>
+                                <configuration>
+                                    <downloadSources>true</downloadSources>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
     <reporting>
         <plugins>
             <plugin>

Modified: axis/axis1/java/branches/AXIS-2882/samples/addr-sample/pom.xml
URL: http://svn.apache.org/viewvc/axis/axis1/java/branches/AXIS-2882/samples/addr-sample/pom.xml?rev=1419363&r1=1419362&r2=1419363&view=diff
==============================================================================
--- axis/axis1/java/branches/AXIS-2882/samples/addr-sample/pom.xml (original)
+++ axis/axis1/java/branches/AXIS-2882/samples/addr-sample/pom.xml Mon Dec 10 12:01:10 2012
@@ -38,12 +38,6 @@
             <artifactId>junit</artifactId>
             <scope>test</scope>
         </dependency>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>axis-standalone-server</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
     </dependencies>
     <build>
         <plugins>

Modified: axis/axis1/java/branches/AXIS-2882/samples/attachments-sample/pom.xml
URL: http://svn.apache.org/viewvc/axis/axis1/java/branches/AXIS-2882/samples/attachments-sample/pom.xml?rev=1419363&r1=1419362&r2=1419363&view=diff
==============================================================================
--- axis/axis1/java/branches/AXIS-2882/samples/attachments-sample/pom.xml (original)
+++ axis/axis1/java/branches/AXIS-2882/samples/attachments-sample/pom.xml Mon Dec 10 12:01:10 2012
@@ -38,11 +38,6 @@
             <artifactId>junit</artifactId>
             <scope>test</scope>
         </dependency>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>axis-standalone-server</artifactId>
-            <version>${project.version}</version>
-        </dependency>
     </dependencies>
     <build>
         <plugins>
@@ -91,7 +86,8 @@
                                 <wsdd>
                                     <directory>src/main/wsdd</directory>
                                     <includes>
-                                        <include>**/*.wsdd</include>
+                                        <include>attachdeploy.wsdd</include>
+                                        <include>testref.wsdd</include>
                                     </includes>
                                 </wsdd>
                             </wsdds>

Modified: axis/axis1/java/branches/AXIS-2882/samples/bidbuy-sample/pom.xml
URL: http://svn.apache.org/viewvc/axis/axis1/java/branches/AXIS-2882/samples/bidbuy-sample/pom.xml?rev=1419363&r1=1419362&r2=1419363&view=diff
==============================================================================
--- axis/axis1/java/branches/AXIS-2882/samples/bidbuy-sample/pom.xml (original)
+++ axis/axis1/java/branches/AXIS-2882/samples/bidbuy-sample/pom.xml Mon Dec 10 12:01:10 2012
@@ -38,11 +38,6 @@
             <artifactId>junit</artifactId>
             <scope>test</scope>
         </dependency>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>axis-standalone-server</artifactId>
-            <version>${project.version}</version>
-        </dependency>
     </dependencies>
     <build>
         <plugins>

Modified: axis/axis1/java/branches/AXIS-2882/samples/encoding-sample/pom.xml
URL: http://svn.apache.org/viewvc/axis/axis1/java/branches/AXIS-2882/samples/encoding-sample/pom.xml?rev=1419363&r1=1419362&r2=1419363&view=diff
==============================================================================
--- axis/axis1/java/branches/AXIS-2882/samples/encoding-sample/pom.xml (original)
+++ axis/axis1/java/branches/AXIS-2882/samples/encoding-sample/pom.xml Mon Dec 10 12:01:10 2012
@@ -38,11 +38,6 @@
             <artifactId>junit</artifactId>
             <scope>test</scope>
         </dependency>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>axis-standalone-server</artifactId>
-            <version>${project.version}</version>
-        </dependency>
     </dependencies>
     <build>
         <plugins>
@@ -91,7 +86,7 @@
                                 <wsdd>
                                     <directory>src/main/wsdd</directory>
                                     <includes>
-                                        <include>**/*.wsdd</include>
+                                        <include>deploy.wsdd</include>
                                     </includes>
                                 </wsdd>
                             </wsdds>