private EventForwardingOutputPort findOutputPort(Processor processor, String name) { for (EventForwardingOutputPort outputPort : processor.getOutputPorts()) { if (outputPort.getName().equals(name)) { return outputPort; } } return null; }
private EventForwardingOutputPort findOutputPort(Processor processor, String name) { for (EventForwardingOutputPort outputPort : processor.getOutputPorts()) { if (outputPort.getName().equals(name)) { return outputPort; } } return null; }
@Override public String toString() { return "link("+resolvedDepth+")"+source.getName()+":"+sink.getName(); }
@Override public String toString() { return "link("+resolvedDepth+")"+source.getName()+":"+sink.getName(); }
@Override public String toString() { return "link("+resolvedDepth+")"+source.getName()+":"+sink.getName(); }
@Override public void refreshView() { datalinkView = new JPanel(); datalinkView.setBorder(new EmptyBorder(5,5,5,5)); JLabel datalinkName = new JLabel("Datalink: " + datalink.getSource().getName() + " -> " + datalink.getSink().getName()); datalinkView.add(datalinkName); }
@Override public void refreshView() { mergeView = new JPanel(); mergeView.setLayout(new BoxLayout(mergeView, BoxLayout.PAGE_AXIS)); mergeView.setBorder(new EmptyBorder(5, 5, 5, 5)); mergeView.add(new JLabel("Merge: " + merge.getLocalName())); mergeView.add(Box.createRigidArea(new Dimension(0,5))); mergeView.add(new JLabel("Inputs: ")); for (MergeInputPort mergeInputPort : merge.getInputPorts()) { mergeView.add(new JLabel(mergeInputPort.getName())); } mergeView.add(Box.createRigidArea(new Dimension(0,5))); mergeView.add(new JLabel("Outputs: ")); mergeView.add(new JLabel(merge.getOutputPort().getName())); } }
@Override public String getViewTitle() { return "Data link: " + datalink.getSource().getName() + " -> " + datalink.getSink().getName(); }
public MergeConfigurationView(Merge merge){ super((Frame)null, "Merge Configuration", true); this.merge = merge; // Ordered list of merge's input ports inputPortsList = new ArrayList<MergeInputPort>(merge.getInputPorts()); // Generate labels for the input ports (label displays a link from a workflow entity // towards the merge's input port) labelListModel = new DefaultListModel(); String maxLabel = "Order of incoming links (entity.port -> merge):"+"Push"; for (MergeInputPort mergeInputPort : inputPortsList){ EventForwardingOutputPort sourcePort = mergeInputPort.getIncomingLink().getSource(); // Get the name TokenProcessingEntity (Processor or another Merge or Dataflow) and // its port that contains the source EventForwardingOutputPort Dataflow workflow = FileManager.getInstance().getCurrentDataflow(); TokenProcessingEntity entity = Tools.getTokenProcessingEntityWithEventForwardingOutputPort(sourcePort, workflow); if (entity != null){ String link = entity.getLocalName() + "." + sourcePort.getName() + " -> " + merge.getLocalName(); if (link.length() > maxLabel.length()) maxLabel = link; labelListModel.addElement(link); } } initComponents(); }
Element portElement = new Element(PROCESSOR_PORT, T2_WORKFLOW_NAMESPACE); portElement.setText(link.getSource().getName()); source.addContent(portElement); } else if (dataLinkSourceType == DATALINK_TYPES.MERGE) { } else if (dataLinkSourceType == DATALINK_TYPES.DATAFLOW) { Element portElement = new Element(PORT, T2_WORKFLOW_NAMESPACE); portElement.setText(link.getSource().getName()); source.addContent(portElement);
Element portElement = new Element(PROCESSOR_PORT, T2_WORKFLOW_NAMESPACE); portElement.setText(link.getSource().getName()); source.addContent(portElement); } else if (dataLinkSourceType == DATALINK_TYPES.MERGE) { } else if (dataLinkSourceType == DATALINK_TYPES.DATAFLOW) { Element portElement = new Element(PORT, T2_WORKFLOW_NAMESPACE); portElement.setText(link.getSource().getName()); source.addContent(portElement);
MergeInputPort mergeInputPort = edits.createMergeInputPort( merge, getUniqueMergeInputPortName(merge, incomingLink .getSource().getName() + "To" + merge.getLocalName() + "_input", counter++), incomingLink.getSink() .getDepth()); getUniqueMergeInputPortName(merge, source.getName() + "To" + merge.getLocalName() + "_input", counter), sink.getDepth()); editList.add(edits.getAddMergeInputPortEdit(merge, mergeInputPort));
MergeInputPort mergeInputPort = edits.createMergeInputPort( merge, getUniqueMergeInputPortName(merge, incomingLink .getSource().getName() + "To" + merge.getLocalName() + "_input", counter++), incomingLink.getSink().getDepth()); getUniqueMergeInputPortName(merge, source.getName() + "To" + merge.getLocalName() + "_input", counter), sink .getDepth());
@Override protected void doEditAction(MergeImpl mergeImpl) throws EditException { Edits edits = new EditsImpl(); mergeInputPort = new MergeInputPortImpl(mergeImpl,sourcePort.getName()+"_tomerge",sinkPort.getDepth()); inLink = edits.createDatalink(sourcePort, mergeInputPort); connectInLinkEdit=edits.getConnectDatalinkEdit(inLink); if (mergeImpl.getOutputPort().getOutgoingLinks().size()==0) { outLink = edits.createDatalink(mergeImpl.getOutputPort(), sinkPort); connectOutLinkEdit=edits.getConnectDatalinkEdit(outLink); } else if (mergeImpl.getOutputPort().getOutgoingLinks().size()==1){ if (mergeImpl.getOutputPort().getOutgoingLinks().toArray(new Datalink[]{})[0].getSink() != sinkPort) { throw new EditException("Cannot add a different sinkPort to a Merge that already has one defined"); } } else { throw new EditException("The merge instance cannot have more that 1 outgoing Datalink"); } mergeImpl.addInputPort(mergeInputPort); connectInLinkEdit.doEdit(); if (connectOutLinkEdit!=null) connectOutLinkEdit.doEdit(); }
@Override protected void doEditAction(MergeImpl mergeImpl) throws EditException { Edits edits = new EditsImpl(); String name = Tools.getUniqueMergeInputPortName(mergeImpl, sourcePort.getName()+"To" + merge.getLocalName() + "_input", 0); mergeInputPort = new MergeInputPortImpl(mergeImpl,name,sinkPort.getDepth()); inLink = edits.createDatalink(sourcePort, mergeInputPort); connectInLinkEdit=edits.getConnectDatalinkEdit(inLink); if (mergeImpl.getOutputPort().getOutgoingLinks().size()==0) { outLink = edits.createDatalink(mergeImpl.getOutputPort(), sinkPort); connectOutLinkEdit=edits.getConnectDatalinkEdit(outLink); } else if (mergeImpl.getOutputPort().getOutgoingLinks().size()==1){ if (mergeImpl.getOutputPort().getOutgoingLinks().toArray(new Datalink[]{})[0].getSink() != sinkPort) { throw new EditException("Cannot add a different sinkPort to a Merge that already has one defined"); } } else { throw new EditException("The merge instance cannot have more that 1 outgoing Datalink"); } mergeImpl.addInputPort(mergeInputPort); connectInLinkEdit.doEdit(); if (connectOutLinkEdit!=null) connectOutLinkEdit.doEdit(); }
@Override protected void doEditAction(MergeImpl mergeImpl) throws EditException { Edits edits = new EditsImpl(); String name = Tools.getUniqueMergeInputPortName(mergeImpl, sourcePort.getName()+"To" + merge.getLocalName() + "_input", 0); mergeInputPort = new MergeInputPortImpl(mergeImpl,name,sinkPort.getDepth()); inLink = edits.createDatalink(sourcePort, mergeInputPort); connectInLinkEdit=edits.getConnectDatalinkEdit(inLink); if (mergeImpl.getOutputPort().getOutgoingLinks().size()==0) { outLink = edits.createDatalink(mergeImpl.getOutputPort(), sinkPort); connectOutLinkEdit=edits.getConnectDatalinkEdit(outLink); } else if (mergeImpl.getOutputPort().getOutgoingLinks().size()==1){ if (mergeImpl.getOutputPort().getOutgoingLinks().toArray(new Datalink[]{})[0].getSink() != sinkPort) { throw new EditException("Cannot add a different sinkPort to a Merge that already has one defined"); } } else { throw new EditException("The merge instance cannot have more that 1 outgoing Datalink"); } mergeImpl.addInputPort(mergeInputPort); connectInLinkEdit.doEdit(); if (connectOutLinkEdit!=null) connectOutLinkEdit.doEdit(); }
if (entity != null){ html += "<tr><td>"+ (counter++) + ".</td><td>" + entity.getLocalName() + "." + sourcePort.getName() + " -> " + merge.getLocalName() + "</td></tr>";