You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by ni...@apache.org on 2013/12/11 18:51:25 UTC
[2/4] git commit: setting lb reference type property
setting lb reference type property
Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/1ebe7985
Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/1ebe7985
Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/1ebe7985
Branch: refs/heads/master
Commit: 1ebe79859455446b96d20af676d70735179c2d60
Parents: 8d42814
Author: Nirmal Fernando <ni...@apache.org>
Authored: Wed Dec 11 23:18:49 2013 +0530
Committer: Nirmal Fernando <ni...@apache.org>
Committed: Wed Dec 11 23:21:01 2013 +0530
----------------------------------------------------------------------
.../apache/stratos/rest/endpoint/Constants.java | 5 +-
.../rest/endpoint/services/ServiceUtils.java | 53 +++++++++++++-------
2 files changed, 35 insertions(+), 23 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/1ebe7985/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/Constants.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/Constants.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/Constants.java
index 5719dd2..b4a42c5 100644
--- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/Constants.java
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/Constants.java
@@ -24,8 +24,5 @@ package org.apache.stratos.rest.endpoint;
public class Constants {
public static final String SUPER_TENANT_SERVICE = "super.tenant.service";
- public static final String SERVICE_AWARE_LOAD_BALANCER = "service.aware.load.balancer";
- public static final String DEFAULT_LOAD_BALANCER = "default.load.balancer";
- public static final String NO_LOAD_BALANCER = "no.load.balancer";
- public static final String EXISTING_LOAD_BALANCERS = "existing.load.balancers";
+
}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/1ebe7985/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 7c7cb84..82ca3fc 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
@@ -42,7 +42,6 @@ import org.apache.stratos.cloud.controller.pojo.CartridgeInfo;
import org.apache.stratos.cloud.controller.pojo.LoadbalancerConfig;
import org.apache.stratos.cloud.controller.pojo.Properties;
import org.apache.stratos.messaging.domain.topology.Cluster;
-import org.apache.stratos.rest.endpoint.Constants;
import org.apache.stratos.rest.endpoint.bean.autoscaler.partition.Partition;
import org.apache.stratos.rest.endpoint.bean.autoscaler.partition.PartitionGroup;
import org.apache.stratos.rest.endpoint.bean.autoscaler.policy.autoscale.AutoscalePolicy;
@@ -50,8 +49,9 @@ import org.apache.stratos.rest.endpoint.bean.cartridge.definition.CartridgeDefin
import org.apache.stratos.rest.endpoint.bean.util.converter.PojoConverter;
import org.apache.stratos.rest.endpoint.exception.RestAPIException;
import org.wso2.carbon.context.PrivilegedCarbonContext;
+import org.apache.stratos.cloud.controller.pojo.Property;
+import org.apache.stratos.messaging.util.Constants;
-import java.beans.PropertyVetoException;
import java.util.*;
import java.util.regex.Pattern;
@@ -642,7 +642,7 @@ public class ServiceUtils {
}
}
- org.apache.stratos.cloud.controller.pojo.Property lbRefProp = null;
+ List<Property> lbRefProp = new ArrayList<Property>();
if (!isLb) {
// if not an LB Cartridge
@@ -667,21 +667,27 @@ public class ServiceUtils {
Properties lbProperties = lbConfig.getProperties();
+ Property property = new Property();
+ property.setName(org.apache.stratos.messaging.util.Constants.LOAD_BALANCER_REF);
+
for (org.apache.stratos.cloud.controller.pojo.Property prop : lbProperties.getProperties()) {
- // lb ref prop
- lbRefProp = prop;
+
+ String name = prop.getName();
+ String value = prop.getValue();
// TODO make following a chain of responsibility pattern
- if (Constants.NO_LOAD_BALANCER.equals(prop.getName())) {
- if ("true".equals(prop.getValue())) {
+ if (Constants.NO_LOAD_BALANCER.equals(name)) {
+ if ("true".equals(value)) {
if (log.isDebugEnabled()) {
log.debug("This cartridge does not require a load balancer. " +
"[Type] " + cartridgeType);
}
+ property.setValue(name);
+ lbRefProp.add(property);
break;
}
- } else if (Constants.EXISTING_LOAD_BALANCERS.equals(prop.getName())) {
- String clusterIdsVal = prop.getValue();
+ } else if (Constants.EXISTING_LOAD_BALANCERS.equals(name)) {
+ String clusterIdsVal = value;
if (log.isDebugEnabled()) {
log.debug("This cartridge refers to existing load balancers. " +
"[Type] " + cartridgeType + "[Referenced Cluster Ids] " +
@@ -700,10 +706,14 @@ public class ServiceUtils {
}
}
}
+
+ property.setValue(name);
+ lbRefProp.add(property);
break;
- } else if (Constants.DEFAULT_LOAD_BALANCER.equals(prop.getName())) {
- if ("true".equals(prop.getValue())) {
+ } else if (Constants.DEFAULT_LOAD_BALANCER.equals(name)) {
+ if ("true".equals(value)) {
+ property.setValue(name);
if (log.isDebugEnabled()) {
log.debug("This cartridge uses default load balancer. " +
"[Type] " + cartridgeType);
@@ -726,7 +736,7 @@ public class ServiceUtils {
lbAlias,
lbCartridgeInfo.getDefaultAutoscalingPolicy(),
deploymentPolicy, configurationContext,
- userName, tenantDomain);
+ userName, tenantDomain, new Property[]{property});
}
}
}
@@ -736,9 +746,12 @@ public class ServiceUtils {
log.error(ex.getMessage(), ex);
}
}
+
+ lbRefProp.add(property);
break;
- } else if (Constants.SERVICE_AWARE_LOAD_BALANCER.equals(prop.getName())) {
- if ("true".equals(prop.getValue())) {
+ } else if (Constants.SERVICE_AWARE_LOAD_BALANCER.equals(name)) {
+ if ("true".equals(value)) {
+ property.setValue(name);
if (log.isDebugEnabled()) {
log.debug("This cartridge uses a service aware load balancer. " +
"[Type] " + cartridgeType);
@@ -762,7 +775,7 @@ public class ServiceUtils {
lbAlias,
lbCartridgeInfo.getDefaultAutoscalingPolicy(),
deploymentPolicy, configurationContext,
- userName, tenantDomain);
+ userName, tenantDomain, new Property[]{property});
}
}
}
@@ -772,6 +785,8 @@ public class ServiceUtils {
log.error(ex.getMessage(), ex);
}
}
+
+ lbRefProp.add(property);
break;
}
}
@@ -783,7 +798,7 @@ public class ServiceUtils {
CartridgeSubscription cartridgeSubscription = cartridgeSubsciptionManager.subscribeToCartridgeWithProperties(cartridgeType,
alias.trim(), autoscalingPolicy, deploymentPolicy ,tenantDomain, ApplicationManagementUtil.getTenantId(configurationContext),
userName, "git", repoURL, privateRepo, repoUsername, repoPassword,
- lbRefProp != null ? new org.apache.stratos.cloud.controller.pojo.Property[]{lbRefProp}:null);
+ lbRefProp.toArray(new Property[0]));
if(dataCartridgeAlias != null && !dataCartridgeAlias.trim().isEmpty()) {
@@ -847,14 +862,14 @@ public class ServiceUtils {
private static void subscribeToLb(String cartridgeType, String lbAlias,
String defaultAutoscalingPolicy, String deploymentPolicy,
- ConfigurationContext configurationContext, String userName, String tenantDomain) throws ADCException {
+ ConfigurationContext configurationContext, String userName, String tenantDomain, Property[] props) throws ADCException {
try {
CartridgeSubscription cartridgeSubscription =
- cartridgeSubsciptionManager.subscribeToCartridge(cartridgeType, lbAlias.trim(), defaultAutoscalingPolicy,
+ cartridgeSubsciptionManager.subscribeToCartridgeWithProperties(cartridgeType, lbAlias.trim(), defaultAutoscalingPolicy,
deploymentPolicy ,tenantDomain,
ApplicationManagementUtil.getTenantId(configurationContext),
- userName, "git", null, false, null, null);
+ userName, "git", null, false, null, null, props);
cartridgeSubsciptionManager.registerCartridgeSubscription(cartridgeSubscription);
} catch (Exception e) {