Update the cartridge group with uuid

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

Branch: refs/heads/tenant-isolation
Commit: e0f6286ec3646177e4ac3378467aebe469b040f2
Parents: 5bad93f
Author: Gayan Gunarathne <[email protected]>
Authored: Wed Jul 8 22:20:09 2015 +0530
Committer: Gayan Gunarathne <[email protected]>
Committed: Wed Jul 8 22:20:09 2015 +0530

----------------------------------------------------------------------
 .../autoscaler/registry/RegistryManager.java    |  17 +-
 .../autoscaler/services/AutoscalerService.java  |   8 +
 .../services/impl/AutoscalerServiceImpl.java    |  16 +-
 .../beans/cartridge/CartridgeGroupBean.java     |   8 +
 .../common/client/AutoscalerServiceClient.java  |   4 +
 .../rest/endpoint/api/StratosApiV41.java        |  10 +-
 .../rest/endpoint/api/StratosApiV41Utils.java   |  19 +-
 .../util/converter/ObjectConverter.java         |   2 +-
 .../src/main/resources/AutoscalerService.wsdl   | 542 ++++++++++---------
 9 files changed, 362 insertions(+), 264 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/e0f6286e/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/registry/RegistryManager.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/registry/RegistryManager.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/registry/RegistryManager.java
index 4dd7c86..1577adb 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/registry/RegistryManager.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/registry/RegistryManager.java
@@ -373,8 +373,8 @@ public class RegistryManager {
         }
     }
 
-    public boolean serviceGroupExist(String serviceGroupName) {
-        String resourcePath = AutoscalerConstants.AUTOSCALER_RESOURCE + 
AutoscalerConstants.SERVICE_GROUP + "/" + serviceGroupName;
+    public boolean serviceGroupExist(String serviceGroupUuid) {
+        String resourcePath = AutoscalerConstants.AUTOSCALER_RESOURCE + 
AutoscalerConstants.SERVICE_GROUP + "/" + serviceGroupUuid;
         return resourceExist(resourcePath);
     }
 
@@ -537,10 +537,10 @@ public class RegistryManager {
         }
     }
 
