diff options
Diffstat (limited to 'catalog-be')
-rw-r--r-- | catalog-be/src/main/java/org/openecomp/sdc/be/tosca/PropertyConvertor.java | 37 | ||||
-rw-r--r-- | catalog-be/src/test/java/org/openecomp/sdc/be/tosca/PropertyConvertorTest.java | 29 |
2 files changed, 41 insertions, 25 deletions
diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/tosca/PropertyConvertor.java b/catalog-be/src/main/java/org/openecomp/sdc/be/tosca/PropertyConvertor.java index 68adbd5ae3..22f6730eb1 100644 --- a/catalog-be/src/main/java/org/openecomp/sdc/be/tosca/PropertyConvertor.java +++ b/catalog-be/src/main/java/org/openecomp/sdc/be/tosca/PropertyConvertor.java @@ -20,11 +20,11 @@ package org.openecomp.sdc.be.tosca; -import com.google.gson.Gson; -import com.google.gson.JsonElement; -import com.google.gson.JsonParser; -import com.google.gson.stream.JsonReader; -import fj.data.Either; +import java.io.StringReader; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + import org.apache.commons.lang3.StringUtils; import org.openecomp.sdc.be.datatypes.elements.SchemaDefinition; import org.openecomp.sdc.be.model.Component; @@ -41,10 +41,12 @@ import org.openecomp.sdc.be.tosca.model.ToscaProperty; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.io.StringReader; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import com.google.gson.Gson; +import com.google.gson.JsonElement; +import com.google.gson.JsonParser; +import com.google.gson.stream.JsonReader; + +import fj.data.Either; public class PropertyConvertor { private static PropertyConvertor instance; @@ -72,12 +74,8 @@ public class PropertyConvertor { // take only the properties of this resource props.stream().filter(p -> p.getOwnerId() == null || p.getOwnerId().equals(component.getUniqueId())).forEach(property -> { - ToscaProperty prop = convertProperty(dataTypes, property, false); - - if (prop != null) { - properties.put(property.getName(), prop); - } - }); + properties.put(property.getName(), convertProperty(dataTypes, property, false)); + }); if (!properties.isEmpty()) { toscaNodeType.setProperties(properties); } @@ -99,10 +97,9 @@ public class PropertyConvertor { prop.setEntry_schema(eschema); } log.trace("try to convert property {} from type {} with default value [{}]", property.getName(), property.getType(), property.getDefaultValue()); - prop.setDefaultp(convertToToscaObject(property.getType(), property.getDefaultValue(), innerType, dataTypes)); - - if (prop.getDefaultp() == null) { - return null; + Object convertedObj = convertToToscaObject(property.getType(), property.getDefaultValue(), innerType, dataTypes); + if (convertedObj != null) { + prop.setDefaultp(convertedObj); } prop.setType(property.getType()); prop.setDescription(property.getDescription()); @@ -111,6 +108,7 @@ public class PropertyConvertor { prop.setRequired(property.isRequired()); } return prop; + } public Object convertToToscaObject(String propertyType, String value, String innerType, Map<String, DataTypeDefinition> dataTypes) { @@ -120,7 +118,6 @@ public class PropertyConvertor { if(StringUtils.isEmpty(value)){ return null; } - } try { ToscaMapValueConverter mapConverterInst = ToscaMapValueConverter.getInstance(); diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/tosca/PropertyConvertorTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/tosca/PropertyConvertorTest.java index a987e0243b..c77c0f10f3 100644 --- a/catalog-be/src/test/java/org/openecomp/sdc/be/tosca/PropertyConvertorTest.java +++ b/catalog-be/src/test/java/org/openecomp/sdc/be/tosca/PropertyConvertorTest.java @@ -7,6 +7,7 @@ import static org.junit.Assert.assertTrue; import java.util.ArrayList; import java.util.HashMap; +import java.util.Iterator; import java.util.List; import java.util.Map; @@ -37,7 +38,9 @@ public class PropertyConvertorTest { @Test public void convertPropertyWhenValueAndDefaultNull() { - assertNull(PropertyConvertor.getInstance().convertProperty(dataTypes, property, false)); + ToscaProperty prop = PropertyConvertor.getInstance().convertProperty(dataTypes, property, false); + assertNotNull(prop); + assertNull(prop.getDefaultp()); } @Test @@ -63,7 +66,15 @@ public class PropertyConvertorTest { resource.setProperties(properties); Either<ToscaNodeType, ToscaError> result = PropertyConvertor.getInstance().convertProperties(resource, new ToscaNodeType(), dataTypes); assertTrue(result.isLeft()); - assertEquals(1, result.left().value().getProperties().size()); + assertEquals(2, result.left().value().getProperties().size()); + int cnt = 0; + for (Iterator<ToscaProperty> it = result.left().value().getProperties().values().iterator(); it.hasNext(); ) { + ToscaProperty prop = it.next(); + if (prop.getDefaultp() == null) { + cnt++; + } + } + assertEquals(1, cnt); } @Test @@ -82,6 +93,10 @@ public class PropertyConvertorTest { Either<ToscaNodeType, ToscaError> result = PropertyConvertor.getInstance().convertProperties(resource, new ToscaNodeType(), dataTypes); assertTrue(result.isLeft()); assertEquals(2, result.left().value().getProperties().size()); + for (Iterator<ToscaProperty> it = result.left().value().getProperties().values().iterator(); it.hasNext(); ) { + ToscaProperty prop = it.next(); + assertNotNull(prop.getDefaultp()); + } } @Test @@ -97,6 +112,10 @@ public class PropertyConvertorTest { resource.setProperties(properties); Either<ToscaNodeType, ToscaError> result = PropertyConvertor.getInstance().convertProperties(resource, new ToscaNodeType(), dataTypes); assertTrue(result.isLeft()); - assertNull(result.left().value().getProperties()); - } -}
\ No newline at end of file + assertEquals(2, result.left().value().getProperties().size()); + for (Iterator<ToscaProperty> it = result.left().value().getProperties().values().iterator(); it.hasNext(); ) { + ToscaProperty prop = it.next(); + assertNull(prop.getDefaultp()); + } + } +} |