You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by im...@apache.org on 2015/01/07 10:47:07 UTC

stratos git commit: Restricting application signups for single-tenant applications

Repository: stratos
Updated Branches:
  refs/heads/master d3e1478c4 -> bed02834f


Restricting application signups for single-tenant applications


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

Branch: refs/heads/master
Commit: bed02834f2c349eb4a2c91157c9ac2df8b95157e
Parents: d3e1478
Author: Imesh Gunaratne <im...@apache.org>
Authored: Wed Jan 7 15:17:00 2015 +0530
Committer: Imesh Gunaratne <im...@apache.org>
Committed: Wed Jan 7 15:17:00 2015 +0530

----------------------------------------------------------------------
 .../ArtifactDistributionCoordinator.java        | 64 +++++++++++---------
 .../rest/endpoint/api/StratosApiV41Utils.java   |  8 +++
 2 files changed, 45 insertions(+), 27 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/bed02834/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/components/ArtifactDistributionCoordinator.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/components/ArtifactDistributionCoordinator.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/components/ArtifactDistributionCoordinator.java
index 6997ff9..cc97824 100644
--- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/components/ArtifactDistributionCoordinator.java
+++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/components/ArtifactDistributionCoordinator.java
@@ -79,10 +79,24 @@ public class ArtifactDistributionCoordinator {
             } else {
                 for (ArtifactRepository artifactRepository : applicationSignUp.getArtifactRepositories()) {
                     if (artifactRepository != null) {
-                        if(StringUtils.isBlank(clusterId) ||
-                                (clusterId.equals(findClusterId(applicationId, artifactRepository.getAlias())))) {
-                            publishArtifactUpdatedEvent(String.valueOf(applicationSignUp.getTenantId()),
-                                    applicationId, applicationSignUp.getSignUpId(), artifactRepository);
+                        String artifactRepositoryClusterId = findClusterId(applicationId, artifactRepository.getAlias());
+                        if(StringUtils.isBlank(clusterId) || (clusterId.equals(artifactRepositoryClusterId))) {
+
+                            publisher.publishArtifactUpdatedEvent(artifactRepositoryClusterId,
+                                    String.valueOf(applicationSignUp.getTenantId()),
+                                    artifactRepository.getRepoUrl(),
+                                    artifactRepository.getRepoUsername(),
+                                    artifactRepository.getRepoPassword(), false);
+
+                            if (log.isInfoEnabled()) {
+                                log.info(String.format("Artifact updated event published: [application-id] %s " +
+                                                "[signup-id] %s [cartridge-type] %s [alias] %s [repo-url] %s",
+                                        applicationId,
+                                        applicationSignUp.getSignUpId(),
+                                        artifactRepository.getCartridgeType(),
+                                        artifactRepository.getAlias(),
+                                        artifactRepository.getRepoUrl()));
+                            }
                         }
                     }
                 }
@@ -112,9 +126,25 @@ public class ArtifactDistributionCoordinator {
                     if(applicationSignUp.getArtifactRepositories() != null) {
                         for(ArtifactRepository artifactRepository : applicationSignUp.getArtifactRepositories()) {
                             if((artifactRepository != null) && (artifactRepository.getRepoUrl().equals(repoUrl))) {
-                                publishArtifactUpdatedEvent(String.valueOf(applicationSignUp.getTenantId()),
-                                        applicationSignUp.getApplicationId(), applicationSignUp.getSignUpId(),
-                                        artifactRepository);
+
+                                String applicationId = applicationSignUp.getApplicationId();
+                                String clusterId = findClusterId(applicationId, artifactRepository.getAlias());
+
+                                publisher.publishArtifactUpdatedEvent(clusterId,
+                                        String.valueOf(applicationSignUp.getTenantId()),
+                                        artifactRepository.getRepoUrl(),
+                                        artifactRepository.getRepoUsername(),
+                                        artifactRepository.getRepoPassword(), false);
+
+                                if (log.isInfoEnabled()) {
+                                    log.info(String.format("Artifact updated event published: [application-id] %s " +
+                                                    "[signup-id] %s [cartridge-type] %s [alias] %s [repo-url] %s",
+                                            applicationId,
+                                            applicationSignUp.getSignUpId(),
+                                            artifactRepository.getCartridgeType(),
+                                            artifactRepository.getAlias(),
+                                            artifactRepository.getRepoUrl()));
+                                }
                             }
                         }
                     }
@@ -127,26 +157,6 @@ public class ArtifactDistributionCoordinator {
         }
     }
 
-    private void publishArtifactUpdatedEvent(String tenantId, String applicationId, String signUpId,
-                                             ArtifactRepository artifactRepository) {
-        String clusterId = findClusterId(applicationId, artifactRepository.getAlias());
-        publisher.publishArtifactUpdatedEvent(clusterId,
-                tenantId,
-                artifactRepository.getRepoUrl(),
-                artifactRepository.getRepoUsername(),
-                artifactRepository.getRepoPassword(), false);
-
-        if (log.isInfoEnabled()) {
-            log.info(String.format("Artifact updated event published: [application-id] %s " +
-                            "[signup-id] %s [cartridge-type] %s [alias] %s [repo-url] %s",
-                    applicationId,
-                    signUpId,
-                    artifactRepository.getCartridgeType(),
-                    artifactRepository.getAlias(),
-                    artifactRepository.getRepoUrl()));
-        }
-    }
-
     private String findClusterId(String applicationId, String alias) {
         Applications applications = ApplicationManager.getApplications();
         if (applications == null) {

http://git-wip-us.apache.org/repos/asf/stratos/blob/bed02834/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 4466203..bdd6a17 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
@@ -1389,6 +1389,10 @@ public class StratosApiV41Utils {
             throw new RestAPIException("Application does not exist: [application-id] " + applicationId);
         }
 
+        if(!application.isMultiTenant()) {
+            throw new RestAPIException("Application singups not available for single-tenant applications");
+        }
+
         if(StringUtils.isBlank(signUpId)) {
             throw new RestAPIException("Signup id is null");
         }
@@ -1418,6 +1422,10 @@ public class StratosApiV41Utils {
             throw new RestAPIException("Application does not exist: [application-id] " + applicationId);
         }
 
+        if(!application.isMultiTenant()) {
+            throw new RestAPIException("Application singups not available for single-tenant applications");
+        }
+
         try {
             List<ApplicationSignUpBean> applicationSignUpBeans = new ArrayList<ApplicationSignUpBean>();
             StratosManagerServiceClient serviceClient = StratosManagerServiceClient.getInstance();