Updated Branches:
  refs/heads/master 621e7b8c3 -> 2e8d7b7f0

throwing RestAPIExceptions with proper messages from the rest EP


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

Branch: refs/heads/master
Commit: 86c3fb2fbd8557e4b996add7f4c456834b8fdf88
Parents: 029cca0
Author: Isuru <[email protected]>
Authored: Fri Feb 14 17:17:04 2014 +0530
Committer: Isuru <[email protected]>
Committed: Fri Feb 14 17:17:04 2014 +0530

----------------------------------------------------------------------
 .../rest/endpoint/services/ServiceUtils.java    |  87 +++++++-----
 .../rest/endpoint/services/StratosAdmin.java    | 142 +++++++++++++++----
 2 files changed, 167 insertions(+), 62 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/86c3fb2f/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/ServiceUtils.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/ServiceUtils.java
 
b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/ServiceUtils.java
index 4a58ec9..906002d 100644
--- 
a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/ServiceUtils.java
+++ 
b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/ServiceUtils.java
@@ -91,7 +91,9 @@ public class ServiceUtils {
                 log.info("Successfully deployed Cartridge [type] 
"+cartridgeDefinitionBean.type);
                 
             } catch (Exception e) {
-                throw new RestAPIException(e);
+                String errorMsg = "Error while deploying cartridge definition";
+                log.error(errorMsg, e);
+                throw new RestAPIException(errorMsg);
             }
         }
 
@@ -128,7 +130,9 @@ public class ServiceUtils {
                 
cloudControllerServiceClient.unDeployCartridgeDefinition(cartridgeType);
 
             } catch (Exception e) {
-                throw new RestAPIException(e);
+                String errorMsg = "Error while undeploying cartridge 
definition for type " + cartridgeType;
+                log.error(errorMsg, e);
+                throw new RestAPIException(errorMsg);
             }
         }
 
@@ -152,7 +156,9 @@ public class ServiceUtils {
                 autoscalerServiceClient.deployPartition(partition);
 
             } catch (Exception e) {
-                throw new RestAPIException(e.getMessage(), e);
+                String errorMsg = "Error in deploying partition definition";
+                log.error(errorMsg, e);
+                throw new RestAPIException(errorMsg);
             }
         }
 
@@ -175,7 +181,9 @@ public class ServiceUtils {
                 
autoscalerServiceClient.deployAutoscalingPolicy(autoscalePolicy);
 
             } catch (Exception e) {
-                throw new RestAPIException(e);
+                String errorMsg = "Error in deploying autoscaling policy 
definition";
+                log.error(errorMsg, e);
+                throw new RestAPIException(errorMsg);
             }
         }
 
@@ -200,7 +208,9 @@ public class ServiceUtils {
                 
autoscalerServiceClient.deployDeploymentPolicy(deploymentPolicy);
 
             } catch (Exception e) {
-                throw new RestAPIException(e);
+                String errorMsg = "Error in deploying deployment policy 
definition";
+                log.error(errorMsg, e);
+                throw new RestAPIException(errorMsg);
             }
         }
 
@@ -232,7 +242,7 @@ public class ServiceUtils {
             } catch (Exception e) {
                 String errorMsg = "Error getting available partitions";
                 log.error(errorMsg, e);
-                throw new RestAPIException(errorMsg, e);
+                throw new RestAPIException(errorMsg);
             }
         }
 
@@ -250,9 +260,9 @@ public class ServiceUtils {
                              
autoscalerServiceClient.getPartitionsOfDeploymentPolicy(deploymentPolicyId);
 
             } catch (Exception e) {
-                String errorMsg = "Error getting available partitions";
+                String errorMsg = "Error getting available partitions for 
deployment policy id " + deploymentPolicyId;
                 log.error(errorMsg, e);
-                throw new RestAPIException(errorMsg, e);
+                throw new RestAPIException(errorMsg);
             }
         }
 
