Repository: stratos
Updated Branches:
  refs/heads/master 764f7dbe5 -> 0e2bbd6da


adding exception handling in client side for application


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

Branch: refs/heads/master
Commit: 0e2bbd6da515a2a4b78978a1efc6a339886e483d
Parents: 65599e5
Author: reka <[email protected]>
Authored: Wed May 20 16:59:15 2015 +0530
Committer: reka <[email protected]>
Committed: Wed May 20 17:03:48 2015 +0530

----------------------------------------------------------------------
 .../applications/parser/ApplicationParser.java  |   2 +-
 .../parser/DefaultApplicationParser.java        |   7 +-
 .../exception/CartridgeNotFoundException.java   |  37 ++
 .../cartridge/CartridgeNotFoundException.java   |  37 --
 .../autoscaler/services/AutoscalerService.java  |   9 +-
 .../services/impl/AutoscalerServiceImpl.java    |   2 +-
 .../src/main/resources/AutoscalerService.wsdl   | 342 ++++++++++---------
 7 files changed, 224 insertions(+), 212 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/0e2bbd6d/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/parser/ApplicationParser.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/parser/ApplicationParser.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/parser/ApplicationParser.java
index 5ef391f..b523a46 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/parser/ApplicationParser.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/parser/ApplicationParser.java
@@ -24,7 +24,7 @@ import 
org.apache.stratos.autoscaler.applications.pojo.ApplicationClusterContext
 import org.apache.stratos.autoscaler.applications.pojo.ApplicationContext;
 import org.apache.stratos.autoscaler.exception.CartridgeGroupNotFoundException;
 import 
org.apache.stratos.autoscaler.exception.application.ApplicationDefinitionException;
-import 
org.apache.stratos.autoscaler.exception.cartridge.CartridgeNotFoundException;
+import org.apache.stratos.autoscaler.exception.CartridgeNotFoundException;
 import org.apache.stratos.common.Properties;
 import org.apache.stratos.messaging.domain.application.Application;
 

http://git-wip-us.apache.org/repos/asf/stratos/blob/0e2bbd6d/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/parser/DefaultApplicationParser.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/parser/DefaultApplicationParser.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/parser/DefaultApplicationParser.java
index 87dc0fc..3fc870b 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/parser/DefaultApplicationParser.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/parser/DefaultApplicationParser.java
@@ -35,7 +35,7 @@ import 
org.apache.stratos.autoscaler.client.OAuthAdminServiceClient;
 import org.apache.stratos.autoscaler.exception.AutoScalerException;
 import org.apache.stratos.autoscaler.exception.CartridgeGroupNotFoundException;
 import 
org.apache.stratos.autoscaler.exception.application.ApplicationDefinitionException;
-import 
org.apache.stratos.autoscaler.exception.cartridge.CartridgeNotFoundException;
+import org.apache.stratos.autoscaler.exception.CartridgeNotFoundException;
 import org.apache.stratos.autoscaler.pojo.ServiceGroup;
 import org.apache.stratos.autoscaler.pojo.policy.PolicyManager;
 import org.apache.stratos.autoscaler.pojo.policy.autoscale.AutoscalePolicy;
