From eabf0a08faa6581c88c2e4ca5be56d4630891046 Mon Sep 17 00:00:00 2001 From: Gurjeet Bedi Date: Sun, 7 Jan 2018 21:07:50 -0500 Subject: OXM which tracks provenance Support for source-of-truth and last-mod-source-of-truth Issue-ID: AAI-482 Change-Id: Idc7ec47c0561f2dad6f930d0ac0dd3fff9585b4f Signed-off-by: Gurjeet Bedi --- .../java/org/onap/crud/service/CrudGraphDataService.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'src/main/java/org/onap/crud/service/CrudGraphDataService.java') diff --git a/src/main/java/org/onap/crud/service/CrudGraphDataService.java b/src/main/java/org/onap/crud/service/CrudGraphDataService.java index 49bf370..cd72533 100644 --- a/src/main/java/org/onap/crud/service/CrudGraphDataService.java +++ b/src/main/java/org/onap/crud/service/CrudGraphDataService.java @@ -28,6 +28,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import javax.ws.rs.core.HttpHeaders; import javax.ws.rs.core.Response.Status; import org.onap.crud.dao.GraphDao; @@ -36,6 +37,7 @@ import org.onap.crud.entity.Edge; import org.onap.crud.entity.Vertex; import org.onap.crud.exception.CrudException; import org.onap.crud.parser.CrudResponseBuilder; +import org.onap.crud.util.CrudServiceUtil; import org.onap.schema.OxmModelValidator; import org.onap.schema.RelationshipSchemaValidator; @@ -52,7 +54,7 @@ public class CrudGraphDataService extends AbstractGraphDataService { return addVertex(version, vertex); } - public String addBulk(String version, BulkPayload payload) throws CrudException { + public String addBulk(String version, BulkPayload payload, HttpHeaders headers) throws CrudException { HashMap vertices = new HashMap(); HashMap edges = new HashMap(); String txId = dao.openTransaction(); @@ -75,11 +77,17 @@ public class CrudGraphDataService extends AbstractGraphDataService { Vertex validatedVertex; Vertex persistedVertex; if (opr.getValue().getAsString().equalsIgnoreCase("add")) { - validatedVertex = OxmModelValidator.validateIncomingUpsertPayload(null, version, vertexPayload.getType(), + vertexPayload.setProperties(CrudServiceUtil.mergeHeaderInFoToPayload(vertexPayload.getProperties(), + headers, true)); + + validatedVertex = OxmModelValidator.validateIncomingUpsertPayload(null, version, vertexPayload.getType(), vertexPayload.getProperties()); + // Call champDAO to add the vertex persistedVertex = dao.addVertex(validatedVertex.getType(), validatedVertex.getProperties(), txId); } else { + vertexPayload.setProperties(CrudServiceUtil.mergeHeaderInFoToPayload(vertexPayload.getProperties(), + headers, false)); validatedVertex = OxmModelValidator.validateIncomingUpsertPayload(vertexPayload.getId(), version, vertexPayload.getType(), vertexPayload.getProperties()); // Call champDAO to update the vertex -- cgit 1.2.3-korg