summaryrefslogtreecommitdiffstats
path: root/vid-automation/src/test/java/org/opencomp/vid/model/mso/MsoResponseWrapper2.java
diff options
context:
space:
mode:
authorSonsino, Ofir (os0695) <os0695@intl.att.com>2018-08-12 14:51:28 +0300
committerSonsino, Ofir (os0695) <os0695@intl.att.com>2018-08-12 15:02:57 +0300
commit4a4dcc5185f8ba5a28c7f9fef509f32c0c2389e6 (patch)
tree23e55ee7e1ad9b91bcc3ef1dbe1fb7b183f8b2b6 /vid-automation/src/test/java/org/opencomp/vid/model/mso/MsoResponseWrapper2.java
parent661a24fd57de02869a9771761e0fcba7eb77d121 (diff)
vid-automation selenium tests
Change-Id: I6c1b0a0cf3bbfa4314c81f0cc72507db805ec632 Issue-ID: VID-281 Signed-off-by: Sonsino, Ofir (os0695) <os0695@intl.att.com>
Diffstat (limited to 'vid-automation/src/test/java/org/opencomp/vid/model/mso/MsoResponseWrapper2.java')
-rw-r--r--vid-automation/src/test/java/org/opencomp/vid/model/mso/MsoResponseWrapper2.java60
1 files changed, 60 insertions, 0 deletions
diff --git a/vid-automation/src/test/java/org/opencomp/vid/model/mso/MsoResponseWrapper2.java b/vid-automation/src/test/java/org/opencomp/vid/model/mso/MsoResponseWrapper2.java
new file mode 100644
index 00000000..d0487e19
--- /dev/null
+++ b/vid-automation/src/test/java/org/opencomp/vid/model/mso/MsoResponseWrapper2.java
@@ -0,0 +1,60 @@
+package org.opencomp.vid.model.mso;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+@JsonPropertyOrder({
+ "status",
+ "entity"
+})
+
+/*
+This is a brother of MsoResponseWrapper. I (Ittay) think it's better.
+It is generic, immutable, and has some knowledge about RestObject.
+The serialized "entity" field may be either String or nested object.
+ */
+public class MsoResponseWrapper2<T> implements MsoResponseWrapperInterface {
+
+ final static ObjectMapper objectMapper = new ObjectMapper();
+
+ private final int status;
+ private final T entity;
+ private final String raw;
+
+ public MsoResponseWrapper2(RestObject<T> msoResponse) {
+ this.status = msoResponse.getStatusCode();
+ this.entity = msoResponse.get();
+ this.raw = msoResponse.getRaw();
+ }
+
+ public MsoResponseWrapper2(
+ @JsonProperty(value = "status", required = true) int status,
+ @JsonProperty(value = "entity", required = true) T entity) {
+ this.status = status;
+ this.entity = entity;
+ this.raw = null;
+ }
+
+ public int getStatus() {
+ return status;
+ }
+
+ @Override
+ @org.codehaus.jackson.annotate.JsonIgnore
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public String getResponse() {
+ try {
+ return objectMapper.writeValueAsString(this);
+ } catch (JsonProcessingException e) {
+ return getEntity() != null ? getEntity().toString() : null;
+ }
+ }
+
+ @JsonProperty
+ public Object getEntity() {
+ return entity != null ? entity : raw;
+ }
+
+}