@@ -270,9 +280,10 @@ public class ServiceUtils {
                              
autoscalerServiceClient.getPartitionsOfGroup(deploymentPolicyId, groupId);
 
             } catch (Exception e) {
-                String errorMsg = "Error getting available partitions";
+                String errorMsg = "Error getting available partitions for 
deployment policy id " + deploymentPolicyId +
+                        ", group id " + groupId;
                 log.error(errorMsg, e);
-                throw new RestAPIException(errorMsg, e);
+                throw new RestAPIException(errorMsg);
             }
         }
 
@@ -288,9 +299,9 @@ public class ServiceUtils {
                 partition = autoscalerServiceClient.getPartition(partitionId);
 
             } catch (Exception e) {
-                String errorMsg = "Error getting available partition";
+                String errorMsg = "Error getting partition for id " + 
partitionId;
                 log.error(errorMsg, e);
-                throw new RestAPIException(errorMsg, e);
+                throw new RestAPIException(errorMsg);
             }
         }
 
@@ -320,7 +331,7 @@ public class ServiceUtils {
             } catch (Exception e) {
                 String errorMsg = "Error getting available autoscaling 
policies";
                 log.error(errorMsg, e);
-                throw new RestAPIException(errorMsg, e);
+                throw new RestAPIException(errorMsg);
             }
         }
 
@@ -336,9 +347,9 @@ public class ServiceUtils {
                 autoscalePolicy = 
autoscalerServiceClient.getAutoScalePolicy(autoscalePolicyId);
 
             } catch (Exception e) {
-                String errorMsg = "Error getting available autoscaling 
policies";
+                String errorMsg = "Error getting information for autoscaling 
policy with id " + autoscalePolicyId;
                 log.error(errorMsg, e);
-                throw new RestAPIException(errorMsg, e);
+                throw new RestAPIException(errorMsg);
             }
         }
 
@@ -357,7 +368,7 @@ public class ServiceUtils {
             } catch (Exception e) {
                 String errorMsg = "Error getting available deployment 
policies";
                 log.error(errorMsg, e);
-                throw new RestAPIException(errorMsg, e);
+                throw new RestAPIException(errorMsg);
             }
         }
 
@@ -374,9 +385,9 @@ public class ServiceUtils {
                 deploymentPolicies = 
autoscalerServiceClient.getDeploymentPolicies(cartridgeType);
 
             } catch (Exception e) {
-                String errorMsg = "Error getting available deployment 
policies";
+                String errorMsg = "Error getting available deployment policies 
for cartridge type " + cartridgeType;
                 log.error(errorMsg, e);
-                throw new RestAPIException(errorMsg, e);
+                throw new RestAPIException(errorMsg);
             }
         }
 
@@ -393,9 +404,9 @@ public class ServiceUtils {
                 deploymentPolicy = 
autoscalerServiceClient.getDeploymentPolicy(deploymentPolicyId);
 
             } catch (Exception e) {
-                String errorMsg = "Error getting available deployment 
policies";
+                String errorMsg = "Error getting deployment policy with id " + 
deploymentPolicyId;
                 log.error(errorMsg, e);
-                throw new RestAPIException(errorMsg, e);
+                throw new RestAPIException(errorMsg);
             }
         }
 
@@ -412,9 +423,9 @@ public class ServiceUtils {
                 partitionGroups = 
autoscalerServiceClient.getPartitionGroups(deploymentPolicyId);
 
             } catch (Exception e) {
-                String errorMsg = "Error getting available partition groups";
+                String errorMsg = "Error getting available partition groups 
for deployment policy id " + deploymentPolicyId;
                 log.error(errorMsg, e);
-                throw new RestAPIException(errorMsg, e);
+                throw new RestAPIException(errorMsg);
             }
         }
 
@@ -428,7 +439,7 @@ public class ServiceUtils {
                 return cartridge;
             }
         }
