You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by di...@apache.org on 2015/09/10 18:51:57 UTC

[1/3] stratos git commit: Validate whether multi-tenant applications have active signups, before undeploying the application

Repository: stratos
Updated Branches:
  refs/heads/stratos-4.1.x f14d74169 -> f78e627b6


http://git-wip-us.apache.org/repos/asf/stratos/blob/89c821f6/service-stubs/org.apache.stratos.autoscaler.service.stub/src/main/resources/AutoscalerService.wsdl
----------------------------------------------------------------------
diff --git a/service-stubs/org.apache.stratos.autoscaler.service.stub/src/main/resources/AutoscalerService.wsdl b/service-stubs/org.apache.stratos.autoscaler.service.stub/src/main/resources/AutoscalerService.wsdl
index f1d8525..abcf4e1 100644
--- a/service-stubs/org.apache.stratos.autoscaler.service.stub/src/main/resources/AutoscalerService.wsdl
+++ b/service-stubs/org.apache.stratos.autoscaler.service.stub/src/main/resources/AutoscalerService.wsdl
@@ -1,10 +1,10 @@
-<?xml version="1.0" encoding="UTF-8"?><wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ax29="http://rmi.java/xsd" xmlns:ns="http://impl.services.autoscaler.stratos.apache.org" xmlns:ax27="http://pojo.autoscaler.stratos.apache.org/xsd" xmlns:ax25="http://application.exception.autoscaler.stratos.apache.org/xsd" xmlns:ax23="http://common.stratos.apache.org/xsd" xmlns:ax21="http://exception.autoscaler.stratos.apache.org/xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ax219="http://partition.common.stratos.apache.org/xsd" xmlns:ns1="http://org.apache.axis2/xsd" xmlns:ax215="http://deployment.policy.pojo.autoscaler.stratos.apache.org/xsd" xmlns:ax213="http://policy.exception.autoscaler.stratos.apache.org/xsd" xmlns:ax222="http://autoscale.policy.pojo.autoscaler.stratos.apache.org/xsd" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:ax210="http://io.java/xsd" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:ax224="http://pojo.applications.au
 toscaler.stratos.apache.org/xsd" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" targetNamespace="http://impl.services.autoscaler.stratos.apache.org">
+<?xml version="1.0" encoding="UTF-8"?><wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ax27="http://deployment.policy.pojo.autoscaler.stratos.apache.org/xsd" xmlns:ns="http://impl.services.autoscaler.stratos.apache.org" xmlns:ax28="http://partition.common.stratos.apache.org/xsd" xmlns:ax25="http://autoscale.policy.pojo.autoscaler.stratos.apache.org/xsd" xmlns:ax23="http://common.stratos.apache.org/xsd" xmlns:ax21="http://exception.autoscaler.stratos.apache.org/xsd" xmlns:ax217="http://pojo.applications.autoscaler.stratos.apache.org/xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://org.apache.axis2/xsd" xmlns:ax220="http://rmi.java/xsd" xmlns:ax215="http://application.exception.autoscaler.stratos.apache.org/xsd" xmlns:ax212="http://policy.exception.autoscaler.stratos.apache.org/xsd" xmlns:ax221="http://io.java/xsd" xmlns:ax231="http://pojo.autoscaler.stratos.apache.org/xsd" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:http="http:/
 /schemas.xmlsoap.org/wsdl/http/" xmlns:ax224="http://stub.service.manager.stratos.apache.org/xsd" xmlns:ax225="http://impl.stub.service.manager.stratos.apache.org/xsd" xmlns:ax226="http://exceptions.stub.service.manager.stratos.apache.org/xsd" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" targetNamespace="http://impl.services.autoscaler.stratos.apache.org">
     <wsdl:types>
-        <xs:schema xmlns:ax211="http://io.java/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://rmi.java/xsd">
+        <xs:schema xmlns:ax222="http://io.java/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://rmi.java/xsd">
             <xs:import namespace="http://io.java/xsd"/>
             <xs:complexType name="RemoteException">
                 <xs:complexContent>
-                    <xs:extension base="ax210:IOException">
+                    <xs:extension base="ax221:IOException">
                         <xs:sequence>
                             <xs:element minOccurs="0" name="cause" nillable="true" type="xs:anyType"/>
                             <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
@@ -21,7 +21,7 @@
                     <xs:element minOccurs="0" name="id" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="instanceRoundingFactor" type="xs:float"/>
                     <xs:element minOccurs="0" name="isPublic" type="xs:boolean"/>
-                    <xs:element minOccurs="0" name="loadThresholds" nillable="true" type="ax222:LoadThresholds"/>
+                    <xs:element minOccurs="0" name="loadThresholds" nillable="true" type="ax25:LoadThresholds"/>
                     <xs:element minOccurs="0" name="tenantId" type="xs:int"/>
                 </xs:sequence>
             </xs:complexType>
@@ -33,13 +33,13 @@
                 </xs:sequence>
             </xs:complexType>
         </xs:schema>
-        <xs:schema xmlns:ax225="http://common.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://pojo.applications.autoscaler.stratos.apache.org/xsd">
+        <xs:schema xmlns:ax218="http://common.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://pojo.applications.autoscaler.stratos.apache.org/xsd">
             <xs:import namespace="http://common.stratos.apache.org/xsd"/>
             <xs:complexType name="ApplicationContext">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="alias" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="components" nillable="true" type="ax224:ComponentContext"/>
+                    <xs:element minOccurs="0" name="components" nillable="true" type="ax217:ComponentContext"/>
                     <xs:element minOccurs="0" name="description" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="multiTenant" type="xs:boolean"/>
                     <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
@@ -52,10 +52,10 @@
             </xs:complexType>
             <xs:complexType name="ComponentContext">
                 <xs:sequence>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="applicationClusterContexts" nillable="true" type="ax224:ApplicationClusterContext"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="cartridgeContexts" nillable="true" type="ax224:CartridgeContext"/>
-                    <xs:element minOccurs="0" name="dependencyContext" nillable="true" type="ax224:DependencyContext"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="groupContexts" nillable="true" type="ax224:GroupContext"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="applicationClusterContexts" nillable="true" type="ax217:ApplicationClusterContext"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="cartridgeContexts" nillable="true" type="ax217:CartridgeContext"/>
+                    <xs:element minOccurs="0" name="dependencyContext" nillable="true" type="ax217:DependencyContext"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="groupContexts" nillable="true" type="ax217:GroupContext"/>
                 </xs:sequence>
             </xs:complexType>
             <xs:complexType name="ApplicationClusterContext">
@@ -66,7 +66,7 @@
                     <xs:element maxOccurs="unbounded" minOccurs="0" name="dependencyClusterIds" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="deploymentPolicyName" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="hostName" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="persistenceContext" nillable="true" type="ax224:PersistenceContext"/>
+                    <xs:element minOccurs="0" name="persistenceContext" nillable="true" type="ax217:PersistenceContext"/>
                     <xs:element minOccurs="0" name="properties" nillable="true" type="ax23:Properties"/>
                     <xs:element minOccurs="0" name="tenantRange" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="textPayload" nillable="true" type="xs:string"/>
@@ -75,7 +75,7 @@
             <xs:complexType name="PersistenceContext">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="persistenceRequired" type="xs:boolean"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="volumes" nillable="true" type="ax224:VolumeContext"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="volumes" nillable="true" type="ax217:VolumeContext"/>
                 </xs:sequence>
             </xs:complexType>
             <xs:complexType name="VolumeContext">
@@ -94,21 +94,21 @@
                 <xs:sequence>
                     <xs:element minOccurs="0" name="cartridgeMax" type="xs:int"/>
                     <xs:element minOccurs="0" name="cartridgeMin" type="xs:int"/>
-                    <xs:element minOccurs="0" name="subscribableInfoContext" nillable="true" type="ax224:SubscribableInfoContext"/>
+                    <xs:element minOccurs="0" name="subscribableInfoContext" nillable="true" type="ax217:SubscribableInfoContext"/>
                     <xs:element minOccurs="0" name="type" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
             <xs:complexType name="SubscribableInfoContext">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="alias" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="artifactRepositoryContext" nillable="true" type="ax224:ArtifactRepositoryContext"/>
+                    <xs:element minOccurs="0" name="artifactRepositoryContext" nillable="true" type="ax217:ArtifactRepositoryContext"/>
                     <xs:element minOccurs="0" name="autoscalingPolicy" nillable="true" type="xs:string"/>
                     <xs:element maxOccurs="unbounded" minOccurs="0" name="dependencyAliases" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="deploymentPolicy" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="lvsVirtualIP" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="maxMembers" type="xs:int"/>
                     <xs:element minOccurs="0" name="minMembers" type="xs:int"/>
-                    <xs:element minOccurs="0" name="persistenceContext" nillable="true" type="ax224:PersistenceContext"/>
+                    <xs:element minOccurs="0" name="persistenceContext" nillable="true" type="ax217:PersistenceContext"/>
                     <xs:element minOccurs="0" name="properties" nillable="true" type="ax23:Properties"/>
                 </xs:sequence>
             </xs:complexType>
@@ -131,9 +131,9 @@
             <xs:complexType name="GroupContext">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="alias" nillable="true" type="xs:string"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="cartridgeContexts" nillable="true" type="ax224:CartridgeContext"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="cartridgeContexts" nillable="true" type="ax217:CartridgeContext"/>
                     <xs:element minOccurs="0" name="deploymentPolicy" nillable="true" type="xs:string"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="groupContexts" nillable="true" type="ax224:GroupContext"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="groupContexts" nillable="true" type="ax217:GroupContext"/>
                     <xs:element minOccurs="0" name="groupMaxInstances" type="xs:int"/>
                     <xs:element minOccurs="0" name="groupMinInstances" type="xs:int"/>
                     <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
@@ -144,8 +144,8 @@
             <xs:complexType name="ServiceGroup">
                 <xs:sequence>
                     <xs:element maxOccurs="unbounded" minOccurs="0" name="cartridges" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="dependencies" nillable="true" type="ax27:Dependencies"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="groups" nillable="true" type="ax27:ServiceGroup"/>
+                    <xs:element minOccurs="0" name="dependencies" nillable="true" type="ax231:Dependencies"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="groups" nillable="true" type="ax231:ServiceGroup"/>
                     <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
@@ -157,118 +157,99 @@
                 </xs:sequence>
             </xs:complexType>
         </xs:schema>
