aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--catalog-be/src/main/java/org/openecomp/sdc/be/tosca/PropertyConvertor.java37
-rw-r--r--catalog-be/src/test/java/org/openecomp/sdc/be/tosca/PropertyConvertorTest.java29
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());
+ }
+ }
+}