-         throw new RestAPIException("cannot find the required cartridge Type") 
;
+         throw new RestAPIException("cannot find the required cartridge type " 
+ cartridgeType) ;
     }
 
     static List<Cartridge> getAvailableLbCartridges(Boolean multiTenant, 
ConfigurationContext configurationContext) throws RestAPIException {
@@ -540,9 +551,9 @@ public class ServiceUtils {
                 }
             }
         } catch (Exception e) {
-            String msg = "Error when getting available cartridges. " + 
e.getMessage();
+            String msg = "Error when getting available cartridges";
             log.error(msg, e);
-            throw new RestAPIException("An error occurred getting available 
cartridges ", e);
+            throw new RestAPIException(msg);
         }
 
         Collections.sort(cartridges);
@@ -573,7 +584,9 @@ public class ServiceUtils {
             services = serviceDeploymentManager.getServices();
 
         } catch (ADCException e) {
-            throw new RestAPIException("Error in getting Service Cluster 
details", e);
+            String msg = "Error in getting deployed service information ";
+            log.error(msg, e);
+            throw new RestAPIException(msg);
         }
 
         if (services != null && !services.isEmpty()) {
@@ -591,7 +604,9 @@ public class ServiceUtils {
             service = serviceDeploymentManager.getService(type);
 
         } catch (ADCException e) {
-            throw new RestAPIException("Error in getting Service Cluster 
information for type " + type, e);
+            String msg = "Error in getting deployed service cluster definition 
" + type;
+            log.error(msg, e);
+            throw new RestAPIException(msg);
         }
 
         if (service != null) {
@@ -649,9 +664,9 @@ public class ServiceUtils {
                 }
             }
         } catch (Exception e) {
-            String msg = "Error when getting subscribed cartridges. " + 
e.getMessage();
+            String msg = "Error when getting subscribed cartridges";
             log.error(msg, e);
-            throw new RestAPIException("An Error occurred when getting 
subscribed cartridges.", e);
+            throw new RestAPIException(msg);
         }
 
         Collections.sort(cartridges);
@@ -1235,10 +1250,12 @@ public class ServiceUtils {
             cartridgeSubsciptionManager.unsubscribeFromCartridge(tenantDomain, 
alias);
 
         } catch (ADCException e) {
-            throw new RestAPIException(e);
+            throw new RestAPIException(e.getMessage(), e);
 
         } catch (NotSubscribedException e) {
-            throw new RestAPIException(e);
+            String msg = "Error in terminating subscription with alias  "+ 
alias;
+            log.error(msg, e);
+            throw new RestAPIException(msg);
         }
 
         StratosAdminResponse stratosAdminResponse = new StratosAdminResponse();
@@ -1262,7 +1279,9 @@ public class ServiceUtils {
                serviceDeploymentManager.deployService(cartridgeType, 
autoscalingPolicy, deploymentPolicy, tenantId, tenantRange, tenantDomain, 
tenantUsername);
 
                } catch (Exception e) {
-                       throw new RestAPIException(e);
+            String msg = "Error in deploying service cluster definition";
+            log.error(msg, e);
+            throw new RestAPIException(msg);
                }
 
         StratosAdminResponse stratosAdminResponse = new StratosAdminResponse();
@@ -1276,7 +1295,9 @@ public class ServiceUtils {
             serviceDeploymentManager.undeployService(serviceType);
 
         } catch (Exception e) {
-            throw new RestAPIException(e);
+            String msg = "Error in undeploying service cluster definition for 
type " + serviceType;
+            log.error(msg, e);
+            throw new RestAPIException(msg);
         }
 
         StratosAdminResponse stratosAdminResponse = new StratosAdminResponse();

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/86c3fb2f/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/StratosAdmin.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/StratosAdmin.java
 
b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/StratosAdmin.java
index 6c0b4c0..41e31fc 100644
--- 
a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/StratosAdmin.java
+++ 
b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/StratosAdmin.java
@@ -44,6 +44,7 @@ import org.apache.stratos.tenant.mgt.core.TenantPersistor;
 import org.apache.stratos.tenant.mgt.util.TenantMgtUtil;
 import org.wso2.carbon.context.PrivilegedCarbonContext;
 import org.wso2.carbon.context.RegistryType;
+import org.wso2.carbon.registry.core.exceptions.RegistryException;
 import org.wso2.carbon.registry.core.session.UserRegistry;
 import org.wso2.carbon.user.api.UserRealm;
 import org.wso2.carbon.user.api.UserStoreManager;
@@ -440,36 +441,55 @@ public class StratosAdmin extends AbstractAdmin {
     @Produces("application/json")
     @AuthorizationAction("/permission/protected/manage/monitor/tenants")
     @SuperTenantService(true)
-    public StratosAdminResponse addTenant(TenantInfoBean tenantInfoBean) 
throws Exception {
+    public StratosAdminResponse addTenant(TenantInfoBean tenantInfoBean) 
throws RestAPIException {
         try {
             CommonUtil.validateEmail(tenantInfoBean.getEmail());
         } catch (Exception e) {
             String msg = "Invalid email is provided.";
             log.error(msg, e);
-            throw new Exception(msg, e);
+            throw new RestAPIException(msg);
         }
         String tenantDomain = tenantInfoBean.getTenantDomain();
-        TenantMgtUtil.validateDomain(tenantDomain);
+        try {
+            TenantMgtUtil.validateDomain(tenantDomain);
+        } catch (Exception e) {
+            String msg = "Tenant domain validation error for tenant " + 
tenantDomain;
+            log.error(msg, e);
+            throw new RestAPIException(msg);
+        }
         UserRegistry userRegistry = (UserRegistry) 
PrivilegedCarbonContext.getThreadLocalCarbonContext().
                 getRegistry(RegistryType.USER_GOVERNANCE);
         if (userRegistry == null) {
             log.error("Security Alert! User registry is null. A user is trying 
create a tenant "
                     + " without an authenticated session.");
-            throw new Exception("Invalid data."); // obscure error message.
+            throw new RestAPIException("Invalid data."); // obscure error 
message.
         }
 
         if (userRegistry.getTenantId() != 
MultitenantConstants.SUPER_TENANT_ID) {
             log.error("Security Alert! Non super tenant trying to create a 
tenant.");
-            throw new Exception("Invalid data."); // obscure error message.
+            throw new RestAPIException("Invalid data."); // obscure error 
message.
         }
         Tenant tenant = TenantMgtUtil.initializeTenant(tenantInfoBean);
         TenantPersistor persistor = ServiceHolder.getTenantPersistor();
         // not validating the domain ownership, since created by super tenant
-        int tenantId = persistor.persistTenant(tenant, false, 
tenantInfoBean.getSuccessKey(),
-                tenantInfoBean.getOriginatedService(),false); //TODO verify 
whether this is the correct approach (isSkeleton)
+        int tenantId = 0; //TODO verify whether this is the correct approach 
(isSkeleton)
+        try {
+            tenantId = persistor.persistTenant(tenant, false, 
tenantInfoBean.getSuccessKey(),
+                    tenantInfoBean.getOriginatedService(),false);
+        } catch (Exception e) {
+            String msg = "Error in persisting tenant " + tenantDomain;
+            log.error(msg, e);
+            throw new RestAPIException(msg);
+        }
         tenantInfoBean.setTenantId(tenantId);
 
-        TenantMgtUtil.addClaimsToUserStoreManager(tenant);
+        try {
+            TenantMgtUtil.addClaimsToUserStoreManager(tenant);
+        } catch (Exception e) {
+            String msg = "Error in granting permissions for tenant " + 
tenantDomain;
+            log.error(msg, e);
+            throw new RestAPIException(msg);
+        }
 
         //Notify tenant addition
         try {
@@ -477,12 +497,24 @@ public class StratosAdmin extends AbstractAdmin {
         } catch (StratosException e) {
             String msg = "Error in notifying tenant addition.";
             log.error(msg, e);
-            throw new Exception(msg, e);
+            throw new RestAPIException(msg);
         }
         // For the super tenant tenant creation, tenants are always activated 
as they are created.
-        TenantMgtUtil.activateTenantInitially(tenantInfoBean, tenantId);
+        try {
+            TenantMgtUtil.activateTenantInitially(tenantInfoBean, tenantId);
+        } catch (Exception e) {
+            String msg = "Error in initial activation of tenant " + 
tenantDomain;
+            log.error(msg, e);
+            throw new RestAPIException(msg);
+        }
 
-        TenantMgtUtil.prepareStringToShowThemeMgtPage(tenant.getId());
+        try {
+            TenantMgtUtil.prepareStringToShowThemeMgtPage(tenant.getId());
+        } catch (RegistryException e) {
+            String msg = "Error in preparing theme mgt page for tenant " + 
tenantDomain;
+            log.error(msg, e);
+            throw new RestAPIException(msg);
+        }
 
         StratosAdminResponse stratosAdminResponse = new StratosAdminResponse();
         stratosAdminResponse.setMessage("Successfully added new tenant with 
domain " + tenantInfoBean.getTenantDomain());
@@ -495,7 +527,19 @@ public class StratosAdmin extends AbstractAdmin {
     @Consumes("application/json")
     @AuthorizationAction("/permission/protected/manage/monitor/tenants")
     @SuperTenantService(true)
-    public StratosAdminResponse updateTenant(TenantInfoBean tenantInfoBean) 
throws Exception {
+    public StratosAdminResponse updateTenant(TenantInfoBean tenantInfoBean) 
throws RestAPIException {
+
+        try {
+            return updateExistingTenant(tenantInfoBean);
+        } catch (Exception e) {
+            String msg = "Error in updating tenant " + 
tenantInfoBean.getTenantDomain();
+            log.error(msg, e);
+            throw new RestAPIException(msg);
+        }
+    }
+
+    private StratosAdminResponse updateExistingTenant(TenantInfoBean 
tenantInfoBean) throws Exception {
+
         TenantManager tenantManager = ServiceHolder.getTenantManager();
         UserStoreManager userStoreManager;
 
@@ -625,7 +669,19 @@ public class StratosAdmin extends AbstractAdmin {
     @Produces("application/json")
     @AuthorizationAction("/permission/protected/manage/monitor/tenants")
     @SuperTenantService(true)
-    public TenantInfoBean getTenant(@PathParam("tenantDomain") String 
tenantDomain) throws Exception {
+    public TenantInfoBean getTenant(@PathParam("tenantDomain") String 
tenantDomain) throws RestAPIException {
+
+        try {
+            return getTenantForDomain(tenantDomain);
+        } catch (Exception e) {
+            String msg = "Error in getting tenant information for tenant " + 
tenantDomain;
+            log.error(msg, e);
+            throw new RestAPIException(msg);
+        }
+    }
+
+    private TenantInfoBean getTenantForDomain (String tenantDomain) throws 
Exception {
+
         TenantManager tenantManager = ServiceHolder.getTenantManager();
 
         int tenantId;
@@ -673,9 +729,16 @@ public class StratosAdmin extends AbstractAdmin {
     @Produces("application/json")
     @AuthorizationAction("/permission/protected/manage/monitor/tenants")
     @SuperTenantService(true)
-    public StratosAdminResponse deleteTenant(@PathParam("tenantDomain") String 
tenantDomain) throws Exception {
+    public StratosAdminResponse deleteTenant(@PathParam("tenantDomain") String 
tenantDomain) throws RestAPIException {
         TenantManager tenantManager = ServiceHolder.getTenantManager();
-        int tenantId = tenantManager.getTenantId(tenantDomain);
+        int tenantId = 0;
+        try {
+            tenantId = tenantManager.getTenantId(tenantDomain);
+        } catch (org.wso2.carbon.user.api.UserStoreException e) {
+            String msg = "Error in deleting tenant " + tenantDomain;
+            log.error(msg, e);
+            throw new RestAPIException(msg);
+        }
         try {
             //TODO: billing related info cleanup
             TenantMgtUtil.deleteTenantRegistryData(tenantId);
@@ -687,7 +750,7 @@ public class StratosAdmin extends AbstractAdmin {
             String msg = "Error deleting tenant with domain: " + tenantDomain 
+ " and tenant id: " +
                     tenantId + ".";
             log.error(msg, e);
-            throw new Exception(msg, e);
+            throw new RestAPIException(msg);
         }
 
         StratosAdminResponse stratosAdminResponse = new StratosAdminResponse();
@@ -701,8 +764,15 @@ public class StratosAdmin extends AbstractAdmin {
     @Produces("application/json")
     @AuthorizationAction("/permission/protected/manage/monitor/tenants")
     @SuperTenantService(true)
-    public TenantInfoBean[] retrieveTenants() throws Exception {
-        List<TenantInfoBean> tenantList = getAllTenants();
+    public TenantInfoBean[] retrieveTenants() throws RestAPIException {
+        List<TenantInfoBean> tenantList = null;
+        try {
+            tenantList = getAllTenants();
+        } catch (Exception e) {
+            String msg = "Error in retrieving tenants";
+            log.error(msg, e);
+            throw new RestAPIException(msg);
+        }
         return tenantList.toArray(new TenantInfoBean[tenantList.size()]);
     }
 
@@ -712,8 +782,15 @@ public class StratosAdmin extends AbstractAdmin {
     @Produces("application/json")
     @AuthorizationAction("/permission/protected/manage/monitor/tenants")
     @SuperTenantService(true)
-    public TenantInfoBean[] 
retrievePartialSearchTenants(@PathParam("domain")String domain) throws 
Exception {
-        List<TenantInfoBean> tenantList = searchPartialTenantsDomains(domain);
+    public TenantInfoBean[] 
retrievePartialSearchTenants(@PathParam("domain")String domain) throws 
RestAPIException {
+        List<TenantInfoBean> tenantList = null;
+        try {
+            tenantList = searchPartialTenantsDomains(domain);
+        } catch (Exception e) {
+            String msg = "Error in getting information for tenant " + domain;
+            log.error(msg, e);
+            throw new RestAPIException(msg);
+        }
         return tenantList.toArray(new TenantInfoBean[tenantList.size()]);
     }
 
@@ -766,8 +843,14 @@ public class StratosAdmin extends AbstractAdmin {
     @Consumes("application/json")
     @AuthorizationAction("/permission/protected/manage/monitor/tenants")
     @SuperTenantService(true)
-    public boolean isDomainAvailable(@PathParam("tenantDomain") String 
tenantDomain) throws Exception {
-        return CommonUtil.isDomainNameAvailable(tenantDomain);
+    public boolean isDomainAvailable(@PathParam("tenantDomain") String 
tenantDomain) throws RestAPIException {
+        try {
+            return CommonUtil.isDomainNameAvailable(tenantDomain);
+        } catch (Exception e) {
+            String msg = "Error in checking domain " + tenantDomain + " is 
available";
+            log.error(msg, e);
+            throw new RestAPIException(msg);
+        }
 
     }
 
@@ -868,14 +951,15 @@ public class StratosAdmin extends AbstractAdmin {
     }
 
 
-    private List<TenantInfoBean> getAllTenants() throws Exception {
+    private List<TenantInfoBean> getAllTenants() throws RestAPIException {
         TenantManager tenantManager = ServiceHolder.getTenantManager();
         Tenant[] tenants;
         try {
             tenants = (Tenant[]) tenantManager.getAllTenants();
-        } catch (UserStoreException e) {
-            String msg = "Error in retrieving the tenant information.";
-            throw new Exception(msg, e);
+        } catch (Exception e) {
+            String msg = "Error in retrieving the tenant information";
+            log.error(msg, e);
+            throw new RestAPIException(msg);
         }
 
         List<TenantInfoBean> tenantList = new ArrayList<TenantInfoBean>();
@@ -886,16 +970,16 @@ public class StratosAdmin extends AbstractAdmin {
         return tenantList;
     }
 
-    private List<TenantInfoBean> searchPartialTenantsDomains(String domain) 
throws Exception {
+    private List<TenantInfoBean> searchPartialTenantsDomains(String domain) 
throws RestAPIException {
         TenantManager tenantManager = ServiceHolder.getTenantManager();
         Tenant[] tenants;
         try {
             domain = domain.trim();
             tenants = (Tenant[]) 
tenantManager.getAllTenantsForTenantDomainStr(domain);
-        } catch (UserStoreException e) {
+        } catch (Exception e) {
             String msg = "Error in retrieving the tenant information.";
             log.error(msg, e);
-            throw new Exception(msg, e);
+            throw new RestAPIException(msg);
         }
 
         List<TenantInfoBean> tenantList = new ArrayList<TenantInfoBean>();

Reply via email to