@SuppressWarnings("unchecked") @Override public int compareTo(Object o) { if (!(o instanceof BlockingControlLink)) { return o.getClass().getCanonicalName().compareTo(getClass().getCanonicalName()); } BlockingControlLink o1 = this; BlockingControlLink o2 = (BlockingControlLink) o; int untilFinishedCompare = nullSafeCompare.compare(o1.getUntilFinished(), o2.getUntilFinished()); if (untilFinishedCompare != 0) { return untilFinishedCompare; } return nullSafeCompare.compare(o1.getBlock(), o2.getBlock()); }
@SuppressWarnings("unchecked") public List<BlockingControlLink> controlLinksBlocking(Processor blocked) { List<BlockingControlLink> controlLinks = new ArrayList<BlockingControlLink>(); for (ControlLink link : blocked.getParent().getControlLinks()) { if (!(link instanceof BlockingControlLink)) { continue; } BlockingControlLink blockingControlLink = (BlockingControlLink) link; if (blockingControlLink.getBlock().equals(blocked)) { controlLinks.add(blockingControlLink); } } Collections.sort(controlLinks); return controlLinks; }
@Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + (getUntilFinished() == null ? 0 : getUntilFinished().hashCode()); result = prime * result + (parent == null ? 0 : parent.hashCode()); result = prime * result + (getBlock() == null ? 0 : getBlock().hashCode()); return result; }
List<BlockingControlLink> controlledConditions = controlLinksWaitingFor(processor); for (BlockingControlLink condition : controlledConditions) { Processor downstreamProc = condition.getBlock(); if (!downStream.contains(downstreamProc)) { downStream.add(downstreamProc);
@Override protected void cloneInto(WorkflowBean clone, Cloning cloning) { BlockingControlLink cloneLink = (BlockingControlLink)clone; cloneLink.setBlock(cloning.cloneOrOriginal(getBlock())); cloneLink.setUntilFinished(cloning.cloneOrOriginal(getUntilFinished())); }
uriForBean(runAfterCondition.getBlock())); URI after = relativePath(wfUri, uriForBean(runAfterCondition.getUntilFinished()));
Processor block = bean.getBlock(); Processor untilFinished = bean.getUntilFinished();
BlockingControlLink controlLink = (BlockingControlLink) node; URI blockUri = uriTools.relativeUriForBean( controlLink.getBlock(), wf); URI untilUri = uriTools.relativeUriForBean( controlLink.getUntilFinished(), wf);
newLine(3); append("block"); append(blockingControlLink.getBlock()); append(" until"); append(blockingControlLink.getUntilFinished());