@Override public String toString() { String blockName = getBlock() != null ? getBlock().getName() : ""; String untilName = getUntilFinished() != null ? getUntilFinished().getName() : ""; return String.format("%s %s-|%s", getClass().getSimpleName(), untilName, blockName); }
@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> controlLinksWaitingFor( Processor untilFinished) { List<BlockingControlLink> controlLinks = new ArrayList<BlockingControlLink>(); for (ControlLink link : untilFinished.getParent().getControlLinks()) { if (!(link instanceof BlockingControlLink)) { continue; } BlockingControlLink blockingControlLink = (BlockingControlLink) link; if (blockingControlLink.getUntilFinished().equals(untilFinished)) { 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> preConditions = controlLinksBlocking(processor); for (BlockingControlLink condition : preConditions) { Processor upstreamProc = condition.getUntilFinished(); if (!upStream.contains(upstreamProc)) { upStream.add(upstreamProc);
if (getUntilFinished() == null) { if (other.getUntilFinished() != null) { return false; } else if (!getUntilFinished().equals(other.getUntilFinished())) { return false;
@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())); String conditionUri = MessageFormat.format( "{0}?{1}={2}&{3}={4}", "control", "block", start,
Processor untilFinished = bean.getUntilFinished();
controlLink.getBlock(), wf); URI untilUri = uriTools.relativeUriForBean( controlLink.getUntilFinished(), wf);
append(blockingControlLink.getBlock()); append(" until"); append(blockingControlLink.getUntilFinished()); append(" finish");