added object constructor 71/65371/1
authorBenjamin, Max (mb388a) <mb388a@us.att.com>
Sun, 9 Sep 2018 02:34:55 +0000 (22:34 -0400)
committerBenjamin, Max (mb388a) <mb388a@us.att.com>
Sun, 9 Sep 2018 02:35:07 +0000 (22:35 -0400)
added Object constructor to AAIResultWrapper

Change-Id: Ic1bae387a13b7b7864c2687a63532347d8f102e7
Issue-ID: SO-998
Signed-off-by: Benjamin, Max (mb388a) <mb388a@us.att.com>
common/src/main/java/org/onap/so/client/aai/entities/AAIResultWrapper.java
common/src/test/java/org/onap/so/client/aai/entities/AAIResultWrapperTest.java

index 36e67e2..45621f0 100644 (file)
@@ -26,9 +26,11 @@ import java.util.HashMap;
 import java.util.Map;
 import java.util.Optional;
 
+import org.apache.log4j.Logger;
 import org.onap.so.client.aai.AAICommonObjectMapperProvider;
 import org.onap.so.jsonpath.JsonPathUtil;
 
+import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.core.type.TypeReference;
 import com.fasterxml.jackson.databind.ObjectMapper;
 
@@ -37,11 +39,26 @@ public class AAIResultWrapper implements Serializable {
        private static final long serialVersionUID = 5895841925807816737L;
        private final String jsonBody;
        private final ObjectMapper mapper;
+       private final transient Logger logger = Logger.getLogger(AAIResultWrapper.class);
+       
        public AAIResultWrapper(String json) {
                this.jsonBody = json;
                this.mapper = new AAICommonObjectMapperProvider().getMapper();
        }
        
+       public AAIResultWrapper(Object aaiObject) {
+               this.mapper = new AAICommonObjectMapperProvider().getMapper();
+               this.jsonBody = mapObjectToString(aaiObject);
+       }
+       
+       protected String mapObjectToString(Object aaiObject) {
+               try {
+                       return mapper.writeValueAsString(aaiObject);
+               } catch (JsonProcessingException e) {
+                       logger.warn("could not parse object into json - defaulting to {}");
+                       return "{}";
+               }
+       }
        public Optional<Relationships> getRelationships() {
                final String path = "$.relationship-list";
                if (isEmpty()) {
index e40c25a..d4bf1b0 100644 (file)
@@ -102,8 +102,12 @@ public class AAIResultWrapperTest {
                assertEquals(Optional.empty(), wrapper.asBean(GenericVnf.class));
                assertEquals(true, wrapper.asMap().isEmpty());
                assertEquals("{}", wrapper.toString());
-
-
                
        }
+       
+       @Test
+       public void objectConstructor() {
+               AAIResultWrapper wrapper = new AAIResultWrapper(new GenericVnf());
+               assertEquals("{}", wrapper.getJson());
+       }
 }