List of usage examples for com.amazonaws.services.datapipeline.model Field getRefValue
public String getRefValue()
The field value, expressed as the identifier of another object.
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 w w w.j av a2 s. 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; }