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());
