X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Forg%2Fonap%2Fcrud%2Fservice%2FCrudAsyncGraphDataService.java;h=8d147ebed7aa1018464208396baba50225b605b8;hb=3bc6a702f2d3d8710c7aaa94cdc8c0ccf3deb759;hp=6b447a1597187a34e9ef8b26e7179092cedeef9d;hpb=b348af8ed2c4192f88169b37bf53fa25b8a7a681;p=aai%2Fgizmo.git diff --git a/src/main/java/org/onap/crud/service/CrudAsyncGraphDataService.java b/src/main/java/org/onap/crud/service/CrudAsyncGraphDataService.java index 6b447a1..8d147eb 100644 --- a/src/main/java/org/onap/crud/service/CrudAsyncGraphDataService.java +++ b/src/main/java/org/onap/crud/service/CrudAsyncGraphDataService.java @@ -56,11 +56,13 @@ import org.onap.crud.event.envelope.GraphEventEnvelope; import org.onap.crud.event.response.GraphEventResponseHandler; import org.onap.crud.exception.CrudException; import org.onap.crud.logging.CrudServiceMsgs; +import org.onap.crud.parser.EdgePayload; +import org.onap.crud.parser.VertexPayload; import org.onap.crud.util.CrudProperties; import org.onap.crud.util.CrudServiceConstants; import org.onap.crud.util.etag.EtagGenerator; -import org.onap.schema.OxmModelValidator; -import org.onap.schema.RelationshipSchemaValidator; +import org.onap.schema.validation.OxmModelValidator; +import org.onap.schema.validation.RelationshipSchemaValidator; public class CrudAsyncGraphDataService extends AbstractGraphDataService { @@ -118,7 +120,9 @@ public class CrudAsyncGraphDataService extends AbstractGraphDataService { } // Start the Response Consumer timer - CrudAsyncResponseConsumer crudAsyncResponseConsumer = new CrudAsyncResponseConsumer(asyncResponseConsumer); + CrudAsyncResponseConsumer crudAsyncResponseConsumer = new CrudAsyncResponseConsumer( + asyncResponseConsumer, new GraphEventUpdater() + ); timer = new Timer("crudAsyncResponseConsumer-1"); timer.schedule(crudAsyncResponseConsumer, responsePollInterval, responsePollInterval); @@ -211,7 +215,7 @@ public class CrudAsyncGraphDataService extends AbstractGraphDataService { throws CrudException { // Validate the incoming payload Vertex vertex = OxmModelValidator.validateIncomingUpsertPayload(null, version, type, payload.getProperties()); - vertex.getProperties().put(org.onap.schema.OxmModelValidator.Metadata.NODE_TYPE.propertyName(), type); + vertex.getProperties().put(OxmModelValidator.Metadata.NODE_TYPE.propertyName(), type); // Create graph request event GraphEvent event = GraphEvent.builder(GraphEventOperation.CREATE) .vertex(GraphEventVertex.fromVertex(vertex, version)).build(); @@ -226,13 +230,14 @@ public class CrudAsyncGraphDataService extends AbstractGraphDataService { } String responsePayload = responseHandler.handleVertexResponse(version, event, response); - return new ImmutablePair(entityTag, responsePayload); + return new ImmutablePair<>(entityTag, responsePayload); } @Override public ImmutablePair addEdge(String version, String type, EdgePayload payload) throws CrudException { Edge edge = RelationshipSchemaValidator.validateIncomingAddPayload(version, type, payload); + // Create graph request event GraphEvent event = GraphEvent.builder(GraphEventOperation.CREATE).edge(GraphEventEdge.fromEdge(edge, version)).build(); @@ -247,7 +252,7 @@ public class CrudAsyncGraphDataService extends AbstractGraphDataService { } String responsePayload = responseHandler.handleEdgeResponse(version, event, response); - return new ImmutablePair(entityTag, responsePayload); + return new ImmutablePair<>(entityTag, responsePayload); } @Override @@ -267,7 +272,7 @@ public class CrudAsyncGraphDataService extends AbstractGraphDataService { } String responsePayload = responseHandler.handleVertexResponse(version, event, response); - return new ImmutablePair(entityTag, responsePayload); + return new ImmutablePair<>(entityTag, responsePayload); } @Override @@ -291,7 +296,7 @@ public class CrudAsyncGraphDataService extends AbstractGraphDataService { } String responsePayload = responseHandler.handleVertexResponse(version, event, response); - return new ImmutablePair(entityTag, responsePayload); + return new ImmutablePair<>(entityTag, responsePayload); } @Override @@ -320,6 +325,7 @@ public class CrudAsyncGraphDataService extends AbstractGraphDataService { OperationResult operationResult = dao.getEdge(id, type, new HashMap()); Edge edge = Edge.fromJson(operationResult.getResult()); Edge validatedEdge = RelationshipSchemaValidator.validateIncomingUpdatePayload(edge, version, payload); + GraphEvent event = GraphEvent.builder(GraphEventOperation.UPDATE) .edge(GraphEventEdge.fromEdge(validatedEdge, version)).build(); @@ -333,7 +339,7 @@ public class CrudAsyncGraphDataService extends AbstractGraphDataService { } String responsePayload = responseHandler.handleEdgeResponse(version, event, response); - return new ImmutablePair(entityTag, responsePayload); + return new ImmutablePair<>(entityTag, responsePayload); } @Override @@ -355,7 +361,7 @@ public class CrudAsyncGraphDataService extends AbstractGraphDataService { } String responsePayload = responseHandler.handleEdgeResponse(version, event, response); - return new ImmutablePair(entityTag, responsePayload); + return new ImmutablePair<>(entityTag, responsePayload); } @PreDestroy @@ -408,7 +414,18 @@ public class CrudAsyncGraphDataService extends AbstractGraphDataService { } @Override - protected void deleteBulkEdge(String id, String version, String type, String dbTransId) throws CrudException { + protected void deleteBulkEdge(String id, String version, String dbTransId) throws CrudException { + // Get the edge type + String type = null; + try { + Edge edge = daoForGet.getEdge(id); + type = edge.getType(); + } + catch (CrudException ex) { + // Likely the client is trying to delete an edge which isn't present. Just swallow the exception + // and let the bulk request fail via the normal path. + } + GraphEvent event = GraphEvent.builder(GraphEventOperation.DELETE) .edge(new GraphEventEdge(id, version, type, null, null, null)).build(); event.setDbTransactionId(dbTransId);