Remove Multiplicity feature
[aai/gizmo.git] / src / main / java / org / onap / crud / service / CrudAsyncGraphDataService.java
index c2d2591..14ba7f2 100644 (file)
@@ -56,13 +56,11 @@ 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.validation.OxmModelValidator;
-import org.onap.schema.validation.RelationshipSchemaValidator;
+import org.onap.schema.OxmModelValidator;
+import org.onap.schema.RelationshipSchemaValidator;
 
 public class CrudAsyncGraphDataService extends AbstractGraphDataService {
 
@@ -120,7 +118,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);
 
@@ -228,7 +228,7 @@ public class CrudAsyncGraphDataService extends AbstractGraphDataService {
         }
         String responsePayload = responseHandler.handleVertexResponse(version, event, response);
 
-        return new ImmutablePair<EntityTag, String>(entityTag, responsePayload);
+        return new ImmutablePair<>(entityTag, responsePayload);
     }
 
     @Override
@@ -250,7 +250,7 @@ public class CrudAsyncGraphDataService extends AbstractGraphDataService {
         }
         String responsePayload = responseHandler.handleEdgeResponse(version, event, response);
 
-        return new ImmutablePair<EntityTag, String>(entityTag, responsePayload);
+        return new ImmutablePair<>(entityTag, responsePayload);
     }
 
     @Override
@@ -270,7 +270,7 @@ public class CrudAsyncGraphDataService extends AbstractGraphDataService {
         }
         String responsePayload = responseHandler.handleVertexResponse(version, event, response);
 
-        return new ImmutablePair<EntityTag, String>(entityTag, responsePayload);
+        return new ImmutablePair<>(entityTag, responsePayload);
     }
 
     @Override
@@ -294,7 +294,7 @@ public class CrudAsyncGraphDataService extends AbstractGraphDataService {
         }
         String responsePayload = responseHandler.handleVertexResponse(version, event, response);
 
-        return new ImmutablePair<EntityTag, String>(entityTag, responsePayload);
+        return new ImmutablePair<>(entityTag, responsePayload);
     }
 
     @Override
@@ -337,7 +337,7 @@ public class CrudAsyncGraphDataService extends AbstractGraphDataService {
         }
         String responsePayload = responseHandler.handleEdgeResponse(version, event, response);
 
-        return new ImmutablePair<EntityTag, String>(entityTag, responsePayload);
+        return new ImmutablePair<>(entityTag, responsePayload);
     }
 
     @Override
@@ -359,7 +359,7 @@ public class CrudAsyncGraphDataService extends AbstractGraphDataService {
         }
         String responsePayload = responseHandler.handleEdgeResponse(version, event, response);
 
-        return new ImmutablePair<EntityTag, String>(entityTag, responsePayload);
+        return new ImmutablePair<>(entityTag, responsePayload);
     }
 
     @PreDestroy
@@ -412,7 +412,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);