You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by la...@apache.org on 2015/04/27 14:24:05 UTC
[2/3] stratos git commit: Adding properties to add payload parameters
in network partition
Adding properties to add payload parameters in network partition
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/34e91406
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/34e91406
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/34e91406
Branch: refs/heads/master
Commit: 34e9140637366e171c28f0a277786d7116bd3bb4
Parents: 3ff271d
Author: Vishanth <vi...@gmail.com>
Authored: Mon Apr 27 13:30:28 2015 +0530
Committer: Lahiru Sandaruwan <la...@apache.org>
Committed: Mon Apr 27 17:53:44 2015 +0530
----------------------------------------------------------------------
.../controller/domain/NetworkPartition.java | 11 +
.../impl/CloudControllerServiceImpl.java | 23 +
.../beans/partition/NetworkPartitionBean.java | 11 +
.../util/converter/ObjectConverter.java | 20 +
.../main/resources/CloudControllerService.wsdl | 1045 +++++++++---------
5 files changed, 588 insertions(+), 522 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/34e91406/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/NetworkPartition.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/NetworkPartition.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/NetworkPartition.java
index d2ddbb4..1c589fd 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/NetworkPartition.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/NetworkPartition.java
@@ -21,6 +21,8 @@ package org.apache.stratos.cloud.controller.domain;
import java.io.Serializable;
import java.util.Arrays;
+import org.apache.stratos.common.Properties;
+
/**
* The model class for NetworkPartition definition.
@@ -34,6 +36,7 @@ public class NetworkPartition implements Serializable {
private boolean activeByDefault;
private Partition[] partitions;
private String partitionAlgo;
+ private Properties properties;
public void setPartitions(Partition[] partitions) {
if (partitions == null) {
@@ -99,4 +102,12 @@ public class NetworkPartition implements Serializable {
public void setPartitionAlgo(String partitionAlgo) {
this.partitionAlgo = partitionAlgo;
}
+
+ public Properties getProperties() {
+ return properties;
+ }
+
+ public void setProperties(Properties properties) {
+ this.properties = properties;
+ }
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/34e91406/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java
index 6e66924..200852b 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java
@@ -58,6 +58,7 @@ public class CloudControllerServiceImpl implements CloudControllerService {
private static final Log log = LogFactory.getLog(CloudControllerServiceImpl.class);
private static final String PERSISTENCE_MAPPING = "PERSISTENCE_MAPPING";
+ public static final String PAYLOAD_PARAMETER = "payload_parameter.";
private CloudControllerContext cloudControllerContext = CloudControllerContext.getInstance();
private ExecutorService executorService;
@@ -432,6 +433,28 @@ public class CloudControllerServiceImpl implements CloudControllerService {
}
}
+ NetworkPartition networkPartition =
+ CloudControllerContext.getInstance().getNetworkPartition(memberContext.getNetworkPartitionId());
+
+
+ if (networkPartition.getProperties() != null) {
+ if (networkPartition.getProperties().getProperties() != null) {
+ for (Property property : networkPartition.getProperties().getProperties()) {
+ // check if a property is related to the payload. Currently
+ // this is done by checking if the
+ // property name starts with 'payload_parameter.' suffix. If
+ // so the payload param name will
+ // be taken as the substring from the index of '.' to the
+ // end of the property name.
+ if (property.getName().startsWith(PAYLOAD_PARAMETER)) {
+ String propertyName = property.getName();
+ String payloadParamName = propertyName.substring(propertyName.indexOf(".") + 1);
+ addToPayload(payload, payloadParamName, property.getValue());
+ }
+ }
+ }
+ }
+
Iaas iaas = iaasProvider.getIaas();
if (clusterContext.isVolumeRequired()) {
addToPayload(payload, PERSISTENCE_MAPPING, getPersistencePayload(clusterContext, iaas).toString());
http://git-wip-us.apache.org/repos/asf/stratos/blob/34e91406/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/partition/NetworkPartitionBean.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/partition/NetworkPartitionBean.java b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/partition/NetworkPartitionBean.java
index fde2023..fc299e2 100644
--- a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/partition/NetworkPartitionBean.java
+++ b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/partition/NetworkPartitionBean.java
@@ -19,6 +19,8 @@
package org.apache.stratos.common.beans.partition;
+import org.apache.stratos.common.beans.cartridge.PropertyBean;
+
import javax.xml.bind.annotation.XmlRootElement;
import java.util.List;
@@ -29,6 +31,7 @@ public class NetworkPartitionBean {
private String provider;
private List<PartitionBean> partitions;
private String partitionAlgo;
+ private List<PropertyBean> properties;
public String getId() {
return id;
@@ -61,4 +64,12 @@ public class NetworkPartitionBean {
public void setPartitionAlgo(String partitionAlgo) {
this.partitionAlgo = partitionAlgo;
}
+
+ public List<PropertyBean> getProperties() {
+ return properties;
+ }
+
+ public void setProperties(List<PropertyBean> properties) {
+ this.properties = properties;
+ }
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/34e91406/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/util/converter/ObjectConverter.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/util/converter/ObjectConverter.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/util/converter/ObjectConverter.java
index 73891a3..a375522 100644
--- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/util/converter/ObjectConverter.java
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/util/converter/ObjectConverter.java
@@ -413,6 +413,23 @@ public class ObjectConverter {
}
networkPartition.setPartitions(partitionList);
}
+
+ if (stubNetworkPartition.getProperties() != null) {
+ List<org.apache.stratos.common.beans.cartridge.PropertyBean> propertyBeanList
+ = new ArrayList<org.apache.stratos.common.beans.cartridge.PropertyBean>();
+ if (stubNetworkPartition.getProperties() != null) {
+ if (stubNetworkPartition.getProperties().getProperties() != null) {
+ for (org.apache.stratos.cloud.controller.stub.Property stubProperty :
+ stubNetworkPartition.getProperties().getProperties()) {
+ if (stubProperty != null) {
+ propertyBeanList.add(convertStubPropertyToPropertyBean(stubProperty));
+ }
+ }
+ }
+ }
+ networkPartition.setProperties(propertyBeanList);
+ }
+
return networkPartition;
}
@@ -573,6 +590,9 @@ public class ObjectConverter {
if (networkPartitionBean.getPartitions() != null && !networkPartitionBean.getPartitions().isEmpty()) {
networkPartition.setPartitions(convertToStubPartitions(networkPartitionBean.getPartitions()));
}
+ if (networkPartitionBean.getProperties() != null && !networkPartitionBean.getProperties().isEmpty()) {
+ networkPartition.setProperties(convertPropertyBeansToCCStubProperties(networkPartitionBean.getProperties()));
+ }
return networkPartition;
}