response.put("status", "error");
response.put("msg", "missing graph metadata '" + graphId + "'");
return new ResponseEntity<>(response, HttpStatus.NOT_FOUND);
}
MetaGraphTx tx = metaGraphService.newTransaction();
GraphMetadata graphMetadata = tx.getGraph(graphId);
if (graphMetadata == null) {
response.put("status", "error");
response.put("msg", "missing graph metadata '" + graphId + "'");
tx.rollback();
return new ResponseEntity<>(response, HttpStatus.NOT_FOUND);
}
ProjectMetadata projectMetadata = graphMetadata.getProject();
if (projectMetadata == null) {
response.put("status", "error");
response.put("msg", "missing project metadata for graph '" + graphId + "'");
tx.rollback();
return new ResponseEntity<>(response, HttpStatus.NOT_FOUND);
}
JobMetadata jobMetadata = tx.createJob(projectMetadata);
response.put("status", "ok");
response.put("msg", "job submitted");
response.put("jobId", jobMetadata.getId().toString());
tx.commit();
// We can't pass the values directly because they'll live in a separate thread.
edgeDegreesService.faunusCountDegrees(graph, jobMetadata.getId());
return new ResponseEntity<>(response, HttpStatus.OK);