protected Element dataflowOutputPorts( List<? extends DataflowOutputPort> outputPorts) { Element result = new Element(DATAFLOW_OUTPUT_PORTS, T2_WORKFLOW_NAMESPACE); for (DataflowOutputPort port : outputPorts) { Element portElement = new Element(DATAFLOW_PORT, T2_WORKFLOW_NAMESPACE); Element name = new Element(NAME, T2_WORKFLOW_NAMESPACE); name.setText(port.getName()); portElement.addContent(name); result.addContent(portElement); } return result; } }
/** * Remove the specified output port from this dataflow * * @param dop * dataflow output port to remove * @throws EditException * if the output port isn't in the list of outputs for this * dataflow */ protected synchronized void removeDataflowOutputPort(DataflowOutputPort dop) throws EditException { if (outputs.contains(dop)) { outputs.remove(dop); } else { throw new EditException( "Can't locate the specified output port in workflow, output port has name '" + dop.getName() + "'."); } }
/** * Remove the specified output port from this dataflow * * @param dop * dataflow output port to remove * @throws EditException * if the output port isn't in the list of outputs for this * dataflow */ protected synchronized void removeDataflowOutputPort(DataflowOutputPort dop) throws EditException { if (outputs.contains(dop)) { outputs.remove(dop); } else { throw new EditException( "Can't locate the specified output port in dataflow, output port has name '" + dop.getName() + "'."); } }
/** * Remove the specified output port from this dataflow * * @param dop * dataflow output port to remove * @throws EditException * if the output port isn't in the list of outputs for this * dataflow */ protected synchronized void removeDataflowOutputPort(DataflowOutputPort dop) throws EditException { if (outputs.contains(dop)) { outputs.remove(dop); } else { throw new EditException( "Can't locate the specified output port in dataflow, output port has name '" + dop.getName() + "'."); } }
protected Element dataflowOutputPorts( List<? extends DataflowOutputPort> outputPorts) throws JDOMException, IOException { Element result = new Element(DATAFLOW_OUTPUT_PORTS, T2_WORKFLOW_NAMESPACE); for (DataflowOutputPort port : outputPorts) { Element portElement = new Element(DATAFLOW_PORT, T2_WORKFLOW_NAMESPACE); Element name = new Element(NAME, T2_WORKFLOW_NAMESPACE); name.setText(port.getName()); portElement.addContent(name); // do annotations portElement.addContent(annotationsToXML(port)); result.addContent(portElement); } return result; } }
/** * Create and return a new DataflowOutputPort in this dataflow * * @param name * name of the port to create, must be unique within the set of * output ports for this dataflow * @return the newly created DataflowOutputPort * @throws NamingException * if the name is invalid or already exists as a name for a * dataflow output */ protected synchronized DataflowOutputPort createOutputPort(String name) throws NamingException { for (DataflowOutputPort dop : outputs) { if (dop.getName().equals(name)) { throw new NamingException("Duplicate output port name '" + name + "' in dataflow already."); } } DataflowOutputPortImpl dopi = new DataflowOutputPortImpl(name, this); outputs.add(dopi); return dopi; }
private void createOutputs(Dataflow dataflow) throws EditException { for (Port sinkPort : scuflModel.getWorkflowSinkPorts()) { edits.getCreateDataflowOutputPortEdit(dataflow, sinkPort.getName()) .doEdit(); for (DataflowOutputPort outputPort : dataflow.getOutputPorts()) { if (outputPort.getName().equals(sinkPort.getName())) { outputMap.put(sinkPort, outputPort); break; } } } }
protected DataflowValidationReport validateDataflow(Dataflow dataflow) { DataflowValidationReport report = dataflow.checkValidity(); for (TokenProcessingEntity unsatisfiedEntity : report.getUnsatisfiedEntities()) { System.out.println(unsatisfiedEntity.getLocalName()); } for (TokenProcessingEntity failedEntity : report.getFailedEntities()) { System.out.println(failedEntity.getLocalName()); } for (DataflowOutputPort unresolvedOutput : report .getUnresolvedOutputs()) { System.out.println(unresolvedOutput.getName()); } return report; }
/** * Adds an output port to the DataFlow. * * @param outputPort * the DataflowOutputPortImpl to be added to the Dataflow * @throws EditException */ protected synchronized void addOutputPort(DataflowOutputPortImpl outputPort) throws EditException { for (DataflowOutputPort existingOutputPort : outputs .toArray(new DataflowOutputPort[] {})) { if (existingOutputPort.getName().equals(outputPort.getName())) throw new NamingException("There already is a dataflow output port named:" + outputPort.getName()); } if (outputPort.getDataflow() != this) { throw new EditException("Port specifies a different dataflow"); } outputs.add(outputPort); }
/** * Adds an output port to the DataFlow. * * @param outputPort * the DataflowOutputPortImpl to be added to the Dataflow * @throws EditException */ protected synchronized void addOutputPort(DataflowOutputPortImpl outputPort) throws EditException { for (DataflowOutputPort existingOutputPort : outputs .toArray(new DataflowOutputPort[] {})) { if (existingOutputPort.getName().equals(outputPort.getName())) throw new NamingException("There already is a workflow output port named:" + outputPort.getName()); } if (outputPort.getDataflow() != this) { throw new EditException("Port specifies a different workflow"); } outputs.add(outputPort); }
private EventHandlingInputPort determineLinkSinkPort(Element sink, Dataflow dataflow, Map<String, Processor> createdProcessors) throws DeserializationException, EditException { EventHandlingInputPort result = null; String portName = sink.getChildText(PORT, T2_WORKFLOW_NAMESPACE); String processorName = sink.getChildText(PROCESSOR, T2_WORKFLOW_NAMESPACE); if ((processorName == null) || processorName.equals("")) { for (DataflowOutputPort port : dataflow.getOutputPorts()) { if (port.getName().equals(portName)) { result = port.getInternalInputPort(); break; } } } else { EventHandlingInputPort processorInputPort = findProcessorInputPort( createdProcessors, portName, processorName); result = processorInputPort; } return result; }
protected Map<String, DummyEventHandler> addDummyEventHandlersToOutputs( Dataflow dataflow) throws EditException { Edits edits = new EditsImpl(); Map<String, DummyEventHandler> eventHandlers = new HashMap<String, DummyEventHandler>(); for (DataflowOutputPort outputPort : dataflow.getOutputPorts()) { DummyEventHandler testOutputEventHandler = new DummyEventHandler( context.getReferenceService()); eventHandlers.put(outputPort.getName(), testOutputEventHandler); Datalink link = edits.createDatalink(outputPort, testOutputEventHandler); edits.getConnectDatalinkEdit(link).doEdit(); } return eventHandlers; }
private ActivityPortsDefinitionBean getPortsDefinition(Dataflow d) { ActivityPortsDefinitionBean result = new ActivityPortsDefinitionBean(); List<ActivityInputPortDefinitionBean> inputs = result .getInputPortDefinitions(); List<ActivityOutputPortDefinitionBean> outputs = result .getOutputPortDefinitions(); for (DataflowInputPort dip : d.getInputPorts()) inputs.add(makeInputDefinition(dip)); for (DataflowOutputPort dop : d.getOutputPorts()) outputs.add(makeOutputDefinition(dop.getDepth(), dop.getName())); try { eh = calculateFamily(getRegistryBase(), getFamilyName()) .getComponentProfile().getExceptionHandling(); if (eh != null) outputs.add(makeOutputDefinition(1, ERROR_CHANNEL)); } catch (RegistryException e) { logger.error("failed to get exception handling for family", e); } return result; }
@SuppressWarnings("unchecked") private void createOutputs(Dataflow dataflow) throws EditException { for (Port sinkPort : scuflModel.getWorkflowSinkPorts()) { List<String> typeList = sinkPort.getMetadata().getMIMETypeList(); edits.getCreateDataflowOutputPortEdit(dataflow, sinkPort.getName()) .doEdit(); for (DataflowOutputPort outputPort : dataflow.getOutputPorts()) { // firstly add the mime types to the new port if (outputPort.getName().equals(sinkPort.getName())) { for (String mimeType : typeList) { MimeType mimeTypeAnnotation = new MimeType(); mimeTypeAnnotation.setText(mimeType); try { EditsRegistry.getEdits().getAddAnnotationChainEdit( outputPort, mimeTypeAnnotation).doEdit(); } catch (EditException e) { // TODO Auto-generated catch block e.printStackTrace(); } } outputMap.put(sinkPort, outputPort); break; } } } }
@Test public void testDoEditAction() throws EditException { CreateDataflowOutputPortEdit edit = new CreateDataflowOutputPortEdit(dataflow, portName); assertEquals(0, dataflow.getOutputPorts().size()); edit.doEditAction(dataflow); assertEquals(1, dataflow.getOutputPorts().size()); DataflowOutputPort outputPort = dataflow.getOutputPorts().get(0); assertSame(dataflow, outputPort.getDataflow()); assertEquals(portName, outputPort.getName()); }
@Test public void translateAndValidateTest() throws Exception { DataflowImpl dataflow = (DataflowImpl) translateScuflFile("ModifiedBiomartAndEMBOSSAnalysis.xml"); DataflowValidationReport report = dataflow.checkValidity(); for (TokenProcessingEntity unsatisfiedProcessor : report.getUnsatisfiedEntities()) { System.out.println(unsatisfiedProcessor.getLocalName()); } assertTrue(report.getUnsatisfiedEntities().size() == 0); for (TokenProcessingEntity failedProcessor : report.getFailedEntities()) { System.out.println(failedProcessor.getLocalName()); } assertTrue(report.getFailedEntities().size() == 0); for (DataflowOutputPort unresolvedOutput : report .getUnresolvedOutputs()) { System.out.println(unresolvedOutput.getName()); } assertTrue(report.getUnresolvedOutputs().size() == 0); }
@Ignore("Integration test") @Test public void translateAndValidateTest() throws Exception { DataflowImpl dataflow = (DataflowImpl) translateScuflFile("ModifiedBiomartAndEMBOSSAnalysis.xml"); assertEquals("the name should have been transferred during the translation","BiomartAndEMBOSSAnalysis",dataflow.getLocalName()); DataflowValidationReport report = dataflow.checkValidity(); for (TokenProcessingEntity unsatisfiedProcessor : report.getUnsatisfiedEntities()) { System.out.println(unsatisfiedProcessor.getLocalName()); } assertTrue(report.getUnsatisfiedEntities().size() == 0); for (TokenProcessingEntity failedProcessor : report.getFailedEntities()) { System.out.println(failedProcessor.getLocalName()); } assertTrue(report.getFailedEntities().size() == 0); for (DataflowOutputPort unresolvedOutput : report .getUnresolvedOutputs()) { System.out.println(unresolvedOutput.getName()); } assertTrue(report.getUnresolvedOutputs().size() == 0); }
@Ignore("Integration test") @Test public void translateAndValidateTest() throws Exception { DataflowImpl dataflow = (DataflowImpl) translateScuflFile("ModifiedBiomartAndEMBOSSAnalysis.xml"); assertEquals("the name should have been transferred during the translation","BiomartAndEMBOSSAnalysis",dataflow.getLocalName()); DataflowValidationReport report = dataflow.checkValidity(); for (TokenProcessingEntity unsatisfiedProcessor : report.getUnsatisfiedEntities()) { System.out.println(unsatisfiedProcessor.getLocalName()); } assertTrue(report.getUnsatisfiedEntities().size() == 0); for (TokenProcessingEntity failedProcessor : report.getFailedEntities()) { System.out.println(failedProcessor.getLocalName()); } assertTrue(report.getFailedEntities().size() == 0); for (DataflowOutputPort unresolvedOutput : report .getUnresolvedOutputs()) { System.out.println(unresolvedOutput.getName()); } assertTrue(report.getUnresolvedOutputs().size() == 0); }