Some kind of POJOs for CWL Draft 4 (2016-05-20)
Project: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/commit/52bb54ed Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/tree/52bb54ed Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/diff/52bb54ed Branch: refs/heads/cwl Commit: 52bb54ede32b73454c60a6e6dde4e44da85582a9 Parents: f9e46e0 Author: Stian Soiland-Reyes <[email protected]> Authored: Fri May 20 18:06:46 2016 +0200 Committer: Stian Soiland-Reyes <[email protected]> Committed: Fri May 20 18:06:46 2016 +0200 ---------------------------------------------------------------------- taverna-scufl2-cwl/pom.xml | 71 +++++++++----------- .../org/apache/taverna/scufl2/cwl/CWLInput.java | 14 ---- .../apache/taverna/scufl2/cwl/CWLOutput.java | 20 ------ .../taverna/scufl2/cwl/CWLRequirement.java | 5 -- .../org/apache/taverna/scufl2/cwl/CWLStep.java | 5 -- .../apache/taverna/scufl2/cwl/CWLWorkflow.java | 22 ------ .../apache/taverna/scufl2/cwl/CwlReader.java | 1 + .../cwl/workflow/CWLCommandLineBinding.java | 11 +++ .../cwl/workflow/CWLCommandOutputBinding.java | 9 +++ .../scufl2/cwl/workflow/CWLDirectory.java | 12 ++++ .../scufl2/cwl/workflow/CWLExpressionTool.java | 32 +++++++++ .../taverna/scufl2/cwl/workflow/CWLFile.java | 18 +++++ .../CWLInlineJavascriptRequirement.java | 11 +++ .../cwl/workflow/CWLInputArraySchema.java | 19 ++++++ .../scufl2/cwl/workflow/CWLInputEnumSchema.java | 23 +++++++ .../scufl2/cwl/workflow/CWLInputParameter.java | 34 ++++++++++ .../cwl/workflow/CWLInputRecordField.java | 10 +++ .../cwl/workflow/CWLInputRecordSchema.java | 18 +++++ .../scufl2/cwl/workflow/CWLLinkMergeMethod.java | 6 ++ .../CWLMultipleInputFeatureRequirement.java | 8 +++ .../taverna/scufl2/cwl/workflow/CWLOutput.java | 20 ++++++ .../cwl/workflow/CWLOutputArraySchema.java | 18 +++++ .../cwl/workflow/CWLOutputEnumSchema.java | 17 +++++ .../scufl2/cwl/workflow/CWLOutputParameter.java | 22 ++++++ .../cwl/workflow/CWLOutputRecordField.java | 15 +++++ .../cwl/workflow/CWLOutputRecordSchema.java | 15 +++++ .../scufl2/cwl/workflow/CWLRequirement.java | 8 +++ .../workflow/CWLScatterFeatureRequirement.java | 10 +++ .../scufl2/cwl/workflow/CWLScatterMethod.java | 7 ++ .../taverna/scufl2/cwl/workflow/CWLSchema.java | 5 ++ .../cwl/workflow/CWLSchemaDefRequirement.java | 8 +++ .../CWLStepInputExpressionRequirement.java | 8 +++ .../CWLSubworkflowFeatureRequirement.java | 8 +++ .../taverna/scufl2/cwl/workflow/CWLType.java | 22 ++++++ .../scufl2/cwl/workflow/CWLVersions.java | 20 ++++++ .../scufl2/cwl/workflow/CWLWorkflow.java | 27 ++++++++ .../workflow/CWLWorkflowOutputParameter.java | 31 +++++++++ .../scufl2/cwl/workflow/CWLWorkflowStep.java | 32 +++++++++ .../cwl/workflow/CWLWorkflowStepInput.java | 28 ++++++++ .../cwl/workflow/CWLWorkflowStepOutput.java | 8 +++ .../taverna/scufl2/cwl/TestCwlReader.java | 7 +- .../src/test/resources/ex1/revsort.cwl | 8 +-- 42 files changed, 583 insertions(+), 110 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/52bb54ed/taverna-scufl2-cwl/pom.xml ---------------------------------------------------------------------- diff --git a/taverna-scufl2-cwl/pom.xml b/taverna-scufl2-cwl/pom.xml index 656b950..e939a18 100644 --- a/taverna-scufl2-cwl/pom.xml +++ b/taverna-scufl2-cwl/pom.xml @@ -1,42 +1,37 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at +<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor + license agreements. See the NOTICE file distributed with this work for additional + information regarding copyright ownership. The ASF licenses this file to + You under the Apache License, Version 2.0 (the "License"); you may not use + this file except in compliance with the License. You may obtain a copy of + the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required + by applicable law or agreed to in writing, software distributed under the + License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS + OF ANY KIND, either express or implied. See the License for the specific + language governing permissions and limitations under the License. --> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.apache.taverna.language</groupId> + <artifactId>apache-taverna-language</artifactId> + <version>0.15.2-incubating-SNAPSHOT</version> + </parent> + <artifactId>taverna-scufl2-cwl</artifactId> + <name>Apache Taverna Scufl 2 CWL read/write</name> + <description> Common Workflow Language (CWL) support</description> + <dependencies> + <dependency> + <groupId>${project.parent.groupId}</groupId> + <artifactId>taverna-scufl2-api</artifactId> + <version>${project.parent.version}</version> + </dependency> + <dependency> + <groupId>com.fasterxml.jackson.dataformat</groupId> + <artifactId>jackson-dataformat-yaml</artifactId> + <version>${jackson.version}</version> + </dependency> - http://www.apache.org/licenses/LICENSE-2.0 + </dependencies> - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.apache.taverna.language</groupId> - <artifactId>taverna-language</artifactId> - <version>0.15.0-incubating-SNAPSHOT</version> - </parent> - <artifactId>taverna-scufl2-cwl</artifactId> - <name>Apache Taverna Scufl 2 CWL read/write</name> - <description> Common Workflow Language (CWL) support</description> - <dependencies> - <dependency> - <groupId>${project.parent.groupId}</groupId> - <artifactId>taverna-scufl2-api</artifactId> - <version>${project.parent.version}</version> - </dependency> - <dependency> - <groupId>com.fasterxml.jackson.dataformat</groupId> - <artifactId>jackson-dataformat-yaml</artifactId> - <version>${jackson.version}</version> - </dependency> - - </dependencies> - </project> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/52bb54ed/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/CWLInput.java ---------------------------------------------------------------------- diff --git a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/CWLInput.java b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/CWLInput.java deleted file mode 100644 index bcde2aa..0000000 --- a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/CWLInput.java +++ /dev/null @@ -1,14 +0,0 @@ -package org.apache.taverna.scufl2.cwl; - -import java.util.Map; - -import com.fasterxml.jackson.annotation.JsonProperty; - -public class CWLInput { - public String id; - public String description; - @JsonProperty(value="default") - public String defaultValue; - public String type; - public Map<String,String> inputBinding; -} http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/52bb54ed/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/CWLOutput.java ---------------------------------------------------------------------- diff --git a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/CWLOutput.java b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/CWLOutput.java deleted file mode 100644 index 1bbbc46..0000000 --- a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/CWLOutput.java +++ /dev/null @@ -1,20 +0,0 @@ -package org.apache.taverna.scufl2.cwl; - -import java.util.List; -import java.util.Map; - -import com.fasterxml.jackson.annotation.JsonProperty; - -public class CWLOutput { - public String id; - public String type; - public String label; - public String description; - public boolean streamable; - public String linkMerge; - @JsonProperty(value="default") - public String defaultValue; - - public String source; - public Map<String,String> outputBinding; -} http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/52bb54ed/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/CWLRequirement.java ---------------------------------------------------------------------- diff --git a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/CWLRequirement.java b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/CWLRequirement.java deleted file mode 100644 index f5b6b85..0000000 --- a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/CWLRequirement.java +++ /dev/null @@ -1,5 +0,0 @@ -package org.apache.taverna.scufl2.cwl; - -public class CWLRequirement { - -} http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/52bb54ed/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/CWLStep.java ---------------------------------------------------------------------- diff --git a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/CWLStep.java b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/CWLStep.java deleted file mode 100644 index eddd40c..0000000 --- a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/CWLStep.java +++ /dev/null @@ -1,5 +0,0 @@ -package org.apache.taverna.scufl2.cwl; - -public class CWLStep { - -} http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/52bb54ed/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/CWLWorkflow.java ---------------------------------------------------------------------- diff --git a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/CWLWorkflow.java b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/CWLWorkflow.java deleted file mode 100644 index 8b0b43b..0000000 --- a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/CWLWorkflow.java +++ /dev/null @@ -1,22 +0,0 @@ -package org.apache.taverna.scufl2.cwl; - -import java.util.List; -import java.util.Map; - -import com.fasterxml.jackson.annotation.JsonProperty; - -public class CWLWorkflow { - - public String id; - @JsonProperty(value="class") - public String klass; - public String description; - public List<CWLInput> inputs; - public List<CWLOutput> outputs; - public List<Map<String,String>> requirements; - public List<CWLStep> steps; - public String baseCommand; - public String stdout; - - -} http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/52bb54ed/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/CwlReader.java ---------------------------------------------------------------------- diff --git a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/CwlReader.java b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/CwlReader.java index 31b2e6d..8d41ccd 100644 --- a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/CwlReader.java +++ b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/CwlReader.java @@ -17,6 +17,7 @@ import org.apache.taverna.scufl2.api.core.Workflow; import org.apache.taverna.scufl2.api.io.ReaderException; import org.apache.taverna.scufl2.api.io.WorkflowBundleIO; import org.apache.taverna.scufl2.api.io.WorkflowBundleReader; +import org.apache.taverna.scufl2.cwl.workflow.CWLWorkflow; import com.fasterxml.jackson.core.JsonParseException; import com.fasterxml.jackson.databind.JsonMappingException; http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/52bb54ed/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLCommandLineBinding.java ---------------------------------------------------------------------- diff --git a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLCommandLineBinding.java b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLCommandLineBinding.java new file mode 100644 index 0000000..33fbba3 --- /dev/null +++ b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLCommandLineBinding.java @@ -0,0 +1,11 @@ +package org.apache.taverna.scufl2.cwl.workflow; + +public class CWLCommandLineBinding { + Boolean loadContents; + Integer position; + String prefix; + Boolean separate; + String itemSeparator; + String valueFrom; + Boolean shellQuote; +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/52bb54ed/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLCommandOutputBinding.java ---------------------------------------------------------------------- diff --git a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLCommandOutputBinding.java b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLCommandOutputBinding.java new file mode 100644 index 0000000..2376243 --- /dev/null +++ b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLCommandOutputBinding.java @@ -0,0 +1,9 @@ +package org.apache.taverna.scufl2.cwl.workflow; + +import java.util.List; + +public class CWLCommandOutputBinding { + List<String> glob; + Boolean loadContents; + String outputEval; +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/52bb54ed/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLDirectory.java ---------------------------------------------------------------------- diff --git a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLDirectory.java b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLDirectory.java new file mode 100644 index 0000000..e76e9c7 --- /dev/null +++ b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLDirectory.java @@ -0,0 +1,12 @@ +package org.apache.taverna.scufl2.cwl.workflow; + +import com.fasterxml.jackson.annotation.JsonProperty; + +public class CWLDirectory { + private static final String DIRECTORY = "Directory"; + @JsonProperty(value="class", defaultValue=DIRECTORY, required=true) + public String klass = DIRECTORY; + @JsonProperty(required=true) + String path; + +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/52bb54ed/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLExpressionTool.java ---------------------------------------------------------------------- diff --git a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLExpressionTool.java b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLExpressionTool.java new file mode 100644 index 0000000..bedbaff --- /dev/null +++ b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLExpressionTool.java @@ -0,0 +1,32 @@ +package org.apache.taverna.scufl2.cwl.workflow; + +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.databind.JsonNode; + +public class CWLExpressionTool { + @JsonProperty(required=true) + public List<CWLInputParameter> inputs; + + @JsonProperty(required=true) + public List<CWLOutputParameter> outputs; + + @JsonProperty(value="class", required=true) + public String klass; + + @JsonProperty(required=true) + public String expression; + + public String id; + + public List<JsonNode> requirements; + + public List<JsonNode> hints; + + public String label; + public String description; + + public String cwlVersion; + +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/52bb54ed/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLFile.java ---------------------------------------------------------------------- diff --git a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLFile.java b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLFile.java new file mode 100644 index 0000000..b2b0784 --- /dev/null +++ b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLFile.java @@ -0,0 +1,18 @@ +package org.apache.taverna.scufl2.cwl.workflow; + +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonProperty; + +public class CWLFile { + private static final String FILE = "File"; + @JsonProperty(value="class", defaultValue=FILE, required=true) + public String klass = FILE; + @JsonProperty(required=true) + String path; + String checksum; + Long size; + List<CWLFile> secondaryFiles; + String format; + +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/52bb54ed/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLInlineJavascriptRequirement.java ---------------------------------------------------------------------- diff --git a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLInlineJavascriptRequirement.java b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLInlineJavascriptRequirement.java new file mode 100644 index 0000000..e25efd9 --- /dev/null +++ b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLInlineJavascriptRequirement.java @@ -0,0 +1,11 @@ +package org.apache.taverna.scufl2.cwl.workflow; + +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonProperty; + +public class CWLInlineJavascriptRequirement extends CWLRequirement { + @JsonProperty("class") + public String klass; + List<String> expressionLib; +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/52bb54ed/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLInputArraySchema.java ---------------------------------------------------------------------- diff --git a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLInputArraySchema.java b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLInputArraySchema.java new file mode 100644 index 0000000..8aa684a --- /dev/null +++ b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLInputArraySchema.java @@ -0,0 +1,19 @@ +package org.apache.taverna.scufl2.cwl.workflow; + +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.databind.JsonNode; + +public class CWLInputArraySchema { + @JsonProperty(required=true, defaultValue="array") + public String type = "array"; + + List<JsonNode> types; + + List<String> secondaryFiles; + List<String> format; + Boolean streamable; + CWLCommandLineBinding inputBinding; + +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/52bb54ed/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLInputEnumSchema.java ---------------------------------------------------------------------- diff --git a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLInputEnumSchema.java b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLInputEnumSchema.java new file mode 100644 index 0000000..6d23393 --- /dev/null +++ b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLInputEnumSchema.java @@ -0,0 +1,23 @@ +package org.apache.taverna.scufl2.cwl.workflow; + +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonProperty; + +public class CWLInputEnumSchema { + + @JsonProperty(defaultValue="enum", required=true) + public String type = "enum"; + + @JsonProperty(required=true) + public List<String> symbols; + + public List<String> secondaryFiles; + + public List<String> format; + + public Boolean streamable; + + public CWLCommandLineBinding inputBinding; + +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/52bb54ed/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLInputParameter.java ---------------------------------------------------------------------- diff --git a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLInputParameter.java b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLInputParameter.java new file mode 100644 index 0000000..9fb5586 --- /dev/null +++ b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLInputParameter.java @@ -0,0 +1,34 @@ +package org.apache.taverna.scufl2.cwl.workflow; + +import java.util.Arrays; +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.databind.JsonNode; + +public class CWLInputParameter { + + @JsonProperty(required=true) + public String id; + + public List<String> secondaryFiles; + + public List<String> format; + + public Boolean streamable; + + public List<String> type; + + public void setType(String type) { + this.type = Arrays.asList(type); + } + + public String label; + + public String description; + + public CWLCommandLineBinding inputBinding; + + @JsonProperty("default") + public JsonNode defaultValue; +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/52bb54ed/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLInputRecordField.java ---------------------------------------------------------------------- diff --git a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLInputRecordField.java b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLInputRecordField.java new file mode 100644 index 0000000..553b841 --- /dev/null +++ b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLInputRecordField.java @@ -0,0 +1,10 @@ +package org.apache.taverna.scufl2.cwl.workflow; + +import java.util.List; + +public class CWLInputRecordField { + String name; + List<String> type; + String doc; + CWLCommandLineBinding inputBinding; +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/52bb54ed/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLInputRecordSchema.java ---------------------------------------------------------------------- diff --git a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLInputRecordSchema.java b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLInputRecordSchema.java new file mode 100644 index 0000000..ca0d81d --- /dev/null +++ b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLInputRecordSchema.java @@ -0,0 +1,18 @@ +package org.apache.taverna.scufl2.cwl.workflow; + +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonProperty; + +public class CWLInputRecordSchema { + @JsonProperty(required=true, defaultValue="record") + public String type="record"; + + public List<CWLInputRecordField> fields; + + public List<String> secondaryFiles; + + public List<String> format; + + public Boolean streamable; +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/52bb54ed/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLLinkMergeMethod.java ---------------------------------------------------------------------- diff --git a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLLinkMergeMethod.java b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLLinkMergeMethod.java new file mode 100644 index 0000000..07e49d9 --- /dev/null +++ b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLLinkMergeMethod.java @@ -0,0 +1,6 @@ +package org.apache.taverna.scufl2.cwl.workflow; + +public enum CWLLinkMergeMethod { + merge_nested, + merge_flattened +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/52bb54ed/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLMultipleInputFeatureRequirement.java ---------------------------------------------------------------------- diff --git a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLMultipleInputFeatureRequirement.java b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLMultipleInputFeatureRequirement.java new file mode 100644 index 0000000..3f1272d --- /dev/null +++ b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLMultipleInputFeatureRequirement.java @@ -0,0 +1,8 @@ +package org.apache.taverna.scufl2.cwl.workflow; + +import com.fasterxml.jackson.annotation.JsonProperty; + +public class CWLMultipleInputFeatureRequirement extends CWLRequirement { + @JsonProperty(value="class", required=true) + public String klass; +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/52bb54ed/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLOutput.java ---------------------------------------------------------------------- diff --git a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLOutput.java b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLOutput.java new file mode 100644 index 0000000..d687adf --- /dev/null +++ b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLOutput.java @@ -0,0 +1,20 @@ +package org.apache.taverna.scufl2.cwl.workflow; + +import java.util.List; +import java.util.Map; + +import com.fasterxml.jackson.annotation.JsonProperty; + +public class CWLOutput { + public String id; + public String type; + public String label; + public String description; + public boolean streamable; + public String linkMerge; + @JsonProperty(value="default") + public String defaultValue; + + public String source; + public Map<String,String> outputBinding; +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/52bb54ed/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLOutputArraySchema.java ---------------------------------------------------------------------- diff --git a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLOutputArraySchema.java b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLOutputArraySchema.java new file mode 100644 index 0000000..edaa1d7 --- /dev/null +++ b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLOutputArraySchema.java @@ -0,0 +1,18 @@ +package org.apache.taverna.scufl2.cwl.workflow; + +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonProperty; + +public class CWLOutputArraySchema { + @JsonProperty(required = true, defaultValue = "array") + public String type = "array"; + + @JsonProperty(required=true) + List<String> items; + List<String> secondaryFiles; + List<String> format; + Boolean streamable; + CWLCommandOutputBinding outputBinding; + +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/52bb54ed/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLOutputEnumSchema.java ---------------------------------------------------------------------- diff --git a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLOutputEnumSchema.java b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLOutputEnumSchema.java new file mode 100644 index 0000000..5d4f5d5 --- /dev/null +++ b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLOutputEnumSchema.java @@ -0,0 +1,17 @@ +package org.apache.taverna.scufl2.cwl.workflow; + +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonProperty; + +public class CWLOutputEnumSchema { + @JsonProperty(required=true, defaultValue="enum") + public String type = "enum"; + + List<String> symbols; + List<String> secondaryFiles; + List<String> format; + Boolean streamable; + CWLCommandOutputBinding outputBinding; + +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/52bb54ed/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLOutputParameter.java ---------------------------------------------------------------------- diff --git a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLOutputParameter.java b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLOutputParameter.java new file mode 100644 index 0000000..7613650 --- /dev/null +++ b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLOutputParameter.java @@ -0,0 +1,22 @@ +package org.apache.taverna.scufl2.cwl.workflow; + +import java.util.List; + +public class CWLOutputParameter { + + public String id; + + public List<String> secondaryFiles; + + public List<String> format; + + public Boolean streamable; + + public List<String> type; + + public String label; + + public CWLCommandLineBinding outputBinding; + + +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/52bb54ed/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLOutputRecordField.java ---------------------------------------------------------------------- diff --git a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLOutputRecordField.java b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLOutputRecordField.java new file mode 100644 index 0000000..50c56fd --- /dev/null +++ b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLOutputRecordField.java @@ -0,0 +1,15 @@ +package org.apache.taverna.scufl2.cwl.workflow; + +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonProperty; + +public class CWLOutputRecordField { + @JsonProperty(required=true) + String name; + @JsonProperty(required=true) + List<String> type; + String doc; + CWLCommandOutputBinding outputBinding; + +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/52bb54ed/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLOutputRecordSchema.java ---------------------------------------------------------------------- diff --git a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLOutputRecordSchema.java b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLOutputRecordSchema.java new file mode 100644 index 0000000..0cb0a3a --- /dev/null +++ b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLOutputRecordSchema.java @@ -0,0 +1,15 @@ +package org.apache.taverna.scufl2.cwl.workflow; + +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonProperty; + +public class CWLOutputRecordSchema { + @JsonProperty(required=true, defaultValue="record") + public String type="record"; + + List<CWLOutputRecordField> fields; + List<String> secondaryFiles; + List<String> format; + boolean streamable; +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/52bb54ed/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLRequirement.java ---------------------------------------------------------------------- diff --git a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLRequirement.java b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLRequirement.java new file mode 100644 index 0000000..ead5f1f --- /dev/null +++ b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLRequirement.java @@ -0,0 +1,8 @@ +package org.apache.taverna.scufl2.cwl.workflow; + +import com.fasterxml.jackson.annotation.JsonProperty; + +public class CWLRequirement { + @JsonProperty("class") + public String klass; +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/52bb54ed/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLScatterFeatureRequirement.java ---------------------------------------------------------------------- diff --git a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLScatterFeatureRequirement.java b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLScatterFeatureRequirement.java new file mode 100644 index 0000000..aa4db88 --- /dev/null +++ b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLScatterFeatureRequirement.java @@ -0,0 +1,10 @@ +package org.apache.taverna.scufl2.cwl.workflow; + +import com.fasterxml.jackson.annotation.JsonProperty; + +public class CWLScatterFeatureRequirement extends CWLRequirement { + + @JsonProperty(value="class", required=true) + public String klass; + +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/52bb54ed/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLScatterMethod.java ---------------------------------------------------------------------- diff --git a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLScatterMethod.java b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLScatterMethod.java new file mode 100644 index 0000000..53c86ec --- /dev/null +++ b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLScatterMethod.java @@ -0,0 +1,7 @@ +package org.apache.taverna.scufl2.cwl.workflow; + +public enum CWLScatterMethod { + dotproduct, + nested_crossproduct, + flat_crossproduct; +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/52bb54ed/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLSchema.java ---------------------------------------------------------------------- diff --git a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLSchema.java b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLSchema.java new file mode 100644 index 0000000..1374b32 --- /dev/null +++ b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLSchema.java @@ -0,0 +1,5 @@ +package org.apache.taverna.scufl2.cwl.workflow; + +public interface CWLSchema { + +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/52bb54ed/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLSchemaDefRequirement.java ---------------------------------------------------------------------- diff --git a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLSchemaDefRequirement.java b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLSchemaDefRequirement.java new file mode 100644 index 0000000..c905810 --- /dev/null +++ b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLSchemaDefRequirement.java @@ -0,0 +1,8 @@ +package org.apache.taverna.scufl2.cwl.workflow; + +import java.util.List; + +public class CWLSchemaDefRequirement extends CWLRequirement { + public String klass; + public List<CWLSchema> types; +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/52bb54ed/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLStepInputExpressionRequirement.java ---------------------------------------------------------------------- diff --git a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLStepInputExpressionRequirement.java b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLStepInputExpressionRequirement.java new file mode 100644 index 0000000..26a9302 --- /dev/null +++ b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLStepInputExpressionRequirement.java @@ -0,0 +1,8 @@ +package org.apache.taverna.scufl2.cwl.workflow; + +import com.fasterxml.jackson.annotation.JsonProperty; + +public class CWLStepInputExpressionRequirement extends CWLRequirement { + @JsonProperty(value="class", required=true) + public String klass; +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/52bb54ed/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLSubworkflowFeatureRequirement.java ---------------------------------------------------------------------- diff --git a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLSubworkflowFeatureRequirement.java b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLSubworkflowFeatureRequirement.java new file mode 100644 index 0000000..746f3ce --- /dev/null +++ b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLSubworkflowFeatureRequirement.java @@ -0,0 +1,8 @@ +package org.apache.taverna.scufl2.cwl.workflow; + +import com.fasterxml.jackson.annotation.JsonProperty; + +public class CWLSubworkflowFeatureRequirement extends CWLRequirement { + @JsonProperty(value="class", required=true) + public String klass; +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/52bb54ed/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLType.java ---------------------------------------------------------------------- diff --git a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLType.java b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLType.java new file mode 100644 index 0000000..793171b --- /dev/null +++ b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLType.java @@ -0,0 +1,22 @@ +package org.apache.taverna.scufl2.cwl.workflow; + +public enum CWLType { + Null("null"), + Boolean("boolean"), + Int("int"), + Long("long"), + Float("float"), + Double("double"), + string("string"), + File("File"); + + public final String name; + + CWLType(String name){ + this.name = name; + } + public String toString() { + return name; + }; + +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/52bb54ed/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLVersions.java ---------------------------------------------------------------------- diff --git a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLVersions.java b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLVersions.java new file mode 100644 index 0000000..2ea5c87 --- /dev/null +++ b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLVersions.java @@ -0,0 +1,20 @@ +package org.apache.taverna.scufl2.cwl.workflow; + +public enum CWLVersions { + draft2("draft-2"), + draft3Dev1("draft-3.dev1"), + draft3Dev2("draft-3.dev2"), + draft3Dev3("draft-3.dev3"), + draft3Dev4("draft-3.dev4"), + draft3Dev5("draft-3.dev5"), + draft4Dev1("draft-4.dev1"), + draft4("draft-4"), + ; + + + public final String name; + + CWLVersions(String name) { + this.name = name; + } +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/52bb54ed/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLWorkflow.java ---------------------------------------------------------------------- diff --git a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLWorkflow.java b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLWorkflow.java new file mode 100644 index 0000000..c05c251 --- /dev/null +++ b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLWorkflow.java @@ -0,0 +1,27 @@ +package org.apache.taverna.scufl2.cwl.workflow; + +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.databind.JsonNode; + +public class CWLWorkflow { + + @JsonProperty(required=true) + public List<CWLInputParameter> inputs; + @JsonProperty(required=true) + public List<CWLWorkflowOutputParameter> outputs; + @JsonProperty(value="class", required=true) + public String klass; + @JsonProperty(required=true) + public List<CWLWorkflowStep> steps; + public String id; + public List<JsonNode> requirements; + public List<JsonNode> hints; + + public String label; + public String description; + public String cwlVersion; + + +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/52bb54ed/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLWorkflowOutputParameter.java ---------------------------------------------------------------------- diff --git a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLWorkflowOutputParameter.java b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLWorkflowOutputParameter.java new file mode 100644 index 0000000..1330fc8 --- /dev/null +++ b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLWorkflowOutputParameter.java @@ -0,0 +1,31 @@ +package org.apache.taverna.scufl2.cwl.workflow; + +import java.util.Arrays; +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonProperty; + +public class CWLWorkflowOutputParameter { + @JsonProperty(required=true) + public String id; + public List<String> secondaryFiles; + public List<String> format; + public boolean streamable; + + public List<String> type; + + public void setType(String type) { + this.type = Arrays.asList(type); + } + + public String label; + public String description; + public CWLCommandOutputBinding outputBinding; + public List<String> source; + + public void setSource(String source) { + this.source = Arrays.asList(source); + } + + public CWLLinkMergeMethod linkMerge; +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/52bb54ed/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLWorkflowStep.java ---------------------------------------------------------------------- diff --git a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLWorkflowStep.java b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLWorkflowStep.java new file mode 100644 index 0000000..a23d658 --- /dev/null +++ b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLWorkflowStep.java @@ -0,0 +1,32 @@ +package org.apache.taverna.scufl2.cwl.workflow; + +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.databind.JsonNode; + +public class CWLWorkflowStep { + + @JsonProperty(required=true) + public String id; + + @JsonProperty(required=true) + public List<CWLWorkflowStepInput> in; + + @JsonProperty(required=true) + public List<JsonNode> out; + + @JsonProperty(required=true) + public JsonNode run; + + public List<CWLRequirement> requirements; + + public List<JsonNode> hints; + + public String label; + public String description; + public List<String> scatter; + public CWLScatterMethod scatterMethod; + + +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/52bb54ed/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLWorkflowStepInput.java ---------------------------------------------------------------------- diff --git a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLWorkflowStepInput.java b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLWorkflowStepInput.java new file mode 100644 index 0000000..791f79c --- /dev/null +++ b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLWorkflowStepInput.java @@ -0,0 +1,28 @@ +package org.apache.taverna.scufl2.cwl.workflow; + +import java.util.Arrays; +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.databind.JsonNode; + +public class CWLWorkflowStepInput { + + @JsonProperty(required=true) + public String id; + + public List<String> source; + + public void setSource(String source) { + this.source = Arrays.asList(source); + } + + @JsonProperty(defaultValue="merge_nested") + public CWLLinkMergeMethod linkMerge; + + @JsonProperty("value") + public JsonNode defaultValue; + public String valueFrom; + + +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/52bb54ed/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLWorkflowStepOutput.java ---------------------------------------------------------------------- diff --git a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLWorkflowStepOutput.java b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLWorkflowStepOutput.java new file mode 100644 index 0000000..6861db0 --- /dev/null +++ b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/workflow/CWLWorkflowStepOutput.java @@ -0,0 +1,8 @@ +package org.apache.taverna.scufl2.cwl.workflow; + +import com.fasterxml.jackson.annotation.JsonProperty; + +public class CWLWorkflowStepOutput { + @JsonProperty(required=true) + String id; +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/52bb54ed/taverna-scufl2-cwl/src/test/java/org/apache/taverna/scufl2/cwl/TestCwlReader.java ---------------------------------------------------------------------- diff --git a/taverna-scufl2-cwl/src/test/java/org/apache/taverna/scufl2/cwl/TestCwlReader.java b/taverna-scufl2-cwl/src/test/java/org/apache/taverna/scufl2/cwl/TestCwlReader.java index a72123f..bd384c5 100644 --- a/taverna-scufl2-cwl/src/test/java/org/apache/taverna/scufl2/cwl/TestCwlReader.java +++ b/taverna-scufl2-cwl/src/test/java/org/apache/taverna/scufl2/cwl/TestCwlReader.java @@ -4,6 +4,9 @@ import static org.junit.Assert.*; import java.net.URL; +import org.apache.taverna.scufl2.api.container.WorkflowBundle; +import org.apache.taverna.scufl2.api.io.WorkflowBundleIO; +import org.apache.taverna.scufl2.cwl.CwlReader; import org.junit.Test; public class TestCwlReader { @@ -11,7 +14,7 @@ public class TestCwlReader { public void parseEx1() throws Exception { URL revsort = getClass().getResource("/ex1/revsort.cwl"); CwlReader reader = new CwlReader(); - reader.readBundle(revsort); - + WorkflowBundle b = reader.readBundle(revsort); + new WorkflowBundleIO().writeBundle(b, System.out, "text/vnd.taverna.scufl2.structure"); } } http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/52bb54ed/taverna-scufl2-cwl/src/test/resources/ex1/revsort.cwl ---------------------------------------------------------------------- diff --git a/taverna-scufl2-cwl/src/test/resources/ex1/revsort.cwl b/taverna-scufl2-cwl/src/test/resources/ex1/revsort.cwl index bcdfd1b..b4339d1 100644 --- a/taverna-scufl2-cwl/src/test/resources/ex1/revsort.cwl +++ b/taverna-scufl2-cwl/src/test/resources/ex1/revsort.cwl @@ -50,16 +50,16 @@ outputs: # parameter "#reversed" from the first step to the input parameter of the # tool "sorttool.cwl#input". steps: - - inputs: + - in: - { id: "#rev.input", source: "#input" } - outputs: + out: - { id: "#rev.output" } run: { import: revtool.cwl } - - inputs: + - in: - { id: "#sorted.input", source: "#rev.output" } - { id: "#sorted.reverse", source: "#reverse_sort" } - outputs: + out: - { id: "#sorted.output" } run: { import: sorttool.cwl } \ No newline at end of file
