diff --git a/.gitmodules b/.gitmodules
index 09cc52e..f92b733 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,4 +1,4 @@
[submodule "alien4cloud"]
path = alien4cloud
url = ../alien4cloud.git
- commit = adc7c36
+ commit = 90413c99
diff --git a/a4c-brooklyn-plugin/pom.xml b/a4c-brooklyn-plugin/pom.xml
index 1726dc6..2fc179c 100644
--- a/a4c-brooklyn-plugin/pom.xml
+++ b/a4c-brooklyn-plugin/pom.xml
@@ -4,7 +4,7 @@
io.cloudsoft.brooklyn.tosca
brooklyn-tosca-parent
- 1.0.0-SNAPSHOT
+ 1.1.0-SNAPSHOT
../pom.xml
diff --git a/brooklyn-tosca-common/pom.xml b/brooklyn-tosca-common/pom.xml
index 41ade3e..ec8f3f2 100644
--- a/brooklyn-tosca-common/pom.xml
+++ b/brooklyn-tosca-common/pom.xml
@@ -4,7 +4,7 @@
io.cloudsoft.brooklyn.tosca
brooklyn-tosca-parent
- 1.0.0-SNAPSHOT
+ 1.1.0-SNAPSHOT
../pom.xml
diff --git a/brooklyn-tosca-dist/pom.xml b/brooklyn-tosca-dist/pom.xml
index 2ae1fc3..c1f5dde 100644
--- a/brooklyn-tosca-dist/pom.xml
+++ b/brooklyn-tosca-dist/pom.xml
@@ -6,7 +6,7 @@
io.cloudsoft.brooklyn.tosca
brooklyn-tosca-parent
- 1.0.0-SNAPSHOT
+ 1.1.0-SNAPSHOT
../pom.xml
diff --git a/brooklyn-tosca-transformer/pom.xml b/brooklyn-tosca-transformer/pom.xml
index ef9242f..ce033a2 100644
--- a/brooklyn-tosca-transformer/pom.xml
+++ b/brooklyn-tosca-transformer/pom.xml
@@ -6,7 +6,7 @@
io.cloudsoft.brooklyn.tosca
brooklyn-tosca-parent
- 1.0.0-SNAPSHOT
+ 1.1.0-SNAPSHOT
../pom.xml
diff --git a/brooklyn-tosca-transformer/src/main/java/io/cloudsoft/tosca/a4c/brooklyn/AbstractToscaPolicyDecorator.java b/brooklyn-tosca-transformer/src/main/java/io/cloudsoft/tosca/a4c/brooklyn/AbstractToscaPolicyDecorator.java
index 4e9dde9..ec8bfa3 100644
--- a/brooklyn-tosca-transformer/src/main/java/io/cloudsoft/tosca/a4c/brooklyn/AbstractToscaPolicyDecorator.java
+++ b/brooklyn-tosca-transformer/src/main/java/io/cloudsoft/tosca/a4c/brooklyn/AbstractToscaPolicyDecorator.java
@@ -21,6 +21,10 @@ public AbstractToscaPolicyDecorator(ManagementContext mgmt) {
this.mgmt = mgmt;
}
+ public Map getToscaObjectPropertiesExtended(Map toscaObjectData) {
+ return getToscaObjectPropertiesExtendedExcluding(toscaObjectData, true, false, POLICY_FLAG_NAME, POLICY_FLAG_TYPE);
+ }
+
/**
* Given a map eg of a tosca type,
* return everything under the TOSCA "properties" key, merged on top of things at the root
@@ -32,14 +36,25 @@ public AbstractToscaPolicyDecorator(ManagementContext mgmt) {
* @param toscaObjectData
*/
@SuppressWarnings("unchecked")
- public Map getToscaObjectPropertiesExtended(Map toscaObjectData){
+ public Map getToscaObjectPropertiesExtendedExcluding(Map toscaObjectData,
+ boolean promoteToscaProperties, boolean promoteBrooklynConfig, String... keysToOmit){
Map data = MutableMap.copyOf(toscaObjectData);
- data.remove(POLICY_FLAG_NAME);
- data.remove(POLICY_FLAG_TYPE);
+ for (String keyToOmit: keysToOmit) {
+ data.remove(keyToOmit);
+ }
+
+ if (promoteToscaProperties) {
+ Map props = (Map) data.remove(POLICY_FLAG_PROPERTIES);
+ if (props!=null) {
+ data.putAll(props);
+ }
+ }
- Map props = (Map) data.remove(POLICY_FLAG_PROPERTIES);
- if (props!=null) {
- data.putAll(props);
+ if (promoteBrooklynConfig) {
+ Object brooklynConfig = data.remove(POLICY_FLAG_BROOKLYN_CONFIG);
+ if (brooklynConfig!=null) {
+ data.putAll((Map)brooklynConfig);
+ }
}
// evaluate DSL
diff --git a/brooklyn-tosca-transformer/src/main/java/io/cloudsoft/tosca/a4c/brooklyn/Alien4CloudFacade.java b/brooklyn-tosca-transformer/src/main/java/io/cloudsoft/tosca/a4c/brooklyn/Alien4CloudFacade.java
index 81a33be..3194f09 100644
--- a/brooklyn-tosca-transformer/src/main/java/io/cloudsoft/tosca/a4c/brooklyn/Alien4CloudFacade.java
+++ b/brooklyn-tosca-transformer/src/main/java/io/cloudsoft/tosca/a4c/brooklyn/Alien4CloudFacade.java
@@ -54,6 +54,7 @@
import alien4cloud.model.components.IndexedInheritableToscaElement;
import alien4cloud.model.components.IndexedRelationshipType;
import alien4cloud.model.components.Interface;
+import alien4cloud.model.components.ListPropertyValue;
import alien4cloud.model.components.Operation;
import alien4cloud.model.components.ScalarPropertyValue;
import alien4cloud.model.deployment.DeploymentTopology;
@@ -240,6 +241,9 @@ private Optional