-        <xs:schema xmlns:ax216="http://common.stratos.apache.org/xsd" xmlns:ax221="http://partition.common.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://deployment.policy.pojo.autoscaler.stratos.apache.org/xsd">
-            <xs:import namespace="http://common.stratos.apache.org/xsd"/>
-            <xs:import namespace="http://partition.common.stratos.apache.org/xsd"/>
-            <xs:complexType name="ApplicationPolicy">
-                <xs:sequence>
-                    <xs:element minOccurs="0" name="algorithm" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="id" nillable="true" type="xs:string"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="networkPartitionGroups" nillable="true" type="xs:string"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="networkPartitions" nillable="true" type="xs:string"/>
-                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax23:Properties"/>
-                </xs:sequence>
-            </xs:complexType>
-            <xs:complexType name="DeploymentPolicy">
-                <xs:sequence>
-                    <xs:element minOccurs="0" name="deploymentPolicyID" nillable="true" type="xs:string"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="networkPartitionRefs" nillable="true" type="ax219:NetworkPartitionRef"/>
-                </xs:sequence>
-            </xs:complexType>
-        </xs:schema>
-        <xs:schema xmlns:ax28="http://pojo.autoscaler.stratos.apache.org/xsd" xmlns:ax26="http://application.exception.autoscaler.stratos.apache.org/xsd" xmlns:ax24="http://common.stratos.apache.org/xsd" xmlns:ax217="http://deployment.policy.pojo.autoscaler.stratos.apache.org/xsd" xmlns:ax22="http://exception.autoscaler.stratos.apache.org/xsd" xmlns:ax214="http://policy.exception.autoscaler.stratos.apache.org/xsd" xmlns:ax212="http://rmi.java/xsd" xmlns:ax223="http://autoscale.policy.pojo.autoscaler.stratos.apache.org/xsd" xmlns:ax226="http://pojo.applications.autoscaler.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://impl.services.autoscaler.stratos.apache.org">
+        <xs:schema xmlns:ax26="http://autoscale.policy.pojo.autoscaler.stratos.apache.org/xsd" xmlns:ax24="http://common.stratos.apache.org/xsd" xmlns:ax22="http://exception.autoscaler.stratos.apache.org/xsd" xmlns:ax216="http://application.exception.autoscaler.stratos.apache.org/xsd" xmlns:ax219="http://pojo.applications.autoscaler.stratos.apache.org/xsd" xmlns:ax223="http://rmi.java/xsd" xmlns:ax229="http://stub.service.manager.stratos.apache.org/xsd" xmlns:ax214="http://policy.exception.autoscaler.stratos.apache.org/xsd" xmlns:ax232="http://pojo.autoscaler.stratos.apache.org/xsd" xmlns:ax211="http://deployment.policy.pojo.autoscaler.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://impl.services.autoscaler.stratos.apache.org">
             <xs:import namespace="http://exception.autoscaler.stratos.apache.org/xsd"/>
             <xs:import namespace="http://common.stratos.apache.org/xsd"/>
-            <xs:import namespace="http://application.exception.autoscaler.stratos.apache.org/xsd"/>
-            <xs:import namespace="http://pojo.autoscaler.stratos.apache.org/xsd"/>
-            <xs:import namespace="http://rmi.java/xsd"/>
-            <xs:import namespace="http://policy.exception.autoscaler.stratos.apache.org/xsd"/>
-            <xs:import namespace="http://deployment.policy.pojo.autoscaler.stratos.apache.org/xsd"/>
             <xs:import namespace="http://autoscale.policy.pojo.autoscaler.stratos.apache.org/xsd"/>
+            <xs:import namespace="http://deployment.policy.pojo.autoscaler.stratos.apache.org/xsd"/>
+            <xs:import namespace="http://policy.exception.autoscaler.stratos.apache.org/xsd"/>
+            <xs:import namespace="http://application.exception.autoscaler.stratos.apache.org/xsd"/>
             <xs:import namespace="http://pojo.applications.autoscaler.stratos.apache.org/xsd"/>
-            <xs:element name="undeployApplication">
+            <xs:import namespace="http://rmi.java/xsd"/>
+            <xs:import namespace="http://stub.service.manager.stratos.apache.org/xsd"/>
+            <xs:import namespace="http://pojo.autoscaler.stratos.apache.org/xsd"/>
+            <xs:element name="AutoscalerServiceInvalidArgumentException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
-                        <xs:element minOccurs="0" name="force" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="InvalidArgumentException" nillable="true" type="ax21:InvalidArgumentException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="undeployApplicationResponse">
+            <xs:element name="updateClusterMonitor">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="properties" nillable="true" type="ax23:Properties"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="deleteApplication">
+            <xs:element name="updateClusterMonitorResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="deleteApplicationResponse">
+            <xs:element name="getAutoscalingPolicy">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="autoscalingPolicyId" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="AutoscalerServiceInvalidArgumentException">
+            <xs:element name="getAutoscalingPolicyResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="InvalidArgumentException" nillable="true" type="ax21:InvalidArgumentException"/>
+                        <xs:element minOccurs="0" name="return" nillable="true" type="ax25:AutoscalePolicy"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateClusterMonitor">
+            <xs:element name="getDeploymentPolicy">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
-                        <xs:element minOccurs="0" name="properties" nillable="true" type="ax23:Properties"/>
+                        <xs:element minOccurs="0" name="deploymentPolicyID" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateClusterMonitorResponse">
+            <xs:element name="getDeploymentPolicyResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="return" nillable="true" type="ax27:DeploymentPolicy"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="AutoscalerServiceInvalidServiceGroupException">
+            <xs:element name="AutoscalerServiceUnremovablePolicyException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="InvalidServiceGroupException" nillable="true" type="ax25:InvalidServiceGroupException"/>
+                        <xs:element minOccurs="0" name="UnremovablePolicyException" nillable="true" type="ax214:UnremovablePolicyException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="addServiceGroup">
+            <xs:element name="AutoscalerServicePolicyDoesNotExistException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="servicegroup" nillable="true" type="ax27:ServiceGroup"/>
+                        <xs:element minOccurs="0" name="PolicyDoesNotExistException" nillable="true" type="ax214:PolicyDoesNotExistException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="addServiceGroupResponse">
+            <xs:element name="removeAutoScalingPolicy">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="autoscalePolicyId" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateServiceGroup">
+            <xs:element name="removeAutoScalingPolicyResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="cartridgeGroup" nillable="true" type="ax27:ServiceGroup"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateServiceGroupResponse">
+            <xs:element name="AutoscalerServiceApplicationDefinitionException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="ApplicationDefinitionException" nillable="true" type="ax216:ApplicationDefinitionException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
@@ -279,503 +260,546 @@
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="removeServiceGroup">
+            <xs:element name="AutoscalerServiceCartridgeNotFoundException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="groupName" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="CartridgeNotFoundException" nillable="true" type="ax21:CartridgeNotFoundException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="removeServiceGroupResponse">
+            <xs:element name="updateApplication">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" name="applicationContext" nillable="true" type="ax217:ApplicationContext"/>
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="updateApplicationResponse">
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getServiceGroup">
+            <xs:element name="existApplication">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getServiceGroupResponse">
+            <xs:element name="existApplicationResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" nillable="true" type="ax27:ServiceGroup"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="findClusterId">
+            <xs:element name="deployApplication">
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
-                        <xs:element minOccurs="0" name="alias" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="applicationPolicyId" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="findClusterIdResponse">
+            <xs:element name="deployApplicationResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="AutoscalerServiceAutoScalerException">
+            <xs:element name="AutoscalerServiceAutoScalingPolicyAlreadyExistException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="AutoScalerException" nillable="true" type="ax21:AutoScalerException"/>
+                        <xs:element minOccurs="0" name="AutoScalingPolicyAlreadyExistException" nillable="true" type="ax21:AutoScalingPolicyAlreadyExistException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getServiceGroups">
+            <xs:element name="addAutoScalingPolicy">
                 <xs:complexType>
-                    <xs:sequence/>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" name="autoscalePolicy" nillable="true" type="ax25:AutoscalePolicy"/>
+                    </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getServiceGroupsResponse">
+            <xs:element name="addAutoScalingPolicyResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax27:ServiceGroup"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="serviceGroupExist">
+            <xs:element name="AutoscalerServiceInvalidPolicyException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="serviceName" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="InvalidPolicyException" nillable="true" type="ax214:InvalidPolicyException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="serviceGroupExistResponse">
+            <xs:element name="updateAutoScalingPolicy">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="autoscalePolicy" nillable="true" type="ax25:AutoscalePolicy"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="undeployServiceGroup">
+            <xs:element name="updateAutoScalingPolicyResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="undeployServiceGroupResponse">
+            <xs:element name="getAutoScalingPolicies">
+                <xs:complexType>
+                    <xs:sequence/>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="getAutoScalingPoliciesResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax25:AutoscalePolicy"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="AutoscalerServiceRemoteException">
+            <xs:element name="getApplication">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="RemoteException" nillable="true" type="ax29:RemoteException"/>
+                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="AutoscalerServiceInvalidApplicationPolicyException">
+            <xs:element name="getApplicationResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="InvalidApplicationPolicyException" nillable="true" type="ax25:InvalidApplicationPolicyException"/>
+                        <xs:element minOccurs="0" name="return" nillable="true" type="ax217:ApplicationContext"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="AutoscalerServiceApplicationPolicyAlreadyExistsException">
+            <xs:element name="AutoscalerServiceRemoteException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="ApplicationPolicyAlreadyExistsException" nillable="true" type="ax214:ApplicationPolicyAlreadyExistsException"/>
+                        <xs:element minOccurs="0" name="RemoteException" nillable="true" type="ax220:RemoteException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="addApplicationPolicy">
+            <xs:element name="AutoscalerServiceStratosManagerServiceApplicationSignUpExceptionException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationPolicy" nillable="true" type="ax217:ApplicationPolicy"/>
+                        <xs:element minOccurs="0" name="StratosManagerServiceApplicationSignUpExceptionException" nillable="true" type="ax224:StratosManagerServiceApplicationSignUpExceptionException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="addApplicationPolicyResponse">
+            <xs:element name="AutoscalerServiceUnremovableApplicationException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="UnremovableApplicationException" nillable="true" type="ax216:UnremovableApplicationException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="AutoscalerServiceInvalidPolicyException">
+            <xs:element name="undeployApplication">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="InvalidPolicyException" nillable="true" type="ax214:InvalidPolicyException"/>
+                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="force" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="AutoscalerServiceUnremovablePolicyException">
+            <xs:element name="undeployApplicationResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="UnremovablePolicyException" nillable="true" type="ax214:UnremovablePolicyException"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="removeApplicationPolicy">
+            <xs:element name="deleteApplication">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationPolicyId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="removeApplicationPolicyResponse">
+            <xs:element name="deleteApplicationResponse">
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="AutoscalerServiceApplicatioinPolicyNotExistsException">
+            <xs:element name="AutoscalerServiceInvalidServiceGroupException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="ApplicatioinPolicyNotExistsException" nillable="true" type="ax214:ApplicatioinPolicyNotExistsException"/>
+                        <xs:element minOccurs="0" name="InvalidServiceGroupException" nillable="true" type="ax216:InvalidServiceGroupException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateApplicationPolicy">
+            <xs:element name="addServiceGroup">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationPolicy" nillable="true" type="ax217:ApplicationPolicy"/>
+                        <xs:element minOccurs="0" name="servicegroup" nillable="true" type="ax232:ServiceGroup"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateApplicationPolicyResponse">
+            <xs:element name="addServiceGroupResponse">
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getApplicationPolicies">
+            <xs:element name="updateServiceGroup">
                 <xs:complexType>