@@ -570,6 +570,7 @@ public class DefaultApplicationParser implements 
ApplicationParser {
         for (GroupContext groupCtxt : groupCtxts) {
             ServiceGroup serviceGroup = getServiceGroup(groupCtxt.getName());
             if (serviceGroup == null) {
+                log.error("Cartridge group not found group-name: " + 
groupCtxt.getName());
                 throw new CartridgeGroupNotFoundException("Cartridge group not 
found group-name: "
                         + groupCtxt.getName());
             }
@@ -597,6 +598,9 @@ public class DefaultApplicationParser implements 
ApplicationParser {
         List<String> cartridgeTypes = 
findCartridgeTypesInServiceGroup(serviceGroup);
         for (String cartridgeType : cartridgeTypes) {
             if (findClusterDataInGroup(group, cartridgeType) == null) {
+                log.error(String.format("Cartridge %s not defined in cartridge 
group: " +
+                                "[application] %s [cartridge-group-name] %s 
[cartridge-group-alias] %s",
+                        cartridgeType, applicationId, group.getName(), 
group.getAlias()));
                 throw new CartridgeNotFoundException(String.format("Cartridge 
%s not defined in cartridge group: " +
                                 "[application] %s [cartridge-group-name] %s 
[cartridge-group-alias] %s",
                         cartridgeType, applicationId, group.getName(), 
group.getAlias()));
@@ -991,6 +995,7 @@ public class DefaultApplicationParser implements 
ApplicationParser {
         try {
             return 
CloudControllerServiceClient.getInstance().getCartridge(cartridgeType);
         } catch (Exception e) {
+            log.error("Unable to get the cartridge: " + cartridgeType, e);
             throw new ApplicationDefinitionException(e);
         }
     }

http://git-wip-us.apache.org/repos/asf/stratos/blob/0e2bbd6d/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/exception/CartridgeNotFoundException.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/exception/CartridgeNotFoundException.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/exception/CartridgeNotFoundException.java
new file mode 100644
index 0000000..69051a0
--- /dev/null
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/exception/CartridgeNotFoundException.java
@@ -0,0 +1,37 @@
+/*
+ * 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;
+
+/**
+ * When cartridge is not there, this particular exception needs to be thrown
+ */
+public class CartridgeNotFoundException extends Exception {
+    private String message;
+
+    public CartridgeNotFoundException(String message) {
+        super(message);
+        this.message = message;
+    }
+
+
+    @Override
+    public String getMessage() {
+        return message;
+    }
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/0e2bbd6d/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/exception/cartridge/CartridgeNotFoundException.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/exception/cartridge/CartridgeNotFoundException.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/exception/cartridge/CartridgeNotFoundException.java
deleted file mode 100644
index 6ff72ad..0000000
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/exception/cartridge/CartridgeNotFoundException.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * 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.cartridge;
-
-/**
- * When cartridge is not there, this particular exception needs to be thrown
- */
-public class CartridgeNotFoundException extends Exception {
-    private String message;
-
-    public CartridgeNotFoundException(String message) {
-        super(message);
-        this.message = message;
-    }
-
-
-    @Override
-    public String getMessage() {
-        return message;
-    }
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/0e2bbd6d/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 8af3b56..d984d64 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
@@ -26,7 +26,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.cartridge.CartridgeNotFoundException;
+import org.apache.stratos.autoscaler.exception.CartridgeNotFoundException;
 import org.apache.stratos.autoscaler.exception.policy.*;
 import org.apache.stratos.autoscaler.pojo.ServiceGroup;
 import org.apache.stratos.autoscaler.pojo.policy.autoscale.AutoscalePolicy;
@@ -86,7 +86,9 @@ public interface AutoscalerService {
      * @param applicationContext {@link ApplicationContext}
      * @throws ApplicationDefinitionException if an error occurs
      */
-    public boolean addApplication(ApplicationContext applicationContext) 
throws ApplicationDefinitionException, CartridgeGroupNotFoundException, 
CartridgeNotFoundException;
+    public boolean addApplication(ApplicationContext applicationContext)
+            throws ApplicationDefinitionException, 
CartridgeGroupNotFoundException,
+            CartridgeNotFoundException;
 
     /**
      * update an application
@@ -94,7 +96,8 @@ public interface AutoscalerService {
      * @param applicationContext {@link 
org.apache.stratos.autoscaler.applications.pojo.ApplicationContext}
      * @throws ApplicationDefinitionException if an error occurs
      */
-    public boolean updateApplication(ApplicationContext applicationContext) 
throws ApplicationDefinitionException, CartridgeGroupNotFoundException, 
CartridgeNotFoundException;
+    public boolean updateApplication(ApplicationContext applicationContext)
+            throws ApplicationDefinitionException, 
CartridgeGroupNotFoundException, CartridgeNotFoundException;
 
 
     /**

http://git-wip-us.apache.org/repos/asf/stratos/blob/0e2bbd6d/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 4a09de4..1d97697 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
@@ -36,7 +36,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.cartridge.CartridgeNotFoundException;
+import org.apache.stratos.autoscaler.exception.CartridgeNotFoundException;
 import org.apache.stratos.autoscaler.exception.policy.*;
 import org.apache.stratos.autoscaler.monitor.cluster.ClusterMonitor;
 import org.apache.stratos.autoscaler.monitor.component.ApplicationMonitor;

http://git-wip-us.apache.org/repos/asf/stratos/blob/0e2bbd6d/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 2016ff7..52a1b75 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:ax27="http://common.stratos.apache.org/xsd"; 
xmlns:ns="http://impl.services.autoscaler.stratos.apache.org"; 
xmlns:ax25="http://deployment.policy.pojo.autoscaler.stratos.apache.org/xsd"; 
xmlns:ax26="http://partition.common.stratos.apache.org/xsd"; 
xmlns:ax23="http://autoscale.policy.pojo.autoscaler.stratos.apache.org/xsd"; 
xmlns:ax21="http://exception.autoscaler.stratos.apache.org/xsd"; 
xmlns:ax217="http://application.exception.autoscaler.stratos.apache.org/xsd"; 
xmlns:xs="http://www.w3.org/2001/XMLSchema"; 
xmlns:ax215="http://policy.exception.autoscaler.stratos.apache.org/xsd"; 
xmlns:ns1="http://org.apache.axis2/xsd"; 
xmlns:ax220="http://pojo.autoscaler.stratos.apache.org/xsd"; 
xmlns:ax212="http://io.java/xsd"; 
xmlns:ax222="http://pojo.applications.autoscaler.stratos.apache.org/xsd"; 
xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"; 
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"; x
 mlns:ax211="http://rmi.java/xsd"; 
xmlns:ax225="http://cartridge.exception.autoscaler.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:ns="http://impl.services.autoscaler.stratos.apache.org"; 
xmlns:ax27="http://rmi.java/xsd"; xmlns:ax28="http://io.java/xsd"; 
xmlns:ax23="http://common.stratos.apache.org/xsd"; 
xmlns:ax21="http://deployment.policy.pojo.autoscaler.stratos.apache.org/xsd"; 
xmlns:xs="http://www.w3.org/2001/XMLSchema"; 
xmlns:ax22="http://partition.common.stratos.apache.org/xsd"; 
xmlns:ax219="http://pojo.autoscaler.stratos.apache.org/xsd"; 
xmlns:ns1="http://org.apache.axis2/xsd"; 
xmlns:ax215="http://application.exception.autoscaler.stratos.apache.org/xsd"; 
xmlns:ax221="http://pojo.applications.autoscaler.stratos.apache.org/xsd"; 
xmlns:ax213="http://exception.autoscaler.stratos.apache.org/xsd"; 
xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"; 
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"; 
xmlns:ax211="http://policy.exception.autoscaler.stratos.apache.org/xsd"; 
xmlns:ax224="http://autoscale.policy.pojo.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";>
     <wsdl:types>
-        <xs:schema xmlns:ax213="http://io.java/xsd"; 
attributeFormDefault="qualified" elementFormDefault="qualified" 
targetNamespace="http://rmi.java/xsd";>
+        <xs:schema xmlns:ax29="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="ax212:IOException">
+                    <xs:extension base="ax29: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="ax23:LoadThresholds"/>
+                    <xs:element minOccurs="0" name="loadThresholds" 
nillable="true" type="ax224:LoadThresholds"/>
                     <xs:element minOccurs="0" name="tenantId" type="xs:int"/>
                 </xs:sequence>
             </xs:complexType>
@@ -33,24 +33,17 @@
                 </xs:sequence>
             </xs:complexType>
         </xs:schema>
-        <xs:schema attributeFormDefault="qualified" 
elementFormDefault="qualified" 
targetNamespace="http://cartridge.exception.autoscaler.stratos.apache.org/xsd";>
-            <xs:complexType name="CartridgeNotFoundException">
-                <xs:sequence>
-                    <xs:element minOccurs="0" name="message" nillable="true" 
type="xs:string"/>
-                </xs:sequence>
-            </xs:complexType>
-        </xs:schema>
-        <xs:schema xmlns:ax223="http://common.stratos.apache.org/xsd"; 
attributeFormDefault="qualified" elementFormDefault="qualified" 
targetNamespace="http://pojo.applications.autoscaler.stratos.apache.org/xsd";>
+        <xs:schema xmlns:ax222="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="ax222:ComponentContext"/>
+                    <xs:element minOccurs="0" name="components" 
nillable="true" type="ax221: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"/>
-                    <xs:element minOccurs="0" name="properties" 
nillable="true" type="ax27:Properties"/>
+                    <xs:element minOccurs="0" name="properties" 
nillable="true" type="ax23:Properties"/>
                     <xs:element minOccurs="0" name="status" nillable="true" 
type="xs:string"/>
                     <xs:element minOccurs="0" name="tenantAdminUsername" 
nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="tenantDomain" 
nillable="true" type="xs:string"/>
@@ -59,10 +52,10 @@
             </xs:complexType>
             <xs:complexType name="ComponentContext">
                 <xs:sequence>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" 
name="applicationClusterContexts" nillable="true" 
type="ax222:ApplicationClusterContext"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" 
name="cartridgeContexts" nillable="true" type="ax222:CartridgeContext"/>
-                    <xs:element minOccurs="0" name="dependencyContext" 
nillable="true" type="ax222:DependencyContext"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" 
name="groupContexts" nillable="true" type="ax222:GroupContext"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" 
name="applicationClusterContexts" nillable="true" 
type="ax221:ApplicationClusterContext"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" 
name="cartridgeContexts" nillable="true" type="ax221:CartridgeContext"/>
+                    <xs:element minOccurs="0" name="dependencyContext" 
nillable="true" type="ax221:DependencyContext"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" 
name="groupContexts" nillable="true" type="ax221:GroupContext"/>
                 </xs:sequence>
             </xs:complexType>
             <xs:complexType name="ApplicationClusterContext">
@@ -73,8 +66,8 @@
                     <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="ax222:PersistenceContext"/>
-                    <xs:element minOccurs="0" name="properties" 
nillable="true" type="ax27:Properties"/>
+                    <xs:element minOccurs="0" name="persistenceContext" 
nillable="true" type="ax221: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"/>
                 </xs:sequence>
@@ -82,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="ax222:VolumeContext"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" 
name="volumes" nillable="true" type="ax221:VolumeContext"/>
                 </xs:sequence>
             </xs:complexType>
             <xs:complexType name="VolumeContext">
@@ -101,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="ax222:SubscribableInfoContext"/>
+                    <xs:element minOccurs="0" name="subscribableInfoContext" 
nillable="true" type="ax221: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="ax222:ArtifactRepositoryContext"/>
+                    <xs:element minOccurs="0" name="artifactRepositoryContext" 
nillable="true" type="ax221: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="maxMembers" type="xs:int"/>
                     <xs:element minOccurs="0" name="minMembers" type="xs:int"/>
-                    <xs:element minOccurs="0" name="persistenceContext" 
nillable="true" type="ax222:PersistenceContext"/>
-                    <xs:element minOccurs="0" name="properties" 
nillable="true" type="ax27:Properties"/>
+                    <xs:element minOccurs="0" name="persistenceContext" 
nillable="true" type="ax221:PersistenceContext"/>
+                    <xs:element minOccurs="0" name="properties" 
nillable="true" type="ax23:Properties"/>
                 </xs:sequence>
             </xs:complexType>
             <xs:complexType name="ArtifactRepositoryContext">
@@ -137,9 +130,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="ax222:CartridgeContext"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" 
name="cartridgeContexts" nillable="true" type="ax221:CartridgeContext"/>
                     <xs:element minOccurs="0" name="deploymentPolicy" 
nillable="true" type="xs:string"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" 
name="groupContexts" nillable="true" type="ax222:GroupContext"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" 
name="groupContexts" nillable="true" type="ax221: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"/>
@@ -150,8 +143,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="ax220:Dependencies"/>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" 
name="groups" nillable="true" type="ax220:ServiceGroup"/>
+                    <xs:element minOccurs="0" name="dependencies" 
nillable="true" type="ax219:Dependencies"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" 
name="groups" nillable="true" type="ax219:ServiceGroup"/>
                     <xs:element minOccurs="0" name="name" nillable="true" 
type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
@@ -163,38 +156,16 @@
                 </xs:sequence>
             </xs:complexType>
         </xs:schema>
-        <xs:schema 
xmlns:ax24="http://autoscale.policy.pojo.autoscaler.stratos.apache.org/xsd"; 
xmlns:ax22="http://exception.autoscaler.stratos.apache.org/xsd"; 
xmlns:ax216="http://policy.exception.autoscaler.stratos.apache.org/xsd"; 
xmlns:ax218="http://application.exception.autoscaler.stratos.apache.org/xsd"; 
xmlns:ax221="http://pojo.autoscaler.stratos.apache.org/xsd"; 
xmlns:ax224="http://pojo.applications.autoscaler.stratos.apache.org/xsd"; 
xmlns:ax226="http://cartridge.exception.autoscaler.stratos.apache.org/xsd"; 
xmlns:ax228="http://common.stratos.apache.org/xsd"; 
xmlns:ax214="http://rmi.java/xsd"; 
xmlns:ax210="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://autoscale.policy.pojo.autoscaler.stratos.apache.org/xsd"/>
+        <xs:schema 
xmlns:ax26="http://deployment.policy.pojo.autoscaler.stratos.apache.org/xsd"; 
xmlns:ax216="http://application.exception.autoscaler.stratos.apache.org/xsd"; 
xmlns:ax214="http://exception.autoscaler.stratos.apache.org/xsd"; 
xmlns:ax220="http://pojo.autoscaler.stratos.apache.org/xsd"; 
xmlns:ax212="http://policy.exception.autoscaler.stratos.apache.org/xsd"; 
xmlns:ax223="http://pojo.applications.autoscaler.stratos.apache.org/xsd"; 
xmlns:ax210="http://rmi.java/xsd"; 
xmlns:ax225="http://autoscale.policy.pojo.autoscaler.stratos.apache.org/xsd"; 
xmlns:ax226="http://common.stratos.apache.org/xsd"; 
attributeFormDefault="qualified" elementFormDefault="qualified" 
targetNamespace="http://impl.services.autoscaler.stratos.apache.org";>
             <xs:import 
namespace="http://deployment.policy.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://exception.autoscaler.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://pojo.applications.autoscaler.stratos.apache.org/xsd"/>
-            <xs:import 
namespace="http://cartridge.exception.autoscaler.stratos.apache.org/xsd"/>
+            <xs:import 
namespace="http://autoscale.policy.pojo.autoscaler.stratos.apache.org/xsd"/>
             <xs:import namespace="http://common.stratos.apache.org/xsd"/>
-            <xs:element 
name="AutoscalerServiceAutoScalingPolicyAlreadyExistException">
-                <xs:complexType>
-                    <xs:sequence>
-                        <xs:element minOccurs="0" 
name="AutoScalingPolicyAlreadyExistException" nillable="true" 
type="ax21:AutoScalingPolicyAlreadyExistException"/>
-                    </xs:sequence>
-                </xs:complexType>
-            </xs:element>
-            <xs:element name="addAutoScalingPolicy">
-                <xs:complexType>
-                    <xs:sequence>
-                        <xs:element minOccurs="0" name="autoscalePolicy" 
nillable="true" type="ax23:AutoscalePolicy"/>
-                    </xs:sequence>
-                </xs:complexType>
-            </xs:element>
-            <xs:element name="addAutoScalingPolicyResponse">
-                <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/>
@@ -203,49 +174,49 @@
             <xs:element name="getDeploymentPoliciesResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" 
name="return" nillable="true" type="ax25:DeploymentPolicy"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" 
name="return" nillable="true" type="ax26:DeploymentPolicy"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="AutoscalerServiceRemoteException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="RemoteException" 
nillable="true" type="ax214:RemoteException"/>
+                        <xs:element minOccurs="0" name="RemoteException" 
nillable="true" type="ax27:RemoteException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element 
name="AutoscalerServiceInvalidDeploymentPolicyException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" 
name="InvalidDeploymentPolicyException" nillable="true" 
type="ax216:InvalidDeploymentPolicyException"/>
+                        <xs:element minOccurs="0" 
name="InvalidDeploymentPolicyException" nillable="true" 
type="ax212:InvalidDeploymentPolicyException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element 
name="AutoscalerServiceDeploymentPolicyNotExistsException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" 
name="DeploymentPolicyNotExistsException" nillable="true" 
type="ax216:DeploymentPolicyNotExistsException"/>
+                        <xs:element minOccurs="0" 
name="DeploymentPolicyNotExistsException" nillable="true" 
type="ax212:DeploymentPolicyNotExistsException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="AutoscalerServiceInvalidPolicyException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" 
name="InvalidPolicyException" nillable="true" 
type="ax216:InvalidPolicyException"/>
+                        <xs:element minOccurs="0" 
name="InvalidPolicyException" nillable="true" 
type="ax212:InvalidPolicyException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element 
name="AutoscalerServiceCloudControllerConnectionException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" 
name="CloudControllerConnectionException" nillable="true" 
type="ax21:CloudControllerConnectionException"/>
+                        <xs:element minOccurs="0" 
name="CloudControllerConnectionException" nillable="true" 
type="ax214:CloudControllerConnectionException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="updateDeploymentPolicy">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="deploymentPolicy" 
nillable="true" type="ax25:DeploymentPolicy"/>
+                        <xs:element minOccurs="0" name="deploymentPolicy" 
nillable="true" type="ax26:DeploymentPolicy"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
@@ -259,21 +230,21 @@
             <xs:element 
name="AutoscalerServiceInvalidApplicationPolicyException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" 
name="InvalidApplicationPolicyException" nillable="true" 
type="ax217:InvalidApplicationPolicyException"/>
+                        <xs:element minOccurs="0" 
name="InvalidApplicationPolicyException" nillable="true" 
type="ax216:InvalidApplicationPolicyException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element 
name="AutoscalerServiceApplicationPolicyAlreadyExistsException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" 
name="ApplicationPolicyAlreadyExistsException" nillable="true" 
type="ax216:ApplicationPolicyAlreadyExistsException"/>
+                        <xs:element minOccurs="0" 
name="ApplicationPolicyAlreadyExistsException" nillable="true" 
type="ax212:ApplicationPolicyAlreadyExistsException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="addApplicationPolicy">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationPolicy" 
nillable="true" type="ax25:ApplicationPolicy"/>
+                        <xs:element minOccurs="0" name="applicationPolicy" 
nillable="true" type="ax26:ApplicationPolicy"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
@@ -284,6 +255,13 @@
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
+            <xs:element name="AutoscalerServiceUnremovablePolicyException">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" 
name="UnremovablePolicyException" nillable="true" 
type="ax212:UnremovablePolicyException"/>
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
             <xs:element name="removeApplicationPolicy">
                 <xs:complexType>
                     <xs:sequence>
@@ -301,14 +279,14 @@
             <xs:element 
name="AutoscalerServiceApplicatioinPolicyNotExistsException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" 
name="ApplicatioinPolicyNotExistsException" nillable="true" 
type="ax216:ApplicatioinPolicyNotExistsException"/>
+                        <xs:element minOccurs="0" 
name="ApplicatioinPolicyNotExistsException" nillable="true" 
type="ax212:ApplicatioinPolicyNotExistsException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="updateApplicationPolicy">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationPolicy" 
nillable="true" type="ax25:ApplicationPolicy"/>
+                        <xs:element minOccurs="0" name="applicationPolicy" 
nillable="true" type="ax26:ApplicationPolicy"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
@@ -327,21 +305,21 @@
             <xs:element name="getApplicationPoliciesResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" 
name="return" nillable="true" type="ax25:ApplicationPolicy"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" 
name="return" nillable="true" type="ax26:ApplicationPolicy"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="AutoscalerServiceInvalidServiceGroupException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" 
name="InvalidServiceGroupException" nillable="true" 
type="ax217:InvalidServiceGroupException"/>
+                        <xs:element minOccurs="0" 
name="InvalidServiceGroupException" nillable="true" 
type="ax216:InvalidServiceGroupException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="updateServiceGroup">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="cartridgeGroup" 
nillable="true" type="ax220:ServiceGroup"/>
+                        <xs:element minOccurs="0" name="cartridgeGroup" 
nillable="true" type="ax219:ServiceGroup"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
@@ -369,7 +347,7 @@
             <xs:element name="AutoscalerServiceAutoScalerException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="AutoScalerException" 
nillable="true" type="ax21:AutoScalerException"/>
+                        <xs:element minOccurs="0" name="AutoScalerException" 
nillable="true" type="ax214:AutoScalerException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
@@ -381,14 +359,14 @@
             <xs:element name="getServiceGroupsResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" 
name="return" nillable="true" type="ax220:ServiceGroup"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" 
name="return" nillable="true" type="ax219:ServiceGroup"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element 
name="AutoscalerServiceCartridgeGroupNotFoundException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" 
name="CartridgeGroupNotFoundException" nillable="true" 
type="ax21:CartridgeGroupNotFoundException"/>
+                        <xs:element minOccurs="0" 
name="CartridgeGroupNotFoundException" nillable="true" 
type="ax214:CartridgeGroupNotFoundException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
@@ -416,7 +394,21 @@
             <xs:element name="getApplicationPolicyResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" 
nillable="true" type="ax25:ApplicationPolicy"/>
+                        <xs:element minOccurs="0" name="return" 
nillable="true" type="ax26:ApplicationPolicy"/>
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="undeployServiceGroup">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" name="name" nillable="true" 
type="xs:string"/>
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="undeployServiceGroupResponse">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" name="return" 
type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
@@ -428,28 +420,28 @@
             <xs:element name="getApplicationsResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" 
name="return" nillable="true" type="ax222:ApplicationContext"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" 
name="return" nillable="true" type="ax221:ApplicationContext"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="AutoscalerServiceApplicationDefinitionException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" 
name="ApplicationDefinitionException" nillable="true" 
type="ax217:ApplicationDefinitionException"/>
+                        <xs:element minOccurs="0" 
name="ApplicationDefinitionException" nillable="true" 
type="ax216:ApplicationDefinitionException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="AutoscalerServiceCartridgeNotFoundException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" 
name="CartridgeNotFoundException" nillable="true" 
type="ax225:CartridgeNotFoundException"/>
+                        <xs:element minOccurs="0" 
name="CartridgeNotFoundException" nillable="true" 
type="ax214:CartridgeNotFoundException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="addApplication">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationContext" 
nillable="true" type="ax222:ApplicationContext"/>
+                        <xs:element minOccurs="0" name="applicationContext" 
nillable="true" type="ax221:ApplicationContext"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
@@ -470,7 +462,7 @@
             <xs:element name="getServiceGroupResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" 
nillable="true" type="ax220:ServiceGroup"/>
+                        <xs:element minOccurs="0" name="return" 
nillable="true" type="ax219:ServiceGroup"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
@@ -484,7 +476,7 @@
             <xs:element name="getAutoscalingPolicyResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" 
nillable="true" type="ax23:AutoscalePolicy"/>
+                        <xs:element minOccurs="0" name="return" 
nillable="true" type="ax224:AutoscalePolicy"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
@@ -498,7 +490,7 @@
             <xs:element name="getDeploymentPolicyResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" 
nillable="true" type="ax25:DeploymentPolicy"/>
+                        <xs:element minOccurs="0" name="return" 
nillable="true" type="ax26:DeploymentPolicy"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
@@ -512,14 +504,14 @@
             <xs:element name="getApplicationResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" 
nillable="true" type="ax222:ApplicationContext"/>
+                        <xs:element minOccurs="0" name="return" 
nillable="true" type="ax221:ApplicationContext"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="updateApplication">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="applicationContext" 
nillable="true" type="ax222:ApplicationContext"/>
+                        <xs:element minOccurs="0" name="applicationContext" 
nillable="true" type="ax221:ApplicationContext"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
@@ -544,31 +536,57 @@
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateAutoScalingPolicy">
+            <xs:element 
name="AutoscalerServiceAutoScalingPolicyAlreadyExistException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="autoscalePolicy" 
nillable="true" type="ax23:AutoscalePolicy"/>
+                        <xs:element minOccurs="0" 
name="AutoScalingPolicyAlreadyExistException" nillable="true" 
type="ax214:AutoScalingPolicyAlreadyExistException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="updateAutoScalingPolicyResponse">
+            <xs:element name="addAutoScalingPolicy">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" name="autoscalePolicy" 
nillable="true" type="ax224:AutoscalePolicy"/>
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="addAutoScalingPolicyResponse">
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="return" 
type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="AutoscalerServiceUnremovablePolicyException">
+            <xs:element name="getAutoScalingPolicies">
+                <xs:complexType>
+                    <xs:sequence/>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="getAutoScalingPoliciesResponse">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" 
name="return" nillable="true" type="ax224:AutoscalePolicy"/>
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="updateAutoScalingPolicy">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" 
name="UnremovablePolicyException" nillable="true" 
type="ax216:UnremovablePolicyException"/>
+                        <xs:element minOccurs="0" name="autoscalePolicy" 
nillable="true" type="ax224:AutoscalePolicy"/>
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="updateAutoScalingPolicyResponse">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" name="return" 
type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="AutoscalerServicePolicyDoesNotExistException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" 
name="PolicyDoesNotExistException" nillable="true" 
type="ax216:PolicyDoesNotExistException"/>
+                        <xs:element minOccurs="0" 
name="PolicyDoesNotExistException" nillable="true" 
type="ax212:PolicyDoesNotExistException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
@@ -615,18 +633,6 @@
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="getAutoScalingPolicies">
-                <xs:complexType>
-                    <xs:sequence/>
-                </xs:complexType>
-            </xs:element>
-            <xs:element name="getAutoScalingPoliciesResponse">
-                <xs:complexType>
-                    <xs:sequence>
-                        <xs:element maxOccurs="unbounded" minOccurs="0" 
name="return" nillable="true" type="ax23:AutoscalePolicy"/>
-                    </xs:sequence>
-                </xs:complexType>
-            </xs:element>
             <xs:element name="undeployApplication">
                 <xs:complexType>
                     <xs:sequence>
@@ -645,7 +651,7 @@
             <xs:element name="AutoscalerServiceInvalidArgumentException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" 
name="InvalidArgumentException" nillable="true" 
type="ax21:InvalidArgumentException"/>
+                        <xs:element minOccurs="0" 
name="InvalidArgumentException" nillable="true" 
type="ax214:InvalidArgumentException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
@@ -653,7 +659,7 @@
                 <xs:complexType>
                     <xs:sequence>
                         <xs:element minOccurs="0" name="clusterId" 
nillable="true" type="xs:string"/>
-                        <xs:element minOccurs="0" name="properties" 
nillable="true" type="ax27:Properties"/>
+                        <xs:element minOccurs="0" name="properties" 
nillable="true" type="ax23:Properties"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
@@ -667,7 +673,7 @@
             <xs:element name="addServiceGroup">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="servicegroup" 
nillable="true" type="ax220:ServiceGroup"/>
+                        <xs:element minOccurs="0" name="servicegroup" 
nillable="true" type="ax219:ServiceGroup"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
@@ -710,14 +716,14 @@
             <xs:element 
name="AutoscalerServiceDeploymentPolicyAlreadyExistsException">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" 
name="DeploymentPolicyAlreadyExistsException" nillable="true" 
type="ax216:DeploymentPolicyAlreadyExistsException"/>
+                        <xs:element minOccurs="0" 
name="DeploymentPolicyAlreadyExistsException" nillable="true" 
type="ax212:DeploymentPolicyAlreadyExistsException"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="addDeployementPolicy">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="deploymentPolicy" 
nillable="true" type="ax25:DeploymentPolicy"/>
+                        <xs:element minOccurs="0" name="deploymentPolicy" 
nillable="true" type="ax26:DeploymentPolicy"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
@@ -742,28 +748,14 @@
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-            <xs:element name="undeployServiceGroup">
-                <xs:complexType>
-                    <xs:sequence>
-                        <xs:element minOccurs="0" name="name" nillable="true" 
type="xs:string"/>
-                    </xs:sequence>
-                </xs:complexType>
-            </xs:element>
-            <xs:element name="undeployServiceGroupResponse">
-                <xs:complexType>
-                    <xs:sequence>
-                        <xs:element minOccurs="0" name="return" 
type="xs:boolean"/>
-                    </xs:sequence>
-                </xs:complexType>
-            </xs:element>
         </xs:schema>
-        <xs:schema xmlns:ax29="http://partition.common.stratos.apache.org/xsd"; 
xmlns:ax219="http://common.stratos.apache.org/xsd"; 
attributeFormDefault="qualified" elementFormDefault="qualified" 
targetNamespace="http://deployment.policy.pojo.autoscaler.stratos.apache.org/xsd";>
+        <xs:schema xmlns:ax25="http://partition.common.stratos.apache.org/xsd"; 
xmlns:ax217="http://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="ax29:NetworkPartitionRef"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" 
name="networkPartitionRefs" nillable="true" type="ax25:NetworkPartitionRef"/>
                 </xs:sequence>
             </xs:complexType>
             <xs:complexType name="ApplicationPolicy">
@@ -772,17 +764,17 @@
                     <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="ax27:Properties"/>
+                    <xs:element minOccurs="0" name="properties" 
nillable="true" type="ax23:Properties"/>
                 </xs:sequence>
             </xs:complexType>
         </xs:schema>
-        <xs:schema xmlns:ax28="http://common.stratos.apache.org/xsd"; 
attributeFormDefault="qualified" elementFormDefault="qualified" 
targetNamespace="http://partition.common.stratos.apache.org/xsd";>
+        <xs:schema xmlns:ax24="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="ax26:PartitionRef"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" 
name="partitionRefs" nillable="true" type="ax22:PartitionRef"/>
                 </xs:sequence>
             </xs:complexType>
             <xs:complexType name="PartitionRef">
@@ -791,7 +783,7 @@
                     <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="ax27:Properties"/>
+                    <xs:element minOccurs="0" name="properties" 
nillable="true" type="ax23:Properties"/>
                 </xs:sequence>
             </xs:complexType>
         </xs:schema>
@@ -815,7 +807,7 @@
         <xs:schema attributeFormDefault="qualified" 
elementFormDefault="qualified" 
targetNamespace="http://common.stratos.apache.org/xsd";>
             <xs:complexType name="Properties">
                 <xs:sequence>
-                    <xs:element maxOccurs="unbounded" minOccurs="0" 
name="properties" nillable="true" type="ax27:Property"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" 
name="properties" nillable="true" type="ax23:Property"/>
                 </xs:sequence>
             </xs:complexType>
             <xs:complexType name="Property">
@@ -825,7 +817,7 @@
                 </xs:sequence>
             </xs:complexType>
         </xs:schema>
-        <xs:schema 
xmlns:ax227="http://exception.autoscaler.stratos.apache.org/xsd"; 
attributeFormDefault="qualified" elementFormDefault="qualified" 
targetNamespace="http://policy.exception.autoscaler.stratos.apache.org/xsd";>
+        <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="InvalidDeploymentPolicyException">
                 <xs:sequence>
@@ -843,21 +835,21 @@
             <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"/>
-                </xs:sequence>
-            </xs:complexType>
             <xs:complexType name="UnremovablePolicyException">
                 <xs:complexContent>
-                    <xs:extension base="ax21:AutoScalerException">
+                    <xs:extension base="ax218:AutoScalerException">
                         <xs:sequence/>
                     </xs:extension>
                 </xs:complexContent>
             </xs:complexType>
+            <xs:complexType name="ApplicatioinPolicyNotExistsException">
+                <xs:sequence>
+                    <xs:element minOccurs="0" name="message" nillable="true" 
type="xs:string"/>
+                </xs:sequence>
+            </xs:complexType>
             <xs:complexType name="PolicyDoesNotExistException">
                 <xs:complexContent>
-                    <xs:extension base="ax21:AutoScalerException">
+                    <xs:extension base="ax218:AutoScalerException">
                         <xs:sequence/>
                     </xs:extension>
                 </xs:complexContent>
@@ -872,9 +864,6 @@
             </xs:complexType>
         </xs:schema>
         <xs:schema attributeFormDefault="qualified" 
elementFormDefault="qualified" 
targetNamespace="http://exception.autoscaler.stratos.apache.org/xsd";>
-            <xs:complexType name="AutoScalingPolicyAlreadyExistException">
-                <xs:sequence/>
-            </xs:complexType>
             <xs:complexType name="CloudControllerConnectionException">
                 <xs:sequence/>
             </xs:complexType>
@@ -890,6 +879,14 @@
                     <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="InvalidArgumentException">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="message" nillable="true" 
type="xs:string"/>
@@ -897,12 +894,6 @@
             </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>
@@ -915,6 +906,12 @@
     <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="getApplicationPoliciesRequest">
         <wsdl:part name="parameters" element="ns:getApplicationPolicies"/>
     </wsdl:message>
@@ -1150,16 +1147,16 @@
         <wsdl:part name="parameters" 
element="ns:getApplicationPolicyResponse"/>
     </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="getApplicationPolicies">
             <wsdl:input message="ns:getApplicationPoliciesRequest" 
wsaw:Action="urn:getApplicationPolicies"/>
             <wsdl:output message="ns:getApplicationPoliciesResponse" 
wsaw:Action="urn:getApplicationPoliciesResponse"/>
@@ -1271,6 +1268,7 @@
             <wsdl:input message="ns:removeApplicationPolicyRequest" 
wsaw:Action="urn:removeApplicationPolicy"/>
             <wsdl:output message="ns:removeApplicationPolicyResponse" 
wsaw:Action="urn:removeApplicationPolicyResponse"/>
             <wsdl:fault message="ns:AutoscalerServiceInvalidPolicyException" 
name="AutoscalerServiceInvalidPolicyException" 
wsaw:Action="urn:removeApplicationPolicyAutoscalerServiceInvalidPolicyException"/>
+            <wsdl:fault 
message="ns:AutoscalerServiceUnremovablePolicyException" 
name="AutoscalerServiceUnremovablePolicyException" 
wsaw:Action="urn:removeApplicationPolicyAutoscalerServiceUnremovablePolicyException"/>
         </wsdl:operation>
         <wsdl:operation name="getApplications">
             <wsdl:input message="ns:getApplicationsRequest" 
wsaw:Action="urn:getApplications"/>
@@ -1320,6 +1318,15 @@
     </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>
@@ -1335,15 +1342,6 @@
                 <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="getDeploymentPolicies">
             <soap:operation soapAction="urn:getDeploymentPolicies" 
style="document"/>
             <wsdl:input>
@@ -1610,6 +1608,9 @@
             <wsdl:fault name="AutoscalerServiceInvalidPolicyException">
                 <soap:fault use="literal" 
name="AutoscalerServiceInvalidPolicyException"/>
             </wsdl:fault>
+            <wsdl:fault name="AutoscalerServiceUnremovablePolicyException">
+                <soap:fault use="literal" 
name="AutoscalerServiceUnremovablePolicyException"/>
+            </wsdl:fault>
         </wsdl:operation>
         <wsdl:operation name="getApplications">
             <soap:operation soapAction="urn:getApplications" style="document"/>
@@ -1725,6 +1726,15 @@
     </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>
@@ -1740,15 +1750,6 @@
                 <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="getDeploymentPolicies">
             <soap12:operation soapAction="urn:getDeploymentPolicies" 
style="document"/>
             <wsdl:input>
@@ -2015,6 +2016,9 @@
             <wsdl:fault name="AutoscalerServiceInvalidPolicyException">
                 <soap12:fault use="literal" 
name="AutoscalerServiceInvalidPolicyException"/>
             </wsdl:fault>
+            <wsdl:fault name="AutoscalerServiceUnremovablePolicyException">
+                <soap12:fault use="literal" 
name="AutoscalerServiceUnremovablePolicyException"/>
+            </wsdl:fault>
         </wsdl:operation>
         <wsdl:operation name="getApplications">
             <soap12:operation soapAction="urn:getApplications" 
style="document"/>
@@ -2130,8 +2134,8 @@
     </wsdl:binding>
     <wsdl:binding name="AutoscalerServiceHttpBinding" 
type="ns:AutoscalerServicePortType">
         <http:binding verb="POST"/>
-        <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"/>
             </wsdl:input>
@@ -2139,8 +2143,8 @@
                 <mime:content type="text/xml" part="parameters"/>
             </wsdl:output>
         </wsdl:operation>
-        <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"/>
             </wsdl:input>

Reply via email to