Fixing minor issues when adding deployment policy with non-existing network 
partition


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

Branch: refs/heads/tenant-isolation
Commit: d9c80c4d1db4661e999eeae7af25ca6c71680eb8
Parents: 1d14c41
Author: Dinithi <[email protected]>
Authored: Wed Aug 12 14:53:11 2015 +0530
Committer: Dinithi <[email protected]>
Committed: Wed Aug 12 14:53:11 2015 +0530

----------------------------------------------------------------------
 .../impl/CloudControllerServiceImpl.java        |  2 +-
 .../rest/endpoint/api/StratosApiV41Utils.java   | 31 +++++++++++++++-----
 2 files changed, 24 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/d9c80c4d/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java
 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java
index 6e93e53..9da8934 100644
--- 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java
+++ 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java
@@ -790,7 +790,7 @@ public class CloudControllerServiceImpl implements 
CloudControllerService {
             }
         }
 
-        String msg = "Could not find cartridge: [cartridge-type] [tenant-id] " 
+ cartridgeType + tenantId;
+        String msg = "Could not find cartridge: [cartridge-type]" + 
cartridgeType;
         throw new CartridgeNotFoundException(msg);
     }
 

http://git-wip-us.apache.org/repos/asf/stratos/blob/d9c80c4d/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 389b43f..417dd15 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
@@ -726,18 +726,26 @@ public class StratosApiV41Utils {
                     (carbonContext.getTenantId());
             String[] networkPartitions = 
applicationPolicy.getNetworkPartitions();
             String[] networkPartitionsUuid = new 
String[applicationPolicy.getNetworkPartitions().length];
-            for (int i = 0; i < networkPartitions.length; i++) {
-                for (NetworkPartition networkPartition : 
existingNetworkPartitions) {
-                    if (networkPartitions[i].equals(networkPartition.getId()) 
&& (tenantId == networkPartition
-                            .getTenantId())) {
-                        networkPartitionsUuid[i] = networkPartition.getUuid();
+
+                for (int i = 0; i < networkPartitions.length; i++) {
+                    if (existingNetworkPartitions != null) {
+                        for (NetworkPartition networkPartition : 
existingNetworkPartitions) {
+                            if 
(networkPartitions[i].equals(networkPartition.getId()) && (tenantId == 
networkPartition
+                                    .getTenantId())) {
+                                networkPartitionsUuid[i] = 
networkPartition.getUuid();
+                            }
+                        }
+                    } else {
+                        String message = String.format("Network partition not 
found: for [application-policy-id] %s" +
+                                        "[network-partition-id] %s", 
applicationPolicyBean.getId(),
+                                networkPartitions[i]);
+                        throw new RestAPIException(message);
                     }
                 }
-            }
+
             applicationPolicy.setNetworkPartitionsUuid(networkPartitionsUuid);
             serviceClient.addApplicationPolicy(applicationPolicy);
 
-
         } catch (RemoteException e) {
             String msg = "Could not add application policy. " + 
e.getLocalizedMessage();
             log.error(msg, e);
@@ -2859,7 +2867,14 @@ public class StratosApiV41Utils {
 
             org.apache.stratos.cloud.controller.stub.domain.NetworkPartition 
networkPartition =
                     
serviceClient.getNetworkPartitionByTenant(networkPartitionId, tenantId);
-            String networkPartitionUuid = networkPartition.getUuid();
+            String networkPartitionUuid;
+            if (networkPartition != null) {
+                networkPartitionUuid = networkPartition.getUuid();
+            } else {
+                String message = String .format("Network partition not found 
[network-partition-id] %s", networkPartitionId);
+                log.error(message);
+                throw new RestAPIException(message);
+            }
 
             DeploymentPolicy[] deploymentPolicies = 
autoscalerServiceClient.getDeploymentPoliciesByTenant(carbonContext.getTenantId());
 

Reply via email to