private String datalink(Port port) { StringBuilder s = new StringBuilder(); s.append("'"); if (port instanceof ProcessorPort) { ProcessorPort processorPort = (ProcessorPort) port; s.append(escapeName(processorPort.getParent().getName())); s.append(":"); } s.append(escapeName(port.getName())); s.append("'"); return s.toString(); }
@SuppressWarnings("unchecked") private int portCompare(Port a, Port b) { // TODO Don't refer to impl from api? Integer nullCompare = NullSafeComparator.nullCompare(a, b); if (nullCompare != null) return nullCompare; // All known Port implementations are also Child instances WorkflowBean aParent = ((Child) a).getParent(); WorkflowBean bParent = ((Child) b).getParent(); // TODO Don't refer to impl from api? int parentCompare = NullSafeComparator.compareObjects(aParent, bParent); if (parentCompare != 0) return parentCompare; // OK, just to boring Port compare then return a.compareTo(b); }
public Invocation(String name, int[] index, Invocation parent, StatusReport<?, ?> report) { this.name = name; this.index = index; this.parent = parent; this.report = report; invocations = new TreeSet<>(); inputs = new TreeMap<>(); for (Port port : report.getSubject().getInputPorts()) inputs.put(port.getName(), null); outputs = new TreeMap<>(); for (Port port : report.getSubject().getOutputPorts()) outputs.put(port.getName(), null); setStartedDate(new Date()); if (parent != null) parent.getInvocations().add(this); report.addInvocation(this); }