/** * Remove the specified input port from this dataflow * * @param dip * dataflow input port to remove * @throws EditException * if the input port isn't in the list of inputs - should never * happen but you never know. */ protected synchronized void removeDataflowInputPort(DataflowInputPort dip) throws EditException { if (inputs.contains(dip)) { inputs.remove(dip); } else { throw new EditException( "Can't locate the specified input port in dataflow. Input port has name '" + dip.getName() + "'."); } }
/** * Remove the specified input port from this dataflow * * @param dip * dataflow input port to remove * @throws EditException * if the input port isn't in the list of inputs - should never * happen but you never know. */ protected synchronized void removeDataflowInputPort(DataflowInputPort dip) throws EditException { if (inputs.contains(dip)) { inputs.remove(dip); } else { throw new EditException( "Can't locate the specified input port in dataflow. Input port has name '" + dip.getName() + "'."); } }
/** * Remove the specified input port from this dataflow * * @param dip * dataflow input port to remove * @throws EditException * if the input port isn't in the list of inputs - should never * happen but you never know. */ protected synchronized void removeDataflowInputPort(DataflowInputPort dip) throws EditException { if (inputs.contains(dip)) { inputs.remove(dip); } else { throw new EditException( "Can't locate the specified input port in workflow. Input port has name '" + dip.getName() + "'."); } }
public void pushData(WorkflowDataToken token, String portName) throws TokenOrderException { // TODO: throw TokenOrderException when token stream is violates order // constraints. for (DataflowInputPort port : dataflow.getInputPorts()) { if (portName.equals(port.getName())) { port.receiveEvent(token.pushOwningProcess(localName)); } } pushDataCalled = true; }
/** * Build a new dataflow input port, the granular depth is set for the input * port so it can be copied onto the internal output port * * @param name * name of the dataflow input port to build * @param depth * input depth * @param granularDepth * granular depth to copy to the internal output port * @throws NamingException * in the event of a duplicate or invalid name * @return the newly created input port */ protected synchronized DataflowInputPort createInputPort(String name, int depth, int granularDepth) throws NamingException { for (DataflowInputPort dip : inputs) { if (dip.getName().equals(name)) { throw new NamingException("Duplicate workflow input port name '" + name + "' in workflow already."); } } DataflowInputPortImpl dipi = new DataflowInputPortImpl(name, depth, granularDepth, this); inputs.add(dipi); return dipi; }
/** * Build a new dataflow input port, the granular depth is set for the input * port so it can be copied onto the internal output port * * @param name * name of the dataflow input port to build * @param depth * input depth * @param granularDepth * granular depth to copy to the internal output port * @throws NamingException * in the event of a duplicate or invalid name * @return the newly created input port */ protected synchronized DataflowInputPort createInputPort(String name, int depth, int granularDepth) throws NamingException { for (DataflowInputPort dip : inputs) { if (dip.getName().equals(name)) { throw new NamingException("Duplicate input port name '" + name + "' in dataflow already."); } } DataflowInputPortImpl dipi = new DataflowInputPortImpl(name, depth, granularDepth, this); inputs.add(dipi); return dipi; }
public void pushData(WorkflowDataToken token, String portName) throws TokenOrderException { // TODO: throw TokenOrderException when token stream is violates order // constraints. for (DataflowInputPort port : dataflow.getInputPorts()) { if (portName.equals(port.getName())) { port.receiveEvent(token.pushOwningProcess(localName)); } } pushDataCalled = true; }
protected Element dataflowInputPorts( List<? extends DataflowInputPort> inputPorts) { Element result = new Element(DATAFLOW_INPUT_PORTS, T2_WORKFLOW_NAMESPACE); for (DataflowInputPort port : inputPorts) { Element portElement = new Element(DATAFLOW_PORT, T2_WORKFLOW_NAMESPACE); Element name = new Element(NAME, T2_WORKFLOW_NAMESPACE); Element depth = new Element(DEPTH, T2_WORKFLOW_NAMESPACE); Element granularDepth = new Element(GRANULAR_DEPTH, T2_WORKFLOW_NAMESPACE); name.setText(port.getName()); depth.setText(String.valueOf(port.getDepth())); granularDepth.setText(String.valueOf(port.getGranularInputDepth())); portElement.addContent(name); portElement.addContent(depth); portElement.addContent(granularDepth); result.addContent(portElement); } return result; }
/** * Remove the named dataflow input port * * @param name * name of the dataflow input port to remove * @throws EditException * if the specified port doesn't exist within this dataflow */ protected synchronized void removeDataflowInputPort(String name) throws EditException { DataflowInputPort found = null; for (DataflowInputPort dip : inputs) { if (dip.getName().equals(name)) { found = dip; break; } } if (found != null) { removeDataflowInputPort(found); } else { throw new EditException("No such input port '" + name + "' in dataflow."); } }
protected Element dataflowInputPorts( List<? extends DataflowInputPort> inputPorts) throws JDOMException, IOException { Element result = new Element(DATAFLOW_INPUT_PORTS, T2_WORKFLOW_NAMESPACE); for (DataflowInputPort port : inputPorts) { Element portElement = new Element(DATAFLOW_PORT, T2_WORKFLOW_NAMESPACE); Element name = new Element(NAME, T2_WORKFLOW_NAMESPACE); Element depth = new Element(DEPTH, T2_WORKFLOW_NAMESPACE); Element granularDepth = new Element(GRANULAR_DEPTH, T2_WORKFLOW_NAMESPACE); name.setText(port.getName()); depth.setText(String.valueOf(port.getDepth())); granularDepth.setText(String.valueOf(port.getGranularInputDepth())); portElement.addContent(name); portElement.addContent(depth); portElement.addContent(granularDepth); // do annotations portElement.addContent(annotationsToXML(port)); result.addContent(portElement); } return result; }
/** * Remove the named dataflow input port * * @param name * name of the dataflow input port to remove * @throws EditException * if the specified port doesn't exist within this dataflow */ protected synchronized void removeDataflowInputPort(String name) throws EditException { DataflowInputPort found = null; for (DataflowInputPort dip : inputs) { if (dip.getName().equals(name)) { found = dip; break; } } if (found != null) { removeDataflowInputPort(found); } else { throw new EditException("No such input port '" + name + "' in dataflow."); } }
/** * Remove the named dataflow input port * * @param name * name of the dataflow input port to remove * @throws EditException * if the specified port doesn't exist within this dataflow */ protected synchronized void removeDataflowInputPort(String name) throws EditException { DataflowInputPort found = null; for (DataflowInputPort dip : inputs) { if (dip.getName().equals(name)) { found = dip; break; } } if (found != null) { removeDataflowInputPort(found); } else { throw new EditException("No such input port '" + name + "' in workflow."); } }
/** * Adds an input port to the DataFlow. * * @param inputPort * the DataflowInputPortImpl to be added to the Dataflow * @throws EditException */ protected synchronized void addInputPort(DataflowInputPortImpl inputPort) throws EditException { for (DataflowInputPort existingInputPort : inputs .toArray(new DataflowInputPort[] {})) { if (existingInputPort.getName().equals(inputPort.getName())) throw new NamingException("There already is a workflow input port named:" + inputPort.getName()); } if (inputPort.getDataflow() != this) { throw new EditException("Port specifies a different workflow"); } inputs.add(inputPort); }
/** * Adds an input port to the DataFlow. * * @param inputPort * the DataflowInputPortImpl to be added to the Dataflow * @throws EditException */ protected synchronized void addInputPort(DataflowInputPortImpl inputPort) throws EditException { for (DataflowInputPort existingInputPort : inputs .toArray(new DataflowInputPort[] {})) { if (existingInputPort.getName().equals(inputPort.getName())) throw new NamingException("There already is a dataflow input port named:" + inputPort.getName()); } if (inputPort.getDataflow() != this) { throw new EditException("Port specifies a different dataflow"); } inputs.add(inputPort); }
private void createInputs(Dataflow dataflow) throws EditException { for (Port sourcePort : scuflModel.getWorkflowSourcePorts()) { int portDepth = getPortDepth(sourcePort); edits.getCreateDataflowInputPortEdit(dataflow, sourcePort.getName(), portDepth, portDepth).doEdit(); for (DataflowInputPort inputPort : dataflow.getInputPorts()) { if (inputPort.getName().equals(sourcePort.getName())) { inputMap.put(sourcePort, inputPort); break; } } } }
private ActivityInputPortDefinitionBean makeInputDefinition( DataflowInputPort dip) { ActivityInputPortDefinitionBean activityInputPortDefinitionBean = new ActivityInputPortDefinitionBean(); activityInputPortDefinitionBean.setHandledReferenceSchemes(null); activityInputPortDefinitionBean.setMimeTypes(null); activityInputPortDefinitionBean.setTranslatedElementType(String.class); activityInputPortDefinitionBean.setAllowsLiteralValues(true); activityInputPortDefinitionBean.setDepth(dip.getDepth()); activityInputPortDefinitionBean.setName(dip.getName()); return activityInputPortDefinitionBean; }
@SuppressWarnings("unchecked") private void createInputs(Dataflow dataflow) throws EditException { for (Port sourcePort : scuflModel.getWorkflowSourcePorts()) { List<String> typeList = sourcePort.getMetadata().getMIMETypeList(); int portDepth = getPortDepth(sourcePort); edits.getCreateDataflowInputPortEdit(dataflow, sourcePort.getName(), portDepth, portDepth).doEdit(); for (DataflowInputPort inputPort : dataflow.getInputPorts()) { if (inputPort.getName().equals(sourcePort.getName())) { // add mime types as annotations for (String mimeType : typeList) { MimeType mimeTypeAnnotation = new MimeType(); mimeTypeAnnotation.setText(mimeType); try { EditsRegistry.getEdits().getAddAnnotationChainEdit( inputPort, mimeTypeAnnotation).doEdit(); } catch (EditException e) { // TODO Auto-generated catch block e.printStackTrace(); } } inputMap.put(sourcePort, inputPort); break; } } } }
@Test public void testDoEditAction() throws EditException { CreateDataflowInputPortEdit edit = new CreateDataflowInputPortEdit(dataflow, portName, portDepth, portGranularDepth); assertEquals(0, dataflow.getInputPorts().size()); edit.doEditAction(dataflow); assertEquals(1, dataflow.getInputPorts().size()); DataflowInputPort inputPort = dataflow.getInputPorts().get(0); assertSame(dataflow, inputPort.getDataflow()); assertEquals(portName, inputPort.getName()); assertEquals(portDepth, inputPort.getDepth()); assertEquals(portGranularDepth, inputPort.getGranularInputDepth()); }