public void rememberDataLinkReceiver(DataLink dl) { ReceiverPort receiver = dl.getSendsTo(); if (receiver != null) { if (!receiverDataLinkMap.containsKey(receiver)) { receiverDataLinkMap.put(receiver, new ArrayList<DataLink>()); } receiverDataLinkMap.get(receiver).add(dl); } }
@Override public void dataLinkReceiver(DataLink dl) { ReceiverPort receiver = dl.getSendsTo(); if (receiver != null) { if (!receiverDataLinkMap.containsKey(receiver)) { receiverDataLinkMap.put(receiver, new ArrayList<DataLink>()); } receiverDataLinkMap.get(receiver).add(dl); } }
@Override public void dataLinkReceiver(DataLink dl) { ReceiverPort receiver = dl.getSendsTo(); if (receiver != null) { if (!receiverDataLinkMap.containsKey(receiver)) { receiverDataLinkMap.put(receiver, new ArrayList<DataLink>()); } receiverDataLinkMap.get(receiver).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> datalinksTo(ReceiverPort receiverPort) { Workflow wf = findParent(Workflow.class, (Child) receiverPort); List<DataLink> links = new ArrayList<DataLink>(); for (DataLink link : wf.getDataLinks()) { if (link.getSendsTo().equals(receiverPort)) { 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()); }
if (getSendsTo() == null) { if (other.getSendsTo() != null) { return false; } else if (!getSendsTo().equals(other.getSendsTo())) { return false;
ReceiverPort sink = datalink.getSendsTo(); if (!(sink instanceof InputProcessorPort)) { continue;
uriForBean(dataLink.getReceivesFrom())); URI sendsTo = relativePath(wfUri, uriForBean(dataLink.getSendsTo())); String dataLinkUri = MessageFormat.format( "{0}?{1}={2}&{3}={4}", DATALINK, FROM, receivesFrom,
@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();
URI fromUri = uriTools.relativeUriForBean( dataLink.getReceivesFrom(), wf); URI toUri = uriTools.relativeUriForBean(dataLink.getSendsTo(), wf); link.setReceiveFrom(makeResource(fromUri));
links.add(datalink(dl.getReceivesFrom()) + " -> " + datalink(dl.getSendsTo()));