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

Reply via email to