-                    <xs:sequence/>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" name="cartridgeGroup" nillable="true" type="ax232:ServiceGroup"/>
+                    </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getApplicationPoliciesResponse">
+            <xs:element name="updateServiceGroupResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax217:ApplicationPolicy"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="AutoscalerServiceInvalidDeploymentPolicyException">
+            <xs:element name="removeServiceGroup">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="InvalidDeploymentPolicyException" nillable="true" type="ax214:InvalidDeploymentPolicyException"/>
+                        <xs:element minOccurs="0" name="groupName" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="AutoscalerServiceDeploymentPolicyAlreadyExistsException">
+            <xs:element name="removeServiceGroupResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="DeploymentPolicyAlreadyExistsException" nillable="true" type="ax214:DeploymentPolicyAlreadyExistsException"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="addDeployementPolicy">
+            <xs:element name="findClusterId">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="deploymentPolicy" nillable="true" type="ax217:DeploymentPolicy"/>
+                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="alias" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="addDeployementPolicyResponse">
+            <xs:element name="findClusterIdResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="return" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="AutoscalerServiceDeploymentPolicyNotExistsException">
+            <xs:element name="AutoscalerServiceAutoScalerException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="DeploymentPolicyNotExistsException" nillable="true" type="ax214:DeploymentPolicyNotExistsException"/>
+                        <xs:element minOccurs="0" name="AutoScalerException" nillable="true" type="ax21:AutoScalerException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="AutoscalerServiceCloudControllerConnectionException">
+            <xs:element name="getServiceGroups">
+                <xs:complexType>
+                    <xs:sequence/>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="getServiceGroupsResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="CloudControllerConnectionException" nillable="true" type="ax21:CloudControllerConnectionException"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax232:ServiceGroup"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateDeploymentPolicy">
+            <xs:element name="serviceGroupExist">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="deploymentPolicy" nillable="true" type="ax217:DeploymentPolicy"/>
+                        <xs:element minOccurs="0" name="serviceName" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateDeploymentPolicyResponse">
+            <xs:element name="serviceGroupExistResponse">
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="removeDeployementPolicy">
+            <xs:element name="undeployServiceGroup">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="deploymentPolicyID" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="removeDeployementPolicyResponse">
+            <xs:element name="undeployServiceGroupResponse">
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getDeploymentPolicies">
-                <xs:complexType>
-                    <xs:sequence/>
-                </xs:complexType>
-            </xs:element>
-            <xs:element name="getDeploymentPoliciesResponse">
+            <xs:element name="getApplicationNetworkPartitions">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax217:DeploymentPolicy"/>
+                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getAutoScalingPolicies">
+            <xs:element name="getApplicationNetworkPartitionsResponse">
                 <xs:complexType>
-                    <xs:sequence/>
+                    <xs:sequence>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="xs:string"/>
+                    </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getAutoScalingPoliciesResponse">
+            <xs:element name="AutoscalerServiceInvalidApplicationPolicyException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax222:AutoscalePolicy"/>
+                        <xs:element minOccurs="0" name="InvalidApplicationPolicyException" nillable="true" type="ax216:InvalidApplicationPolicyException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="AutoscalerServiceAutoScalingPolicyAlreadyExistException">
+            <xs:element name="AutoscalerServiceApplicationPolicyAlreadyExistsException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="AutoScalingPolicyAlreadyExistException" nillable="true" type="ax21:AutoScalingPolicyAlreadyExistException"/>
+                        <xs:element minOccurs="0" name="ApplicationPolicyAlreadyExistsException" nillable="true" type="ax214:ApplicationPolicyAlreadyExistsException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="addAutoScalingPolicy">
+            <xs:element name="addApplicationPolicy">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="autoscalePolicy" nillable="true" type="ax222:AutoscalePolicy"/>
+                        <xs:element minOccurs="0" name="applicationPolicy" nillable="true" type="ax27:ApplicationPolicy"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="addAutoScalingPolicyResponse">
+            <xs:element name="addApplicationPolicyResponse">
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateAutoScalingPolicy">
+            <xs:element name="removeApplicationPolicy">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="autoscalePolicy" nillable="true" type="ax222:AutoscalePolicy"/>
+                        <xs:element minOccurs="0" name="applicationPolicyId" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateAutoScalingPolicyResponse">
+            <xs:element name="removeApplicationPolicyResponse">
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="AutoscalerServicePolicyDoesNotExistException">
+            <xs:element name="AutoscalerServiceApplicatioinPolicyNotExistsException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="PolicyDoesNotExistException" nillable="true" type="ax214:PolicyDoesNotExistException"/>
+                        <xs:element minOccurs="0" name="ApplicatioinPolicyNotExistsException" nillable="true" type="ax214:ApplicatioinPolicyNotExistsException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="removeAutoScalingPolicy">
+            <xs:element name="updateApplicationPolicy">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="autoscalePolicyId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="applicationPolicy" nillable="true" type="ax27:ApplicationPolicy"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="removeAutoScalingPolicyResponse">
+            <xs:element name="updateApplicationPolicyResponse">
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getAutoscalingPolicy">
+            <xs:element name="getApplicationPolicies">
                 <xs:complexType>
-                    <xs:sequence>
-                        <xs:element minOccurs="0" name="autoscalingPolicyId" nillable="true" type="xs:string"/>
-                    </xs:sequence>
+                    <xs:sequence/>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getAutoscalingPolicyResponse">
+            <xs:element name="getApplicationPoliciesResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" nillable="true" type="ax222:AutoscalePolicy"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax27:ApplicationPolicy"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="AutoscalerServiceApplicationDefinitionException">
+            <xs:element name="AutoscalerServiceInvalidDeploymentPolicyException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="ApplicationDefinitionException" nillable="true" type="ax25:ApplicationDefinitionException"/>
+                        <xs:element minOccurs="0" name="InvalidDeploymentPolicyException" nillable="true" type="ax214:InvalidDeploymentPolicyException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="AutoscalerServiceCartridgeNotFoundException">
+            <xs:element name="AutoscalerServiceDeploymentPolicyAlreadyExistsException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="CartridgeNotFoundException" nillable="true" type="ax21:CartridgeNotFoundException"/>
+                        <xs:element minOccurs="0" name="DeploymentPolicyAlreadyExistsException" nillable="true" type="ax214:DeploymentPolicyAlreadyExistsException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="addApplication">
+            <xs:element name="addDeployementPolicy">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationContext" nillable="true" type="ax224:ApplicationContext"/>
+                        <xs:element minOccurs="0" name="deploymentPolicy" nillable="true" type="ax27:DeploymentPolicy"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="addApplicationResponse">
+            <xs:element name="addDeployementPolicyResponse">
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateApplication">
+            <xs:element name="AutoscalerServiceDeploymentPolicyNotExistsException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationContext" nillable="true" type="ax224:ApplicationContext"/>
+                        <xs:element minOccurs="0" name="DeploymentPolicyNotExistsException" nillable="true" type="ax214:DeploymentPolicyNotExistsException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateApplicationResponse">
+            <xs:element name="AutoscalerServiceCloudControllerConnectionException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="CloudControllerConnectionException" nillable="true" type="ax21:CloudControllerConnectionException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="existApplication">
+            <xs:element name="updateDeploymentPolicy">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="deploymentPolicy" nillable="true" type="ax27:DeploymentPolicy"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="existApplicationResponse">
+            <xs:element name="updateDeploymentPolicyResponse">
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="deployApplication">
+            <xs:element name="removeDeployementPolicy">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
-                        <xs:element minOccurs="0" name="applicationPolicyId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="deploymentPolicyID" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="deployApplicationResponse">
+            <xs:element name="removeDeployementPolicyResponse">
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getApplicationNetworkPartitions">
+            <xs:element name="getDeploymentPolicies">
                 <xs:complexType>
-                    <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
-                    </xs:sequence>
+                    <xs:sequence/>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getApplicationNetworkPartitionsResponse">
+            <xs:element name="getDeploymentPoliciesResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="xs:string"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax27:DeploymentPolicy"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getDeploymentPolicy">
+            <xs:element name="getApplicationPolicy">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="deploymentPolicyID" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="applicationPolicyId" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getDeploymentPolicyResponse">
+            <xs:element name="getApplicationPolicyResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" nillable="true" type="ax217:DeploymentPolicy"/>
+                        <xs:element minOccurs="0" name="return" nillable="true" type="ax27:ApplicationPolicy"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getApplicationPolicy">
+            <xs:element name="getServiceGroup">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationPolicyId" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getApplicationPolicyResponse">
+            <xs:element name="getServiceGroupResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" nillable="true" type="ax217:ApplicationPolicy"/>
+                        <xs:element minOccurs="0" name="return" nillable="true" type="ax232:ServiceGroup"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getApplications">
+            <xs:element name="addApplication">
                 <xs:complexType>
-                    <xs:sequence/>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" name="applicationContext" nillable="true" type="ax217:ApplicationContext"/>
+                    </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getApplicationsResponse">
+            <xs:element name="addApplicationResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax224:ApplicationContext"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getApplication">
+            <xs:element name="getApplications">
                 <xs:complexType>
-                    <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
-                    </xs:sequence>
+                    <xs:sequence/>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getApplicationResponse">
+            <xs:element name="getApplicationsResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" nillable="true" type="ax224:ApplicationContext"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax217:ApplicationContext"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
         </xs:schema>
-        <xs:schema xmlns:ax220="http://common.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://partition.common.stratos.apache.org/xsd">
+        <xs:schema xmlns:ax233="http://common.stratos.apache.org/xsd" xmlns:ax210="http://partition.common.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://deployment.policy.pojo.autoscaler.stratos.apache.org/xsd">
+            <xs:import namespace="http://partition.common.stratos.apache.org/xsd"/>
+            <xs:import namespace="http://common.stratos.apache.org/xsd"/>
+            <xs:complexType name="DeploymentPolicy">
+                <xs:sequence>
+                    <xs:element minOccurs="0" name="deploymentPolicyID" nillable="true" type="xs:string"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="networkPartitionRefs" nillable="true" type="ax28:NetworkPartitionRef"/>
+                </xs:sequence>
+            </xs:complexType>
+            <xs:complexType name="ApplicationPolicy">
+                <xs:sequence>
+                    <xs:element minOccurs="0" name="algorithm" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="id" nillable="true" type="xs:string"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="networkPartitionGroups" nillable="true" type="xs:string"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="networkPartitions" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax23:Properties"/>
+                </xs:sequence>
+            </xs:complexType>
+        </xs:schema>
+        <xs:schema xmlns:ax227="http://exceptions.stub.service.manager.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://impl.stub.service.manager.stratos.apache.org/xsd">
+            <xs:import namespace="http://exceptions.stub.service.manager.stratos.apache.org/xsd"/>
+            <xs:complexType name="StratosManagerServiceApplicationSignUpException">
+                <xs:sequence>
+                    <xs:element minOccurs="0" name="applicationSignUpException" nillable="true" type="ax227:ApplicationSignUpException"/>
+                    <xs:element minOccurs="0" name="applicationSignUpExceptionSpecified" type="xs:boolean"/>
+                </xs:sequence>
+            </xs:complexType>
+        </xs:schema>
+        <xs:schema xmlns:ax29="http://common.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://partition.common.stratos.apache.org/xsd">
             <xs:import namespace="http://common.stratos.apache.org/xsd"/>
             <xs:complexType name="NetworkPartitionRef">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="id" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="partitionAlgo" nillable="true" type="xs:string"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" name="partitionRefs" nillable="true" type="ax219:PartitionRef"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="partitionRefs" nillable="true" type="ax28:PartitionRef"/>
                 </xs:sequence>
             </xs:complexType>
             <xs:complexType name="PartitionRef">
