Repository: stratos
Updated Branches:
  refs/heads/4.0.0-grouping b141bc3cc -> c6febda9a


calling createClusters in CC from AS


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

Branch: refs/heads/4.0.0-grouping
Commit: c6febda9a835d3dccc86394ab62906946783abfc
Parents: b141bc3
Author: reka <[email protected]>
Authored: Mon Nov 3 13:10:33 2014 +0530
Committer: reka <[email protected]>
Committed: Mon Nov 3 13:10:33 2014 +0530

----------------------------------------------------------------------
 .../applications/topic/ApplicationBuilder.java  |  2 +
 .../cloud/controller/CloudControllerClient.java | 45 ++++++++++++++++++--
 2 files changed, 43 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/c6febda9/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationBuilder.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationBuilder.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationBuilder.java
index 0426382..f9a38a1 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationBuilder.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationBuilder.java
@@ -23,6 +23,7 @@ import org.apache.commons.logging.LogFactory;
 import org.apache.stratos.autoscaler.AutoscalerContext;
 import org.apache.stratos.autoscaler.applications.ApplicationHolder;
 import 
org.apache.stratos.autoscaler.applications.pojo.ApplicationClusterContext;
+import 
org.apache.stratos.autoscaler.client.cloud.controller.CloudControllerClient;
 import org.apache.stratos.autoscaler.exception.DependencyBuilderException;
 import org.apache.stratos.autoscaler.exception.TopologyInConsistentException;
 import 
org.apache.stratos.autoscaler.grouping.topic.ClusterStatusEventPublisher;
@@ -174,6 +175,7 @@ public class ApplicationBuilder {
             if (applications.getApplication(application.getUniqueIdentifier()) 
!= null) {
                 ApplicationHolder.persistApplication(application);
                 //TODO cloud controller client and register clusters
+                
CloudControllerClient.getInstance().createApplicationClusters();
                // startApplicationMonitor(application.getUniqueIdentifier());
             } else {
                 log.warn("Application [ " + application.getUniqueIdentifier() 
+ " ] already exists in Applications");

http://git-wip-us.apache.org/repos/asf/stratos/blob/c6febda9/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/cloud/controller/CloudControllerClient.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/cloud/controller/CloudControllerClient.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/cloud/controller/CloudControllerClient.java
index b13465f..4ca2b9a 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/cloud/controller/CloudControllerClient.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/cloud/controller/CloudControllerClient.java
@@ -24,6 +24,7 @@ import org.apache.commons.configuration.XMLConfiguration;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.stratos.autoscaler.Constants;
+import 
org.apache.stratos.autoscaler.applications.pojo.ApplicationClusterContext;
 import org.apache.stratos.autoscaler.deployment.policy.DeploymentPolicy;
 import org.apache.stratos.autoscaler.exception.CartridgeInformationException;
 import org.apache.stratos.autoscaler.exception.PartitionValidationException;
@@ -32,12 +33,13 @@ import 
org.apache.stratos.autoscaler.exception.TerminationException;
 import org.apache.stratos.autoscaler.util.ConfUtil;
 import org.apache.stratos.cloud.controller.stub.*;
 import org.apache.stratos.cloud.controller.stub.deployment.partition.Partition;
-import org.apache.stratos.cloud.controller.stub.pojo.CartridgeInfo;
-import org.apache.stratos.cloud.controller.stub.pojo.MemberContext;
-import org.apache.stratos.cloud.controller.stub.pojo.Properties;
-import org.apache.stratos.cloud.controller.stub.pojo.Property;
+import org.apache.stratos.cloud.controller.stub.pojo.*;
+import 
org.apache.stratos.messaging.event.topology.ApplicationClustersCreatedEvent;
 
 import java.rmi.RemoteException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Set;
 
 
 /**
@@ -202,6 +204,41 @@ public class CloudControllerClient {
         }
     }
 
+    public synchronized void createApplicationClusters( String appId,
+                                                        
Set<ApplicationClusterContext> appClusterContexts) {
+        List<ApplicationClusterContextDTO> contextDTOs =
+                                        new 
ArrayList<ApplicationClusterContextDTO>();
+        for(ApplicationClusterContext context : appClusterContexts) {
+           ApplicationClusterContextDTO dto = new 
ApplicationClusterContextDTO();
+            dto.setClusterId(context.getClusterId());
+            dto.setAutoscalePolicyName(context.getAutoscalePolicyName());
+            dto.setDeploymentPolicyName(context.getDeploymentPolicyName());
+            dto.setCartridgeType(context.getCartridgeType());
+            dto.setHostName(context.getHostName());
+            dto.setTenantRange(context.getTenantRange());
+            dto.setTextPayload(context.getTextPayload());
+            dto.setLbCluster(context.isLbCluster());
+            contextDTOs.add(dto);
+        }
+
+        ApplicationClusterContextDTO[] applicationClusterContextDTOs =
+                new ApplicationClusterContextDTO[contextDTOs.size()];
+        contextDTOs.toArray(applicationClusterContextDTOs);
+        try {
+            stub.createApplicationClusters(appId, 
applicationClusterContextDTOs);
+        } catch (RemoteException e) {
+            String msg = e.getMessage();
+            log.error(msg, e);
+            //throw new TerminationException(msg, e);
+        } catch 
(CloudControllerServiceApplicationClusterRegistrationExceptionException e) {
+            //e.printStackTrace();
+            String msg = e.getMessage();
+            log.error(msg, e);
+        }
+
+
+    }
+
     public synchronized void terminate(String memberId) throws 
TerminationException {
         try {
             if(log.isInfoEnabled()) {

Reply via email to