List of usage examples for com.amazonaws.services.datapipeline.model Field getKey
public String getKey()
The field identifier.
From source file:com.shazam.dataengineering.pipelinebuilder.AWSProxy.java
License:Apache License
public boolean hasRunningTasks(String pipelineId, String marker) { QueryObjectsRequest request = new QueryObjectsRequest().withSphere("ATTEMPT").withPipelineId(pipelineId); if (marker != null) { request.setMarker(marker);/*from w w w . j a va 2 s .c o m*/ } QueryObjectsResult queryResult = client.queryObjects(request); DescribeObjectsResult describeResult = describeTasks(pipelineId, queryResult.getIds()); List<com.amazonaws.services.datapipeline.model.PipelineObject> tasks = describeResult.getPipelineObjects(); for (com.amazonaws.services.datapipeline.model.PipelineObject task : tasks) { for (Field field : task.getFields()) { // Is task running? if (field.getKey().equals("@status") && field.getStringValue().equals("RUNNING")) { return true; } } } if (queryResult.getHasMoreResults()) { return hasRunningTasks(pipelineId, queryResult.getMarker()); } else { return false; } }
From source file:com.shazam.dataengineering.pipelinebuilder.GraphWriter.java
License:Apache License
/** * Build DAG of the pipeline for writing to DOT * Only generates activity information. Full graphs tend to be very noisy. * * @return DirectedMultigraph representation of the pipeline *///from ww w .j av a 2s. c o m @SuppressWarnings("unchecked") private DirectedMultigraph getGraph(PipelineObject pipeline) { DirectedMultigraph graph = new DirectedMultigraph<com.amazonaws.services.datapipeline.model.PipelineObject, RelationshipEdge>( new ClassBasedEdgeFactory<com.amazonaws.services.datapipeline.model.PipelineObject, RelationshipEdge>( RelationshipEdge.class)); // Maintain map for easier edge creation HashMap<String, com.amazonaws.services.datapipeline.model.PipelineObject> idToPipeline = new HashMap<String, com.amazonaws.services.datapipeline.model.PipelineObject>(); List<com.amazonaws.services.datapipeline.model.PipelineObject> awsObjects = pipeline.getAWSObjects(); for (com.amazonaws.services.datapipeline.model.PipelineObject awsObject : awsObjects) { // Ignore everything except activities if (!awsObject.getId().equals("Default")) { for (Field field : awsObject.getFields()) { // Only add activities to the DOT if (field.getKey().equals("type") && field.getStringValue().contains("Activity")) { idToPipeline.put(awsObject.getId(), awsObject); graph.addVertex(awsObject); } } } } for (com.amazonaws.services.datapipeline.model.PipelineObject awsObject : (Set<com.amazonaws.services.datapipeline.model.PipelineObject>) graph .vertexSet()) { List<Field> fields = awsObject.getFields(); for (Field field : fields) { if (field.getRefValue() != null && idToPipeline.containsKey(field.getRefValue())) { graph.addEdge(awsObject, idToPipeline.get(field.getRefValue()), new RelationshipEdge<com.amazonaws.services.datapipeline.model.PipelineObject>( awsObject, idToPipeline.get(field.getRefValue()), field.getKey())); } } } return graph; }