Update the add application with network partitions uuid

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

Branch: refs/heads/tenant-isolation
Commit: f002bf11cae844c18a68bdba15b5d46154524b0c
Parents: 0b9602e
Author: Gayan Gunarathne <[email protected]>
Authored: Tue Jul 7 22:05:20 2015 +0530
Committer: Gayan Gunarathne <[email protected]>
Committed: Tue Jul 7 22:05:20 2015 +0530

----------------------------------------------------------------------
 .../policy/deployment/ApplicationPolicy.java    |   9 +
 .../stratos/autoscaler/util/AutoscalerUtil.java |   4 +-
 .../deployment/ApplicationPolicyBean.java       |   9 +
 .../rest/endpoint/api/StratosApiV41Utils.java   |  20 +-
 .../src/main/resources/AutoscalerService.wsdl   | 615 ++++++++++---------
 5 files changed, 346 insertions(+), 311 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/f002bf11/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/deployment/ApplicationPolicy.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/deployment/ApplicationPolicy.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/deployment/ApplicationPolicy.java
index 9dc33f0..f961e1c 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/deployment/ApplicationPolicy.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/deployment/ApplicationPolicy.java
@@ -30,6 +30,7 @@ public class ApplicationPolicy implements Serializable {
     private int tenantId;
     private String algorithm;
     private String[] networkPartitions;
+       private String[] networkPartitionsUuid;
     private Properties properties;
     // if networkPartitionGroups property is set, we are populating following 
variable.
     private String[] networkPartitionGroups;
@@ -89,4 +90,12 @@ public class ApplicationPolicy implements Serializable {
     public void setNetworkPartitionGroups(String[] networkPartitionGroups) {
         this.networkPartitionGroups = networkPartitionGroups;
     }
+
+       public String[] getNetworkPartitionsUuid() {
+               return networkPartitionsUuid;
+       }
+
+       public void setNetworkPartitionsUuid(String[] networkPartitionsUuid) {
+               this.networkPartitionsUuid = networkPartitionsUuid;
+       }
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/f002bf11/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java
index 155d687..0342a05 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java
@@ -639,7 +639,7 @@ public class AutoscalerUtil {
         }
 
         // application policy should contain at least one network partition 
reference
-        String[] networkPartitionIds = 
applicationPolicy.getNetworkPartitions();
+        String[] networkPartitionIds = 
applicationPolicy.getNetworkPartitionsUuid();
         if (null == networkPartitionIds || networkPartitionIds.length == 0) {
             String msg = "Invalid Application Policy: "
                     + "Application Policy is not containing any network 
partition reference";
@@ -661,7 +661,7 @@ public class AutoscalerUtil {
             // network partitions should be added already
             NetworkPartition networkPartition = 
CloudControllerServiceClient.getInstance()
                     .getNetworkPartition(networkPartitionId);
-            if (null == networkPartition || (applicationPolicy.getTenantId() 
!= networkPartition.getTenantId())) {
+            if (null == networkPartition) {
                 String msg = String.format("Network partition not found: 
[network-partition-id]  %s in " +
                         "[application-policy-id] %s", networkPartitionId, 
applicationPolicy.getUuid());
                 log.error(msg);

http://git-wip-us.apache.org/repos/asf/stratos/blob/f002bf11/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/policy/deployment/ApplicationPolicyBean.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/policy/deployment/ApplicationPolicyBean.java
 
b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/policy/deployment/ApplicationPolicyBean.java
index e912227..7847df8 100644
--- 
a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/policy/deployment/ApplicationPolicyBean.java
+++ 
b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/policy/deployment/ApplicationPolicyBean.java
@@ -32,6 +32,7 @@ public class ApplicationPolicyBean {
     private int tenantId;
     private String algorithm;
     String[] networkPartitions;
+       private String[] networkPartitionsUuid;
     List<PropertyBean> properties;
 
     public String getUuid() {
@@ -81,4 +82,12 @@ public class ApplicationPolicyBean {
     public void setProperties(List<PropertyBean> properties) {
         this.properties = properties;
     }
+
+       public String[] getNetworkPartitionsUuid() {
+               return networkPartitionsUuid;
+       }
+
+       public void setNetworkPartitionsUuid(String[] networkPartitionsUuid) {
+               this.networkPartitionsUuid = networkPartitionsUuid;
+       }
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/f002bf11/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 e31af5a..2b1c7b9 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
@@ -681,7 +681,7 @@ public class StratosApiV41Utils {
             log.error(msg);
             throw new ApplicationPolicyIsEmptyException(msg);
         }
-
+        CloudControllerServiceClient 
cloudServiceClient=getCloudControllerServiceClient();
         AutoscalerServiceClient serviceClient = getAutoscalerServiceClient();
         try {
             ApplicationPolicy applicationPolicy = 
ObjectConverter.convertApplicationPolicyBeanToStubAppPolicy(
@@ -691,7 +691,23 @@ public class StratosApiV41Utils {
                 log.error(msg);
                 throw new ApplicationPolicyIsEmptyException(msg);
             }
-            serviceClient.addApplicationPolicy(applicationPolicy);
+
+
+               NetworkPartition[] 
existingNetworkPartitions=cloudServiceClient.getNetworkPartitions();
+               String[] networkPartitions= 
applicationPolicy.getNetworkPartitions();
+                       String[] networkPartitionsUuid=new 
String[applicationPolicy.getNetworkPartitions().length];
+               for(int i=0;i< networkPartitions.length;i++) {
+                       for (NetworkPartition networkPartition : 
existingNetworkPartitions) {
+                               if 
(existingNetworkPartitions[i].getId().equals(networkPartition.getId())&&(existingNetworkPartitions[i].getTenantId()==networkPartition.getTenantId()))
+                               {
+                                       networkPartitionsUuid[i] = 
networkPartition.getUuid();
+                               }
+                       }
+               }
+                       
applicationPolicy.setNetworkPartitionsUuid(networkPartitionsUuid);
+               serviceClient.addApplicationPolicy(applicationPolicy);
+
+
         } catch (RemoteException e) {
             String msg = "Could not add application policy. " + 
e.getLocalizedMessage();
             log.error(msg, e);

Reply via email to