Remove UUID and tenantId from Application Policy Bean
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/3d9bc2c2 Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/3d9bc2c2 Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/3d9bc2c2 Branch: refs/heads/tenant-isolation Commit: 3d9bc2c25650b6f1fd7a344c654168b4ac467a49 Parents: 3f59113 Author: Dinithi <[email protected]> Authored: Thu Jul 30 10:28:04 2015 +0530 Committer: Dinithi <[email protected]> Committed: Thu Jul 30 10:28:04 2015 +0530 ---------------------------------------------------------------------- .../autoscaler/pojo/policy/PolicyManager.java | 17 +++++++++ .../services/impl/AutoscalerServiceImpl.java | 4 ++- .../deployment/ApplicationPolicyBean.java | 18 ---------- .../rest/endpoint/api/StratosApiV41.java | 11 +++--- .../rest/endpoint/api/StratosApiV41Utils.java | 37 +++++++++++--------- .../util/converter/ObjectConverter.java | 8 ++--- 6 files changed, 47 insertions(+), 48 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/3d9bc2c2/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/PolicyManager.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/PolicyManager.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/PolicyManager.java index b574ff6..1d15c1b 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/PolicyManager.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/pojo/policy/PolicyManager.java @@ -482,4 +482,21 @@ public class PolicyManager { public ApplicationPolicy[] getApplicationPolicies() { return applicationPolicyListMap.values().toArray(new ApplicationPolicy[0]); } + + /** + * Checks whether application policy exists in the tenant + * @param applicationPolicyId application policy id + * @param tenantId tenant id + * @return boolean value + */ + public Boolean checkApplicationPolicyInTenant(String applicationPolicyId, int tenantId) { + ApplicationPolicy[] applicationPolicies = getApplicationPolicies(); + for (ApplicationPolicy applicationPolicy1 : applicationPolicies) { + if (applicationPolicy1.getId().equals(applicationPolicyId) && applicationPolicy1.getTenantId() == + tenantId) { + return true; + } + } + return false; + } } http://git-wip-us.apache.org/repos/asf/stratos/blob/3d9bc2c2/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 0fe7d94..f87fc9e 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 @@ -978,7 +978,9 @@ public class AutoscalerServiceImpl implements AutoscalerService { } String applicationPolicyId = applicationPolicy.getId(); - if (PolicyManager.getInstance().getApplicationPolicy(applicationPolicyId) != null) { + boolean isExist = PolicyManager.getInstance().checkApplicationPolicyInTenant + (applicationPolicy.getId(), applicationPolicy.getTenantId()); + if (isExist) { String message = "Application policy already exists: [application-policy-id] " + applicationPolicyId; log.error(message); throw new ApplicationPolicyAlreadyExistsException(message); http://git-wip-us.apache.org/repos/asf/stratos/blob/3d9bc2c2/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 7847df8..93c2c2b 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 @@ -28,29 +28,11 @@ import java.util.List; public class ApplicationPolicyBean { private String id; - private String uuid; - private int tenantId; private String algorithm; String[] networkPartitions; private String[] networkPartitionsUuid; List<PropertyBean> properties; - public String getUuid() { - return uuid; - } - - public void setUuid(String uuid) { - this.uuid = uuid; - } - - public int getTenantId() { - return tenantId; - } - - public void setTenantId(int tenantId) { - this.tenantId = tenantId; - } - public String getId() { return id; } http://git-wip-us.apache.org/repos/asf/stratos/blob/3d9bc2c2/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41.java index 038973a..982701d 100644 --- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41.java +++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41.java @@ -730,9 +730,7 @@ public class StratosApiV41 extends AbstractApi { @Produces("application/json") @Consumes("application/json") @AuthorizationAction("/permission/admin/stratos/networkPartitions/manage") - public Response updateNetworkPartition( - NetworkPartitionBean networkPartition) throws RestAPIException { - + public Response updateNetworkPartition(NetworkPartitionBean networkPartition) throws RestAPIException { try { StratosApiV41Utils.updateNetworkPartition(networkPartition); } catch (CloudControllerServiceNetworkPartitionNotExistsExceptionException e) { @@ -942,13 +940,12 @@ public class StratosApiV41 extends AbstractApi { ApplicationPolicyBean applicationPolicy) throws RestAPIException { String applicationPolicyId = applicationPolicy.getId(); - applicationPolicy.setUuid(UUID.randomUUID().toString()); - String applicationPolicyUuid = applicationPolicy.getUuid(); + String applicationPolicyUuid = UUID.randomUUID().toString(); PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext(); - applicationPolicy.setTenantId(carbonContext.getTenantId()); + int tenantId = carbonContext.getTenantId(); try { - StratosApiV41Utils.addApplicationPolicy(applicationPolicy); + StratosApiV41Utils.addApplicationPolicy(applicationPolicy, applicationPolicyUuid, tenantId); URI url = uriInfo.getAbsolutePathBuilder().path(applicationPolicy.getId()).build(); return Response.created(url).entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS, String.format("Application policy added successfully: [application-policy-uuid] %s " + http://git-wip-us.apache.org/repos/asf/stratos/blob/3d9bc2c2/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 3cb0d9c..21e7ef5 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 @@ -694,8 +694,10 @@ public class StratosApiV41Utils { * @param applicationPolicyBean applicationPolicyBean * @throws RestAPIException */ - public static void addApplicationPolicy(ApplicationPolicyBean applicationPolicyBean) throws RestAPIException, - AutoscalerServiceInvalidApplicationPolicyExceptionException, AutoscalerServiceApplicationPolicyAlreadyExistsExceptionException { + public static void addApplicationPolicy(ApplicationPolicyBean applicationPolicyBean, String applicationPolicyUuid, + int tenantId) throws RestAPIException, + AutoscalerServiceInvalidApplicationPolicyExceptionException, + AutoscalerServiceApplicationPolicyAlreadyExistsExceptionException { if (applicationPolicyBean == null) { String msg = "Application policy bean is null"; @@ -706,7 +708,7 @@ public class StratosApiV41Utils { AutoscalerServiceClient serviceClient = getAutoscalerServiceClient(); try { ApplicationPolicy applicationPolicy = ObjectConverter.convertApplicationPolicyBeanToStubAppPolicy( - applicationPolicyBean); + applicationPolicyBean, applicationPolicyUuid, tenantId); if (applicationPolicy == null) { String msg = "Application policy is null"; log.error(msg); @@ -719,8 +721,8 @@ public class StratosApiV41Utils { 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()) && (applicationPolicyBean.getTenantId() - == networkPartition.getTenantId())) { + if (networkPartitions[i].equals(networkPartition.getId()) && (tenantId == networkPartition + .getTenantId())) { networkPartitionsUuid[i] = networkPartition.getUuid(); } } @@ -750,17 +752,18 @@ public class StratosApiV41Utils { AutoscalerServiceInvalidApplicationPolicyExceptionException, AutoscalerServiceApplicatioinPolicyNotExistsExceptionException { - log.info(String.format("Updating application policy: [application-policy-uuid] %s [application-policy-id] " + - "%s", applicationPolicyBean.getUuid(), applicationPolicyBean.getId())); + log.info(String.format("Updating application policy: [application-policy-id] %s", applicationPolicyBean.getId())); AutoscalerServiceClient autoscalerServiceClient = getAutoscalerServiceClient(); if (autoscalerServiceClient != null) { - - ApplicationPolicy applicationPolicy = ObjectConverter.convertApplicationPolicyBeanToStubAppPolicy( - applicationPolicyBean); - try { - autoscalerServiceClient.updateApplicationPolicy(applicationPolicy); + AutoscalerServiceClient serviceClient = AutoscalerServiceClient.getInstance(); + PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext(); + ApplicationPolicy applicationPolicy = serviceClient.getApplicationPolicyByTenant + (applicationPolicyBean.getId(), carbonContext.getTenantId()); + autoscalerServiceClient.updateApplicationPolicy(ObjectConverter + .convertApplicationPolicyBeanToStubAppPolicy(applicationPolicyBean, + applicationPolicy.getUuid(), applicationPolicy.getTenantId())); } catch (RemoteException e) { String msg = "Could not update application policy" + e.getLocalizedMessage(); log.error(msg, e); @@ -857,12 +860,12 @@ public class StratosApiV41Utils { throw new ApplicationPolicyIdIsEmptyException(msg); } - AutoscalerServiceClient serviceClient = getAutoscalerServiceClient(); - ApplicationPolicyBean applicationPolicyBean; try { - - applicationPolicyBean = getApplicationPolicy(applicationPolicyId); - serviceClient.removeApplicationPolicy(applicationPolicyBean.getUuid()); + AutoscalerServiceClient serviceClient = AutoscalerServiceClient.getInstance(); + PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext(); + ApplicationPolicy applicationPolicy = serviceClient.getApplicationPolicyByTenant + (applicationPolicyId, carbonContext.getTenantId()); + serviceClient.removeApplicationPolicy(applicationPolicy.getUuid()); } catch (RemoteException e) { String msg = "Could not remove application policy. " + e.getLocalizedMessage(); log.error(msg, e); http://git-wip-us.apache.org/repos/asf/stratos/blob/3d9bc2c2/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/util/converter/ObjectConverter.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/util/converter/ObjectConverter.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/util/converter/ObjectConverter.java index ac6f668..3ff5ade 100644 --- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/util/converter/ObjectConverter.java +++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/util/converter/ObjectConverter.java @@ -513,8 +513,6 @@ public class ObjectConverter { ApplicationPolicyBean applicationPolicyBean = new ApplicationPolicyBean(); applicationPolicyBean.setId(applicationPolicy.getId()); - applicationPolicyBean.setUuid(applicationPolicy.getUuid()); - applicationPolicyBean.setTenantId(applicationPolicy.getTenantId()); applicationPolicyBean.setAlgorithm(applicationPolicy.getAlgorithm()); applicationPolicyBean.setNetworkPartitions(applicationPolicy.getNetworkPartitions()); @@ -2076,7 +2074,7 @@ public class ObjectConverter { } public static ApplicationPolicy convertApplicationPolicyBeanToStubAppPolicy( - ApplicationPolicyBean applicationPolicyBean) { + ApplicationPolicyBean applicationPolicyBean, String applicationPolicyUuid, int tenantId) { if (applicationPolicyBean == null) { return null; @@ -2086,8 +2084,8 @@ public class ObjectConverter { applicationPolicy.setId(applicationPolicyBean.getId()); applicationPolicy.setAlgorithm(applicationPolicyBean.getAlgorithm()); applicationPolicy.setNetworkPartitions(applicationPolicyBean.getNetworkPartitions()); - applicationPolicy.setUuid(applicationPolicyBean.getUuid()); - applicationPolicy.setTenantId(applicationPolicyBean.getTenantId()); + applicationPolicy.setUuid(applicationPolicyUuid); + applicationPolicy.setTenantId(tenantId); if (applicationPolicyBean.getProperties() != null) { if (!applicationPolicyBean.getProperties().isEmpty()) { applicationPolicy.setProperties(getASPropertiesFromCommonProperties(applicationPolicyBean.getProperties()));
