STRATOS-1515: Adding new property signUpsExist to application bean
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/48cca398 Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/48cca398 Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/48cca398 Branch: refs/heads/master Commit: 48cca3983f2fc9b00994b169558f7cf362880b8a Parents: 96b4c26 Author: Imesh Gunaratne <[email protected]> Authored: Tue Aug 18 15:50:37 2015 +0530 Committer: Imesh Gunaratne <[email protected]> Committed: Tue Aug 18 15:50:37 2015 +0530 ---------------------------------------------------------------------- .../beans/application/ApplicationBean.java | 9 + .../client/StratosManagerServiceClient.java | 23 + .../components/ApplicationSignUpHandler.java | 30 +- .../manager/services/StratosManagerService.java | 18 + .../impl/StratosManagerServiceImpl.java | 10 + .../rest/endpoint/api/StratosApiV41Utils.java | 9 + .../main/resources/StratosManagerService.wsdl | 760 +++++++++++-------- 7 files changed, 522 insertions(+), 337 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/48cca398/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/application/ApplicationBean.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/application/ApplicationBean.java b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/application/ApplicationBean.java index 71e0c6c..1c7295d 100644 --- a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/application/ApplicationBean.java +++ b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/application/ApplicationBean.java @@ -37,6 +37,7 @@ public class ApplicationBean implements Serializable { private String alias; private String status; private ComponentBean components; + private boolean signUpsExist; private List<PropertyBean> property; public String getApplicationId() { @@ -102,4 +103,12 @@ public class ApplicationBean implements Serializable { public void setProperty(List<PropertyBean> property) { this.property = property; } + + public boolean isSignUpsExist() { + return signUpsExist; + } + + public void setSignUpsExist(boolean signUpsExist) { + this.signUpsExist = signUpsExist; + } } http://git-wip-us.apache.org/repos/asf/stratos/blob/48cca398/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/StratosManagerServiceClient.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/StratosManagerServiceClient.java b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/StratosManagerServiceClient.java index 909d52e..a7dd9ad 100644 --- a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/StratosManagerServiceClient.java +++ b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/StratosManagerServiceClient.java @@ -113,6 +113,29 @@ public class StratosManagerServiceClient { } /** + * Check application signup availability + * @param applicationId + * @param tenantId + * @return + * @throws StratosManagerServiceApplicationSignUpExceptionException + * @throws RemoteException + */ + public boolean applicationSignUpExist(String applicationId, int tenantId) throws StratosManagerServiceApplicationSignUpExceptionException, RemoteException { + return stub.applicationSignUpExist(applicationId, tenantId); + } + + /** + * Check application signup availability + * @param applicationId + * @return + * @throws StratosManagerServiceApplicationSignUpExceptionException + * @throws RemoteException + */ + public boolean applicationSignUpsExist(String applicationId) throws StratosManagerServiceApplicationSignUpExceptionException, RemoteException { + return stub.applicationSignUpsExist(applicationId); + } + + /** * Get application signups. * * @return http://git-wip-us.apache.org/repos/asf/stratos/blob/48cca398/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/components/ApplicationSignUpHandler.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/components/ApplicationSignUpHandler.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/components/ApplicationSignUpHandler.java index c52f367..dec94fb 100644 --- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/components/ApplicationSignUpHandler.java +++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/components/ApplicationSignUpHandler.java @@ -94,7 +94,7 @@ public class ApplicationSignUpHandler { } /** - * Check application signup availability. + * Check application signup availability by tenant. * * @param applicationId * @param tenantId @@ -114,6 +114,34 @@ public class ApplicationSignUpHandler { } /** + * Check application signup availability. + * @param applicationId + * @return + * @throws ApplicationSignUpException + */ + public boolean applicationSignUpsExist(String applicationId) throws ApplicationSignUpException { + try { + if (log.isDebugEnabled()) { + log.debug(String.format("Checking application signups: [application-id] %s", applicationId)); + } + + if (StringUtils.isBlank(applicationId)) { + throw new RuntimeException("Application id is null"); + } + + String[] resourcePaths = (String[]) RegistryManager.getInstance().read(APPLICATION_SIGNUP_RESOURCE_PATH); + if ((resourcePaths != null) && (resourcePaths.length > 0)) { + return true; + } + return false; + } catch (Exception e) { + String message = "Could not check application signup availability: [application-id] " + applicationId; + log.error(message, e); + throw new ApplicationSignUpException(message, e); + } + } + + /** * Remove application signup by application id, tenant id. * * @param applicationId http://git-wip-us.apache.org/repos/asf/stratos/blob/48cca398/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/services/StratosManagerService.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/services/StratosManagerService.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/services/StratosManagerService.java index b80aea7..4c4237a 100644 --- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/services/StratosManagerService.java +++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/services/StratosManagerService.java @@ -56,6 +56,24 @@ public interface StratosManagerService { public ApplicationSignUp getApplicationSignUp(String applicationId, int tenantId) throws ApplicationSignUpException; /** + * Check application signup availability by tenant + * @param applicationId + * @param tenantId + * @return + * @throws ApplicationSignUpException + */ + public boolean applicationSignUpExist(String applicationId, int tenantId) throws ApplicationSignUpException; + + /** + * Check application signup availability + * @param applicationId + * @return + * @throws ApplicationSignUpException + */ + public boolean applicationSignUpsExist(String applicationId) throws ApplicationSignUpException; + + + /** * Get application signups available for an application. * * @return http://git-wip-us.apache.org/repos/asf/stratos/blob/48cca398/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/services/impl/StratosManagerServiceImpl.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/services/impl/StratosManagerServiceImpl.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/services/impl/StratosManagerServiceImpl.java index f7c0858..c164e1c 100644 --- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/services/impl/StratosManagerServiceImpl.java +++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/services/impl/StratosManagerServiceImpl.java @@ -63,6 +63,16 @@ public class StratosManagerServiceImpl implements StratosManagerService { } @Override + public boolean applicationSignUpExist(String applicationId, int tenantId) throws ApplicationSignUpException { + return signUpHandler.applicationSignUpExist(applicationId, tenantId); + } + + @Override + public boolean applicationSignUpsExist(String applicationId) throws ApplicationSignUpException { + return signUpHandler.applicationSignUpsExist(applicationId); + } + + @Override public ApplicationSignUp[] getApplicationSignUps(String applicationId) throws ApplicationSignUpException { return signUpHandler.getApplicationSignUps(applicationId); } http://git-wip-us.apache.org/repos/asf/stratos/blob/48cca398/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 bf99edf..afd40d6 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 @@ -1853,6 +1853,11 @@ public class StratosApiV41Utils { if (applicationContext != null) { ApplicationBean applicationDefinition = ObjectConverter.convertStubApplicationContextToApplicationDefinition(applicationContext); + if(applicationDefinition.isMultiTenant()) { + boolean hasSignUps = StratosManagerServiceClient.getInstance(). + applicationSignUpsExist(applicationDefinition.getApplicationId()); + applicationDefinition.setSignUpsExist(hasSignUps); + } applicationDefinitions.add(applicationDefinition); } } @@ -1862,6 +1867,10 @@ public class StratosApiV41Utils { String message = "Could not read applications"; log.error(message, e); throw new RestAPIException(message, e); + } catch (StratosManagerServiceApplicationSignUpExceptionException e) { + String message = "Could not read applications"; + log.error(message, e); + throw new RestAPIException(message, e); } }