@@ -784,22 +808,38 @@
                     <xs:element minOccurs="0" name="id" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="kubernetesClusterId" nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="partitionMax" type="xs:int"/>
-                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax23:Properties"/>
+                    <xs:element minOccurs="0" name="properties" nillable="true" type="ax29:Properties"/>
                 </xs:sequence>
             </xs:complexType>
         </xs:schema>
-        <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://application.exception.autoscaler.stratos.apache.org/xsd">
-            <xs:complexType name="InvalidServiceGroupException">
+        <xs:schema xmlns:ax228="http://impl.stub.service.manager.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://stub.service.manager.stratos.apache.org/xsd">
+            <xs:import namespace="http://impl.stub.service.manager.stratos.apache.org/xsd"/>
+            <xs:complexType name="StratosManagerServiceApplicationSignUpExceptionException">
+                <xs:sequence>
+                    <xs:element minOccurs="0" name="faultMessage" nillable="true" type="ax228:StratosManagerServiceApplicationSignUpException"/>
+                </xs:sequence>
+            </xs:complexType>
+        </xs:schema>
+        <xs:schema xmlns:ax230="http://exception.autoscaler.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://application.exception.autoscaler.stratos.apache.org/xsd">
+            <xs:import namespace="http://exception.autoscaler.stratos.apache.org/xsd"/>
+            <xs:complexType name="ApplicationDefinitionException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="InvalidApplicationPolicyException">
+            <xs:complexType name="UnremovableApplicationException">
+                <xs:complexContent>
+                    <xs:extension base="ax21:AutoScalerException">
+                        <xs:sequence/>
+                    </xs:extension>
+                </xs:complexContent>
+            </xs:complexType>
+            <xs:complexType name="InvalidServiceGroupException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="ApplicationDefinitionException">
+            <xs:complexType name="InvalidApplicationPolicyException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
@@ -818,16 +858,13 @@
                 </xs:sequence>
             </xs:complexType>
         </xs:schema>
-        <xs:schema xmlns:ax218="http://exception.autoscaler.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://policy.exception.autoscaler.stratos.apache.org/xsd">
-            <xs:import namespace="http://exception.autoscaler.stratos.apache.org/xsd"/>
-            <xs:complexType name="ApplicationPolicyAlreadyExistsException">
+        <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://exceptions.stub.service.manager.stratos.apache.org/xsd">
+            <xs:complexType name="ApplicationSignUpException">
                 <xs:sequence/>
             </xs:complexType>
-            <xs:complexType name="InvalidPolicyException">
-                <xs:sequence>
-                    <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
-                </xs:sequence>
-            </xs:complexType>
+        </xs:schema>
+        <xs:schema xmlns:ax213="http://exception.autoscaler.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://policy.exception.autoscaler.stratos.apache.org/xsd">
+            <xs:import namespace="http://exception.autoscaler.stratos.apache.org/xsd"/>
             <xs:complexType name="UnremovablePolicyException">
                 <xs:complexContent>
                     <xs:extension base="ax21:AutoScalerException">
@@ -835,6 +872,21 @@
                     </xs:extension>
                 </xs:complexContent>
             </xs:complexType>
+            <xs:complexType name="PolicyDoesNotExistException">
+                <xs:complexContent>
+                    <xs:extension base="ax21:AutoScalerException">
+                        <xs:sequence/>
+                    </xs:extension>
+                </xs:complexContent>
+            </xs:complexType>
+            <xs:complexType name="InvalidPolicyException">
+                <xs:sequence>
+                    <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
+                </xs:sequence>
+            </xs:complexType>
+            <xs:complexType name="ApplicationPolicyAlreadyExistsException">
+                <xs:sequence/>
+            </xs:complexType>
             <xs:complexType name="ApplicatioinPolicyNotExistsException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
@@ -851,13 +903,6 @@
             <xs:complexType name="DeploymentPolicyNotExistsException">
                 <xs:sequence/>
             </xs:complexType>
-            <xs:complexType name="PolicyDoesNotExistException">
-                <xs:complexContent>
-                    <xs:extension base="ax21:AutoScalerException">
-                        <xs:sequence/>
-                    </xs:extension>
-                </xs:complexContent>
-            </xs:complexType>
         </xs:schema>
         <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://io.java/xsd">
             <xs:complexType name="IOException">
@@ -870,11 +915,6 @@
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
-            <xs:complexType name="CartridgeGroupNotFoundException">
-                <xs:sequence>
-                    <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
-                </xs:sequence>
-            </xs:complexType>
             <xs:complexType name="AutoScalerException">
                 <xs:complexContent>
                     <xs:extension base="xs:RuntimeException">
@@ -882,19 +922,30 @@
                     </xs:extension>
                 </xs:complexContent>
             </xs:complexType>
-            <xs:complexType name="CloudControllerConnectionException">
-                <xs:sequence/>
-            </xs:complexType>
-            <xs:complexType name="AutoScalingPolicyAlreadyExistException">
-                <xs:sequence/>
+            <xs:complexType name="CartridgeGroupNotFoundException">
+                <xs:sequence>
+                    <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
+                </xs:sequence>
             </xs:complexType>
             <xs:complexType name="CartridgeNotFoundException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
+            <xs:complexType name="AutoScalingPolicyAlreadyExistException">
+                <xs:sequence/>
+            </xs:complexType>
+            <xs:complexType name="CloudControllerConnectionException">
+                <xs:sequence/>
+            </xs:complexType>
         </xs:schema>
     </wsdl:types>
+    <wsdl:message name="getAutoScalingPoliciesRequest">
+        <wsdl:part name="parameters" element="ns:getAutoScalingPolicies"/>
+    </wsdl:message>
+    <wsdl:message name="getAutoScalingPoliciesResponse">
+        <wsdl:part name="parameters" element="ns:getAutoScalingPoliciesResponse"/>
+    </wsdl:message>
     <wsdl:message name="removeAutoScalingPolicyRequest">
         <wsdl:part name="parameters" element="ns:removeAutoScalingPolicy"/>
     </wsdl:message>
@@ -907,12 +958,6 @@
     <wsdl:message name="AutoscalerServicePolicyDoesNotExistException">
         <wsdl:part name="parameters" element="ns:AutoscalerServicePolicyDoesNotExistException"/>
     </wsdl:message>
-    <wsdl:message name="getAutoScalingPoliciesRequest">
-        <wsdl:part name="parameters" element="ns:getAutoScalingPolicies"/>
-    </wsdl:message>
-    <wsdl:message name="getAutoScalingPoliciesResponse">
-        <wsdl:part name="parameters" element="ns:getAutoScalingPoliciesResponse"/>
-    </wsdl:message>
     <wsdl:message name="getDeploymentPoliciesRequest">
         <wsdl:part name="parameters" element="ns:getDeploymentPolicies"/>
     </wsdl:message>
@@ -1129,6 +1174,12 @@
     <wsdl:message name="undeployApplicationResponse">
         <wsdl:part name="parameters" element="ns:undeployApplicationResponse"/>
     </wsdl:message>
+    <wsdl:message name="AutoscalerServiceStratosManagerServiceApplicationSignUpExceptionException">
+        <wsdl:part name="parameters" element="ns:AutoscalerServiceStratosManagerServiceApplicationSignUpExceptionException"/>
+    </wsdl:message>
+    <wsdl:message name="AutoscalerServiceUnremovableApplicationException">
+        <wsdl:part name="parameters" element="ns:AutoscalerServiceUnremovableApplicationException"/>
+    </wsdl:message>
     <wsdl:message name="removeServiceGroupRequest">
         <wsdl:part name="parameters" element="ns:removeServiceGroup"/>
     </wsdl:message>
@@ -1148,16 +1199,16 @@
         <wsdl:part name="parameters" element="ns:updateApplicationResponse"/>
     </wsdl:message>
     <wsdl:portType name="AutoscalerServicePortType">
+        <wsdl:operation name="getAutoScalingPolicies">
+            <wsdl:input message="ns:getAutoScalingPoliciesRequest" wsaw:Action="urn:getAutoScalingPolicies"/>
+            <wsdl:output message="ns:getAutoScalingPoliciesResponse" wsaw:Action="urn:getAutoScalingPoliciesResponse"/>
+        </wsdl:operation>
         <wsdl:operation name="removeAutoScalingPolicy">
             <wsdl:input message="ns:removeAutoScalingPolicyRequest" wsaw:Action="urn:removeAutoScalingPolicy"/>
             <wsdl:output message="ns:removeAutoScalingPolicyResponse" wsaw:Action="urn:removeAutoScalingPolicyResponse"/>
             <wsdl:fault message="ns:AutoscalerServiceUnremovablePolicyException" name="AutoscalerServiceUnremovablePolicyException" wsaw:Action="urn:removeAutoScalingPolicyAutoscalerServiceUnremovablePolicyException"/>
             <wsdl:fault message="ns:AutoscalerServicePolicyDoesNotExistException" name="AutoscalerServicePolicyDoesNotExistException" wsaw:Action="urn:removeAutoScalingPolicyAutoscalerServicePolicyDoesNotExistException"/>
         </wsdl:operation>
-        <wsdl:operation name="getAutoScalingPolicies">
-            <wsdl:input message="ns:getAutoScalingPoliciesRequest" wsaw:Action="urn:getAutoScalingPolicies"/>
-            <wsdl:output message="ns:getAutoScalingPoliciesResponse" wsaw:Action="urn:getAutoScalingPoliciesResponse"/>
-        </wsdl:operation>
         <wsdl:operation name="getDeploymentPolicies">
             <wsdl:input message="ns:getDeploymentPoliciesRequest" wsaw:Action="urn:getDeploymentPolicies"/>
             <wsdl:output message="ns:getDeploymentPoliciesResponse" wsaw:Action="urn:getDeploymentPoliciesResponse"/>
@@ -1299,6 +1350,9 @@
         <wsdl:operation name="undeployApplication">
             <wsdl:input message="ns:undeployApplicationRequest" wsaw:Action="urn:undeployApplication"/>
             <wsdl:output message="ns:undeployApplicationResponse" wsaw:Action="urn:undeployApplicationResponse"/>
