public void rememberDataLinkSender(DataLink dl) { SenderPort sender = dl.getReceivesFrom(); if (sender != null) { if (!senderDataLinkMap.containsKey(sender)) { senderDataLinkMap.put(sender, new ArrayList<DataLink>()); } senderDataLinkMap.get(sender).add(dl); } }
@Override public void dataLinkSender(DataLink dl) { SenderPort sender = dl.getReceivesFrom(); if (sender != null) { if (!senderDataLinkMap.containsKey(sender)) { senderDataLinkMap.put(sender, new ArrayList<DataLink>()); } senderDataLinkMap.get(sender).add(dl); } }
@Override public void dataLinkSender(DataLink dl) { SenderPort sender = dl.getReceivesFrom(); if (sender != null) { if (!senderDataLinkMap.containsKey(sender)) { senderDataLinkMap.put(sender, new ArrayList<DataLink>()); } senderDataLinkMap.get(sender).add(dl); } }
@Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + (getSendsTo() == null ? 0 : getSendsTo().hashCode()); result = prime * result + (getReceivesFrom() == null ? 0 : getReceivesFrom().hashCode()); return result; }
@SuppressWarnings({ "unchecked", "rawtypes" }) public List<DataLink> datalinksFrom(SenderPort senderPort) { Workflow wf = findParent(Workflow.class, (Child) senderPort); List<DataLink> links = new ArrayList(); for (DataLink link : wf.getDataLinks()) { if (link.getReceivesFrom().equals(senderPort)) { links.add(link); } } Collections.sort(links); return links; }
@Override public String toString() { return String.format("%s %s=>%s", getClass().getSimpleName(), getReceivesFrom() != null ? getReceivesFrom().getName() : "", getSendsTo() != null ? getSendsTo().getName() : ""); }
@Override public int compareTo(Object other) { if (getClass() != other.getClass()) { int classCompare = getClass().getCanonicalName().compareTo( other.getClass().getCanonicalName()); if (classCompare != 0) { // Allow having say InputPorts and OutputPorts in the same sorted list return classCompare; } } DataLink o1 = this; DataLink o2 = (DataLink) other; int senderCompare = portCompare(o1.getReceivesFrom(), o2.getReceivesFrom()); if (senderCompare != 0) { return senderCompare; } int receiverCompare = portCompare(o1.getSendsTo(), o2.getSendsTo()); if (receiverCompare != 0) { return receiverCompare; } return NullSafeComparator.compareObjects(o1.getMergePosition(), o2.getMergePosition()); }
return false; if (getReceivesFrom() == null) { if (other.getReceivesFrom() != null) { return false; } else if (!getReceivesFrom().equals(other.getReceivesFrom())) { return false;
SenderPort source = incomingLink.getReceivesFrom(); if (!(source instanceof OutputProcessorPort)) { continue;
URI wfUri = uriForBean(wf); URI receivesFrom = relativePath(wfUri, uriForBean(dataLink.getReceivesFrom())); URI sendsTo = relativePath(wfUri, uriForBean(dataLink.getSendsTo()));
@Override protected void cloneInto(WorkflowBean clone, Cloning cloning) { DataLink cloneLink = (DataLink)clone; cloneLink.setMergePosition(getMergePosition()); cloneLink.setReceivesFrom(cloning.cloneIfNotInCache(getReceivesFrom())); cloneLink.setSendsTo(cloning.cloneIfNotInCache(getSendsTo())); }
@Override public void visitDataLink(DataLink bean) { ReceiverPort sendsTo = bean.getSendsTo(); SenderPort receivesFrom = bean.getReceivesFrom();
link.setAbout(uri.toASCIIString()); URI fromUri = uriTools.relativeUriForBean( dataLink.getReceivesFrom(), wf); URI toUri = uriTools.relativeUriForBean(dataLink.getSendsTo(), wf);
links.add(datalink(dl.getReceivesFrom()) + " -> " + datalink(dl.getSendsTo()));