diff options
author | Benjamin, Max (mb388a) <mb388a@us.att.com> | 2018-08-24 09:02:47 -0400 |
---|---|---|
committer | Benjamin, Max (mb388a) <mb388a@us.att.com> | 2018-08-24 09:03:14 -0400 |
commit | cb067ee35bfba82cb686cdfce8207fe3060380c8 (patch) | |
tree | 8f02572bb85460780f82c4c0a2ab943642de107d | |
parent | 969cde43a1c52fc5a0131cd94713a3c4ba3d1564 (diff) |
aairesultwrapper is now actually serializable
added in a proper serialization and deserialization test
addressed any comments from pull
added in a serialization test for AAIResultWrapper and updated one of
the null returns
change jsonBody in AAIResultWrapper back to String
Change-Id: Iffa5661f129cc26d69dfaa966cd265c67903cf21
Issue-ID: SO-899
Signed-off-by: Benjamin, Max (mb388a) <mb388a@us.att.com>
-rw-r--r-- | common/src/main/java/org/onap/so/client/aai/entities/AAIResultWrapper.java | 24 | ||||
-rw-r--r-- | common/src/test/java/org/onap/so/client/aai/entities/AAIResultWrapperTest.java | 19 |
2 files changed, 31 insertions, 12 deletions
diff --git a/common/src/main/java/org/onap/so/client/aai/entities/AAIResultWrapper.java b/common/src/main/java/org/onap/so/client/aai/entities/AAIResultWrapper.java index 9087995f97..36e67e2e09 100644 --- a/common/src/main/java/org/onap/so/client/aai/entities/AAIResultWrapper.java +++ b/common/src/main/java/org/onap/so/client/aai/entities/AAIResultWrapper.java @@ -35,19 +35,19 @@ import com.fasterxml.jackson.databind.ObjectMapper; public class AAIResultWrapper implements Serializable { private static final long serialVersionUID = 5895841925807816737L; - private final Optional<String> jsonBody; + private final String jsonBody; private final ObjectMapper mapper; public AAIResultWrapper(String json) { - this.jsonBody = Optional.ofNullable(json); + this.jsonBody = json; this.mapper = new AAICommonObjectMapperProvider().getMapper(); } public Optional<Relationships> getRelationships() { final String path = "$.relationship-list"; - if (!jsonBody.isPresent()) { + if (isEmpty()) { return Optional.empty(); } - Optional<String> result = JsonPathUtil.getInstance().locateResult(jsonBody.get(), path); + Optional<String> result = JsonPathUtil.getInstance().locateResult(jsonBody, path); if (result.isPresent()) { return Optional.of(new Relationships(result.get())); } else { @@ -56,33 +56,37 @@ public class AAIResultWrapper implements Serializable { } public String getJson() { - return jsonBody.orElse("{}"); + if(jsonBody == null) { + return "{}"; + } else { + return jsonBody; + } } public Map<String, Object> asMap() { - if (!this.jsonBody.isPresent()) { + if (isEmpty()) { return new HashMap<>(); } try { - return mapper.readValue(this.jsonBody.get(), new TypeReference<Map<String, Object>>(){}); + return mapper.readValue(this.jsonBody, new TypeReference<Map<String, Object>>(){}); } catch (IOException e) { return new HashMap<>(); } } public <T> Optional<T> asBean(Class<T> clazz) { - if (!this.jsonBody.isPresent()) { + if (isEmpty()) { return Optional.empty(); } try { - return Optional.of(mapper.readValue(this.jsonBody.get(), clazz)); + return Optional.of(mapper.readValue(this.jsonBody, clazz)); } catch (IOException e) { return Optional.empty(); } } public boolean isEmpty() { - return !this.jsonBody.isPresent(); + return jsonBody == null; } @Override public String toString() { diff --git a/common/src/test/java/org/onap/so/client/aai/entities/AAIResultWrapperTest.java b/common/src/test/java/org/onap/so/client/aai/entities/AAIResultWrapperTest.java index ff940a0dea..e40c25a2e2 100644 --- a/common/src/test/java/org/onap/so/client/aai/entities/AAIResultWrapperTest.java +++ b/common/src/test/java/org/onap/so/client/aai/entities/AAIResultWrapperTest.java @@ -20,9 +20,10 @@ package org.onap.so.client.aai.entities; -import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; import java.io.IOException; +import java.io.Serializable; import java.nio.file.Files; import java.nio.file.Paths; import java.util.HashMap; @@ -30,11 +31,15 @@ import java.util.Map; import java.util.Optional; import org.junit.Before; +import org.junit.Rule; import org.junit.Test; +import org.junit.rules.ExpectedException; import org.junit.runner.RunWith; import org.mockito.runners.MockitoJUnitRunner; import org.onap.aai.domain.yang.GenericVnf; import org.onap.so.client.aai.AAICommonObjectMapperProvider; +import org.springframework.util.SerializationUtils; + import com.fasterxml.jackson.core.JsonParseException; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.JsonMappingException; @@ -43,7 +48,9 @@ import com.fasterxml.jackson.databind.ObjectMapper; @RunWith(MockitoJUnitRunner.class) public class AAIResultWrapperTest { String json; - + @Rule + public ExpectedException thrown= ExpectedException.none(); + AAIResultWrapper aaiResultWrapper; AAIResultWrapper aaiResultWrapperEmpty; @@ -57,6 +64,14 @@ public class AAIResultWrapperTest { } @Test + public void testAAIResultWrapperIsSerializable() throws IOException { + AAIResultWrapper original = new AAIResultWrapper(""); + byte[] serialized = SerializationUtils.serialize(original); + AAIResultWrapper deserialized = (AAIResultWrapper) SerializationUtils.deserialize(serialized); + assertEquals(deserialized.getJson(), original.getJson()); + } + + @Test public void testGetRelationshipsEmpty() { Optional<Relationships> relationships = aaiResultWrapperEmpty.getRelationships(); assertEquals("Compare relationships", Optional.empty(), relationships); |