public List<ProcessorBinding> processorBindingsForProcessor( Processor processor, Profile profile) { List<ProcessorBinding> bindings = new ArrayList<>(); for (ProcessorBinding pb : profile.getProcessorBindings()) if (pb.getBoundProcessor().equals(processor)) bindings.add(pb); Collections.sort(bindings, new BindingComparator()); return bindings; }
@SuppressWarnings("unchecked") public List<BlockingControlLink> controlLinksBlocking(Processor blocked) { List<BlockingControlLink> controlLinks = new ArrayList<>(); 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; }
@SuppressWarnings("unchecked") public List<BlockingControlLink> controlLinksWaitingFor( Processor untilFinished) { List<BlockingControlLink> controlLinks = new ArrayList<>(); 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 boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; BlockingControlLink other = (BlockingControlLink) obj; if (getUntilFinished() == null) { if (other.getUntilFinished() != null) return false; } else if (!getUntilFinished().equals(other.getUntilFinished())) return false; if (getParent() == null) { if (other.getParent() != null) return false; } else if (!getParent().equals(other.getParent())) return false; if (getBlock() == null) { if (other.getBlock() != null) return false; } else if (!getBlock().equals(other.getBlock())) return false; return true; }
@Override public void visitPortNode(PortNode bean) { InputProcessorPort inputProcessorPort = bean.getInputProcessorPort(); Integer desiredDepth = bean.getDesiredDepth(); if (desiredDepth != null && desiredDepth < 0) listener.negativeValue(bean, "desiredDepth", desiredDepth); if (inputProcessorPort != null) { Processor ancestralProcessor = findAncestral(bean, Processor.class); Processor portAncestralProcessor = findAncestral( inputProcessorPort, Processor.class); if ((ancestralProcessor == null) || !ancestralProcessor.equals(portAncestralProcessor)) listener.outOfScopeValue(bean, "inputProcessorPort", inputProcessorPort); } if (checkComplete) { if (inputProcessorPort == null) listener.nullField(bean, "inputProcessorPort"); if (desiredDepth == null) listener.nullField(bean, "desiredDepth"); } }
@Override public void visitProcessorOutputPortBinding(ProcessorOutputPortBinding bean) { ProcessorBinding parent = bean.getParent(); OutputProcessorPort boundProcessorPort = bean.getBoundProcessorPort(); OutputActivityPort boundActivityPort = bean.getBoundActivityPort(); if (parent != null) { Processor boundProcessor = parent.getBoundProcessor(); if (boundProcessorPort != null) { Processor boundPortProcessor = findAncestral(boundProcessorPort, Processor.class); if ((boundProcessor == null) || !boundProcessor.equals(boundPortProcessor)) listener.outOfScopeValue(bean, "boundProcessorPort", boundProcessorPort); } Activity boundActivity = parent.getBoundActivity(); if (boundActivityPort != null) { Activity boundPortActivity = findAncestral(boundActivityPort, Activity.class); if ((boundActivity == null) || !boundActivity.equals(boundPortActivity)) listener.outOfScopeValue(bean, "boundActivityPort", boundActivityPort); } } if (checkComplete) { if (boundProcessorPort == null) listener.nullField(bean, "boundProcessorPort"); if (boundActivityPort == null) listener.nullField(bean, "boundActivityPort"); } }
boundProcessorPort, Processor.class); if ((boundProcessor == null) || !boundProcessor.equals(boundPortProcessor)) listener.outOfScopeValue(bean, "boundProcessorPort", boundProcessorPort);