Auto-resolve edge type
[aai/gizmo.git] / src / main / java / org / onap / crud / service / CrudAsyncGraphDataService.java
index c2d2591..8d147eb 100644 (file)
@@ -120,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);
 
@@ -228,7 +230,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 +252,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 +272,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 +296,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 +339,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 +361,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 +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);