+            <wsdl:fault message="ns:AutoscalerServiceRemoteException" name="AutoscalerServiceRemoteException" wsaw:Action="urn:undeployApplicationAutoscalerServiceRemoteException"/>
+            <wsdl:fault message="ns:AutoscalerServiceStratosManagerServiceApplicationSignUpExceptionException" name="AutoscalerServiceStratosManagerServiceApplicationSignUpExceptionException" wsaw:Action="urn:undeployApplicationAutoscalerServiceStratosManagerServiceApplicationSignUpExceptionException"/>
+            <wsdl:fault message="ns:AutoscalerServiceUnremovableApplicationException" name="AutoscalerServiceUnremovableApplicationException" wsaw:Action="urn:undeployApplicationAutoscalerServiceUnremovableApplicationException"/>
         </wsdl:operation>
         <wsdl:operation name="removeServiceGroup">
             <wsdl:input message="ns:removeServiceGroupRequest" wsaw:Action="urn:removeServiceGroup"/>
@@ -1319,15 +1373,6 @@
     </wsdl:portType>
     <wsdl:binding name="AutoscalerServiceSoap11Binding" type="ns:AutoscalerServicePortType">
         <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
-        <wsdl:operation name="getAutoScalingPolicies">
-            <soap:operation soapAction="urn:getAutoScalingPolicies" style="document"/>
-            <wsdl:input>
-                <soap:body use="literal"/>
-            </wsdl:input>
-            <wsdl:output>
-                <soap:body use="literal"/>
-            </wsdl:output>
-        </wsdl:operation>
         <wsdl:operation name="removeAutoScalingPolicy">
             <soap:operation soapAction="urn:removeAutoScalingPolicy" style="document"/>
             <wsdl:input>
@@ -1343,6 +1388,15 @@
                 <soap:fault use="literal" name="AutoscalerServiceUnremovablePolicyException"/>
             </wsdl:fault>
         </wsdl:operation>
+        <wsdl:operation name="getAutoScalingPolicies">
+            <soap:operation soapAction="urn:getAutoScalingPolicies" style="document"/>
+            <wsdl:input>
+                <soap:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal"/>
+            </wsdl:output>
+        </wsdl:operation>
         <wsdl:operation name="addApplicationPolicy">
             <soap:operation soapAction="urn:addApplicationPolicy" style="document"/>
             <wsdl:input>
@@ -1684,6 +1738,15 @@
             <wsdl:output>
                 <soap:body use="literal"/>
             </wsdl:output>
+            <wsdl:fault name="AutoscalerServiceRemoteException">
+                <soap:fault use="literal" name="AutoscalerServiceRemoteException"/>
+            </wsdl:fault>
+            <wsdl:fault name="AutoscalerServiceStratosManagerServiceApplicationSignUpExceptionException">
+                <soap:fault use="literal" name="AutoscalerServiceStratosManagerServiceApplicationSignUpExceptionException"/>
+            </wsdl:fault>
+            <wsdl:fault name="AutoscalerServiceUnremovableApplicationException">
+                <soap:fault use="literal" name="AutoscalerServiceUnremovableApplicationException"/>
+            </wsdl:fault>
         </wsdl:operation>
         <wsdl:operation name="removeServiceGroup">
             <soap:operation soapAction="urn:removeServiceGroup" style="document"/>
@@ -1727,15 +1790,6 @@
     </wsdl:binding>
     <wsdl:binding name="AutoscalerServiceSoap12Binding" type="ns:AutoscalerServicePortType">
         <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
-        <wsdl:operation name="getAutoScalingPolicies">
-            <soap12:operation soapAction="urn:getAutoScalingPolicies" style="document"/>
-            <wsdl:input>
-                <soap12:body use="literal"/>
-            </wsdl:input>
-            <wsdl:output>
-                <soap12:body use="literal"/>
-            </wsdl:output>
-        </wsdl:operation>
         <wsdl:operation name="removeAutoScalingPolicy">
             <soap12:operation soapAction="urn:removeAutoScalingPolicy" style="document"/>
             <wsdl:input>
@@ -1751,6 +1805,15 @@
                 <soap12:fault use="literal" name="AutoscalerServiceUnremovablePolicyException"/>
             </wsdl:fault>
         </wsdl:operation>
+        <wsdl:operation name="getAutoScalingPolicies">
+            <soap12:operation soapAction="urn:getAutoScalingPolicies" style="document"/>
+            <wsdl:input>
+                <soap12:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap12:body use="literal"/>
+            </wsdl:output>
+        </wsdl:operation>
         <wsdl:operation name="addApplicationPolicy">
             <soap12:operation soapAction="urn:addApplicationPolicy" style="document"/>
             <wsdl:input>
@@ -2092,6 +2155,15 @@
             <wsdl:output>
                 <soap12:body use="literal"/>
             </wsdl:output>
+            <wsdl:fault name="AutoscalerServiceRemoteException">
+                <soap12:fault use="literal" name="AutoscalerServiceRemoteException"/>
+            </wsdl:fault>
+            <wsdl:fault name="AutoscalerServiceStratosManagerServiceApplicationSignUpExceptionException">
+                <soap12:fault use="literal" name="AutoscalerServiceStratosManagerServiceApplicationSignUpExceptionException"/>
+            </wsdl:fault>
+            <wsdl:fault name="AutoscalerServiceUnremovableApplicationException">
+                <soap12:fault use="literal" name="AutoscalerServiceUnremovableApplicationException"/>
+            </wsdl:fault>
         </wsdl:operation>
         <wsdl:operation name="removeServiceGroup">
             <soap12:operation soapAction="urn:removeServiceGroup" style="document"/>
@@ -2135,301 +2207,301 @@
     </wsdl:binding>
     <wsdl:binding name="AutoscalerServiceHttpBinding" type="ns:AutoscalerServicePortType">
         <http:binding verb="POST"/>
-        <wsdl:operation name="getAutoScalingPolicies">
-            <http:operation location="getAutoScalingPolicies"/>
+        <wsdl:operation name="removeAutoScalingPolicy">
+            <http:operation location="removeAutoScalingPolicy"/>
             <wsdl:input>
-                <mime:content type="text/xml" part="parameters"/>
+                <mime:content type="application/xml" part="parameters"/>
             </wsdl:input>
             <wsdl:output>
-                <mime:content type="text/xml" part="parameters"/>
+                <mime:content type="application/xml" part="parameters"/>
             </wsdl:output>
         </wsdl:operation>
-        <wsdl:operation name="removeAutoScalingPolicy">
-            <http:operation location="removeAutoScalingPolicy"/>
+        <wsdl:operation name="getAutoScalingPolicies">
+            <http:operation location="getAutoScalingPolicies"/>
             <wsdl:input>
-                <mime:content type="text/xml" part="parameters"/>
+                <mime:content type="application/xml" part="parameters"/>
             </wsdl:input>
             <wsdl:output>
-                <mime:content type="text/xml" part="parameters"/>
+                <mime:content type="application/xml" part="parameters"/>
             </wsdl:output>
         </wsdl:operation>
         <wsdl:operation name="addApplicationPolicy">
             <http:operation location="addApplicationPolicy"/>
             <wsdl:input>
-                <mime:content type="text/xml" part="parameters"/>
+                <mime:content type="application/xml" part="parameters"/>
             </wsdl:input>
             <wsdl:output>
-                <mime:content type="text/xml" part="parameters"/>
+                <mime:content type="application/xml" part="parameters"/>
             </wsdl:output>
         </wsdl:operation>
         <wsdl:operation name="getApplicationPolicies">
             <http:operation location="getApplicationPolicies"/>
             <wsdl:input>
-                <mime:content type="text/xml" part="parameters"/>
+                <mime:content type="application/xml" part="parameters"/>
             </wsdl:input>
             <wsdl:output>
-                <mime:content type="text/xml" part="parameters"/>
+                <mime:content type="application/xml" part="parameters"/>
             </wsdl:output>
         </wsdl:operation>
         <wsdl:operation name="getDeploymentPolicies">
             <http:operation location="getDeploymentPolicies"/>
             <wsdl:input>
-                <mime:content type="text/xml" part="parameters"/>
+                <mime:content type="application/xml" part="parameters"/>
             </wsdl:input>
             <wsdl:output>
-                <mime:content type="text/xml" part="parameters"/>
+                <mime:content type="application/xml" part="parameters"/>
             </wsdl:output>
         </wsdl:operation>
         <wsdl:operation name="getServiceGroups">
             <http:operation location="getServiceGroups"/>
             <wsdl:input>
-                <mime:content type="text/xml" part="parameters"/>
+                <mime:content type="application/xml" part="parameters"/>
             </wsdl:input>
             <wsdl:output>
-                <mime:content type="text/xml" part="parameters"/>
+                <mime:content type="application/xml" part="parameters"/>
             </wsdl:output>
         </wsdl:operation>
         <wsdl:operation name="getApplication">
             <http:operation location="getApplication"/>
             <wsdl:input>
-                <mime:content type="text/xml" part="parameters"/>
+                <mime:content type="application/xml" part="parameters"/>
             </wsdl:input>
             <wsdl:output>
-                <mime:content type="text/xml" part="parameters"/>
+                <mime:content type="application/xml" part="parameters"/>
             </wsdl:output>
         </wsdl:operation>
         <wsdl:operation name="updateServiceGroup">
             <http:operation location="updateServiceGroup"/>
             <wsdl:input>
-                <mime:content type="text/xml" part="parameters"/>
+                <mime:content type="application/xml" part="parameters"/>
             </wsdl:input>
             <wsdl:output>
-                <mime:content type="text/xml" part="parameters"/>
+                <mime:content type="application/xml" part="parameters"/>
             </wsdl:output>
         </wsdl:operation>
         <wsdl:operation name="deployApplication">
             <http:operation location="deployApplication"/>
             <wsdl:input>
-                <mime:content type="text/xml" part="parameters"/>
+                <mime:content type="application/xml" part="parameters"/>
             </wsdl:input>
             <wsdl:output>
-                <mime:content type="text/xml" part="parameters"/>
+                <mime:content type="application/xml" part="parameters"/>
             </wsdl:output>
         </wsdl:operation>
         <wsdl:operation name="updateApplicationPolicy">
             <http:operation location="updateApplicationPolicy"/>
             <wsdl:input>
-                <mime:content type="text/xml" part="parameters"/>
+                <mime:content type="application/xml" part="parameters"/>
             </wsdl:input>
             <wsdl:output>
-                <mime:content type="text/xml" part="parameters"/>
+                <mime:content type="application/xml" part="parameters"/>
             </wsdl:output>
         </wsdl:operation>
         <wsdl:operation name="getApplicationNetworkPartitions">
             <http:operation location="getApplicationNetworkPartitions"/>
             <wsdl:input>
-                <mime:content type="text/xml" part="parameters"/>
+                <mime:content type="application/xml" part="parameters"/>
             </wsdl:input>
             <wsdl:output>
