@Override
public void visit(ServiceInterface artifact) {
super.visit(artifact);
try {
if (artifact.getInterfaceDefinedBy() != null) {
setRelationship("interfaceDefinedBy", RelationshipType.MODELED, artifact.getInterfaceDefinedBy());
}
if (artifact.getHasOperation() != null) {
setRelationship("hasOperation", RelationshipType.MODELED, artifact.getHasOperation());
}
List<String> targetTypes = new ArrayList<String>();
for (InformationTypeTarget target : artifact.getHasOutput()) {
targetTypes.add(target.getArtifactType().toString());
}
setRelationships("hasOutput", RelationshipType.MODELED, artifact.getHasOutput());
targetTypes = new ArrayList<String>();
for (InformationTypeTarget target : artifact.getHasInput()) {
targetTypes.add(target.getArtifactType().toString());
}
setRelationships("hasInput", RelationshipType.MODELED, artifact.getHasInput());
targetTypes = new ArrayList<String>();
for (ServiceTarget target : artifact.getIsInterfaceOf()) {
targetTypes.add(target.getArtifactType().toString());
}
setRelationships("isInterfaceOf", RelationshipType.MODELED, artifact.getIsInterfaceOf());
} catch (Exception e) {
throw new RuntimeException(e);
}
}