-    public ServiceGroup getServiceGroup(String name) throws Exception {
+    public ServiceGroup getServiceGroup(String uuid) throws Exception {
         try {
             startTenantFlow();
-            String resourcePath = AutoscalerConstants.AUTOSCALER_RESOURCE + 
AutoscalerConstants.SERVICE_GROUP + "/" + name;
+            String resourcePath = AutoscalerConstants.AUTOSCALER_RESOURCE + 
AutoscalerConstants.SERVICE_GROUP + "/" + uuid;
             Object serializedObj = instance.retrieve(resourcePath);
             ServiceGroup group = null;
             if (serializedObj != null) {
@@ -561,6 +561,15 @@ public class RegistryManager {
         }
     }
 
+       public ServiceGroup getServiceGroup(String name,int tenantId) throws 
Exception {
+               ServiceGroup[] serviceGroups=getServiceGroups();
+               for(ServiceGroup serviceGroup:serviceGroups){
+                       
if(serviceGroup.getName().equals(name)&&(serviceGroup.getTenantId()==tenantId)){
+                               return serviceGroup;
+                       }
+               }
+               return null;
+       }
     public ServiceGroup[] getServiceGroups() {
         try {
             startTenantFlow();

http://git-wip-us.apache.org/repos/asf/stratos/blob/e0f6286e/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/AutoscalerService.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/AutoscalerService.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/AutoscalerService.java
index e703e39..c7e2264 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/AutoscalerService.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/AutoscalerService.java
@@ -239,6 +239,14 @@ public interface AutoscalerService {
      */
     public ServiceGroup getServiceGroup(String name);
 
+       /**
+        * Get cartridge group by tenant
+        * @param name
+        * @param tenantId
+        * @return
+        */
+       public ServiceGroup getServiceGroupByTenant(String name, int tenantId);
+
     /**
      * Find cluster id of an application by subscription alias.
      *

http://git-wip-us.apache.org/repos/asf/stratos/blob/e0f6286e/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 2967368..b6cd3c8 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
@@ -836,17 +836,27 @@ public class AutoscalerServiceImpl implements 
AutoscalerService {
         return true;
     }
 
-    public ServiceGroup getServiceGroup(String name) {
-        if (StringUtils.isEmpty(name)) {
+    public ServiceGroup getServiceGroup(String uuid) {
+        if (StringUtils.isEmpty(uuid)) {
             return null;
         }
         try {
-            return RegistryManager.getInstance().getServiceGroup(name);
+            return RegistryManager.getInstance().getServiceGroup(uuid);
         } catch (Exception e) {
             throw new AutoScalerException("Error occurred while retrieving 
cartridge group", e);
         }
     }
 
+       public ServiceGroup getServiceGroupByTenant(String name,int tenantId) {
+               if (StringUtils.isEmpty(name)) {
+                       return null;
+               }
+               try {
+                       return 
RegistryManager.getInstance().getServiceGroup(name,tenantId);
+               } catch (Exception e) {
+                       throw new AutoScalerException("Error occurred while 
retrieving cartridge group", e);
+               }
+       }
     @Override
     public String findClusterId(String applicationId, String alias) {
         try {

http://git-wip-us.apache.org/repos/asf/stratos/blob/e0f6286e/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/cartridge/CartridgeGroupBean.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/cartridge/CartridgeGroupBean.java
 
b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/cartridge/CartridgeGroupBean.java
index b884e90..90d1f6e 100644
--- 
a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/cartridge/CartridgeGroupBean.java
+++ 
b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/cartridge/CartridgeGroupBean.java
@@ -76,4 +76,12 @@ public class CartridgeGroupBean implements Serializable {
        public void setTenantId(int tenantId) {
                this.tenantId = tenantId;
        }
+
+       public String getName() {
+               return name;
+       }
+
+       public void setName(String name) {
+               this.name = name;
+       }
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/e0f6286e/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/AutoscalerServiceClient.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/AutoscalerServiceClient.java
 
b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/AutoscalerServiceClient.java
index 8dc2420..4911fd4 100644
--- 
a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/AutoscalerServiceClient.java
+++ 
b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/AutoscalerServiceClient.java
@@ -184,6 +184,10 @@ public class AutoscalerServiceClient {
         return stub.getServiceGroup(serviceGroupDefinitionName);
     }
 
+       public ServiceGroup getServiceGroupByTenant(String 
serviceGroupDefinitionName,int tenantId) throws RemoteException {
+               return 
stub.getServiceGroupByTenant(serviceGroupDefinitionName,tenantId);
+       }
+
     public ServiceGroup[] getServiceGroups() throws RemoteException, 
AutoscalerServiceAutoScalerExceptionException {
         return stub.getServiceGroups();
     }

http://git-wip-us.apache.org/repos/asf/stratos/blob/e0f6286e/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 7690818..f54c35c 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
@@ -533,7 +533,8 @@ public class StratosApiV41 extends AbstractApi {
             CartridgeGroupBean cartridgeGroupBean) throws RestAPIException {
 
         try {
-            StratosApiV41Utils.updateServiceGroup(cartridgeGroupBean);
+               PrivilegedCarbonContext carbonContext = 
PrivilegedCarbonContext.getThreadLocalCarbonContext();
+            
StratosApiV41Utils.updateServiceGroup(cartridgeGroupBean,carbonContext.getTenantId());
             URI url = 
uriInfo.getAbsolutePathBuilder().path(cartridgeGroupBean.getUuid()).build();
 
             return Response.ok(url).entity(new 
ResponseMessageBean(ResponseMessageBean.SUCCESS,
@@ -564,7 +565,9 @@ public class StratosApiV41 extends AbstractApi {
     @AuthorizationAction("/permission/admin/stratos/cartridgeGroups/view")
     public Response getCartridgeGroup(
             @PathParam("name") String name) throws RestAPIException {
-        CartridgeGroupBean serviceGroupDefinition = 
StratosApiV41Utils.getServiceGroupDefinition(name);
+
+           PrivilegedCarbonContext carbonContext = 
PrivilegedCarbonContext.getThreadLocalCarbonContext();
+        CartridgeGroupBean serviceGroupDefinition = 
StratosApiV41Utils.getServiceGroupDefinition(name,carbonContext.getTenantId());
 
         if (serviceGroupDefinition != null) {
             return Response.ok().entity(serviceGroupDefinition).build();
@@ -613,7 +616,8 @@ public class StratosApiV41 extends AbstractApi {
     public Response removeServiceGroup(
             @PathParam("name") String name) throws RestAPIException {
         try {
-            StratosApiV41Utils.removeServiceGroup(name);
+               PrivilegedCarbonContext carbonContext = 
PrivilegedCarbonContext.getThreadLocalCarbonContext();
+            
StratosApiV41Utils.removeServiceGroup(name,carbonContext.getTenantId());
         } catch (AutoscalerServiceCartridgeGroupNotFoundExceptionException e) {
             return Response.status(Response.Status.NOT_FOUND).entity(new 
ResponseMessageBean(
                     ResponseMessageBean.ERROR, "Cartridge group not 
found")).build();

http://git-wip-us.apache.org/repos/asf/stratos/blob/e0f6286e/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 f117247..c014466 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
@@ -1121,12 +1121,15 @@ public class StratosApiV41Utils {
      * @param cartridgeGroup
      * @throws RestAPIException
      */
-    public static void updateServiceGroup(CartridgeGroupBean cartridgeGroup) 
throws RestAPIException,
+    public static void updateServiceGroup(CartridgeGroupBean 
cartridgeGroup,int tenantId) throws RestAPIException,
             InvalidCartridgeGroupDefinitionException {
         try {
+               AutoscalerServiceClient autoscalerServiceClient = 
AutoscalerServiceClient.getInstance();
+               
cartridgeGroup.setUuid(autoscalerServiceClient.getServiceGroupByTenant(cartridgeGroup.getName(),tenantId).getUuid());
+                       cartridgeGroup.setTenantId(tenantId);
             ServiceGroup serviceGroup = 
ObjectConverter.convertServiceGroupDefinitionToASStubServiceGroup(
                     cartridgeGroup);
-            AutoscalerServiceClient autoscalerServiceClient = 
AutoscalerServiceClient.getInstance();
+
 
             StratosManagerServiceClient smServiceClient = 
getStratosManagerServiceClient();
 
@@ -1249,7 +1252,7 @@ public class StratosApiV41Utils {
      * @return GroupBean
      * @throws RestAPIException
      */
-    public static CartridgeGroupBean getServiceGroupDefinition(String name) 
throws RestAPIException {
+    public static CartridgeGroupBean getServiceGroupDefinition(String name,int 
tenantId) throws RestAPIException {
 
         if (log.isDebugEnabled()) {
             log.debug("Reading cartridge group: [group-name] " + name);
@@ -1257,7 +1260,7 @@ public class StratosApiV41Utils {
 
         try {
             AutoscalerServiceClient asServiceClient = 
AutoscalerServiceClient.getInstance();
-            ServiceGroup serviceGroup = asServiceClient.getServiceGroup(name);
+            ServiceGroup serviceGroup = 
asServiceClient.getServiceGroupByTenant(name,tenantId);
             if (serviceGroup == null) {
                 return null;
             }
@@ -1310,7 +1313,7 @@ public class StratosApiV41Utils {
      * @param name Group Name
      * @throws RestAPIException
      */
-    public static void removeServiceGroup(String name) throws 
RestAPIException, AutoscalerServiceCartridgeGroupNotFoundExceptionException {
+    public static void removeServiceGroup(String name,int tenantId) throws 
RestAPIException, AutoscalerServiceCartridgeGroupNotFoundExceptionException {
 
         if (log.isDebugEnabled()) {
             log.debug("Removing cartridge group: [name] " + name);
@@ -1321,7 +1324,7 @@ public class StratosApiV41Utils {
 
         // Check whether cartridge group exists
         try {
-            if (asServiceClient.getServiceGroup(name) == null) {
+            if (asServiceClient.getServiceGroupByTenant(name,tenantId) == 
null) {
                 String message = "Cartridge group: [group-name] " + name + " 
cannot be removed since it does not exist";
                 log.error(message);
                 throw new RestAPIException(message);
@@ -1334,9 +1337,9 @@ public class StratosApiV41Utils {
                 throw new RestAPIException(message);
             }
 
-            ServiceGroup serviceGroup = asServiceClient.getServiceGroup(name);
+            ServiceGroup serviceGroup = 
asServiceClient.getServiceGroupByTenant(name,tenantId);
 
-            asServiceClient.undeployServiceGroupDefinition(name);
+            
asServiceClient.undeployServiceGroupDefinition(serviceGroup.getUuid());
 
             // Remove the dependent cartridges and cartridge groups from 
Stratos Manager cache
             // - done after service group has been removed

http://git-wip-us.apache.org/repos/asf/stratos/blob/e0f6286e/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 341c346..10a0757 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
@@ -1800,7 +1800,7 @@ public class ObjectConverter {
         List<CartridgeGroupBean> groupsDefinitions = groupBean.getGroups();
         List<String> cartridgesDefinitions = groupBean.getCartridges();
 
-        servicegroup.setName(groupBean.getUuid());
+        servicegroup.setName(groupBean.getName());
                servicegroup.setUuid(groupBean.getUuid());
            servicegroup.setTenantId(groupBean.getTenantId());
            

Reply via email to