-                <mime:content type="text/xml" part="parameters"/>
+                <mime:content type="application/xml" part="parameters"/>
             </wsdl:output>
         </wsdl:operation>
         <wsdl:operation name="serviceGroupExist">
             <http:operation location="serviceGroupExist"/>
             <wsdl:input>
-                <mime:content type="text/xml" part="parameters"/>
+                <mime:content type="application/xml" part="parameters"/>
             </wsdl:input>
             <wsdl:output>
-                <mime:content type="text/xml" part="parameters"/>
+                <mime:content type="application/xml" part="parameters"/>
             </wsdl:output>
         </wsdl:operation>
         <wsdl:operation name="getDeploymentPolicy">
             <http:operation location="getDeploymentPolicy"/>
             <wsdl:input>
-                <mime:content type="text/xml" part="parameters"/>
+                <mime:content type="application/xml" part="parameters"/>
     

<TRUNCATED>

[2/3] stratos git commit: Validate whether multi-tenant applications have active signups, before undeploying the application

Posted by di...@apache.org.
Validate whether multi-tenant applications have active signups, before undeploying the application


Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/89c821f6
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/89c821f6
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/89c821f6

Branch: refs/heads/stratos-4.1.x
Commit: 89c821f641275ba5ece35546ccfdac37aecbbd78
Parents: 3af354c
Author: Dinithi <di...@wso2.com>
Authored: Thu Sep 10 16:28:17 2015 +0530
Committer: Dinithi <di...@wso2.com>
Committed: Thu Sep 10 16:28:17 2015 +0530

----------------------------------------------------------------------
 .../UnremovableApplicationException.java        |  27 +
 .../autoscaler/services/AutoscalerService.java  |   2 +-
 .../services/impl/AutoscalerServiceImpl.java    |  76 +-
 .../common/client/AutoscalerServiceClient.java  |   5 +-
 .../rest/endpoint/api/StratosApiV41Utils.java   |   9 +-
 .../src/main/resources/AutoscalerService.wsdl   | 754 ++++++++++---------
 6 files changed, 500 insertions(+), 373 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/89c821f6/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/exception/application/UnremovableApplicationException.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/exception/application/UnremovableApplicationException.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/exception/application/UnremovableApplicationException.java
