diff options
author | 2017-11-16 14:56:59 -0500 | |
---|---|---|
committer | 2017-11-16 15:01:37 -0500 | |
commit | be2eab9395a787ca4b13447f9d2c382d12f5dcd5 (patch) | |
tree | 87c81f3a919ca61515212455fc90bc96402de9a5 /src/main/java/org/openecomp/crud/parser | |
parent | eff2052b4a77690b4e2e67c8a5b438457657c99f (diff) |
Add bulk API to gizmo
Add bulk API to gizmo
IssueID: AAI-481
Change-Id: Iff9df1a8fdc73c87d726da7294c2eb9f471080f1
Signed-off-by: Bansal, Nitin (nb121v) <nitin.bansal@amdocs.com>
Diffstat (limited to 'src/main/java/org/openecomp/crud/parser')
-rw-r--r-- | src/main/java/org/openecomp/crud/parser/CrudResponseBuilder.java | 55 |
1 files changed, 49 insertions, 6 deletions
diff --git a/src/main/java/org/openecomp/crud/parser/CrudResponseBuilder.java b/src/main/java/org/openecomp/crud/parser/CrudResponseBuilder.java index 1a84322..308583d 100644 --- a/src/main/java/org/openecomp/crud/parser/CrudResponseBuilder.java +++ b/src/main/java/org/openecomp/crud/parser/CrudResponseBuilder.java @@ -23,20 +23,27 @@ */ package org.openecomp.crud.parser; -import com.google.gson.Gson; -import com.google.gson.GsonBuilder; -import com.google.gson.JsonArray; -import com.google.gson.JsonObject; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import javax.ws.rs.core.Response.Status; import org.openecomp.crud.entity.Edge; import org.openecomp.crud.entity.Vertex; import org.openecomp.crud.exception.CrudException; +import org.openecomp.crud.service.BulkPayload; import org.openecomp.crud.service.EdgePayload; import org.openecomp.crud.service.VertexPayload; import org.openecomp.schema.RelationshipSchemaLoader; -import java.util.ArrayList; -import java.util.List; +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; public class CrudResponseBuilder { @@ -45,6 +52,42 @@ public class CrudResponseBuilder { public static final String SOURCE = "source"; public static final String TARGET = "target"; public static final String URL_BASE = "services/inventory/"; + + public static String buildUpsertBulkResponse(HashMap<String,Vertex> vertices, HashMap<String,Edge> edges , String version,BulkPayload incomingPayload) + throws CrudException { + + for (JsonElement e : incomingPayload.getObjects()) { + List<Map.Entry<String, JsonElement>> entries = new ArrayList<Map.Entry<String, JsonElement>>(e.getAsJsonObject().entrySet()); + + Map.Entry<String, JsonElement> item = entries.get(1); + + Vertex responseVertex = vertices.get(item.getKey()); + if(responseVertex != null){ + JsonObject v = gson.fromJson(buildUpsertVertexResponse(responseVertex,version), JsonObject.class); + item.setValue(v); + }else{ + item.setValue(gson.fromJson("{}", JsonObject.class)); + } + + } + for (JsonElement e : incomingPayload.getRelationships()) { + List<Map.Entry<String, JsonElement>> entries = new ArrayList<Map.Entry<String, JsonElement>>(e.getAsJsonObject().entrySet()); + + Map.Entry<String, JsonElement> item = entries.get(1); + + Edge responseEdge = edges.get(item.getKey()); + if(responseEdge != null){ + JsonObject v = gson.fromJson(buildUpsertEdgeResponse(responseEdge,version), JsonObject.class); + item.setValue(v); + }else{ + item.setValue(gson.fromJson("{}", JsonObject.class)); + } + + } + return incomingPayload.toJson(); + } + + public static String buildUpsertVertexResponse(Vertex vertex, String version) throws CrudException { |