AnnotatedGranularDepthInputPorts inputPorts = new AnnotatedGranularDepthInputPorts();
AnnotatedGranularDepthOutputPorts outputPorts = new AnnotatedGranularDepthOutputPorts();
Processors processors = new Processors();
Conditions conditions = new Conditions();
Datalinks datalinks = (Datalinks) visit(pipeline.getConnections());
Annotations annotations = new Annotations();
String id = UUID.randomUUID().toString();
String role = "top";
dataflow = new Dataflow(name, inputPorts, outputPorts, processors, conditions, datalinks, annotations, id, role);
this.dataflow = dataflow; // set environment variable for visitor
// Add Title and Description
annotations.addAnnotationChain("DescriptiveTitle", moduleGroup.getName(), null);
annotations.addAnnotationChain("FreeTextDescription", moduleGroup.getDescription(), null);
// Add Authors
List<Author> authors = moduleGroup.getAuthors().getAuthors();
for(Author author : authors)
{
String authorText = author.getFullName() + " Email: " + author.getEmail() + " Website: " + author.getWebsite();
annotations.addAnnotationChain("Author", authorText, null);
}
// Add Modules/Graph Objects
for(GraphObject module : moduleGroup.getModules())
{