new file mode 100644
index 0000000..1d8fcb0
--- /dev/null
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/exception/application/UnremovableApplicationException.java
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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 org.apache.stratos.autoscaler.exception.application;
+
+import org.apache.stratos.autoscaler.exception.AutoScalerException;
+
+public class UnremovableApplicationException extends AutoScalerException {
+    public UnremovableApplicationException(String msg) {
+        super(msg);
+    }
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/89c821f6/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/AutoscalerService.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/AutoscalerService.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/AutoscalerService.java
index d984d64..c5091a4 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/AutoscalerService.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/AutoscalerService.java
@@ -136,7 +136,7 @@ public interface AutoscalerService {
      * @return
      */
 
-    public boolean undeployApplication(String applicationId, boolean force);
+    public boolean undeployApplication(String applicationId, boolean force) throws Exception;
 
     /**
      * Delete an application

http://git-wip-us.apache.org/repos/asf/stratos/blob/89c821f6/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java
index 738ced9..47b03bb 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java
@@ -39,6 +39,7 @@ import org.apache.stratos.autoscaler.exception.*;
 import org.apache.stratos.autoscaler.exception.application.ApplicationDefinitionException;
 import org.apache.stratos.autoscaler.exception.application.InvalidApplicationPolicyException;
 import org.apache.stratos.autoscaler.exception.application.InvalidServiceGroupException;
+import org.apache.stratos.autoscaler.exception.application.UnremovableApplicationException;
 import org.apache.stratos.autoscaler.exception.policy.*;
 import org.apache.stratos.autoscaler.monitor.cluster.ClusterMonitor;
 import org.apache.stratos.autoscaler.monitor.component.ApplicationMonitor;
@@ -63,6 +64,7 @@ import org.apache.stratos.common.constants.StratosConstants;
 import org.apache.stratos.common.partition.NetworkPartitionRef;
 import org.apache.stratos.common.partition.PartitionRef;
 import org.apache.stratos.common.util.CommonUtil;
+import org.apache.stratos.manager.service.stub.StratosManagerServiceApplicationSignUpExceptionException;
 import org.apache.stratos.manager.service.stub.domain.application.signup.ApplicationSignUp;
 import org.apache.stratos.manager.service.stub.domain.application.signup.ArtifactRepository;
 import org.apache.stratos.messaging.domain.application.Application;
@@ -464,7 +466,8 @@ public class AutoscalerServiceImpl implements AutoscalerService {
         }
     }
 
-    public boolean undeployApplication(String applicationId, boolean force) {
+    public boolean undeployApplication(String applicationId, boolean force) throws RemoteException,
+            StratosManagerServiceApplicationSignUpExceptionException, UnremovableApplicationException {
 
         AutoscalerContext asCtx = AutoscalerContext.getInstance();
         ApplicationMonitor appMonitor = asCtx.getAppMonitor(applicationId);
@@ -474,39 +477,58 @@ public class AutoscalerServiceImpl implements AutoscalerService {
                     "hence returning", applicationId));
             return false;
         }
-        if (!force) {
-            // Graceful un-deployment flow
-            if (appMonitor.isTerminating()) {
-                log.info("Application monitor is already in terminating, graceful " +
-                        "un-deployment is has already been attempted thus not invoking again");
-                return false;
-            } else {
-                log.info(String.format("Gracefully un-deploying the [application] %s ", applicationId));
-                appMonitor.setTerminating(true);
-                undeployApplicationGracefully(applicationId);
+
+        boolean applicationSignUpExists =false;
+
+        ApplicationContext applicationContext = RegistryManager.getInstance().getApplicationContext(applicationId);
+        if(applicationContext.isMultiTenant()){
+            StratosManagerServiceClient serviceClient = StratosManagerServiceClient.getInstance();
+            ApplicationSignUp applicationSignUps[] = serviceClient.getApplicationSignUps(applicationId);
+
+            if (applicationSignUps != null) {
+                applicationSignUpExists = true;
             }
-        } else {
-            // force un-deployment flow
-            if (appMonitor.isTerminating()) {
+        }
 
-                if (appMonitor.isForce()) {
-                    log.warn(String.format("Force un-deployment is already in progress, " +
-                            "hence not invoking again " +
-                            "[application-id] %s", applicationId));
+        if (!applicationSignUpExists) {
+            if (!force) {
+                // Graceful un-deployment flow
+                if (appMonitor.isTerminating()) {
+                    log.info("Application monitor is already in terminating, graceful " +
+                            "un-deployment is has already been attempted thus not invoking again");
                     return false;
                 } else {
-                    log.info(String.format("Previous graceful un-deployment is in progress for " +
-                                    "[application-id] %s , thus  terminating instances directly",
-                            applicationId));
-                    appMonitor.setForce(true);
-                    terminateAllMembersAndClustersForcefully(applicationId);
+                    log.info(String.format("Gracefully un-deploying the [application] %s ", applicationId));
+                    appMonitor.setTerminating(true);
+                    undeployApplicationGracefully(applicationId);
                 }
             } else {
-                log.info(String.format("Forcefully un-deploying the application " + applicationId));
-                appMonitor.setTerminating(true);
-                appMonitor.setForce(true);
-                undeployApplicationGracefully(applicationId);
+                // force un-deployment flow
+                if (appMonitor.isTerminating()) {
+
+                    if (appMonitor.isForce()) {
+                        log.warn(String.format("Force un-deployment is already in progress, " +
+                                "hence not invoking again " +
+                                "[application-id] %s", applicationId));
+                        return false;
+                    } else {
+                        log.info(String.format("Previous graceful un-deployment is in progress for " +
+                                        "[application-id] %s , thus  terminating instances directly",
+                                applicationId));
+                        appMonitor.setForce(true);
+                        terminateAllMembersAndClustersForcefully(applicationId);
+                    }
+                } else {
+                    log.info(String.format("Forcefully un-deploying the application " + applicationId));
+                    appMonitor.setTerminating(true);
+                    appMonitor.setForce(true);
+                    undeployApplicationGracefully(applicationId);
+                }
             }
+        } else {
+            String msg = "Application could not undeploy since it has application signups";
+            log.error(msg);
+            throw new UnremovableApplicationException(msg);
         }
         return true;
     }

http://git-wip-us.apache.org/repos/asf/stratos/blob/89c821f6/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/AutoscalerServiceClient.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/AutoscalerServiceClient.java b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/AutoscalerServiceClient.java
index 5d6bf16..fdbc54d 100644
--- a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/AutoscalerServiceClient.java
+++ b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/AutoscalerServiceClient.java
@@ -152,7 +152,10 @@ public class AutoscalerServiceClient {
     }
 
     public void undeployApplication(String applicationId, boolean force) throws
-            AutoscalerServiceApplicationDefinitionExceptionException, RemoteException {
+            AutoscalerServiceApplicationDefinitionExceptionException, RemoteException,
+            AutoscalerServiceRemoteExceptionException,
+            AutoscalerServiceStratosManagerServiceApplicationSignUpExceptionExceptionException,
+            AutoscalerServiceUnremovableApplicationExceptionException {
         stub.undeployApplication(applicationId, force);
     }
 

http://git-wip-us.apache.org/repos/asf/stratos/blob/89c821f6/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
index b584cfe..6402251 100644
--- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
@@ -1896,12 +1896,15 @@ public class StratosApiV41Utils {
         if (autoscalerServiceClient != null) {
             try {
                 autoscalerServiceClient.undeployApplication(applicationId, force);
-            } catch (RemoteException e) {
+            } catch (RemoteException | AutoscalerServiceApplicationDefinitionExceptionException
+                    | AutoscalerServiceRemoteExceptionException |
+                    AutoscalerServiceStratosManagerServiceApplicationSignUpExceptionExceptionException e) {
                 String message = "Could not undeploy application: [application-id] " + applicationId;
                 log.error(message, e);
                 throw new RestAPIException(message, e);
-            } catch (AutoscalerServiceApplicationDefinitionExceptionException e) {
-                String message = "Could not undeploy application: [application-id] " + applicationId;
+            } catch (AutoscalerServiceUnremovableApplicationExceptionException e) {
+                String message = "Could not undeploy application: [application-id] " + applicationId + " since it has" +
+                        " application signups";
                 log.error(message, e);
                 throw new RestAPIException(message, e);
             }


[3/3] stratos git commit: Resolve merge conflicts

Posted by di...@apache.org.
Resolve merge conflicts


Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/f78e627b
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/f78e627b
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/f78e627b

Branch: refs/heads/stratos-4.1.x
Commit: f78e627b6969eb5bfeef42b4eac0b92abe75600d
Parents: 89c821f f14d741
Author: Dinithi <di...@wso2.com>
Authored: Thu Sep 10 22:21:16 2015 +0530
Committer: Dinithi <di...@wso2.com>
Committed: Thu Sep 10 22:21:16 2015 +0530

----------------------------------------------------------------------
 .../stratos/autoscaler/util/AutoscalerUtil.java |  74 +-
 .../iaases/kubernetes/KubernetesIaas.java       |  51 +-
 .../applications/application_requests.jag       |   3 +
 .../console/controllers/rest/rest_calls.jag     |   4 +
 .../console/themes/theme0/css/custom.css        |   2 +-
 .../theme0/partials/applications_form.hbs       |  59 +-
 .../metadata/service/api/MetadataApi.java       |   4 +-
 .../service/registry/CarbonRegistry.java        | 307 --------
 .../metadata/service/registry/DataStore.java    |   2 -
 .../service/registry/MetadataApiRegistry.java   | 307 ++++++++
 .../rest/endpoint/api/StratosApiV41.java        |  73 +-
 .../rest/endpoint/api/StratosApiV41Utils.java   |  66 +-
 pom.xml                                         |  64 ++
 products/stratos/modules/integration/pom.xml    | 161 +----
 .../integration/tests/RestConstants.java        |  55 --
 .../tests/StratosTestServerManager.java         | 232 ------
 .../integration/tests/TopologyHandler.java      | 697 -------------------
 .../application/ApplicationBurstingTest.java    | 227 ------
 .../application/ApplicationUpdateTest.java      | 243 -------
 .../application/GroupStartupOrderTest.java      | 362 ----------
 .../GroupTerminationBehaviorTest.java           | 428 ------------
 .../PartitionOneAfterAnotherClusterTest.java    | 298 --------
 .../PartitionRoundRobinClusterTest.java         | 305 --------
 .../application/SampleApplicationsTest.java     | 409 -----------
 .../application/SingleClusterScalingTest.java   | 365 ----------
 .../tests/group/CartridgeGroupTest.java         | 266 -------
 .../integration/tests/group/CartridgeTest.java  | 199 ------
 .../tests/policies/ApplicationPolicyTest.java   | 237 -------
 .../tests/policies/AutoscalingPolicyTest.java   | 170 -----
 .../tests/policies/DeploymentPolicyTest.java    | 281 --------
 .../tests/policies/NetworkPartitionTest.java    | 168 -----
 .../integration/tests/rest/ErrorResponse.java   |  56 --
 .../integration/tests/rest/HttpResponse.java    |  59 --
 .../tests/rest/HttpResponseHandler.java         |  68 --
 .../tests/rest/IntegrationMockClient.java       | 102 ---
 .../integration/tests/rest/RestClient.java      | 387 ----------
 .../tests/rest/WebClientWrapper.java            |  62 --
 .../integration/tests/users/TenantTest.java     |  44 --
 .../integration/tests/users/UserTest.java       | 115 ---
 .../src/test/resources/JMSOutputAdaptor.xml     |  30 -
 ...cation-policy-application-bursting-test.json |  18 -
 .../app-bursting-single-cartriddge-group.json   |  70 --
 ...caling-policy-application-bursting-test.json |  14 -
 ...esb-php-group-application-bursting-test.json |  19 -
 .../mock/esb-application-bursting-test.json     |  50 --
 .../mock/php-application-bursting-test.json     |  51 --
 .../mock/tomcat-application-bursting-test.json  |  53 --
 ...oyment-policy-application-bursting-test.json |  32 -
 ...k-partition-application-bursting-test-1.json |  15 -
 ...k-partition-application-bursting-test-2.json |  24 -
 ...cation-policy-application-policy-test-1.json |  18 -
 ...cation-policy-application-policy-test-2.json |  18 -
 ...lication-policy-application-policy-test.json |  18 -
 ...ork-partition-application-policy-test-1.json |  24 -
 ...ork-partition-application-policy-test-2.json |  15 -
 ...lication-policy-application-update-test.json |  18 -
 .../g-sc-G123-1-application-update-test-v1.json |  86 ---
 .../g-sc-G123-1-application-update-test.json    |  86 ---
 ...oscaling-policy-application-update-test.json |  14 -
 ...rdige-nested-application-update-test-v1.json |  50 --
 ...artrdige-nested-application-update-test.json |  50 --
 .../mock/c1-application-update-test.json        |  45 --
 .../mock/c2-application-update-test.json        |  45 --
 .../mock/c3-application-update-test.json        |  45 --
 ...yment-policy-application-update-test-v1.json |  36 -
 ...ployment-policy-application-update-test.json |  32 -
 ...-partition-application-update-test-1-v1.json |  28 -
 ...ork-partition-application-update-test-1.json |  15 -
 ...ork-partition-application-update-test-2.json |  24 -
 ...caling-policy-autoscaling-policy-test-1.json |  14 -
 ...caling-policy-autoscaling-policy-test-2.json |  14 -
 ...aling-policy-autoscaling-policy-test-v1.json |  14 -
 ...oscaling-policy-autoscaling-policy-test.json |  14 -
 .../g4-g5-g6-cartridge-group-test-v1.json       |  50 --
 .../g4-g5-g6-cartridge-group-test.json          |  50 --
 .../group-1-cartridge-group-test.json           |  50 --
 .../group-2-cartridge-group-test.json           |  50 --
 .../mock/c4-cartridge-group-test.json           |  45 --
 .../mock/c5-cartridge-group-test.json           | 124 ----
 .../mock/c6-cartridge-group-test.json           |  45 --
 .../cartridges/mock/c0-cartridge-test-v1.json   | 124 ----
 .../cartridges/mock/c0-cartridge-test.json      | 124 ----
 .../cartridges/mock/c1-cartridge-test.json      | 124 ----
 .../cartridges/mock/c2-cartridge-test.json      | 124 ----
 ...loyment-policy-deployment-policy-test-1.json |  32 -
 ...loyment-policy-deployment-policy-test-2.json |  32 -
 ...oyment-policy-deployment-policy-test-v1.json |  36 -
 ...eployment-policy-deployment-policy-test.json |  32 -
 ...k-partition-deployment-policy-test-1-v1.json |  28 -
 ...work-partition-deployment-policy-test-1.json |  15 -
 ...work-partition-deployment-policy-test-2.json |  24 -
 ...ication-policy-group-startup-order-test.json |  13 -
 .../applications/group-startup-order-test.json  | 206 ------
 ...scaling-policy-group-startup-order-test.json |  14 -
 .../group6-group-startup-order-test.json        |  44 --
 .../group8-group-startup-order-test.json        |  18 -
 .../mock/esb-group-startup-order-test.json      |  50 --
 .../mock/php-group-startup-order-test.json      |  51 --
 .../stratos-lb-group-startup-order-test.json    |  44 --
 .../mock/tomcat-group-startup-order-test.json   |  53 --
 .../mock/tomcat1-group-startup-order-test.json  |  45 --
 .../mock/tomcat2-group-startup-order-test.json  |  49 --
 .../mock/tomcat3-group-startup-order-test.json  |  31 -
 ...loyment-policy-group-startup-order-test.json |  18 -
 ...rk-partition-group-startup-order-test-1.json |  15 -
 ...rk-partition-group-startup-order-test-2.json |  24 -
 ...-policy-group-termination-behavior-test.json |  17 -
 .../group-termination-behavior-test.json        | 101 ---
 ...-policy-group-termination-behavior-test.json |  14 -
 ...-groups-group-termination-behavior-test.json |  58 --
 .../c1-group-termination-behavior-test.json     |  45 --
 .../c2-group-termination-behavior-test.json     |  45 --
 .../c3-group-termination-behavior-test.json     |  45 --
 .../c4-group-termination-behavior-test.json     |  45 --
 ...-policy-group-termination-behavior-test.json |  18 -
 ...ition-group-termination-behavior-test-1.json |  15 -
 .../src/test/resources/instrumentation.txt      |   1 -
 .../src/test/resources/jndi.properties          |  22 -
 .../src/test/resources/keys/wso2carbon.jks      | Bin 33260 -> 0 bytes
 .../src/test/resources/mock-iaas.xml            | 123 ----
 ...work-partition-network-partition-test-1.json |  15 -
 ...work-partition-network-partition-test-2.json |  15 -
 ...ork-partition-network-partition-test-v1.json |  28 -
 ...etwork-partition-network-partition-test.json |  15 -
 ...ation-policy-partition-round-robin-test.json |  13 -
 .../partition-round-robin-test.json             |  28 -
 ...aling-policy-partition-round-robin-test.json |  14 -
 .../mock/c7-partition-round-robin-test.json     |  45 --
 ...yment-policy-partition-round-robin-test.json |  22 -
 ...rk-partition-partition-round-robin-test.json |  24 -
 ...ication-policy-sample-applications-test.json |  18 -
 ...g-sc-G123-1-sample-applications-test-v1.json |  86 ---
 .../g-sc-G123-1-sample-applications-test.json   |  86 ---
 .../sample-applications-test-1.json             |  86 ---
 .../sample-applications-test-2.json             |  86 ---
 ...scaling-policy-sample-applications-test.json |  14 -
 ...dige-nested-sample-applications-test-v1.json |  50 --
 ...rtrdige-nested-sample-applications-test.json |  50 --
 .../mock/c1-sample-applications-test.json       |  45 --
 .../mock/c2-sample-applications-test.json       |  45 --
 .../mock/c3-sample-applications-test.json       |  45 --
 ...ment-policy-sample-applications-test-v1.json |  36 -
 ...loyment-policy-sample-applications-test.json |  32 -
 ...partition-sample-applications-test-1-v1.json |  28 -
 ...rk-partition-sample-applications-test-1.json |  15 -
 ...rk-partition-sample-applications-test-2.json |  24 -
 .../integration/src/test/resources/scaling.drl  | 311 ---------
 ...tion-policy-single-cluster-scaling-test.json |  13 -
 .../single-cluster-scaling-test.json            |  28 -
 ...ling-policy-single-cluster-scaling-test.json |  14 -
 .../mock/c7-single-cluster-scaling-test.json    |  45 --
 ...ment-policy-single-cluster-scaling-test.json |  22 -
 ...k-partition-single-cluster-scaling-test.json |  24 -
 .../src/test/resources/stratos-testing.xml      |  94 ---
 .../test-conf/integration-test.properties       |  26 -
 .../src/test/resources/user-test/tenant-1.json  |   9 -
 .../src/test/resources/user-test/user-1-v1.json |   8 -
 .../src/test/resources/user-test/user-1.json    |   8 -
 .../modules/integration/test-common/pom.xml     | 126 ++++
 .../integration/common/RestConstants.java       |  53 ++
 .../common/StratosTestServerManager.java        | 620 +++++++++++++++++
 .../integration/common/TopologyHandler.java     | 677 ++++++++++++++++++
 .../apache/stratos/integration/common/Util.java |  83 +++
 .../extensions/StratosServerExtension.java      | 196 ++++++
 .../integration/common/rest/ErrorResponse.java  |  54 ++
 .../integration/common/rest/HttpResponse.java   |  54 ++
 .../common/rest/HttpResponseHandler.java        |  66 ++
 .../common/rest/IntegrationMockClient.java      | 100 +++
 .../integration/common/rest/RestClient.java     | 385 ++++++++++
 .../common/rest/WebClientWrapper.java           |  60 ++
 .../integration/test-integration/pom.xml        | 226 ++++++
 .../tests/StratosIntegrationTest.java           |  55 ++
 .../application/ApplicationBurstingTest.java    | 235 +++++++
 .../application/ApplicationUpdateTest.java      | 247 +++++++
 .../application/GroupStartupOrderTest.java      | 377 ++++++++++
 .../GroupTerminationBehaviorTest.java           | 427 ++++++++++++
 .../PartitionOneAfterAnotherClusterTest.java    | 291 ++++++++
 .../PartitionRoundRobinClusterTest.java         | 298 ++++++++
 .../application/SampleApplicationsTest.java     | 419 +++++++++++
 .../application/SingleClusterScalingTest.java   | 369 ++++++++++
 .../tests/group/CartridgeGroupTest.java         | 272 ++++++++
 .../integration/tests/group/CartridgeTest.java  | 203 ++++++
 .../tests/policies/ApplicationPolicyTest.java   | 243 +++++++
 .../tests/policies/AutoscalingPolicyTest.java   | 173 +++++
 .../tests/policies/DeploymentPolicyTest.java    | 285 ++++++++
 .../tests/policies/NetworkPartitionTest.java    | 170 +++++
 .../integration/tests/users/TenantTest.java     |  42 ++
 .../integration/tests/users/UserTest.java       | 112 +++
 ...cation-policy-application-bursting-test.json |  18 +
 .../app-bursting-single-cartriddge-group.json   |  70 ++
 ...caling-policy-application-bursting-test.json |  14 +
 ...esb-php-group-application-bursting-test.json |  19 +
 .../mock/esb-application-bursting-test.json     |  50 ++
 .../mock/php-application-bursting-test.json     |  51 ++
 .../mock/tomcat-application-bursting-test.json  |  53 ++
 ...oyment-policy-application-bursting-test.json |  32 +
 ...k-partition-application-bursting-test-1.json |  15 +
 ...k-partition-application-bursting-test-2.json |  24 +
 ...cation-policy-application-policy-test-1.json |  18 +
 ...cation-policy-application-policy-test-2.json |  18 +
 ...lication-policy-application-policy-test.json |  18 +
 ...ork-partition-application-policy-test-1.json |  24 +
 ...ork-partition-application-policy-test-2.json |  15 +
 ...lication-policy-application-update-test.json |  18 +
 .../g-sc-G123-1-application-update-test-v1.json |  86 +++
 .../g-sc-G123-1-application-update-test.json    |  86 +++
 ...oscaling-policy-application-update-test.json |  14 +
 ...rdige-nested-application-update-test-v1.json |  50 ++
 ...artrdige-nested-application-update-test.json |  50 ++
 .../mock/c1-application-update-test.json        |  45 ++
 .../mock/c2-application-update-test.json        |  45 ++
 .../mock/c3-application-update-test.json        |  45 ++
 ...yment-policy-application-update-test-v1.json |  36 +
 ...ployment-policy-application-update-test.json |  32 +
 ...-partition-application-update-test-1-v1.json |  28 +
 ...ork-partition-application-update-test-1.json |  15 +
 ...ork-partition-application-update-test-2.json |  24 +
 .../src/test/resources/automation.xml           | 234 +++++++
 .../src/test/resources/automationSchema.xsd     | 573 +++++++++++++++
 ...caling-policy-autoscaling-policy-test-1.json |  14 +
 ...caling-policy-autoscaling-policy-test-2.json |  14 +
 ...aling-policy-autoscaling-policy-test-v1.json |  14 +
 ...oscaling-policy-autoscaling-policy-test.json |  14 +
 .../g4-g5-g6-cartridge-group-test-v1.json       |  50 ++
 .../g4-g5-g6-cartridge-group-test.json          |  50 ++
 .../group-1-cartridge-group-test.json           |  50 ++
 .../group-2-cartridge-group-test.json           |  50 ++
 .../mock/c4-cartridge-group-test.json           |  45 ++
 .../mock/c5-cartridge-group-test.json           | 124 ++++
 .../mock/c6-cartridge-group-test.json           |  45 ++
 .../cartridges/mock/c0-cartridge-test-v1.json   | 124 ++++
 .../cartridges/mock/c0-cartridge-test.json      | 124 ++++
 .../cartridges/mock/c1-cartridge-test.json      | 124 ++++
 .../cartridges/mock/c2-cartridge-test.json      | 124 ++++
 .../test/resources/common/JMSOutputAdaptor.xml  |  30 +
 .../src/test/resources/common/autoscaler.xml    |  57 ++
 .../common/cartridge-config.properties          |  27 +
 .../test/resources/common/cloud-controller.xml  |  81 +++
 .../src/test/resources/common/identity.xml      | 260 +++++++
 .../src/test/resources/common/jndi.properties   |  22 +
 .../src/test/resources/common/log4j.properties  | 206 ++++++
 .../src/test/resources/common/mock-iaas.xml     | 123 ++++
 .../src/test/resources/common/scaling.drl       | 311 +++++++++
 .../resources/common/thrift-client-config.xml   |  27 +
 ...loyment-policy-deployment-policy-test-1.json |  32 +
 ...loyment-policy-deployment-policy-test-2.json |  32 +
 ...oyment-policy-deployment-policy-test-v1.json |  36 +
 ...eployment-policy-deployment-policy-test.json |  32 +
 ...k-partition-deployment-policy-test-1-v1.json |  28 +
 ...work-partition-deployment-policy-test-1.json |  15 +
 ...work-partition-deployment-policy-test-2.json |  24 +
 .../src/test/resources/filters.txt              |  16 +
 ...ication-policy-group-startup-order-test.json |  13 +
 .../applications/group-startup-order-test.json  | 206 ++++++
 ...scaling-policy-group-startup-order-test.json |  14 +
 .../group6-group-startup-order-test.json        |  44 ++
 .../group8-group-startup-order-test.json        |  18 +
 .../mock/esb-group-startup-order-test.json      |  50 ++
 .../mock/php-group-startup-order-test.json      |  51 ++
 .../stratos-lb-group-startup-order-test.json    |  44 ++
 .../mock/tomcat-group-startup-order-test.json   |  53 ++
 .../mock/tomcat1-group-startup-order-test.json  |  45 ++
 .../mock/tomcat2-group-startup-order-test.json  |  49 ++
 .../mock/tomcat3-group-startup-order-test.json  |  31 +
 ...loyment-policy-group-startup-order-test.json |  18 +
 ...rk-partition-group-startup-order-test-1.json |  15 +
 ...rk-partition-group-startup-order-test-2.json |  24 +
 ...-policy-group-termination-behavior-test.json |  17 +
 .../group-termination-behavior-test.json        | 101 +++
 ...-policy-group-termination-behavior-test.json |  14 +
 ...-groups-group-termination-behavior-test.json |  58 ++
 .../c1-group-termination-behavior-test.json     |  45 ++
 .../c2-group-termination-behavior-test.json     |  45 ++
 .../c3-group-termination-behavior-test.json     |  45 ++
 .../c4-group-termination-behavior-test.json     |  45 ++
 ...-policy-group-termination-behavior-test.json |  18 +
 ...ition-group-termination-behavior-test-1.json |  15 +
 .../src/test/resources/instrumentation.txt      |   1 +
 .../keystores/products/client-truststore.jks    | Bin 0 -> 37935 bytes
 .../resources/keystores/products/userRP.jks     | Bin 0 -> 33278 bytes
 .../resources/keystores/products/wso2carbon.jks | Bin 0 -> 33260 bytes
 ...work-partition-network-partition-test-1.json |  15 +
 ...work-partition-network-partition-test-2.json |  15 +
 ...ork-partition-network-partition-test-v1.json |  28 +
 ...etwork-partition-network-partition-test.json |  15 +
 ...ation-policy-partition-round-robin-test.json |  13 +
 .../partition-round-robin-test.json             |  28 +
 ...aling-policy-partition-round-robin-test.json |  14 +
 .../mock/c7-partition-round-robin-test.json     |  45 ++
 ...yment-policy-partition-round-robin-test.json |  22 +
 ...rk-partition-partition-round-robin-test.json |  24 +
 ...ication-policy-sample-applications-test.json |  18 +
 ...g-sc-G123-1-sample-applications-test-v1.json |  86 +++
 .../g-sc-G123-1-sample-applications-test.json   |  86 +++
 .../sample-applications-test-1.json             |  86 +++
 .../sample-applications-test-2.json             |  86 +++
 ...scaling-policy-sample-applications-test.json |  14 +
 ...dige-nested-sample-applications-test-v1.json |  50 ++
 ...rtrdige-nested-sample-applications-test.json |  50 ++
 .../mock/c1-sample-applications-test.json       |  45 ++
 .../mock/c2-sample-applications-test.json       |  45 ++
 .../mock/c3-sample-applications-test.json       |  45 ++
 ...ment-policy-sample-applications-test-v1.json |  36 +
 ...loyment-policy-sample-applications-test.json |  32 +
 ...partition-sample-applications-test-1-v1.json |  28 +
 ...rk-partition-sample-applications-test-1.json |  15 +
 ...rk-partition-sample-applications-test-2.json |  24 +
 ...tion-policy-single-cluster-scaling-test.json |  13 +
 .../single-cluster-scaling-test.json            |  28 +
 ...ling-policy-single-cluster-scaling-test.json |  14 +
 .../mock/c7-single-cluster-scaling-test.json    |  45 ++
 ...ment-policy-single-cluster-scaling-test.json |  22 +
 ...k-partition-single-cluster-scaling-test.json |  24 +
 .../src/test/resources/stratos-testng.xml       | 101 +++
 .../src/test/resources/user-test/tenant-1.json  |   9 +
 .../src/test/resources/user-test/user-1-v1.json |   8 +
 .../src/test/resources/user-test/user-1.json    |   8 +
 317 files changed, 14020 insertions(+), 11370 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/f78e627b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
----------------------------------------------------------------------
diff --cc components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
index 6402251,098e6c7..47fad4b
--- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
@@@ -1896,9 -1900,15 +1900,18 @@@ public class StratosApiV41Utils 
          if (autoscalerServiceClient != null) {
              try {
                  autoscalerServiceClient.undeployApplication(applicationId, force);
+ 
+                 try {
+                     clearMetadata(applicationId);
+                 } catch (RegistryException e) {
+                     String message = "Could not remove application metadata: [application-id] " + applicationId;
+                     log.error(message, e);
+                     throw new RestAPIException(message, e);
+                 }
+             } catch (RemoteException e) {
 +            } catch (RemoteException | AutoscalerServiceApplicationDefinitionExceptionException
 +                    | AutoscalerServiceRemoteExceptionException |
 +                    AutoscalerServiceStratosManagerServiceApplicationSignUpExceptionExceptionException e) {
                  String message = "Could not undeploy application: [application-id] " + applicationId;
                  log.error(message, e);
                  throw new RestAPIException(message, e);