Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save mksplg/9760138 to your computer and use it in GitHub Desktop.
Save mksplg/9760138 to your computer and use it in GitHub Desktop.
Toolwrapper - CC example on c4e5ede5
<?xml version="1.0"?>
<workflow xmlns="http://taverna.sf.net/2008/xml/t2flow" version="1" producedBy="taverna-2.4.0">
<dataflow id="a076fdee-b459-4581-8109-f152156c5329" role="top">
<name>Workflow_digital-preservation-characterisation-video-ffprobe-video2xml_1.0.1</name>
<inputPorts>
<port>
<name>input</name>
<depth>0</depth>
<granularDepth>0</granularDepth>
<annotations>
<annotation_chain encoding="xstream">
<net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">
<annotationAssertions>
<net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
<annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.FreeTextDescription">
<text>Reference to input file</text>
</annotationBean>
<date>2014-03-25 11:38:58.190 UTC</date>
<creators/>
<curationEventList/>
</net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
</annotationAssertions>
</net.sf.taverna.t2.annotation.AnnotationChainImpl>
</annotation_chain>
<annotation_chain_2_2 encoding="xstream">
<net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">
<annotationAssertions>
<net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
<annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.SemanticAnnotation">
<mimeType>text/rdf+n3</mimeType>
<content>&lt;&gt; &lt;http://purl.org/DP/components#accepts&gt; &lt;http://purl.org/DP/components#SourceObject&gt; . </content>
</annotationBean>
<date>2014-03-25 11:38:58.190 UTC</date>
<creators/>
<curationEventList/>
</net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
</annotationAssertions>
</net.sf.taverna.t2.annotation.AnnotationChainImpl>
</annotation_chain_2_2>
</annotations>
</port>
<port>
<name>params</name>
<depth>0</depth>
<granularDepth>0</granularDepth>
<annotations>
<annotation_chain encoding="xstream">
<net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">
<annotationAssertions>
<net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
<annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.FreeTextDescription">
<text>Additional conversion parameters</text>
</annotationBean>
<date>2014-03-25 11:38:58.190 UTC</date>
<creators/>
<curationEventList/>
</net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
</annotationAssertions>
</net.sf.taverna.t2.annotation.AnnotationChainImpl>
</annotation_chain>
<annotation_chain_2_2 encoding="xstream">
<net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">
<annotationAssertions>
<net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
<annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.SemanticAnnotation">
<mimeType>text/rdf+n3</mimeType>
<content>&lt;&gt; &lt;http://purl.org/DP/components#accepts&gt; &lt;http://purl.org/DP/components#Parameter&gt; .
</content>
</annotationBean>
<date>2014-03-25 11:38:58.190 UTC</date>
<creators/>
<curationEventList/>
</net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
</annotationAssertions>
</net.sf.taverna.t2.annotation.AnnotationChainImpl>
</annotation_chain_2_2>
</annotations>
</port>
</inputPorts>
<outputPorts>
<port>
<name>image_width_of_video</name>
<annotations>
<annotation_chain_2_2 encoding="xstream">
<net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">
<annotationAssertions>
<net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
<annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.SemanticAnnotation">
<mimeType>text/rdf+n3</mimeType>
<content>&lt;&gt; &lt;http://purl.org/DP/components#provides&gt; &lt;http://purl.org/DP/quality/measures#390&gt; . </content>
</annotationBean>
<date>2014-03-25 11:38:58.190 UTC</date>
<creators />
<curationEventList />
</net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
</annotationAssertions>
</net.sf.taverna.t2.annotation.AnnotationChainImpl>
</annotation_chain_2_2>
</annotations>
</port>
<port>
<name>the_height_of_the_video_track</name>
<annotations>
<annotation_chain_2_2 encoding="xstream">
<net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">
<annotationAssertions>
<net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
<annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.SemanticAnnotation">
<mimeType>text/rdf+n3</mimeType>
<content>&lt;&gt; &lt;http://purl.org/DP/components#provides&gt; &lt;http://purl.org/DP/quality/measures#391&gt; . </content>
</annotationBean>
<date>2014-03-25 11:38:58.190 UTC</date>
<creators />
<curationEventList />
</net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
</annotationAssertions>
</net.sf.taverna.t2.annotation.AnnotationChainImpl>
</annotation_chain_2_2>
</annotations>
</port>
<port>
<name>the_height_of_the_video_track_2</name>
<annotations>
<annotation_chain_2_2 encoding="xstream">
<net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">
<annotationAssertions>
<net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
<annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.SemanticAnnotation">
<mimeType>text/rdf+n3</mimeType>
<content>&lt;&gt; &lt;http://purl.org/DP/components#provides&gt; &lt;http://purl.org/DP/quality/measures#391&gt; . </content>
</annotationBean>
<date>2014-03-25 11:38:58.190 UTC</date>
<creators />
<curationEventList />
</net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
</annotationAssertions>
</net.sf.taverna.t2.annotation.AnnotationChainImpl>
</annotation_chain_2_2>
</annotations>
</port>
<port>
<name>image_width_of_video_2</name>
<annotations>
<annotation_chain_2_2 encoding="xstream">
<net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">
<annotationAssertions>
<net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
<annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.SemanticAnnotation">
<mimeType>text/rdf+n3</mimeType>
<content>&lt;&gt; &lt;http://purl.org/DP/components#provides&gt; &lt;http://purl.org/DP/quality/measures#390&gt; . </content>
</annotationBean>
<date>2014-03-25 11:38:58.190 UTC</date>
<creators />
<curationEventList />
</net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
</annotationAssertions>
</net.sf.taverna.t2.annotation.AnnotationChainImpl>
</annotation_chain_2_2>
</annotations>
</port>
</outputPorts>
<processors>
<processor>
<name>commandline_tool_invocation</name>
<inputPorts>
<port>
<name>input_inner</name>
<depth>0</depth>
</port>
<port>
<name>params_inner</name>
<depth>0</depth>
</port>
<port>
<name>output_inner</name>
<depth>0</depth>
</port>
</inputPorts>
<outputPorts>
<port>
<name>STDOUT</name>
<depth>0</depth>
<granularDepth>0</granularDepth>
</port>
<port>
<name>STDERR</name>
<depth>0</depth>
<granularDepth>0</granularDepth>
</port>
</outputPorts>
<annotations>
<annotation_chain_2_2 encoding="xstream">
<net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">
<annotationAssertions>
<net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
<annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.SemanticAnnotation">
<mimeType>text/rdf+n3</mimeType>
<content>
&lt;&gt; &lt;http://purl.org/DP/components#requiresInstallation&gt; [
a &lt;http://purl.org/DP/components#Installation&gt; ;
&lt;http://purl.org/DP/components#hasEnvironment&gt; &lt;http://purl.org/DP/components#Debian&gt; ;
&lt;http://purl.org/DP/components#hasSourceConfiguration&gt; [
a &lt;http://purl.org/DP/components#DpkgConfiguration&gt; ;
&lt;http://purl.org/DP/components#installsDpkgs&gt; "digital-preservation-characterisation-video-ffprobe-video2xml" ;
&lt;http://purl.org/DP/components#requiresiAptSource&gt; "deb http://ppa.launchpad.net/jon-severinsson/ffmpeg/ubuntu precise main
deb-src http://ppa.launchpad.net/jon-severinsson/ffmpeg/ubuntu precise main"
] ;
&lt;http://purl.org/DP/components#dependsOn&gt; [
a &lt;http://purl.org/DP/components#Dependency&gt; ;
&lt;http://www.w3.org/2004/02/skos/core#prefLabel&gt; "ffmpeg" ;
&lt;http://purl.org/DP/components#dependencyVersion&gt; ">= 0.10.0" ;
&lt;http://creativecommons.org/ns#license&gt; &lt;http://opensource.org/licenses/LGPL-2.1&gt;
]
] .
</content>
</annotationBean>
<date>2014-03-25 11:38:58.190 UTC</date>
<creators />
<curationEventList />
</net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
</annotationAssertions>
</net.sf.taverna.t2.annotation.AnnotationChainImpl>
</annotation_chain_2_2>
</annotations>
<activities>
<activity>
<raven>
<group>net.sf.taverna.t2.activities</group>
<artifact>external-tool-activity</artifact>
<version>1.4</version>
</raven>
<class>net.sf.taverna.t2.activities.externaltool.ExternalToolActivity</class>
<inputMap>
<map from="input_inner" to="input_inner"/>
<map from="params_inner" to="params_inner"/>
<map from="output_inner" to="output_inner"/>
</inputMap>
<outputMap>
<map from="STDOUT" to="STDOUT"/>
<map from="STDERR" to="STDERR"/>
</outputMap>
<configBean encoding="xstream">
<net.sf.taverna.t2.activities.externaltool.ExternalToolActivityConfigurationBean xmlns="">
<mechanismType>789663B8-DA91-428A-9F7D-B3F3DA185FD4</mechanismType>
<mechanismName>default local</mechanismName>
<mechanismXML>&lt;?xml version="1.0" encoding="UTF-8"?&gt;&#xD;
&lt;localInvocation&gt;&lt;shellPrefix&gt;/bin/sh -c&lt;/shellPrefix&gt;&lt;linkCommand&gt;/bin/ln -s %%PATH_TO_ORIGINAL%% %%TARGET_NAME%%&lt;/linkCommand&gt;&lt;/localInvocation&gt;&#xD;
</mechanismXML>
<externaltoolid>59f238ca-4f34-44f0-84f7-dbb7b7c534e7</externaltoolid>
<useCaseDescription>
<usecaseid/>
<description/>
<command>digital-preservation-characterisation-video-ffprobe-video2xml -i %%input_inner%% -p %%params_inner%% -o %%output_inner%% </command>
<preparingTimeoutInSeconds>1200</preparingTimeoutInSeconds>
<executionTimeoutInSeconds>1800</executionTimeoutInSeconds>
<tags>
<string>input_inner</string>
<string>params_inner</string>
<string>output_inner</string>
</tags>
<REs/>
<queue__preferred/>
<queue__deny/>
<static__inputs/>
<inputs>
<entry>
<string>input_inner</string>
<de.uni__luebeck.inb.knowarc.usecases.ScriptInputUser>
<tag>input_inner</tag>
<file>false</file>
<tempFile>false</tempFile>
<binary>false</binary>
<charsetName>UTF-8</charsetName>
<forceCopy>false</forceCopy>
<list>false</list>
<concatenate>false</concatenate>
<mime/>
</de.uni__luebeck.inb.knowarc.usecases.ScriptInputUser>
</entry>
<entry>
<string>params_inner</string>
<de.uni__luebeck.inb.knowarc.usecases.ScriptInputUser>
<tag>params_inner</tag>
<file>false</file>
<tempFile>false</tempFile>
<binary>false</binary>
<charsetName>UTF-8</charsetName>
<forceCopy>false</forceCopy>
<list>false</list>
<concatenate>false</concatenate>
<mime/>
</de.uni__luebeck.inb.knowarc.usecases.ScriptInputUser>
</entry>
<entry>
<string>output_inner</string>
<de.uni__luebeck.inb.knowarc.usecases.ScriptInputUser>
<tag>output_inner</tag>
<file>false</file>
<tempFile>false</tempFile>
<binary>false</binary>
<charsetName>UTF-8</charsetName>
<forceCopy>false</forceCopy>
<list>false</list>
<concatenate>false</concatenate>
<mime/>
</de.uni__luebeck.inb.knowarc.usecases.ScriptInputUser>
</entry>
</inputs>
<outputs/>
<includeStdIn>false</includeStdIn>
<includeStdOut>true</includeStdOut>
<includeStdErr>true</includeStdErr>
<validReturnCodes>
<int>0</int>
</validReturnCodes>
</useCaseDescription>
<edited>false</edited>
</net.sf.taverna.t2.activities.externaltool.ExternalToolActivityConfigurationBean>
</configBean>
<annotations/>
</activity>
</activities>
<dispatchStack>
<dispatchLayer>
<raven>
<group>net.sf.taverna.t2.core</group>
<artifact>workflowmodel-impl</artifact>
<version>1.4</version>
</raven>
<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class>
<configBean encoding="xstream">
<net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">
<maxJobs>1</maxJobs>
</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig>
</configBean>
</dispatchLayer>
<dispatchLayer>
<raven>
<group>net.sf.taverna.t2.core</group>
<artifact>workflowmodel-impl</artifact>
<version>1.4</version>
</raven>
<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class>
<configBean encoding="xstream">
<null xmlns=""/>
</configBean>
</dispatchLayer>
<dispatchLayer>
<raven>
<group>net.sf.taverna.t2.core</group>
<artifact>workflowmodel-impl</artifact>
<version>1.4</version>
</raven>
<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class>
<configBean encoding="xstream">
<null xmlns=""/>
</configBean>
</dispatchLayer>
<dispatchLayer>
<raven>
<group>net.sf.taverna.t2.core</group>
<artifact>workflowmodel-impl</artifact>
<version>1.4</version>
</raven>
<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class>
<configBean encoding="xstream">
<net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">
<backoffFactor>1.0</backoffFactor>
<initialDelay>1000</initialDelay>
<maxDelay>5000</maxDelay>
<maxRetries>0</maxRetries>
</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig>
</configBean>
</dispatchLayer>
<dispatchLayer>
<raven>
<group>net.sf.taverna.t2.core</group>
<artifact>workflowmodel-impl</artifact>
<version>1.4</version>
</raven>
<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class>
<configBean encoding="xstream">
<null xmlns=""/>
</configBean>
</dispatchLayer>
</dispatchStack>
<iterationStrategyStack>
<iteration>
<strategy>
<cross>
<port name="input_inner" depth="0"/>
<port name="params_inner" depth="0"/>
<port name="output_inner" depth="0"/>
</cross>
</strategy>
</iteration>
</iterationStrategyStack>
</processor>
<processor>
<name>create_output</name>
<inputPorts/>
<outputPorts>
<port>
<name>output</name>
<depth>0</depth>
<granularDepth>0</granularDepth>
</port>
</outputPorts>
<annotations/>
<activities>
<activity>
<raven>
<group>net.sf.taverna.t2.activities</group>
<artifact>beanshell-activity</artifact>
<version>1.4</version>
</raven>
<class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class>
<inputMap/>
<outputMap>
<map from="output" to="output"/>
</outputMap>
<configBean encoding="xstream">
<net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">
<inputs/>
<outputs>
<net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>
<name>output</name>
<depth>0</depth>
<mimeTypes/>
<granularDepth>0</granularDepth>
</net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>
</outputs>
<classLoaderSharing>workflow</classLoaderSharing>
<localDependencies/>
<artifactDependencies/>
<script>File target = File.createTempFile(Long.toString(System.nanoTime()), ".xml");
String output = target.getAbsolutePath();</script>
<dependencies/>
</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean>
</configBean>
<annotations/>
</activity>
</activities>
<dispatchStack>
<dispatchLayer>
<raven>
<group>net.sf.taverna.t2.core</group>
<artifact>workflowmodel-impl</artifact>
<version>1.4</version>
</raven>
<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class>
<configBean encoding="xstream">
<net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">
<maxJobs>1</maxJobs>
</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig>
</configBean>
</dispatchLayer>
<dispatchLayer>
<raven>
<group>net.sf.taverna.t2.core</group>
<artifact>workflowmodel-impl</artifact>
<version>1.4</version>
</raven>
<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class>
<configBean encoding="xstream">
<null xmlns=""/>
</configBean>
</dispatchLayer>
<dispatchLayer>
<raven>
<group>net.sf.taverna.t2.core</group>
<artifact>workflowmodel-impl</artifact>
<version>1.4</version>
</raven>
<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class>
<configBean encoding="xstream">
<null xmlns=""/>
</configBean>
</dispatchLayer>
<dispatchLayer>
<raven>
<group>net.sf.taverna.t2.core</group>
<artifact>workflowmodel-impl</artifact>
<version>1.4</version>
</raven>
<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class>
<configBean encoding="xstream">
<net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">
<backoffFactor>1.0</backoffFactor>
<initialDelay>1000</initialDelay>
<maxDelay>5000</maxDelay>
<maxRetries>0</maxRetries>
</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig>
</configBean>
</dispatchLayer>
<dispatchLayer>
<raven>
<group>net.sf.taverna.t2.core</group>
<artifact>workflowmodel-impl</artifact>
<version>1.4</version>
</raven>
<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class>
<configBean encoding="xstream">
<null xmlns=""/>
</configBean>
</dispatchLayer>
</dispatchStack>
<iterationStrategyStack>
<iteration>
<strategy/>
</iteration>
</iterationStrategyStack>
</processor>
<processor>
<name>computeUsingBash_image_width_of_video</name>
<inputPorts>
<port>
<name>STDOUT_IN</name>
<depth>0</depth>
</port>
<port>
<name>STDERR_IN</name>
<depth>0</depth>
</port>
<port>
<name>output</name>
<depth>0</depth>
</port>
</inputPorts>
<outputPorts>
<port>
<name>STDOUT</name>
<depth>0</depth>
<granularDepth>0</granularDepth>
</port>
</outputPorts>
<annotations/>
<activities>
<activity>
<raven>
<group>net.sf.taverna.t2.activities</group>
<artifact>external-tool-activity</artifact>
<version>1.4</version>
</raven>
<class>net.sf.taverna.t2.activities.externaltool.ExternalToolActivity</class>
<inputMap>
<map from="STDOUT_IN" to="STDOUT_IN"/>
<map from="STDERR_IN" to="STDERR_IN"/>
<map from="output" to="output"/>
</inputMap>
<outputMap>
<map from="STDOUT" to="STDOUT"/>
</outputMap>
<configBean encoding="xstream">
<net.sf.taverna.t2.activities.externaltool.ExternalToolActivityConfigurationBean xmlns="">
<mechanismType>789663B8-DA91-428A-9F7D-B3F3DA185FD4</mechanismType>
<mechanismName>default local</mechanismName>
<mechanismXML>&lt;?xml version="1.0" encoding="UTF-8"?&gt;&#xD;
&lt;localInvocation&gt;&lt;shellPrefix&gt;/bin/sh -c&lt;/shellPrefix&gt;&lt;linkCommand&gt;/bin/ln -s %%PATH_TO_ORIGINAL%% %%TARGET_NAME%%&lt;/linkCommand&gt;&lt;/localInvocation&gt;&#xD;
</mechanismXML>
<externaltoolid>e14c4bff-ec1f-4671-b381-a0b76ded9840</externaltoolid>
<useCaseDescription>
<usecaseid/>
<description/>
<command>egrep &quot;codec_type=\&quot;video\&quot;&quot; %%output%% | sed &apos;s#^.*width=&quot;##;s#&quot;.*##&apos;</command>
<preparingTimeoutInSeconds>1200</preparingTimeoutInSeconds>
<executionTimeoutInSeconds>1800</executionTimeoutInSeconds>
<tags>
<string>STDERR_IN</string>
<string>STDOUT_IN</string>
<string>output</string>
</tags>
<REs/>
<queue__preferred/>
<queue__deny/>
<static__inputs/>
<inputs>
<entry>
<string>STDOUT_IN</string>
<de.uni__luebeck.inb.knowarc.usecases.ScriptInputUser>
<tag>STDOUT_IN</tag>
<file>false</file>
<tempFile>false</tempFile>
<binary>false</binary>
<charsetName>UTF-8</charsetName>
<forceCopy>false</forceCopy>
<list>false</list>
<concatenate>false</concatenate>
<mime/>
</de.uni__luebeck.inb.knowarc.usecases.ScriptInputUser>
</entry>
<entry>
<string>STDERR_IN</string>
<de.uni__luebeck.inb.knowarc.usecases.ScriptInputUser>
<tag>STDERR_IN</tag>
<file>false</file>
<tempFile>false</tempFile>
<binary>false</binary>
<charsetName>UTF-8</charsetName>
<forceCopy>false</forceCopy>
<list>false</list>
<concatenate>false</concatenate>
<mime/>
</de.uni__luebeck.inb.knowarc.usecases.ScriptInputUser>
</entry>
<entry>
<string>output</string>
<de.uni__luebeck.inb.knowarc.usecases.ScriptInputUser>
<tag>output</tag>
<file>false</file>
<tempFile>false</tempFile>
<binary>false</binary>
<charsetName>UTF-8</charsetName>
<forceCopy>false</forceCopy>
<list>false</list>
<concatenate>false</concatenate>
<mime/>
</de.uni__luebeck.inb.knowarc.usecases.ScriptInputUser>
</entry>
</inputs>
<outputs/>
<includeStdIn>false</includeStdIn>
<includeStdOut>true</includeStdOut>
<includeStdErr>true</includeStdErr>
<validReturnCodes>
<int>0</int>
</validReturnCodes>
</useCaseDescription>
<edited>false</edited>
</net.sf.taverna.t2.activities.externaltool.ExternalToolActivityConfigurationBean>
</configBean>
<annotations/>
</activity>
</activities>
<dispatchStack>
<dispatchLayer>
<raven>
<group>net.sf.taverna.t2.core</group>
<artifact>workflowmodel-impl</artifact>
<version>1.4</version>
</raven>
<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class>
<configBean encoding="xstream">
<net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">
<maxJobs>1</maxJobs>
</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig>
</configBean>
</dispatchLayer>
<dispatchLayer>
<raven>
<group>net.sf.taverna.t2.core</group>
<artifact>workflowmodel-impl</artifact>
<version>1.4</version>
</raven>
<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class>
<configBean encoding="xstream">
<null xmlns=""/>
</configBean>
</dispatchLayer>
<dispatchLayer>
<raven>
<group>net.sf.taverna.t2.core</group>
<artifact>workflowmodel-impl</artifact>
<version>1.4</version>
</raven>
<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class>
<configBean encoding="xstream">
<null xmlns=""/>
</configBean>
</dispatchLayer>
<dispatchLayer>
<raven>
<group>net.sf.taverna.t2.core</group>
<artifact>workflowmodel-impl</artifact>
<version>1.4</version>
</raven>
<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class>
<configBean encoding="xstream">
<net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">
<backoffFactor>1.0</backoffFactor>
<initialDelay>1000</initialDelay>
<maxDelay>5000</maxDelay>
<maxRetries>0</maxRetries>
</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig>
</configBean>
</dispatchLayer>
<dispatchLayer>
<raven>
<group>net.sf.taverna.t2.core</group>
<artifact>workflowmodel-impl</artifact>
<version>1.4</version>
</raven>
<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class>
<configBean encoding="xstream">
<null xmlns=""/>
</configBean>
</dispatchLayer>
</dispatchStack>
<iterationStrategyStack>
<iteration>
<strategy>
<cross>
<port name="STDOUT_IN" depth="0"/>
<port name="STDERR_IN" depth="0"/>
<port name="output" depth="0"/>
</cross>
</strategy>
</iteration>
</iterationStrategyStack>
</processor>
<processor>
<name>computeUsingBash_the_height_of_the_video_track</name>
<inputPorts>
<port>
<name>STDOUT_IN</name>
<depth>0</depth>
</port>
<port>
<name>STDERR_IN</name>
<depth>0</depth>
</port>
<port>
<name>output</name>
<depth>0</depth>
</port>
</inputPorts>
<outputPorts>
<port>
<name>STDOUT</name>
<depth>0</depth>
<granularDepth>0</granularDepth>
</port>
</outputPorts>
<annotations/>
<activities>
<activity>
<raven>
<group>net.sf.taverna.t2.activities</group>
<artifact>external-tool-activity</artifact>
<version>1.4</version>
</raven>
<class>net.sf.taverna.t2.activities.externaltool.ExternalToolActivity</class>
<inputMap>
<map from="STDOUT_IN" to="STDOUT_IN"/>
<map from="STDERR_IN" to="STDERR_IN"/>
<map from="output" to="output"/>
</inputMap>
<outputMap>
<map from="STDOUT" to="STDOUT"/>
</outputMap>
<configBean encoding="xstream">
<net.sf.taverna.t2.activities.externaltool.ExternalToolActivityConfigurationBean xmlns="">
<mechanismType>789663B8-DA91-428A-9F7D-B3F3DA185FD4</mechanismType>
<mechanismName>default local</mechanismName>
<mechanismXML>&lt;?xml version="1.0" encoding="UTF-8"?&gt;&#xD;
&lt;localInvocation&gt;&lt;shellPrefix&gt;/bin/sh -c&lt;/shellPrefix&gt;&lt;linkCommand&gt;/bin/ln -s %%PATH_TO_ORIGINAL%% %%TARGET_NAME%%&lt;/linkCommand&gt;&lt;/localInvocation&gt;&#xD;
</mechanismXML>
<externaltoolid>e14c4bff-ec1f-4671-b381-a0b76ded9840</externaltoolid>
<useCaseDescription>
<usecaseid/>
<description/>
<command>egrep &quot;codec_type=\&quot;video\&quot;&quot; %%output%% | sed &apos;s#^.*height=&quot;##;s#&quot;.*##&apos;</command>
<preparingTimeoutInSeconds>1200</preparingTimeoutInSeconds>
<executionTimeoutInSeconds>1800</executionTimeoutInSeconds>
<tags>
<string>STDERR_IN</string>
<string>STDOUT_IN</string>
<string>output</string>
</tags>
<REs/>
<queue__preferred/>
<queue__deny/>
<static__inputs/>
<inputs>
<entry>
<string>STDOUT_IN</string>
<de.uni__luebeck.inb.knowarc.usecases.ScriptInputUser>
<tag>STDOUT_IN</tag>
<file>false</file>
<tempFile>false</tempFile>
<binary>false</binary>
<charsetName>UTF-8</charsetName>
<forceCopy>false</forceCopy>
<list>false</list>
<concatenate>false</concatenate>
<mime/>
</de.uni__luebeck.inb.knowarc.usecases.ScriptInputUser>
</entry>
<entry>
<string>STDERR_IN</string>
<de.uni__luebeck.inb.knowarc.usecases.ScriptInputUser>
<tag>STDERR_IN</tag>
<file>false</file>
<tempFile>false</tempFile>
<binary>false</binary>
<charsetName>UTF-8</charsetName>
<forceCopy>false</forceCopy>
<list>false</list>
<concatenate>false</concatenate>
<mime/>
</de.uni__luebeck.inb.knowarc.usecases.ScriptInputUser>
</entry>
<entry>
<string>output</string>
<de.uni__luebeck.inb.knowarc.usecases.ScriptInputUser>
<tag>output</tag>
<file>false</file>
<tempFile>false</tempFile>
<binary>false</binary>
<charsetName>UTF-8</charsetName>
<forceCopy>false</forceCopy>
<list>false</list>
<concatenate>false</concatenate>
<mime/>
</de.uni__luebeck.inb.knowarc.usecases.ScriptInputUser>
</entry>
</inputs>
<outputs/>
<includeStdIn>false</includeStdIn>
<includeStdOut>true</includeStdOut>
<includeStdErr>true</includeStdErr>
<validReturnCodes>
<int>0</int>
</validReturnCodes>
</useCaseDescription>
<edited>false</edited>
</net.sf.taverna.t2.activities.externaltool.ExternalToolActivityConfigurationBean>
</configBean>
<annotations/>
</activity>
</activities>
<dispatchStack>
<dispatchLayer>
<raven>
<group>net.sf.taverna.t2.core</group>
<artifact>workflowmodel-impl</artifact>
<version>1.4</version>
</raven>
<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class>
<configBean encoding="xstream">
<net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">
<maxJobs>1</maxJobs>
</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig>
</configBean>
</dispatchLayer>
<dispatchLayer>
<raven>
<group>net.sf.taverna.t2.core</group>
<artifact>workflowmodel-impl</artifact>
<version>1.4</version>
</raven>
<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class>
<configBean encoding="xstream">
<null xmlns=""/>
</configBean>
</dispatchLayer>
<dispatchLayer>
<raven>
<group>net.sf.taverna.t2.core</group>
<artifact>workflowmodel-impl</artifact>
<version>1.4</version>
</raven>
<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class>
<configBean encoding="xstream">
<null xmlns=""/>
</configBean>
</dispatchLayer>
<dispatchLayer>
<raven>
<group>net.sf.taverna.t2.core</group>
<artifact>workflowmodel-impl</artifact>
<version>1.4</version>
</raven>
<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class>
<configBean encoding="xstream">
<net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">
<backoffFactor>1.0</backoffFactor>
<initialDelay>1000</initialDelay>
<maxDelay>5000</maxDelay>
<maxRetries>0</maxRetries>
</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig>
</configBean>
</dispatchLayer>
<dispatchLayer>
<raven>
<group>net.sf.taverna.t2.core</group>
<artifact>workflowmodel-impl</artifact>
<version>1.4</version>
</raven>
<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class>
<configBean encoding="xstream">
<null xmlns=""/>
</configBean>
</dispatchLayer>
</dispatchStack>
<iterationStrategyStack>
<iteration>
<strategy>
<cross>
<port name="STDOUT_IN" depth="0"/>
<port name="STDERR_IN" depth="0"/>
<port name="output" depth="0"/>
</cross>
</strategy>
</iteration>
</iterationStrategyStack>
</processor>
<processor>
<name>computeUsingBash_image_width_of_video_2</name>
<inputPorts>
<port>
<name>STDOUT_IN</name>
<depth>0</depth>
</port>
<port>
<name>STDERR_IN</name>
<depth>0</depth>
</port>
<port>
<name>output</name>
<depth>0</depth>
</port>
</inputPorts>
<outputPorts>
<port>
<name>STDOUT</name>
<depth>0</depth>
<granularDepth>0</granularDepth>
</port>
</outputPorts>
<annotations/>
<activities>
<activity>
<raven>
<group>net.sf.taverna.t2.activities</group>
<artifact>external-tool-activity</artifact>
<version>1.4</version>
</raven>
<class>net.sf.taverna.t2.activities.externaltool.ExternalToolActivity</class>
<inputMap>
<map from="STDOUT_IN" to="STDOUT_IN"/>
<map from="STDERR_IN" to="STDERR_IN"/>
<map from="output" to="output"/>
</inputMap>
<outputMap>
<map from="STDOUT" to="STDOUT"/>
</outputMap>
<configBean encoding="xstream">
<net.sf.taverna.t2.activities.externaltool.ExternalToolActivityConfigurationBean xmlns="">
<mechanismType>789663B8-DA91-428A-9F7D-B3F3DA185FD4</mechanismType>
<mechanismName>default local</mechanismName>
<mechanismXML>&lt;?xml version="1.0" encoding="UTF-8"?&gt;&#xD;
&lt;localInvocation&gt;&lt;shellPrefix&gt;/bin/sh -c&lt;/shellPrefix&gt;&lt;linkCommand&gt;/bin/ln -s %%PATH_TO_ORIGINAL%% %%TARGET_NAME%%&lt;/linkCommand&gt;&lt;/localInvocation&gt;&#xD;
</mechanismXML>
<externaltoolid>e14c4bff-ec1f-4671-b381-a0b76ded9840</externaltoolid>
<useCaseDescription>
<usecaseid/>
<description/>
<command>echo "Must open Taverna Workbench and complete the workflow!"</command>
<preparingTimeoutInSeconds>1200</preparingTimeoutInSeconds>
<executionTimeoutInSeconds>1800</executionTimeoutInSeconds>
<tags>
<string>STDERR_IN</string>
<string>STDOUT_IN</string>
<string>output</string>
</tags>
<REs/>
<queue__preferred/>
<queue__deny/>
<static__inputs/>
<inputs>
<entry>
<string>STDOUT_IN</string>
<de.uni__luebeck.inb.knowarc.usecases.ScriptInputUser>
<tag>STDOUT_IN</tag>
<file>false</file>
<tempFile>false</tempFile>
<binary>false</binary>
<charsetName>UTF-8</charsetName>
<forceCopy>false</forceCopy>
<list>false</list>
<concatenate>false</concatenate>
<mime/>
</de.uni__luebeck.inb.knowarc.usecases.ScriptInputUser>
</entry>
<entry>
<string>STDERR_IN</string>
<de.uni__luebeck.inb.knowarc.usecases.ScriptInputUser>
<tag>STDERR_IN</tag>
<file>false</file>
<tempFile>false</tempFile>
<binary>false</binary>
<charsetName>UTF-8</charsetName>
<forceCopy>false</forceCopy>
<list>false</list>
<concatenate>false</concatenate>
<mime/>
</de.uni__luebeck.inb.knowarc.usecases.ScriptInputUser>
</entry>
<entry>
<string>output</string>
<de.uni__luebeck.inb.knowarc.usecases.ScriptInputUser>
<tag>output</tag>
<file>false</file>
<tempFile>false</tempFile>
<binary>false</binary>
<charsetName>UTF-8</charsetName>
<forceCopy>false</forceCopy>
<list>false</list>
<concatenate>false</concatenate>
<mime/>
</de.uni__luebeck.inb.knowarc.usecases.ScriptInputUser>
</entry>
</inputs>
<outputs/>
<includeStdIn>false</includeStdIn>
<includeStdOut>true</includeStdOut>
<includeStdErr>true</includeStdErr>
<validReturnCodes>
<int>0</int>
</validReturnCodes>
</useCaseDescription>
<edited>false</edited>
</net.sf.taverna.t2.activities.externaltool.ExternalToolActivityConfigurationBean>
</configBean>
<annotations/>
</activity>
</activities>
<dispatchStack>
<dispatchLayer>
<raven>
<group>net.sf.taverna.t2.core</group>
<artifact>workflowmodel-impl</artifact>
<version>1.4</version>
</raven>
<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class>
<configBean encoding="xstream">
<net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">
<maxJobs>1</maxJobs>
</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig>
</configBean>
</dispatchLayer>
<dispatchLayer>
<raven>
<group>net.sf.taverna.t2.core</group>
<artifact>workflowmodel-impl</artifact>
<version>1.4</version>
</raven>
<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class>
<configBean encoding="xstream">
<null xmlns=""/>
</configBean>
</dispatchLayer>
<dispatchLayer>
<raven>
<group>net.sf.taverna.t2.core</group>
<artifact>workflowmodel-impl</artifact>
<version>1.4</version>
</raven>
<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class>
<configBean encoding="xstream">
<null xmlns=""/>
</configBean>
</dispatchLayer>
<dispatchLayer>
<raven>
<group>net.sf.taverna.t2.core</group>
<artifact>workflowmodel-impl</artifact>
<version>1.4</version>
</raven>
<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class>
<configBean encoding="xstream">
<net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">
<backoffFactor>1.0</backoffFactor>
<initialDelay>1000</initialDelay>
<maxDelay>5000</maxDelay>
<maxRetries>0</maxRetries>
</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig>
</configBean>
</dispatchLayer>
<dispatchLayer>
<raven>
<group>net.sf.taverna.t2.core</group>
<artifact>workflowmodel-impl</artifact>
<version>1.4</version>
</raven>
<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class>
<configBean encoding="xstream">
<null xmlns=""/>
</configBean>
</dispatchLayer>
</dispatchStack>
<iterationStrategyStack>
<iteration>
<strategy>
<cross>
<port name="STDOUT_IN" depth="0"/>
<port name="STDERR_IN" depth="0"/>
<port name="output" depth="0"/>
</cross>
</strategy>
</iteration>
</iterationStrategyStack>
</processor>
<processor>
<name>computeUsingJava_the_height_of_the_video_track_2</name>
<inputPorts>
<port>
<name>STDOUT_IN</name>
<depth>0</depth>
</port>
<port>
<name>STDERR_IN</name>
<depth>0</depth>
</port>
<port>
<name>output</name>
<depth>0</depth>
</port>
</inputPorts>
<outputPorts>
<port>
<name>the_height_of_the_video_track_2</name>
<depth>0</depth>
<granularDepth>0</granularDepth>
</port>
</outputPorts>
<annotations/>
<activities>
<activity>
<raven>
<group>net.sf.taverna.t2.activities</group>
<artifact>beanshell-activity</artifact>
<version>1.4</version>
</raven>
<class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class>
<inputMap>
<map from="STDOUT_IN" to="STDOUT_IN"/>
<map from="STDERR_IN" to="STDERR_IN"/>
<map from="output" to="output"/>
</inputMap>
<outputMap>
<map from="the_height_of_the_video_track_2" to="the_height_of_the_video_track_2"/>
</outputMap>
<configBean encoding="xstream">
<net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">
<inputs>
<net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
<name>output</name>
<depth>0</depth>
<mimeTypes>
<string>text/plain</string>
</mimeTypes>
<handledReferenceSchemes/>
<translatedElementType>java.lang.String</translatedElementType>
<allowsLiteralValues>true</allowsLiteralValues>
</net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
<net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
<name>STDOUT_IN</name>
<depth>0</depth>
<mimeTypes>
<string>text/plain</string>
</mimeTypes>
<handledReferenceSchemes/>
<translatedElementType>java.lang.String</translatedElementType>
<allowsLiteralValues>true</allowsLiteralValues>
</net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
<net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
<name>STDERR_IN</name>
<depth>0</depth>
<mimeTypes>
<string>text/plain</string>
</mimeTypes>
<handledReferenceSchemes/>
<translatedElementType>java.lang.String</translatedElementType>
<allowsLiteralValues>true</allowsLiteralValues>
</net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
</inputs>
<outputs>
<net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>
<name>the_height_of_the_video_track_2</name>
<depth>0</depth>
<mimeTypes/>
<granularDepth>0</granularDepth>
</net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>
</outputs>
<classLoaderSharing>workflow</classLoaderSharing>
<localDependencies/>
<artifactDependencies/>
<script>System.out.println(&quot;lala&quot;);</script>
<dependencies/>
</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean>
</configBean>
<annotations/>
</activity>
</activities>
<dispatchStack>
<dispatchLayer>
<raven>
<group>net.sf.taverna.t2.core</group>
<artifact>workflowmodel-impl</artifact>
<version>1.4</version>
</raven>
<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class>
<configBean encoding="xstream">
<net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">
<maxJobs>1</maxJobs>
</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig>
</configBean>
</dispatchLayer>
<dispatchLayer>
<raven>
<group>net.sf.taverna.t2.core</group>
<artifact>workflowmodel-impl</artifact>
<version>1.4</version>
</raven>
<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class>
<configBean encoding="xstream">
<null xmlns=""/>
</configBean>
</dispatchLayer>
<dispatchLayer>
<raven>
<group>net.sf.taverna.t2.core</group>
<artifact>workflowmodel-impl</artifact>
<version>1.4</version>
</raven>
<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class>
<configBean encoding="xstream">
<null xmlns=""/>
</configBean>
</dispatchLayer>
<dispatchLayer>
<raven>
<group>net.sf.taverna.t2.core</group>
<artifact>workflowmodel-impl</artifact>
<version>1.4</version>
</raven>
<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class>
<configBean encoding="xstream">
<net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">
<backoffFactor>1.0</backoffFactor>
<initialDelay>1000</initialDelay>
<maxDelay>5000</maxDelay>
<maxRetries>0</maxRetries>
</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig>
</configBean>
</dispatchLayer>
<dispatchLayer>
<raven>
<group>net.sf.taverna.t2.core</group>
<artifact>workflowmodel-impl</artifact>
<version>1.4</version>
</raven>
<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class>
<configBean encoding="xstream">
<null xmlns=""/>
</configBean>
</dispatchLayer>
</dispatchStack>
<iterationStrategyStack>
<iteration>
<strategy>
<cross>
<port name="STDOUT_IN" depth="0"/>
<port name="STDERR_IN" depth="0"/>
<port name="output" depth="0"/>
</cross>
</strategy>
</iteration>
</iterationStrategyStack>
</processor>
<processor>
<name>computeUsingJava_image_width_of_video_2</name>
<inputPorts>
<port>
<name>STDOUT_IN</name>
<depth>0</depth>
</port>
<port>
<name>STDERR_IN</name>
<depth>0</depth>
</port>
<port>
<name>output</name>
<depth>0</depth>
</port>
</inputPorts>
<outputPorts>
<port>
<name>image_width_of_video_2</name>
<depth>0</depth>
<granularDepth>0</granularDepth>
</port>
</outputPorts>
<annotations/>
<activities>
<activity>
<raven>
<group>net.sf.taverna.t2.activities</group>
<artifact>beanshell-activity</artifact>
<version>1.4</version>
</raven>
<class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class>
<inputMap>
<map from="STDOUT_IN" to="STDOUT_IN"/>
<map from="STDERR_IN" to="STDERR_IN"/>
<map from="output" to="output"/>
</inputMap>
<outputMap>
<map from="image_width_of_video_2" to="image_width_of_video_2"/>
</outputMap>
<configBean encoding="xstream">
<net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">
<inputs>
<net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
<name>output</name>
<depth>0</depth>
<mimeTypes>
<string>text/plain</string>
</mimeTypes>
<handledReferenceSchemes/>
<translatedElementType>java.lang.String</translatedElementType>
<allowsLiteralValues>true</allowsLiteralValues>
</net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
<net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
<name>STDOUT_IN</name>
<depth>0</depth>
<mimeTypes>
<string>text/plain</string>
</mimeTypes>
<handledReferenceSchemes/>
<translatedElementType>java.lang.String</translatedElementType>
<allowsLiteralValues>true</allowsLiteralValues>
</net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
<net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
<name>STDERR_IN</name>
<depth>0</depth>
<mimeTypes>
<string>text/plain</string>
</mimeTypes>
<handledReferenceSchemes/>
<translatedElementType>java.lang.String</translatedElementType>
<allowsLiteralValues>true</allowsLiteralValues>
</net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
</inputs>
<outputs>
<net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>
<name>image_width_of_video_2</name>
<depth>0</depth>
<mimeTypes/>
<granularDepth>0</granularDepth>
</net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>
</outputs>
<classLoaderSharing>workflow</classLoaderSharing>
<localDependencies/>
<artifactDependencies/>
<script>System.out.println("Must open Taverna Workbench and complete the workflow!");</script>
<dependencies/>
</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean>
</configBean>
<annotations/>
</activity>
</activities>
<dispatchStack>
<dispatchLayer>
<raven>
<group>net.sf.taverna.t2.core</group>
<artifact>workflowmodel-impl</artifact>
<version>1.4</version>
</raven>
<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class>
<configBean encoding="xstream">
<net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">
<maxJobs>1</maxJobs>
</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig>
</configBean>
</dispatchLayer>
<dispatchLayer>
<raven>
<group>net.sf.taverna.t2.core</group>
<artifact>workflowmodel-impl</artifact>
<version>1.4</version>
</raven>
<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class>
<configBean encoding="xstream">
<null xmlns=""/>
</configBean>
</dispatchLayer>
<dispatchLayer>
<raven>
<group>net.sf.taverna.t2.core</group>
<artifact>workflowmodel-impl</artifact>
<version>1.4</version>
</raven>
<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class>
<configBean encoding="xstream">
<null xmlns=""/>
</configBean>
</dispatchLayer>
<dispatchLayer>
<raven>
<group>net.sf.taverna.t2.core</group>
<artifact>workflowmodel-impl</artifact>
<version>1.4</version>
</raven>
<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class>
<configBean encoding="xstream">
<net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">
<backoffFactor>1.0</backoffFactor>
<initialDelay>1000</initialDelay>
<maxDelay>5000</maxDelay>
<maxRetries>0</maxRetries>
</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig>
</configBean>
</dispatchLayer>
<dispatchLayer>
<raven>
<group>net.sf.taverna.t2.core</group>
<artifact>workflowmodel-impl</artifact>
<version>1.4</version>
</raven>
<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class>
<configBean encoding="xstream">
<null xmlns=""/>
</configBean>
</dispatchLayer>
</dispatchStack>
<iterationStrategyStack>
<iteration>
<strategy>
<cross>
<port name="STDOUT_IN" depth="0"/>
<port name="STDERR_IN" depth="0"/>
<port name="output" depth="0"/>
</cross>
</strategy>
</iteration>
</iterationStrategyStack>
</processor>
</processors>
<conditions>
<condition control="commandline_tool_invocation" target="computeUsingBash_image_width_of_video"/>
<condition control="commandline_tool_invocation" target="computeUsingBash_the_height_of_the_video_track"/>
<condition control="commandline_tool_invocation" target="computeUsingJava_the_height_of_the_video_track_2"/>
<condition control="commandline_tool_invocation" target="computeUsingBash_image_width_of_video_2"/>
<condition control="commandline_tool_invocation" target="computeUsingJava_image_width_of_video_2"/>
</conditions>
<datalinks>
<datalink>
<sink type="processor">
<processor>commandline_tool_invocation</processor>
<port>input_inner</port>
</sink>
<source type="dataflow">
<port>input</port>
</source>
</datalink>
<datalink>
<sink type="processor">
<processor>commandline_tool_invocation</processor>
<port>params_inner</port>
</sink>
<source type="dataflow">
<port>params</port>
</source>
</datalink>
<datalink>
<sink type="processor">
<port>output_inner</port>
<processor>commandline_tool_invocation</processor>
</sink>
<source type="processor">
<processor>create_output</processor>
<port>output</port>
</source>
</datalink>
<datalink>
<sink type="processor">
<processor>computeUsingBash_image_width_of_video</processor>
<port>output</port>
</sink>
<source type="processor">
<processor>create_output</processor>
<port>output</port>
</source>
</datalink>
<datalink>
<sink type="dataflow">
<port>image_width_of_video</port>
</sink>
<source type="processor">
<processor>computeUsingBash_image_width_of_video</processor>
<port>STDOUT</port>
</source>
</datalink>
<datalink>
<sink type="processor">
<processor>computeUsingBash_image_width_of_video</processor>
<port>STDERR_IN</port>
</sink>
<source type="processor">
<processor>commandline_tool_invocation</processor>
<port>STDERR</port>
</source>
</datalink>
<datalink>
<sink type="processor">
<processor>computeUsingBash_image_width_of_video</processor>
<port>STDOUT_IN</port>
</sink>
<source type="processor">
<processor>commandline_tool_invocation</processor>
<port>STDOUT</port>
</source>
</datalink>
<datalink>
<sink type="processor">
<processor>computeUsingBash_the_height_of_the_video_track</processor>
<port>output</port>
</sink>
<source type="processor">
<processor>create_output</processor>
<port>output</port>
</source>
</datalink>
<datalink>
<sink type="dataflow">
<port>the_height_of_the_video_track</port>
</sink>
<source type="processor">
<processor>computeUsingBash_the_height_of_the_video_track</processor>
<port>STDOUT</port>
</source>
</datalink>
<datalink>
<sink type="processor">
<processor>computeUsingBash_the_height_of_the_video_track</processor>
<port>STDERR_IN</port>
</sink>
<source type="processor">
<processor>commandline_tool_invocation</processor>
<port>STDERR</port>
</source>
</datalink>
<datalink>
<sink type="processor">
<processor>computeUsingBash_the_height_of_the_video_track</processor>
<port>STDOUT_IN</port>
</sink>
<source type="processor">
<processor>commandline_tool_invocation</processor>
<port>STDOUT</port>
</source>
</datalink>
<datalink>
<sink type="processor">
<processor>computeUsingJava_the_height_of_the_video_track_2</processor>
<port>output</port>
</sink>
<source type="processor">
<processor>create_output</processor>
<port>output</port>
</source>
</datalink>
<datalink>
<sink type="dataflow">
<port>the_height_of_the_video_track_2</port>
</sink>
<source type="processor">
<processor>computeUsingJava_the_height_of_the_video_track_2</processor>
<port>the_height_of_the_video_track_2</port>
</source>
</datalink>
<datalink>
<sink type="processor">
<processor>computeUsingJava_the_height_of_the_video_track_2</processor>
<port>STDERR_IN</port>
</sink>
<source type="processor">
<processor>commandline_tool_invocation</processor>
<port>STDERR</port>
</source>
</datalink>
<datalink>
<sink type="processor">
<processor>computeUsingJava_the_height_of_the_video_track_2</processor>
<port>STDOUT_IN</port>
</sink>
<source type="processor">
<processor>commandline_tool_invocation</processor>
<port>STDOUT</port>
</source>
</datalink>
<datalink>
<sink type="processor">
<processor>computeUsingBash_image_width_of_video_2</processor>
<port>output</port>
</sink>
<source type="processor">
<processor>create_output</processor>
<port>output</port>
</source>
</datalink>
<datalink>
<sink type="processor">
<processor>computeUsingJava_image_width_of_video_2</processor>
<port>output</port>
</sink>
<source type="processor">
<processor>create_output</processor>
<port>output</port>
</source>
</datalink>
<datalink>
<sink type="processor">
<processor>computeUsingBash_image_width_of_video_2</processor>
<port>STDOUT_IN</port>
</sink>
<source type="processor">
<processor>commandline_tool_invocation</processor>
<port>STDOUT</port>
</source>
</datalink>
<datalink>
<sink type="processor">
<processor>computeUsingBash_image_width_of_video_2</processor>
<port>STDERR_IN</port>
</sink>
<source type="processor">
<processor>commandline_tool_invocation</processor>
<port>STDERR</port>
</source>
</datalink>
<datalink>
<sink type="processor">
<processor>computeUsingJava_image_width_of_video_2</processor>
<port>STDOUT_IN</port>
</sink>
<source type="processor">
<processor>commandline_tool_invocation</processor>
<port>STDOUT</port>
</source>
</datalink>
<datalink>
<sink type="processor">
<processor>computeUsingJava_image_width_of_video_2</processor>
<port>STDERR_IN</port>
</sink>
<source type="processor">
<processor>commandline_tool_invocation</processor>
<port>STDERR</port>
</source>
</datalink>
<datalink>
<sink type="merge">
<port>image_width_of_video_2</port>
</sink>
<source type="processor">
<processor>computeUsingBash_image_width_of_video_2</processor>
<port>STDOUT</port>
</source>
</datalink>
<datalink>
<sink type="merge">
<port>image_width_of_video_2</port>
</sink>
<source type="processor">
<processor>computeUsingJava_image_width_of_video_2</processor>
<port>image_width_of_video_2</port>
</source>
</datalink>
</datalinks>
<annotations>
<annotation_chain encoding="xstream">
<net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">
<annotationAssertions>
<net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
<annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.FreeTextDescription">
<text>SCAPE Characterisation Component</text>
</annotationBean>
<date>2014-03-25 11:38:58.190 UTC</date>
<creators/>
<curationEventList/>
</net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
</annotationAssertions>
</net.sf.taverna.t2.annotation.AnnotationChainImpl>
</annotation_chain>
<annotation_chain encoding="xstream">
<net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">
<annotationAssertions>
<net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
<annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.Author">
<text>Hélder Silva</text>
</annotationBean>
<date>2014-03-25 11:38:58.190 UTC</date>
<creators/>
<curationEventList/>
</net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
</annotationAssertions>
</net.sf.taverna.t2.annotation.AnnotationChainImpl>
</annotation_chain>
<annotation_chain_2_2 encoding="xstream">
<net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">
<annotationAssertions>
<net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
<annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.SemanticAnnotation">
<mimeType>text/rdf+n3</mimeType>
<content>&lt;&gt; &lt;http://purl.org/DP/components#fits&gt;
&lt;http://purl.org/DP/components#Characterisation&gt;
; &lt;http://purl.org/DP/components#handlesMimetype&gt; "video/msvideo"^^&lt;http://www.w3.org/2001/XMLSchema#string&gt;
; &lt;http://purl.org/DP/components#handlesMimetype&gt; "video/quicktime"^^&lt;http://www.w3.org/2001/XMLSchema#string&gt;
.
</content>
</annotationBean>
<date>2014-03-25 11:38:58.190 UTC</date>
<creators />
<curationEventList />
</net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
</annotationAssertions>
</net.sf.taverna.t2.annotation.AnnotationChainImpl>
</annotation_chain_2_2>
<annotation_chain encoding="xstream">
<net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">
<annotationAssertions>
<net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
<annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.DescriptiveTitle">
<text>Characterises video and outputs information as XML</text>
</annotationBean>
<date>2014-03-25 11:38:58.190 UTC</date>
<creators/>
<curationEventList/>
</net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
</annotationAssertions>
</net.sf.taverna.t2.annotation.AnnotationChainImpl>
</annotation_chain>
</annotations>
</dataflow>
</workflow>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment