changes to CC client etc. after CC refactoring
Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/ad818d1b Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/ad818d1b Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/ad818d1b Branch: refs/heads/master Commit: ad818d1b2cd73d3605907e4b0ebfa07330959c46 Parents: 1654262 Author: Nirmal Fernando <[email protected]> Authored: Wed Nov 27 09:47:04 2013 +0530 Committer: Nirmal Fernando <[email protected]> Committed: Wed Nov 27 09:47:04 2013 +0530 ---------------------------------------------------------------------- .../client/CloudControllerServiceClient.java | 51 +++++++++++++++++--- .../manager/CartridgeSubscriptionManager.java | 2 +- .../mgt/utils/ApplicationManagementUtil.java | 20 ++++++-- 3 files changed, 60 insertions(+), 13 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/ad818d1b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/client/CloudControllerServiceClient.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/client/CloudControllerServiceClient.java b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/client/CloudControllerServiceClient.java index 36db631..7141467 100644 --- a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/client/CloudControllerServiceClient.java +++ b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/client/CloudControllerServiceClient.java @@ -26,12 +26,16 @@ import org.apache.commons.logging.LogFactory; import org.apache.stratos.adc.mgt.exception.UnregisteredCartridgeException; import org.apache.stratos.adc.mgt.internal.DataHolder; import org.apache.stratos.adc.mgt.utils.CartridgeConstants; +import org.apache.stratos.cloud.controller.pojo.xsd.Registrant; +import org.apache.stratos.cloud.controller.stub.CloudControllerServiceIllegalArgumentExceptionException; import org.apache.stratos.cloud.controller.stub.CloudControllerServiceStub; import org.apache.stratos.cloud.controller.stub.CloudControllerServiceUnregisteredCartridgeExceptionException; import org.apache.stratos.cloud.controller.util.xsd.CartridgeInfo; -import org.apache.stratos.cloud.controller.util.xsd.Properties; +import org.apache.stratos.messaging.util.xsd.Property; import java.rmi.RemoteException; +import java.util.Iterator; +import java.util.Properties; public class CloudControllerServiceClient { @@ -70,15 +74,46 @@ public class CloudControllerServiceClient { public boolean register(String clusterId, String cartridgeType, String payload, String tenantRange, String hostName, Properties properties, - String autoscalorPolicyName) throws RemoteException, CloudControllerServiceUnregisteredCartridgeExceptionException + String autoscalorPolicyName) throws RemoteException, + CloudControllerServiceUnregisteredCartridgeExceptionException, + CloudControllerServiceIllegalArgumentExceptionException { - return stub.registerService(clusterId, tenantRange, cartridgeType, hostName, - properties, payload, autoscalorPolicyName); + Registrant registrant = new Registrant(); + registrant.setClusterId(clusterId); + registrant.setCartridgeType(cartridgeType); + registrant.setTenantRange(tenantRange); + registrant.setHostName(hostName); + org.apache.stratos.messaging.util.xsd.Properties props = extractProperties(properties); + registrant.setProperties(props); + registrant.setPayload(payload); + registrant.setAutoScalerPolicyName(autoscalorPolicyName); + return stub.registerService(registrant); } - public boolean terminateAllInstances(String clusterId) throws Exception { - return stub.terminateAllInstances(clusterId); + private org.apache.stratos.messaging.util.xsd.Properties + extractProperties(Properties properties) { + org.apache.stratos.messaging.util.xsd.Properties props = + new org.apache.stratos.messaging.util.xsd.Properties(); + if (properties != null) { + + for (Iterator iterator = properties.keySet().iterator(); iterator.hasNext();) { + String key = (String) iterator.next(); + String value = properties.getProperty(key); + + Property prop = new Property(); + prop.setName(key); + prop.setValue(value); + + props.addProperties(prop); + + } + } + return props; + } + + public void terminateAllInstances(String clusterId) throws Exception { + stub.terminateAllInstances(clusterId); } public String[] getRegisteredCartridges() throws Exception { @@ -95,8 +130,8 @@ public class CloudControllerServiceClient { } } - public boolean unregisterService(String clusterId) throws Exception { - return stub.unregisterService(clusterId); + public void unregisterService(String clusterId) throws Exception { + stub.unregisterService(clusterId); } } http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/ad818d1b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/manager/CartridgeSubscriptionManager.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/manager/CartridgeSubscriptionManager.java b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/manager/CartridgeSubscriptionManager.java index bf3c938..cb82a4c 100644 --- a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/manager/CartridgeSubscriptionManager.java +++ b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/manager/CartridgeSubscriptionManager.java @@ -41,7 +41,7 @@ import org.apache.stratos.adc.mgt.utils.CartridgeConstants; import org.apache.stratos.adc.mgt.utils.PersistenceManager; import org.apache.stratos.adc.mgt.utils.PolicyHolder; import org.apache.stratos.cloud.controller.util.xsd.CartridgeInfo; -import org.apache.stratos.cloud.controller.util.xsd.Property; +import org.apache.stratos.messaging.util.xsd.Property; import org.wso2.carbon.context.CarbonContext; import java.util.List; http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/ad818d1b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/utils/ApplicationManagementUtil.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/utils/ApplicationManagementUtil.java b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/utils/ApplicationManagementUtil.java index ed8f613..6d673b6 100644 --- a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/utils/ApplicationManagementUtil.java +++ b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/utils/ApplicationManagementUtil.java @@ -22,6 +22,7 @@ package org.apache.stratos.adc.mgt.utils; import com.google.gson.Gson; + import org.apache.axis2.clustering.ClusteringAgent; import org.apache.axis2.clustering.Member; import org.apache.axis2.clustering.management.GroupManagementAgent; @@ -44,10 +45,10 @@ import org.apache.stratos.adc.mgt.repository.Repository; import org.apache.stratos.adc.mgt.service.RepositoryInfoBean; import org.apache.stratos.adc.topology.mgt.service.TopologyManagementService; import org.apache.stratos.adc.topology.mgt.serviceobjects.DomainContext; +import org.apache.stratos.cloud.controller.stub.CloudControllerServiceIllegalArgumentExceptionException; import org.apache.stratos.cloud.controller.stub.CloudControllerServiceUnregisteredCartridgeExceptionException; import org.apache.stratos.cloud.controller.util.xsd.CartridgeInfo; -import org.apache.stratos.cloud.controller.util.xsd.Properties; -import org.apache.stratos.cloud.controller.util.xsd.Property; +import org.apache.stratos.messaging.util.xsd.Property; import org.eclipse.jgit.api.Git; import org.eclipse.jgit.api.LsRemoteCommand; import org.eclipse.jgit.api.errors.GitAPIException; @@ -62,6 +63,7 @@ import org.wso2.carbon.utils.multitenancy.MultitenantUtils; import javax.activation.DataHandler; import javax.activation.FileDataSource; + import java.io.*; import java.net.MalformedURLException; import java.net.URL; @@ -745,7 +747,6 @@ public class ApplicationManagementUtil { DecimalFormat df = new DecimalFormat("##.##"); df.setParseBigDecimal(true); - Properties properties = new Properties(); List<Property> allProperties = new ArrayList<Property>(); // min_app_instances Property property = new Property(); @@ -802,7 +803,14 @@ public class ApplicationManagementUtil { property.setValue(String.valueOf(alias)); allProperties.add(property); - properties.setProperties(allProperties.toArray(new Property[allProperties.size()])); + return addToJavaUtilProperties(allProperties); + } + + private static Properties addToJavaUtilProperties(List<Property> allProperties) { + Properties properties = new Properties(); + for (Property property : allProperties) { + properties.put(property.getName(), property.getValue()); + } return properties; } @@ -934,6 +942,10 @@ public class ApplicationManagementUtil { try { CloudControllerServiceClient.getServiceClient().register(domain, cartridgeType, payload.toString(), tenantRange, hostName, properties, "economyPolicy"); + } catch (CloudControllerServiceIllegalArgumentExceptionException e) { + String msg = "Exception is occurred in register service operation. Reason :" + e.getMessage(); + log.error(msg, e); + throw new IllegalArgumentException("Not a registered cartridge " + cartridgeType, e); } catch (CloudControllerServiceUnregisteredCartridgeExceptionException e) { String msg = "Exception is occurred in register service operation. Reason :" + e.getMessage(); log.error(msg, e);
