diff --git a/src/main/java/org/commonwl/cwlsdk/cwl1_2/CUDARequirement.java b/src/main/java/org/commonwl/cwlsdk/cwl1_2/CUDARequirement.java
new file mode 100644
index 00000000..f923a069
--- /dev/null
+++ b/src/main/java/org/commonwl/cwlsdk/cwl1_2/CUDARequirement.java
@@ -0,0 +1,91 @@
+// Copyright Common Workflow Language project contributors
+//
+// Licensed 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.
+
+package org.commonwl.cwlsdk.cwl1_2;
+
+import org.commonwl.cwlsdk.cwl1_2.utils.LoadingOptions;
+import org.commonwl.cwlsdk.cwl1_2.utils.Saveable;
+
+/**
+* Auto-generated interface for http://commonwl.org/cwltool#CUDARequirement This interface is implemented by {@link CUDARequirementImpl}
+ Require support for NVIDA CUDA (GPU hardware acceleration).
+
+ */
+public interface CUDARequirement extends ProcessRequirement, Saveable {
+
+ java.util.Map getExtensionFields();
+ LoadingOptions getLoadingOptions();
+
+ /**
+ * Getter for property http://commonwl.org/cwltool#CUDARequirement/class
+ *
+ * cwltool:CUDARequirement *
+ */
+
+ String getClass_();
+ /**
+ * Getter for property http://commonwl.org/cwltool#CUDARequirement/cudaComputeCapability
+ *
+ * CUDA hardware capability required to run the software, in X.Y
+ * format.
+ *
+ * * If this is a single value, it defines only the minimum
+ * compute capability. GPUs with higher capability are also
+ * accepted.
+ *
+ * * If it is an array value, then only select GPUs with compute
+ * capabilities that explicitly appear in the array.
+ * *
+ */
+
+ Object getCudaComputeCapability();
+ /**
+ * Getter for property http://commonwl.org/cwltool#CUDARequirement/cudaDeviceCountMax
+ *
+ * Maximum number of GPU devices to request. If not specified,
+ * same as `cudaDeviceCountMin`.
+ * *
+ */
+
+ Object getCudaDeviceCountMax();
+ /**
+ * Getter for property http://commonwl.org/cwltool#CUDARequirement/cudaDeviceCountMin
+ *
+ * Minimum number of GPU devices to request. If not specified,
+ * same as `cudaDeviceCountMax`. If neither are specified,
+ * default 1.
+ * *
+ */
+
+ Object getCudaDeviceCountMin();
+ /**
+ * Getter for property http://commonwl.org/cwltool#CUDARequirement/cudaVersionMin
+ *
+ * Minimum CUDA version to run the software, in X.Y format. This
+ * corresponds to a CUDA SDK release. When running directly on
+ * the host (not in a container) the host must have a compatible
+ * CUDA SDK (matching the exact version, or, starting with CUDA
+ * 11.3, matching major version). When run in a container, the
+ * container image should provide the CUDA runtime, and the host
+ * driver is injected into the container. In this case, because
+ * CUDA drivers are backwards compatible, it is possible to
+ * use an older SDK with a newer driver across major versions.
+ *
+ * See https://docs.nvidia.com/deploy/cuda-compatibility/ for
+ * details.
+ * *
+ */
+
+ String getCudaVersionMin();
+}
diff --git a/src/main/java/org/commonwl/cwlsdk/cwl1_2/CUDARequirementImpl.java b/src/main/java/org/commonwl/cwlsdk/cwl1_2/CUDARequirementImpl.java
new file mode 100644
index 00000000..a130743c
--- /dev/null
+++ b/src/main/java/org/commonwl/cwlsdk/cwl1_2/CUDARequirementImpl.java
@@ -0,0 +1,240 @@
+// Copyright Common Workflow Language project contributors
+//
+// Licensed 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.
+
+package org.commonwl.cwlsdk.cwl1_2;
+
+import org.commonwl.cwlsdk.cwl1_2.utils.LoaderInstances;
+import org.commonwl.cwlsdk.cwl1_2.utils.LoadingOptions;
+import org.commonwl.cwlsdk.cwl1_2.utils.LoadingOptionsBuilder;
+import org.commonwl.cwlsdk.cwl1_2.utils.SaveableImpl;
+import org.commonwl.cwlsdk.cwl1_2.utils.ValidationException;
+
+/**
+* Auto-generated class implementation for http://commonwl.org/cwltool#CUDARequirement
+ Require support for NVIDA CUDA (GPU hardware acceleration).
+
+ */
+public class CUDARequirementImpl extends SaveableImpl implements CUDARequirement {
+ private LoadingOptions loadingOptions_ = new LoadingOptionsBuilder().build();
+ private java.util.Map extensionFields_ =
+ new java.util.HashMap();
+ public LoadingOptions getLoadingOptions() {
+ return this.loadingOptions_;
+ }
+ public java.util.Map getExtensionFields() {
+ return this.extensionFields_;
+ }
+
+ private String class_;
+
+ /**
+ * Getter for property http://commonwl.org/cwltool#CUDARequirement/class
+ *
+ * cwltool:CUDARequirement *
+ */
+
+ public String getClass_() {
+ return this.class_;
+ }
+
+ private Object cudaComputeCapability;
+
+ /**
+ * Getter for property http://commonwl.org/cwltool#CUDARequirement/cudaComputeCapability
+ *
+ * CUDA hardware capability required to run the software, in X.Y
+ * format.
+ *
+ * * If this is a single value, it defines only the minimum
+ * compute capability. GPUs with higher capability are also
+ * accepted.
+ *
+ * * If it is an array value, then only select GPUs with compute
+ * capabilities that explicitly appear in the array.
+ * *
+ */
+
+ public Object getCudaComputeCapability() {
+ return this.cudaComputeCapability;
+ }
+
+ private Object cudaDeviceCountMax;
+
+ /**
+ * Getter for property http://commonwl.org/cwltool#CUDARequirement/cudaDeviceCountMax
+ *
+ * Maximum number of GPU devices to request. If not specified,
+ * same as `cudaDeviceCountMin`.
+ * *
+ */
+
+ public Object getCudaDeviceCountMax() {
+ return this.cudaDeviceCountMax;
+ }
+
+ private Object cudaDeviceCountMin;
+
+ /**
+ * Getter for property http://commonwl.org/cwltool#CUDARequirement/cudaDeviceCountMin
+ *
+ * Minimum number of GPU devices to request. If not specified,
+ * same as `cudaDeviceCountMax`. If neither are specified,
+ * default 1.
+ * *
+ */
+
+ public Object getCudaDeviceCountMin() {
+ return this.cudaDeviceCountMin;
+ }
+
+ private String cudaVersionMin;
+
+ /**
+ * Getter for property http://commonwl.org/cwltool#CUDARequirement/cudaVersionMin
+ *
+ * Minimum CUDA version to run the software, in X.Y format. This
+ * corresponds to a CUDA SDK release. When running directly on
+ * the host (not in a container) the host must have a compatible
+ * CUDA SDK (matching the exact version, or, starting with CUDA
+ * 11.3, matching major version). When run in a container, the
+ * container image should provide the CUDA runtime, and the host
+ * driver is injected into the container. In this case, because
+ * CUDA drivers are backwards compatible, it is possible to
+ * use an older SDK with a newer driver across major versions.
+ *
+ * See https://docs.nvidia.com/deploy/cuda-compatibility/ for
+ * details.
+ * *
+ */
+
+ public String getCudaVersionMin() {
+ return this.cudaVersionMin;
+ }
+
+ /**
+ * Used by {@link org.commonwl.cwlsdk.cwl1_2.utils.RootLoader} to construct instances of CUDARequirementImpl.
+ *
+ * @param __doc_ Document fragment to load this record object from (presumably a
+ {@link java.util.Map}).
+ * @param __baseUri_ Base URI to generate child document IDs against.
+ * @param __loadingOptions Context for loading URIs and populating objects.
+ * @param __docRoot_ ID at this position in the document (if available) (maybe?)
+ * @throws ValidationException If the document fragment is not a {@link java.util.Map}
+ * or validation of fields fails.
+ */
+ public CUDARequirementImpl(
+ final Object __doc_,
+ final String __baseUri_,
+ LoadingOptions __loadingOptions,
+ final String __docRoot_) {
+ super(__doc_, __baseUri_, __loadingOptions, __docRoot_);
+ // Prefix plumbing variables with '__' to reduce likelihood of collision with
+ // generated names.
+ String __baseUri = __baseUri_;
+ String __docRoot = __docRoot_;
+ if (!(__doc_ instanceof java.util.Map)) {
+ throw new ValidationException("CUDARequirementImpl called on non-map");
+ }
+ final java.util.Map __doc = (java.util.Map) __doc_;
+ final java.util.List __errors =
+ new java.util.ArrayList();
+ if (__loadingOptions != null) {
+ this.loadingOptions_ = __loadingOptions;
+ }
+ String class_;
+ try {
+ class_ =
+ LoaderInstances
+ .uri_StringInstance_False_True_None_None
+ .loadField(__doc.get("class"), __baseUri, __loadingOptions);
+ } catch (ValidationException e) {
+ class_ = null; // won't be used but prevents compiler from complaining.
+ final String __message = "the `class` field is not valid because:";
+ __errors.add(new ValidationException(__message, e));
+ }
+ Object cudaComputeCapability;
+ try {
+ cudaComputeCapability =
+ LoaderInstances
+ .union_of_StringInstance_or_array_of_StringInstance
+ .loadField(__doc.get("cudaComputeCapability"), __baseUri, __loadingOptions);
+ } catch (ValidationException e) {
+ cudaComputeCapability = null; // won't be used but prevents compiler from complaining.
+ final String __message = "the `cudaComputeCapability` field is not valid because:";
+ __errors.add(new ValidationException(__message, e));
+ }
+ Object cudaDeviceCountMax;
+
+ if (__doc.containsKey("cudaDeviceCountMax")) {
+ try {
+ cudaDeviceCountMax =
+ LoaderInstances
+ .union_of_NullInstance_or_IntegerInstance_or_ExpressionLoader
+ .loadField(__doc.get("cudaDeviceCountMax"), __baseUri, __loadingOptions);
+ } catch (ValidationException e) {
+ cudaDeviceCountMax = null; // won't be used but prevents compiler from complaining.
+ final String __message = "the `cudaDeviceCountMax` field is not valid because:";
+ __errors.add(new ValidationException(__message, e));
+ }
+
+ } else {
+ cudaDeviceCountMax = null;
+ }
+ Object cudaDeviceCountMin;
+
+ if (__doc.containsKey("cudaDeviceCountMin")) {
+ try {
+ cudaDeviceCountMin =
+ LoaderInstances
+ .union_of_NullInstance_or_IntegerInstance_or_ExpressionLoader
+ .loadField(__doc.get("cudaDeviceCountMin"), __baseUri, __loadingOptions);
+ } catch (ValidationException e) {
+ cudaDeviceCountMin = null; // won't be used but prevents compiler from complaining.
+ final String __message = "the `cudaDeviceCountMin` field is not valid because:";
+ __errors.add(new ValidationException(__message, e));
+ }
+
+ } else {
+ cudaDeviceCountMin = null;
+ }
+ String cudaVersionMin;
+ try {
+ cudaVersionMin =
+ LoaderInstances
+ .StringInstance
+ .loadField(__doc.get("cudaVersionMin"), __baseUri, __loadingOptions);
+ } catch (ValidationException e) {
+ cudaVersionMin = null; // won't be used but prevents compiler from complaining.
+ final String __message = "the `cudaVersionMin` field is not valid because:";
+ __errors.add(new ValidationException(__message, e));
+ }
+ if (!__errors.isEmpty()) {
+ throw new ValidationException("Trying 'RecordField'", __errors);
+ }
+ this.class_ = (String) class_;
+ this.cudaComputeCapability = (Object) cudaComputeCapability;
+ this.cudaDeviceCountMax = (Object) cudaDeviceCountMax;
+ this.cudaDeviceCountMin = (Object) cudaDeviceCountMin;
+ this.cudaVersionMin = (String) cudaVersionMin;
+ for (String field:__doc.keySet()) {
+ if (!attrs.contains(field)) {
+ if (field.contains(":")) {
+ String expanded_field = __loadingOptions.expandUrl(field, "", false, false, null);
+ extensionFields_.put(expanded_field, __doc.get(field));
+ }
+ }
+ }
+ }
+ private java.util.List attrs = java.util.Arrays.asList("class", "cudaComputeCapability", "cudaDeviceCountMax", "cudaDeviceCountMin", "cudaVersionMin");
+}
diff --git a/src/main/java/org/commonwl/cwlsdk/cwl1_2/CommandInputParameter.java b/src/main/java/org/commonwl/cwlsdk/cwl1_2/CommandInputParameter.java
index 7811fc0c..ead0d54d 100644
--- a/src/main/java/org/commonwl/cwlsdk/cwl1_2/CommandInputParameter.java
+++ b/src/main/java/org/commonwl/cwlsdk/cwl1_2/CommandInputParameter.java
@@ -27,12 +27,12 @@ public interface CommandInputParameter extends InputParameter, Saveable {
LoadingOptions getLoadingOptions();
/**
- * Getter for property https://w3id.org/cwl/cwl#Identified/id
+ * Getter for property https://w3id.org/cwl/cwl#Parameter/id
*
- * The unique identifier for this object. *
+ * The unique identifier for this Parameter. *
*/
- java.util.Optional getId();
+ String getId();
/**
* Getter for property https://w3id.org/cwl/cwl#Labeled/label
*
diff --git a/src/main/java/org/commonwl/cwlsdk/cwl1_2/CommandInputParameterImpl.java b/src/main/java/org/commonwl/cwlsdk/cwl1_2/CommandInputParameterImpl.java
index 2f421b51..ad6601f5 100644
--- a/src/main/java/org/commonwl/cwlsdk/cwl1_2/CommandInputParameterImpl.java
+++ b/src/main/java/org/commonwl/cwlsdk/cwl1_2/CommandInputParameterImpl.java
@@ -35,15 +35,15 @@ public java.util.Map getExtensionFields() {
return this.extensionFields_;
}
- private java.util.Optional id;
+ private String id;
/**
- * Getter for property https://w3id.org/cwl/cwl#Identified/id
+ * Getter for property https://w3id.org/cwl/cwl#Parameter/id
*
- * The unique identifier for this object. *
+ * The unique identifier for this Parameter. *
*/
- public java.util.Optional getId() {
+ public String getId() {
return this.id;
}
@@ -275,13 +275,13 @@ public CommandInputParameterImpl(
if (__loadingOptions != null) {
this.loadingOptions_ = __loadingOptions;
}
- java.util.Optional id;
+ String id;
if (__doc.containsKey("id")) {
try {
id =
LoaderInstances
- .uri_optional_StringInstance_True_False_None_None
+ .uri_StringInstance_True_False_None_None
.loadField(__doc.get("id"), __baseUri, __loadingOptions);
} catch (ValidationException e) {
id = null; // won't be used but prevents compiler from complaining.
@@ -293,19 +293,14 @@ public CommandInputParameterImpl(
id = null;
}
- Boolean __original_is_null = id == null;
if (id == null) {
if (__docRoot != null) {
- id = java.util.Optional.of(__docRoot);
+ id = __docRoot;
} else {
- id = java.util.Optional.of("_:" + java.util.UUID.randomUUID().toString());
+ throw new ValidationException("Missing id");
}
}
- if (__original_is_null) {
- __baseUri = __baseUri_;
- } else {
- __baseUri = (String) id.orElse(null);
- }
+ __baseUri = (String) id;
java.util.Optional label;
if (__doc.containsKey("label")) {
@@ -477,7 +472,7 @@ public CommandInputParameterImpl(
this.secondaryFiles = (Object) secondaryFiles;
this.streamable = (java.util.Optional) streamable;
this.doc = (Object) doc;
- this.id = (java.util.Optional) id;
+ this.id = (String) id;
this.format = (Object) format;
this.loadContents = (java.util.Optional) loadContents;
this.loadListing = (java.util.Optional) loadListing;
diff --git a/src/main/java/org/commonwl/cwlsdk/cwl1_2/CommandLineBindable.java b/src/main/java/org/commonwl/cwlsdk/cwl1_2/CommandLineBindable.java
index 1b8d67da..56f5ea14 100644
--- a/src/main/java/org/commonwl/cwlsdk/cwl1_2/CommandLineBindable.java
+++ b/src/main/java/org/commonwl/cwlsdk/cwl1_2/CommandLineBindable.java
@@ -18,7 +18,7 @@
import org.commonwl.cwlsdk.cwl1_2.utils.Saveable;
/**
-* Auto-generated interface for https://w3id.org/cwl/cwl#CommandLineBindable This interface is implemented by {@link CommandLineBindableImpl}
+* Auto-generated interface for https://w3id.org/cwl/cwl#CommandLineBindable
*/
public interface CommandLineBindable extends Saveable {
diff --git a/src/main/java/org/commonwl/cwlsdk/cwl1_2/CommandLineToolImpl.java b/src/main/java/org/commonwl/cwlsdk/cwl1_2/CommandLineToolImpl.java
index 82abf905..72daf708 100644
--- a/src/main/java/org/commonwl/cwlsdk/cwl1_2/CommandLineToolImpl.java
+++ b/src/main/java/org/commonwl/cwlsdk/cwl1_2/CommandLineToolImpl.java
@@ -480,7 +480,7 @@ public CommandLineToolImpl(
try {
requirements =
LoaderInstances
- .idmap_requirements_optional_array_of_union_of_InlineJavascriptRequirement_or_SchemaDefRequirement_or_LoadListingRequirement_or_DockerRequirement_or_SoftwareRequirement_or_InitialWorkDirRequirement_or_EnvVarRequirement_or_ShellCommandRequirement_or_ResourceRequirement_or_WorkReuse_or_NetworkAccess_or_InplaceUpdateRequirement_or_ToolTimeLimit_or_SubworkflowFeatureRequirement_or_ScatterFeatureRequirement_or_MultipleInputFeatureRequirement_or_StepInputExpressionRequirement
+ .idmap_requirements_optional_array_of_union_of_InlineJavascriptRequirement_or_SchemaDefRequirement_or_LoadListingRequirement_or_DockerRequirement_or_SoftwareRequirement_or_InitialWorkDirRequirement_or_EnvVarRequirement_or_ShellCommandRequirement_or_ResourceRequirement_or_WorkReuse_or_NetworkAccess_or_InplaceUpdateRequirement_or_ToolTimeLimit_or_SubworkflowFeatureRequirement_or_ScatterFeatureRequirement_or_MultipleInputFeatureRequirement_or_StepInputExpressionRequirement_or_Secrets_or_MPIRequirement_or_CUDARequirement_or_Loop_or_ShmSize
.loadField(__doc.get("requirements"), __baseUri, __loadingOptions);
} catch (ValidationException e) {
requirements = null; // won't be used but prevents compiler from complaining.
@@ -497,7 +497,7 @@ public CommandLineToolImpl(
try {
hints =
LoaderInstances
- .idmap_hints_optional_array_of_union_of_InlineJavascriptRequirement_or_SchemaDefRequirement_or_LoadListingRequirement_or_DockerRequirement_or_SoftwareRequirement_or_InitialWorkDirRequirement_or_EnvVarRequirement_or_ShellCommandRequirement_or_ResourceRequirement_or_WorkReuse_or_NetworkAccess_or_InplaceUpdateRequirement_or_ToolTimeLimit_or_SubworkflowFeatureRequirement_or_ScatterFeatureRequirement_or_MultipleInputFeatureRequirement_or_StepInputExpressionRequirement_or_AnyInstance
+ .idmap_hints_optional_array_of_union_of_InlineJavascriptRequirement_or_SchemaDefRequirement_or_LoadListingRequirement_or_DockerRequirement_or_SoftwareRequirement_or_InitialWorkDirRequirement_or_EnvVarRequirement_or_ShellCommandRequirement_or_ResourceRequirement_or_WorkReuse_or_NetworkAccess_or_InplaceUpdateRequirement_or_ToolTimeLimit_or_SubworkflowFeatureRequirement_or_ScatterFeatureRequirement_or_MultipleInputFeatureRequirement_or_StepInputExpressionRequirement_or_Secrets_or_MPIRequirement_or_CUDARequirement_or_Loop_or_ShmSize_or_AnyInstance
.loadField(__doc.get("hints"), __baseUri, __loadingOptions);
} catch (ValidationException e) {
hints = null; // won't be used but prevents compiler from complaining.
diff --git a/src/main/java/org/commonwl/cwlsdk/cwl1_2/CommandOutputParameter.java b/src/main/java/org/commonwl/cwlsdk/cwl1_2/CommandOutputParameter.java
index 4dbff8dc..9ebbbcc9 100644
--- a/src/main/java/org/commonwl/cwlsdk/cwl1_2/CommandOutputParameter.java
+++ b/src/main/java/org/commonwl/cwlsdk/cwl1_2/CommandOutputParameter.java
@@ -27,12 +27,12 @@ public interface CommandOutputParameter extends OutputParameter, Saveable {
LoadingOptions getLoadingOptions();
/**
- * Getter for property https://w3id.org/cwl/cwl#Identified/id
+ * Getter for property https://w3id.org/cwl/cwl#Parameter/id
*
- * The unique identifier for this object. *
+ * The unique identifier for this Parameter. *
*/
- java.util.Optional getId();
+ String getId();
/**
* Getter for property https://w3id.org/cwl/cwl#Labeled/label
*
diff --git a/src/main/java/org/commonwl/cwlsdk/cwl1_2/CommandOutputParameterImpl.java b/src/main/java/org/commonwl/cwlsdk/cwl1_2/CommandOutputParameterImpl.java
index c9408c81..66e3b3cf 100644
--- a/src/main/java/org/commonwl/cwlsdk/cwl1_2/CommandOutputParameterImpl.java
+++ b/src/main/java/org/commonwl/cwlsdk/cwl1_2/CommandOutputParameterImpl.java
@@ -35,15 +35,15 @@ public java.util.Map getExtensionFields() {
return this.extensionFields_;
}
- private java.util.Optional id;
+ private String id;
/**
- * Getter for property https://w3id.org/cwl/cwl#Identified/id
+ * Getter for property https://w3id.org/cwl/cwl#Parameter/id
*
- * The unique identifier for this object. *
+ * The unique identifier for this Parameter. *
*/
- public java.util.Optional getId() {
+ public String getId() {
return this.id;
}
@@ -213,13 +213,13 @@ public CommandOutputParameterImpl(
if (__loadingOptions != null) {
this.loadingOptions_ = __loadingOptions;
}
- java.util.Optional id;
+ String id;
if (__doc.containsKey("id")) {
try {
id =
LoaderInstances
- .uri_optional_StringInstance_True_False_None_None
+ .uri_StringInstance_True_False_None_None
.loadField(__doc.get("id"), __baseUri, __loadingOptions);
} catch (ValidationException e) {
id = null; // won't be used but prevents compiler from complaining.
@@ -231,19 +231,14 @@ public CommandOutputParameterImpl(
id = null;
}
- Boolean __original_is_null = id == null;
if (id == null) {
if (__docRoot != null) {
- id = java.util.Optional.of(__docRoot);
+ id = __docRoot;
} else {
- id = java.util.Optional.of("_:" + java.util.UUID.randomUUID().toString());
+ throw new ValidationException("Missing id");
}
}
- if (__original_is_null) {
- __baseUri = __baseUri_;
- } else {
- __baseUri = (String) id.orElse(null);
- }
+ __baseUri = (String) id;
java.util.Optional label;
if (__doc.containsKey("label")) {
@@ -364,7 +359,7 @@ public CommandOutputParameterImpl(
this.secondaryFiles = (Object) secondaryFiles;
this.streamable = (java.util.Optional) streamable;
this.doc = (Object) doc;
- this.id = (java.util.Optional) id;
+ this.id = (String) id;
this.format = (Object) format;
this.type = (Object) type;
this.outputBinding = (java.util.Optional) outputBinding;
diff --git a/src/main/java/org/commonwl/cwlsdk/cwl1_2/ExpressionToolImpl.java b/src/main/java/org/commonwl/cwlsdk/cwl1_2/ExpressionToolImpl.java
index 78fdced9..ec5f613d 100644
--- a/src/main/java/org/commonwl/cwlsdk/cwl1_2/ExpressionToolImpl.java
+++ b/src/main/java/org/commonwl/cwlsdk/cwl1_2/ExpressionToolImpl.java
@@ -353,7 +353,7 @@ public ExpressionToolImpl(
try {
requirements =
LoaderInstances
- .idmap_requirements_optional_array_of_union_of_InlineJavascriptRequirement_or_SchemaDefRequirement_or_LoadListingRequirement_or_DockerRequirement_or_SoftwareRequirement_or_InitialWorkDirRequirement_or_EnvVarRequirement_or_ShellCommandRequirement_or_ResourceRequirement_or_WorkReuse_or_NetworkAccess_or_InplaceUpdateRequirement_or_ToolTimeLimit_or_SubworkflowFeatureRequirement_or_ScatterFeatureRequirement_or_MultipleInputFeatureRequirement_or_StepInputExpressionRequirement
+ .idmap_requirements_optional_array_of_union_of_InlineJavascriptRequirement_or_SchemaDefRequirement_or_LoadListingRequirement_or_DockerRequirement_or_SoftwareRequirement_or_InitialWorkDirRequirement_or_EnvVarRequirement_or_ShellCommandRequirement_or_ResourceRequirement_or_WorkReuse_or_NetworkAccess_or_InplaceUpdateRequirement_or_ToolTimeLimit_or_SubworkflowFeatureRequirement_or_ScatterFeatureRequirement_or_MultipleInputFeatureRequirement_or_StepInputExpressionRequirement_or_Secrets_or_MPIRequirement_or_CUDARequirement_or_Loop_or_ShmSize
.loadField(__doc.get("requirements"), __baseUri, __loadingOptions);
} catch (ValidationException e) {
requirements = null; // won't be used but prevents compiler from complaining.
@@ -370,7 +370,7 @@ public ExpressionToolImpl(
try {
hints =
LoaderInstances
- .idmap_hints_optional_array_of_union_of_InlineJavascriptRequirement_or_SchemaDefRequirement_or_LoadListingRequirement_or_DockerRequirement_or_SoftwareRequirement_or_InitialWorkDirRequirement_or_EnvVarRequirement_or_ShellCommandRequirement_or_ResourceRequirement_or_WorkReuse_or_NetworkAccess_or_InplaceUpdateRequirement_or_ToolTimeLimit_or_SubworkflowFeatureRequirement_or_ScatterFeatureRequirement_or_MultipleInputFeatureRequirement_or_StepInputExpressionRequirement_or_AnyInstance
+ .idmap_hints_optional_array_of_union_of_InlineJavascriptRequirement_or_SchemaDefRequirement_or_LoadListingRequirement_or_DockerRequirement_or_SoftwareRequirement_or_InitialWorkDirRequirement_or_EnvVarRequirement_or_ShellCommandRequirement_or_ResourceRequirement_or_WorkReuse_or_NetworkAccess_or_InplaceUpdateRequirement_or_ToolTimeLimit_or_SubworkflowFeatureRequirement_or_ScatterFeatureRequirement_or_MultipleInputFeatureRequirement_or_StepInputExpressionRequirement_or_Secrets_or_MPIRequirement_or_CUDARequirement_or_Loop_or_ShmSize_or_AnyInstance
.loadField(__doc.get("hints"), __baseUri, __loadingOptions);
} catch (ValidationException e) {
hints = null; // won't be used but prevents compiler from complaining.
diff --git a/src/main/java/org/commonwl/cwlsdk/cwl1_2/ExpressionToolOutputParameter.java b/src/main/java/org/commonwl/cwlsdk/cwl1_2/ExpressionToolOutputParameter.java
index a4182e3f..2a0041a6 100644
--- a/src/main/java/org/commonwl/cwlsdk/cwl1_2/ExpressionToolOutputParameter.java
+++ b/src/main/java/org/commonwl/cwlsdk/cwl1_2/ExpressionToolOutputParameter.java
@@ -26,12 +26,12 @@ public interface ExpressionToolOutputParameter extends OutputParameter, Saveable
LoadingOptions getLoadingOptions();
/**
- * Getter for property https://w3id.org/cwl/cwl#Identified/id
+ * Getter for property https://w3id.org/cwl/cwl#Parameter/id
*
- * The unique identifier for this object. *
+ * The unique identifier for this Parameter. *
*/
- java.util.Optional getId();
+ String getId();
/**
* Getter for property https://w3id.org/cwl/cwl#Labeled/label
*
diff --git a/src/main/java/org/commonwl/cwlsdk/cwl1_2/ExpressionToolOutputParameterImpl.java b/src/main/java/org/commonwl/cwlsdk/cwl1_2/ExpressionToolOutputParameterImpl.java
index f4e71be9..06824072 100644
--- a/src/main/java/org/commonwl/cwlsdk/cwl1_2/ExpressionToolOutputParameterImpl.java
+++ b/src/main/java/org/commonwl/cwlsdk/cwl1_2/ExpressionToolOutputParameterImpl.java
@@ -34,15 +34,15 @@ public java.util.Map getExtensionFields() {
return this.extensionFields_;
}
- private java.util.Optional id;
+ private String id;
/**
- * Getter for property https://w3id.org/cwl/cwl#Identified/id
+ * Getter for property https://w3id.org/cwl/cwl#Parameter/id
*
- * The unique identifier for this object. *
+ * The unique identifier for this Parameter. *
*/
- public java.util.Optional getId() {
+ public String getId() {
return this.id;
}
@@ -202,13 +202,13 @@ public ExpressionToolOutputParameterImpl(
if (__loadingOptions != null) {
this.loadingOptions_ = __loadingOptions;
}
- java.util.Optional id;
+ String id;
if (__doc.containsKey("id")) {
try {
id =
LoaderInstances
- .uri_optional_StringInstance_True_False_None_None
+ .uri_StringInstance_True_False_None_None
.loadField(__doc.get("id"), __baseUri, __loadingOptions);
} catch (ValidationException e) {
id = null; // won't be used but prevents compiler from complaining.
@@ -220,19 +220,14 @@ public ExpressionToolOutputParameterImpl(
id = null;
}
- Boolean __original_is_null = id == null;
if (id == null) {
if (__docRoot != null) {
- id = java.util.Optional.of(__docRoot);
+ id = __docRoot;
} else {
- id = java.util.Optional.of("_:" + java.util.UUID.randomUUID().toString());
+ throw new ValidationException("Missing id");
}
}
- if (__original_is_null) {
- __baseUri = __baseUri_;
- } else {
- __baseUri = (String) id.orElse(null);
- }
+ __baseUri = (String) id;
java.util.Optional label;
if (__doc.containsKey("label")) {
@@ -336,7 +331,7 @@ public ExpressionToolOutputParameterImpl(
this.secondaryFiles = (Object) secondaryFiles;
this.streamable = (java.util.Optional) streamable;
this.doc = (Object) doc;
- this.id = (java.util.Optional) id;
+ this.id = (String) id;
this.format = (Object) format;
this.type = (Object) type;
for (String field:__doc.keySet()) {
diff --git a/src/main/java/org/commonwl/cwlsdk/cwl1_2/IdentifierRequired.java b/src/main/java/org/commonwl/cwlsdk/cwl1_2/IdentifierRequired.java
new file mode 100644
index 00000000..a4f0c7ad
--- /dev/null
+++ b/src/main/java/org/commonwl/cwlsdk/cwl1_2/IdentifierRequired.java
@@ -0,0 +1,28 @@
+// Copyright Common Workflow Language project contributors
+//
+// Licensed 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.
+
+package org.commonwl.cwlsdk.cwl1_2;
+
+import org.commonwl.cwlsdk.cwl1_2.utils.LoadingOptions;
+import org.commonwl.cwlsdk.cwl1_2.utils.Saveable;
+
+/**
+* Auto-generated interface for https://w3id.org/cwl/cwl#IdentifierRequired
+ */
+public interface IdentifierRequired extends Identified, Saveable {
+
+ java.util.Map getExtensionFields();
+ LoadingOptions getLoadingOptions();
+
+}
diff --git a/src/main/java/org/commonwl/cwlsdk/cwl1_2/Loop.java b/src/main/java/org/commonwl/cwlsdk/cwl1_2/Loop.java
new file mode 100644
index 00000000..5af9ce4d
--- /dev/null
+++ b/src/main/java/org/commonwl/cwlsdk/cwl1_2/Loop.java
@@ -0,0 +1,84 @@
+// Copyright Common Workflow Language project contributors
+//
+// Licensed 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.
+
+package org.commonwl.cwlsdk.cwl1_2;
+
+import org.commonwl.cwlsdk.cwl1_2.utils.LoadingOptions;
+import org.commonwl.cwlsdk.cwl1_2.utils.Saveable;
+
+/**
+* Auto-generated interface for http://commonwl.org/cwltool#Loop This interface is implemented by {@link LoopImpl}
+ Prototype to enable workflow-level looping of a step.
+
+ Valid only under `requirements` of a https://www.commonwl.org/v1.2/Workflow.html#WorkflowStep.
+ Unlike other CWL requirements, Loop requirement is not propagated to inner steps.
+
+ `loopWhen` is an expansion of the CWL v1.2 `when` construct which controls
+ conditional execution.
+
+ Using `loopWhen` and `when` for the same step will produce an error.
+
+ `loopWhen` is not compatible with `scatter` at this time and combining the
+ two in the same step will produce an error.
+
+ */
+public interface Loop extends ProcessRequirement, Saveable {
+
+ java.util.Map getExtensionFields();
+ LoadingOptions getLoadingOptions();
+
+ /**
+ * Getter for property http://commonwl.org/cwltool#Loop/class
+ *
+ * cwltool:Loop *
+ */
+
+ String getClass_();
+ /**
+ * Getter for property http://commonwl.org/cwltool#loop
+ *
+ * Defines the input parameters of the loop iterations after the first one
+ * (inputs of the first iteration are the step input parameters). If no
+ * `loop` rule is specified for a given step `in` field, the initial value
+ * is kept constant among all iterations.
+ * *
+ */
+
+ java.util.List getLoop();
+ /**
+ * Getter for property http://commonwl.org/cwltool#Loop/loopWhen
+ *
+ * Only run the step while the expression evaluates to `true`.
+ * If `false` and no iteration has been performed, the step is skipped.
+ *
+ * A skipped step produces a `null` on each output.
+ *
+ * The `inputs` value in the expression must be the step input object.
+ *
+ * It is an error if this expression returns a value other than `true` or `false`.
+ * *
+ */
+
+ String getLoopWhen();
+ /**
+ * Getter for property http://commonwl.org/cwltool#Loop/outputMethod
+ *
+ * - Specify the desired method of dealing with loop outputs
+ * - Default. Propagates only the last computed element to the subsequent steps when the loop terminates.
+ * - Propagates a single array with all output values to the subsequent steps when the loop terminates.
+ * *
+ */
+
+ LoopOutputModes getOutputMethod();
+}
diff --git a/src/main/java/org/commonwl/cwlsdk/cwl1_2/LoopImpl.java b/src/main/java/org/commonwl/cwlsdk/cwl1_2/LoopImpl.java
new file mode 100644
index 00000000..1f8cb545
--- /dev/null
+++ b/src/main/java/org/commonwl/cwlsdk/cwl1_2/LoopImpl.java
@@ -0,0 +1,204 @@
+// Copyright Common Workflow Language project contributors
+//
+// Licensed 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.
+
+package org.commonwl.cwlsdk.cwl1_2;
+
+import org.commonwl.cwlsdk.cwl1_2.utils.LoaderInstances;
+import org.commonwl.cwlsdk.cwl1_2.utils.LoadingOptions;
+import org.commonwl.cwlsdk.cwl1_2.utils.LoadingOptionsBuilder;
+import org.commonwl.cwlsdk.cwl1_2.utils.SaveableImpl;
+import org.commonwl.cwlsdk.cwl1_2.utils.ValidationException;
+
+/**
+* Auto-generated class implementation for http://commonwl.org/cwltool#Loop
+ Prototype to enable workflow-level looping of a step.
+
+ Valid only under `requirements` of a https://www.commonwl.org/v1.2/Workflow.html#WorkflowStep.
+ Unlike other CWL requirements, Loop requirement is not propagated to inner steps.
+
+ `loopWhen` is an expansion of the CWL v1.2 `when` construct which controls
+ conditional execution.
+
+ Using `loopWhen` and `when` for the same step will produce an error.
+
+ `loopWhen` is not compatible with `scatter` at this time and combining the
+ two in the same step will produce an error.
+
+ */
+public class LoopImpl extends SaveableImpl implements Loop {
+ private LoadingOptions loadingOptions_ = new LoadingOptionsBuilder().build();
+ private java.util.Map extensionFields_ =
+ new java.util.HashMap();
+ public LoadingOptions getLoadingOptions() {
+ return this.loadingOptions_;
+ }
+ public java.util.Map getExtensionFields() {
+ return this.extensionFields_;
+ }
+
+ private String class_;
+
+ /**
+ * Getter for property http://commonwl.org/cwltool#Loop/class
+ *
+ * cwltool:Loop *
+ */
+
+ public String getClass_() {
+ return this.class_;
+ }
+
+ private java.util.List loop;
+
+ /**
+ * Getter for property http://commonwl.org/cwltool#loop
+ *
+ * Defines the input parameters of the loop iterations after the first one
+ * (inputs of the first iteration are the step input parameters). If no
+ * `loop` rule is specified for a given step `in` field, the initial value
+ * is kept constant among all iterations.
+ * *
+ */
+
+ public java.util.List getLoop() {
+ return this.loop;
+ }
+
+ private String loopWhen;
+
+ /**
+ * Getter for property http://commonwl.org/cwltool#Loop/loopWhen
+ *
+ * Only run the step while the expression evaluates to `true`.
+ * If `false` and no iteration has been performed, the step is skipped.
+ *
+ * A skipped step produces a `null` on each output.
+ *
+ * The `inputs` value in the expression must be the step input object.
+ *
+ * It is an error if this expression returns a value other than `true` or `false`.
+ * *
+ */
+
+ public String getLoopWhen() {
+ return this.loopWhen;
+ }
+
+ private LoopOutputModes outputMethod;
+
+ /**
+ * Getter for property http://commonwl.org/cwltool#Loop/outputMethod
+ *
+ * - Specify the desired method of dealing with loop outputs
+ * - Default. Propagates only the last computed element to the subsequent steps when the loop terminates.
+ * - Propagates a single array with all output values to the subsequent steps when the loop terminates.
+ * *
+ */
+
+ public LoopOutputModes getOutputMethod() {
+ return this.outputMethod;
+ }
+
+ /**
+ * Used by {@link org.commonwl.cwlsdk.cwl1_2.utils.RootLoader} to construct instances of LoopImpl.
+ *
+ * @param __doc_ Document fragment to load this record object from (presumably a
+ {@link java.util.Map}).
+ * @param __baseUri_ Base URI to generate child document IDs against.
+ * @param __loadingOptions Context for loading URIs and populating objects.
+ * @param __docRoot_ ID at this position in the document (if available) (maybe?)
+ * @throws ValidationException If the document fragment is not a {@link java.util.Map}
+ * or validation of fields fails.
+ */
+ public LoopImpl(
+ final Object __doc_,
+ final String __baseUri_,
+ LoadingOptions __loadingOptions,
+ final String __docRoot_) {
+ super(__doc_, __baseUri_, __loadingOptions, __docRoot_);
+ // Prefix plumbing variables with '__' to reduce likelihood of collision with
+ // generated names.
+ String __baseUri = __baseUri_;
+ String __docRoot = __docRoot_;
+ if (!(__doc_ instanceof java.util.Map)) {
+ throw new ValidationException("LoopImpl called on non-map");
+ }
+ final java.util.Map __doc = (java.util.Map) __doc_;
+ final java.util.List __errors =
+ new java.util.ArrayList();
+ if (__loadingOptions != null) {
+ this.loadingOptions_ = __loadingOptions;
+ }
+ String class_;
+ try {
+ class_ =
+ LoaderInstances
+ .uri_StringInstance_False_True_None_None
+ .loadField(__doc.get("class"), __baseUri, __loadingOptions);
+ } catch (ValidationException e) {
+ class_ = null; // won't be used but prevents compiler from complaining.
+ final String __message = "the `class` field is not valid because:";
+ __errors.add(new ValidationException(__message, e));
+ }
+ java.util.List loop;
+ try {
+ loop =
+ LoaderInstances
+ .idmap_loop_array_of_LoopInput
+ .loadField(__doc.get("loop"), __baseUri, __loadingOptions);
+ } catch (ValidationException e) {
+ loop = null; // won't be used but prevents compiler from complaining.
+ final String __message = "the `loop` field is not valid because:";
+ __errors.add(new ValidationException(__message, e));
+ }
+ String loopWhen;
+ try {
+ loopWhen =
+ LoaderInstances
+ .ExpressionLoader
+ .loadField(__doc.get("loopWhen"), __baseUri, __loadingOptions);
+ } catch (ValidationException e) {
+ loopWhen = null; // won't be used but prevents compiler from complaining.
+ final String __message = "the `loopWhen` field is not valid because:";
+ __errors.add(new ValidationException(__message, e));
+ }
+ LoopOutputModes outputMethod;
+ try {
+ outputMethod =
+ LoaderInstances
+ .LoopOutputModes
+ .loadField(__doc.get("outputMethod"), __baseUri, __loadingOptions);
+ } catch (ValidationException e) {
+ outputMethod = null; // won't be used but prevents compiler from complaining.
+ final String __message = "the `outputMethod` field is not valid because:";
+ __errors.add(new ValidationException(__message, e));
+ }
+ if (!__errors.isEmpty()) {
+ throw new ValidationException("Trying 'RecordField'", __errors);
+ }
+ this.class_ = (String) class_;
+ this.loop = (java.util.List) loop;
+ this.loopWhen = (String) loopWhen;
+ this.outputMethod = (LoopOutputModes) outputMethod;
+ for (String field:__doc.keySet()) {
+ if (!attrs.contains(field)) {
+ if (field.contains(":")) {
+ String expanded_field = __loadingOptions.expandUrl(field, "", false, false, null);
+ extensionFields_.put(expanded_field, __doc.get(field));
+ }
+ }
+ }
+ }
+ private java.util.List attrs = java.util.Arrays.asList("class", "loop", "loopWhen", "outputMethod");
+}
diff --git a/src/main/java/org/commonwl/cwlsdk/cwl1_2/LoopInput.java b/src/main/java/org/commonwl/cwlsdk/cwl1_2/LoopInput.java
new file mode 100644
index 00000000..72faa68b
--- /dev/null
+++ b/src/main/java/org/commonwl/cwlsdk/cwl1_2/LoopInput.java
@@ -0,0 +1,95 @@
+// Copyright Common Workflow Language project contributors
+//
+// Licensed 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.
+
+package org.commonwl.cwlsdk.cwl1_2;
+
+import org.commonwl.cwlsdk.cwl1_2.utils.LoadingOptions;
+import org.commonwl.cwlsdk.cwl1_2.utils.Saveable;
+
+/**
+* Auto-generated interface for http://commonwl.org/cwltool#LoopInput This interface is implemented by {@link LoopInputImpl}
+ */
+public interface LoopInput extends Saveable {
+
+ java.util.Map getExtensionFields();
+ LoadingOptions getLoadingOptions();
+
+ /**
+ * Getter for property http://commonwl.org/cwltool#LoopInput/id
+ *
+ * It must reference the `id` of one of the elements in the `in` field of the step. *
+ */
+
+ java.util.Optional getId();
+ /**
+ * Getter for property https://w3id.org/cwl/salad#default
+ *
+ * The default value for this parameter to use if either there is no
+ * `source` field, or the value produced by the `source` is `null`. The
+ * default must be applied prior to scattering or evaluating `valueFrom`.
+ * *
+ */
+
+ java.util.Optional getDefault();
+ /**
+ * Getter for property http://commonwl.org/cwltool#LoopInput/linkMerge
+ *
+ * The method to use to merge multiple inbound links into a single array.
+ * If not specified, the default method is "merge_nested".
+ * *
+ */
+
+ java.util.Optional getLinkMerge();
+ /**
+ * Getter for property http://commonwl.org/cwltool#LoopInput/loopSource
+ *
+ * Specifies one or more of the step output parameters that will
+ * provide input to the loop iterations after the first one (inputs
+ * of the first iteration are the step input parameters).
+ * *
+ */
+
+ Object getLoopSource();
+ /**
+ * Getter for property http://commonwl.org/cwltool#LoopInput/pickValue
+ *
+ * The method to use to choose non-null elements among multiple sources.
+ * *
+ */
+
+ java.util.Optional getPickValue();
+ /**
+ * Getter for property http://commonwl.org/cwltool#LoopInput/valueFrom
+ *
+ * To use valueFrom, [StepInputExpressionRequirement](#StepInputExpressionRequirement) must
+ * be specified in the workflow or workflow step requirements.
+ *
+ * If `valueFrom` is a constant string value, use this as the value for
+ * this input parameter.
+ *
+ * If `valueFrom` is a parameter reference or expression, it must be
+ * evaluated to yield the actual value to be assigned to the input field.
+ *
+ * The `self` value in the parameter reference or expression must be
+ * `null` if there is no `loopSource` field, or the value of the
+ * parameter(s) specified in the `loopSource` field.
+ *
+ * The value of `inputs` in the parameter reference or expression must be
+ * the input object to the previous iteration of the workflow step (or the initial
+ * inputs for the first iteration).
+ * *
+ */
+
+ Object getValueFrom();
+}
diff --git a/src/main/java/org/commonwl/cwlsdk/cwl1_2/LoopInputImpl.java b/src/main/java/org/commonwl/cwlsdk/cwl1_2/LoopInputImpl.java
new file mode 100644
index 00000000..cd531943
--- /dev/null
+++ b/src/main/java/org/commonwl/cwlsdk/cwl1_2/LoopInputImpl.java
@@ -0,0 +1,299 @@
+// Copyright Common Workflow Language project contributors
+//
+// Licensed 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.
+
+package org.commonwl.cwlsdk.cwl1_2;
+
+import org.commonwl.cwlsdk.cwl1_2.utils.LoaderInstances;
+import org.commonwl.cwlsdk.cwl1_2.utils.LoadingOptions;
+import org.commonwl.cwlsdk.cwl1_2.utils.LoadingOptionsBuilder;
+import org.commonwl.cwlsdk.cwl1_2.utils.SaveableImpl;
+import org.commonwl.cwlsdk.cwl1_2.utils.ValidationException;
+
+/**
+* Auto-generated class implementation for http://commonwl.org/cwltool#LoopInput
+ */
+public class LoopInputImpl extends SaveableImpl implements LoopInput {
+ private LoadingOptions loadingOptions_ = new LoadingOptionsBuilder().build();
+ private java.util.Map extensionFields_ =
+ new java.util.HashMap();
+ public LoadingOptions getLoadingOptions() {
+ return this.loadingOptions_;
+ }
+ public java.util.Map getExtensionFields() {
+ return this.extensionFields_;
+ }
+
+ private java.util.Optional id;
+
+ /**
+ * Getter for property http://commonwl.org/cwltool#LoopInput/id
+ *
+ * It must reference the `id` of one of the elements in the `in` field of the step. *
+ */
+
+ public java.util.Optional getId() {
+ return this.id;
+ }
+
+ private java.util.Optional default_;
+
+ /**
+ * Getter for property https://w3id.org/cwl/salad#default
+ *
+ * The default value for this parameter to use if either there is no
+ * `source` field, or the value produced by the `source` is `null`. The
+ * default must be applied prior to scattering or evaluating `valueFrom`.
+ * *
+ */
+
+ public java.util.Optional getDefault() {
+ return this.default_;
+ }
+
+ private java.util.Optional linkMerge;
+
+ /**
+ * Getter for property http://commonwl.org/cwltool#LoopInput/linkMerge
+ *
+ * The method to use to merge multiple inbound links into a single array.
+ * If not specified, the default method is "merge_nested".
+ * *
+ */
+
+ public java.util.Optional getLinkMerge() {
+ return this.linkMerge;
+ }
+
+ private Object loopSource;
+
+ /**
+ * Getter for property http://commonwl.org/cwltool#LoopInput/loopSource
+ *
+ * Specifies one or more of the step output parameters that will
+ * provide input to the loop iterations after the first one (inputs
+ * of the first iteration are the step input parameters).
+ * *
+ */
+
+ public Object getLoopSource() {
+ return this.loopSource;
+ }
+
+ private java.util.Optional pickValue;
+
+ /**
+ * Getter for property http://commonwl.org/cwltool#LoopInput/pickValue
+ *
+ * The method to use to choose non-null elements among multiple sources.
+ * *
+ */
+
+ public java.util.Optional getPickValue() {
+ return this.pickValue;
+ }
+
+ private Object valueFrom;
+
+ /**
+ * Getter for property http://commonwl.org/cwltool#LoopInput/valueFrom
+ *
+ * To use valueFrom, [StepInputExpressionRequirement](#StepInputExpressionRequirement) must
+ * be specified in the workflow or workflow step requirements.
+ *
+ * If `valueFrom` is a constant string value, use this as the value for
+ * this input parameter.
+ *
+ * If `valueFrom` is a parameter reference or expression, it must be
+ * evaluated to yield the actual value to be assigned to the input field.
+ *
+ * The `self` value in the parameter reference or expression must be
+ * `null` if there is no `loopSource` field, or the value of the
+ * parameter(s) specified in the `loopSource` field.
+ *
+ * The value of `inputs` in the parameter reference or expression must be
+ * the input object to the previous iteration of the workflow step (or the initial
+ * inputs for the first iteration).
+ * *
+ */
+
+ public Object getValueFrom() {
+ return this.valueFrom;
+ }
+
+ /**
+ * Used by {@link org.commonwl.cwlsdk.cwl1_2.utils.RootLoader} to construct instances of LoopInputImpl.
+ *
+ * @param __doc_ Document fragment to load this record object from (presumably a
+ {@link java.util.Map}).
+ * @param __baseUri_ Base URI to generate child document IDs against.
+ * @param __loadingOptions Context for loading URIs and populating objects.
+ * @param __docRoot_ ID at this position in the document (if available) (maybe?)
+ * @throws ValidationException If the document fragment is not a {@link java.util.Map}
+ * or validation of fields fails.
+ */
+ public LoopInputImpl(
+ final Object __doc_,
+ final String __baseUri_,
+ LoadingOptions __loadingOptions,
+ final String __docRoot_) {
+ super(__doc_, __baseUri_, __loadingOptions, __docRoot_);
+ // Prefix plumbing variables with '__' to reduce likelihood of collision with
+ // generated names.
+ String __baseUri = __baseUri_;
+ String __docRoot = __docRoot_;
+ if (!(__doc_ instanceof java.util.Map)) {
+ throw new ValidationException("LoopInputImpl called on non-map");
+ }
+ final java.util.Map __doc = (java.util.Map) __doc_;
+ final java.util.List __errors =
+ new java.util.ArrayList();
+ if (__loadingOptions != null) {
+ this.loadingOptions_ = __loadingOptions;
+ }
+ java.util.Optional id;
+
+ if (__doc.containsKey("id")) {
+ try {
+ id =
+ LoaderInstances
+ .uri_optional_StringInstance_True_False_None_None
+ .loadField(__doc.get("id"), __baseUri, __loadingOptions);
+ } catch (ValidationException e) {
+ id = null; // won't be used but prevents compiler from complaining.
+ final String __message = "the `id` field is not valid because:";
+ __errors.add(new ValidationException(__message, e));
+ }
+
+ } else {
+ id = null;
+ }
+
+ Boolean __original_is_null = id == null;
+ if (id == null) {
+ if (__docRoot != null) {
+ id = java.util.Optional.of(__docRoot);
+ } else {
+ id = java.util.Optional.of("_:" + java.util.UUID.randomUUID().toString());
+ }
+ }
+ if (__original_is_null) {
+ __baseUri = __baseUri_;
+ } else {
+ __baseUri = (String) id.orElse(null);
+ }
+ java.util.Optional default_;
+
+ if (__doc.containsKey("default")) {
+ try {
+ default_ =
+ LoaderInstances
+ .optional_AnyInstance
+ .loadField(__doc.get("default"), __baseUri, __loadingOptions);
+ } catch (ValidationException e) {
+ default_ = null; // won't be used but prevents compiler from complaining.
+ final String __message = "the `default` field is not valid because:";
+ __errors.add(new ValidationException(__message, e));
+ }
+
+ } else {
+ default_ = null;
+ }
+ java.util.Optional linkMerge;
+
+ if (__doc.containsKey("linkMerge")) {
+ try {
+ linkMerge =
+ LoaderInstances
+ .optional_LinkMergeMethod
+ .loadField(__doc.get("linkMerge"), __baseUri, __loadingOptions);
+ } catch (ValidationException e) {
+ linkMerge = null; // won't be used but prevents compiler from complaining.
+ final String __message = "the `linkMerge` field is not valid because:";
+ __errors.add(new ValidationException(__message, e));
+ }
+
+ } else {
+ linkMerge = null;
+ }
+ Object loopSource;
+
+ if (__doc.containsKey("loopSource")) {
+ try {
+ loopSource =
+ LoaderInstances
+ .uri_union_of_NullInstance_or_StringInstance_or_array_of_StringInstance_False_False_1_None
+ .loadField(__doc.get("loopSource"), __baseUri, __loadingOptions);
+ } catch (ValidationException e) {
+ loopSource = null; // won't be used but prevents compiler from complaining.
+ final String __message = "the `loopSource` field is not valid because:";
+ __errors.add(new ValidationException(__message, e));
+ }
+
+ } else {
+ loopSource = null;
+ }
+ java.util.Optional pickValue;
+
+ if (__doc.containsKey("pickValue")) {
+ try {
+ pickValue =
+ LoaderInstances
+ .optional_PickValueMethod
+ .loadField(__doc.get("pickValue"), __baseUri, __loadingOptions);
+ } catch (ValidationException e) {
+ pickValue = null; // won't be used but prevents compiler from complaining.
+ final String __message = "the `pickValue` field is not valid because:";
+ __errors.add(new ValidationException(__message, e));
+ }
+
+ } else {
+ pickValue = null;
+ }
+ Object valueFrom;
+
+ if (__doc.containsKey("valueFrom")) {
+ try {
+ valueFrom =
+ LoaderInstances
+ .union_of_NullInstance_or_StringInstance_or_ExpressionLoader
+ .loadField(__doc.get("valueFrom"), __baseUri, __loadingOptions);
+ } catch (ValidationException e) {
+ valueFrom = null; // won't be used but prevents compiler from complaining.
+ final String __message = "the `valueFrom` field is not valid because:";
+ __errors.add(new ValidationException(__message, e));
+ }
+
+ } else {
+ valueFrom = null;
+ }
+ if (!__errors.isEmpty()) {
+ throw new ValidationException("Trying 'RecordField'", __errors);
+ }
+ this.default_ = (java.util.Optional) default_;
+ this.id = (java.util.Optional) id;
+ this.linkMerge = (java.util.Optional) linkMerge;
+ this.loopSource = (Object) loopSource;
+ this.pickValue = (java.util.Optional) pickValue;
+ this.valueFrom = (Object) valueFrom;
+ for (String field:__doc.keySet()) {
+ if (!attrs.contains(field)) {
+ if (field.contains(":")) {
+ String expanded_field = __loadingOptions.expandUrl(field, "", false, false, null);
+ extensionFields_.put(expanded_field, __doc.get(field));
+ }
+ }
+ }
+ }
+ private java.util.List attrs = java.util.Arrays.asList("default", "id", "linkMerge", "loopSource", "pickValue", "valueFrom");
+}
diff --git a/src/main/java/org/commonwl/cwlsdk/cwl1_2/LoopOutputModes.java b/src/main/java/org/commonwl/cwlsdk/cwl1_2/LoopOutputModes.java
new file mode 100644
index 00000000..760c1915
--- /dev/null
+++ b/src/main/java/org/commonwl/cwlsdk/cwl1_2/LoopOutputModes.java
@@ -0,0 +1,38 @@
+// Copyright Common Workflow Language project contributors
+//
+// Licensed 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.
+
+package org.commonwl.cwlsdk.cwl1_2;
+
+import org.commonwl.cwlsdk.cwl1_2.utils.ValidationException;
+
+public enum LoopOutputModes {
+ LAST("last"),
+ ALL("all");
+
+ private static String[] symbols = new String[] {"last", "all"};
+ private String docVal;
+
+ private LoopOutputModes(final String docVal) {
+ this.docVal = docVal;
+ }
+
+ public static LoopOutputModes fromDocumentVal(final String docVal) {
+ for(final LoopOutputModes val : LoopOutputModes.values()) {
+ if(val.docVal.equals(docVal)) {
+ return val;
+ }
+ }
+ throw new ValidationException(String.format("Expected one of %s", LoopOutputModes.symbols, docVal));
+ }
+}
diff --git a/src/main/java/org/commonwl/cwlsdk/cwl1_2/MPIRequirement.java b/src/main/java/org/commonwl/cwlsdk/cwl1_2/MPIRequirement.java
new file mode 100644
index 00000000..bef91f12
--- /dev/null
+++ b/src/main/java/org/commonwl/cwlsdk/cwl1_2/MPIRequirement.java
@@ -0,0 +1,47 @@
+// Copyright Common Workflow Language project contributors
+//
+// Licensed 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.
+
+package org.commonwl.cwlsdk.cwl1_2;
+
+import org.commonwl.cwlsdk.cwl1_2.utils.LoadingOptions;
+import org.commonwl.cwlsdk.cwl1_2.utils.Saveable;
+
+/**
+* Auto-generated interface for http://commonwl.org/cwltool#MPIRequirement This interface is implemented by {@link MPIRequirementImpl}
+ Indicates that a process requires an MPI runtime.
+
+ */
+public interface MPIRequirement extends ProcessRequirement, Saveable {
+
+ java.util.Map getExtensionFields();
+ LoadingOptions getLoadingOptions();
+
+ /**
+ * Getter for property http://commonwl.org/cwltool#MPIRequirement/class
+ *
+ * Always 'MPIRequirement' *
+ */
+
+ String getClass_();
+ /**
+ * Getter for property http://commonwl.org/cwltool#MPIRequirement/processes
+ *
+ * The number of MPI processes to start. If you give a string,
+ * this will be evaluated as a CWL Expression and it must
+ * evaluate to an integer.
+ * *
+ */
+
+ Object getProcesses();
+}
diff --git a/src/main/java/org/commonwl/cwlsdk/cwl1_2/MPIRequirementImpl.java b/src/main/java/org/commonwl/cwlsdk/cwl1_2/MPIRequirementImpl.java
new file mode 100644
index 00000000..91b1ec60
--- /dev/null
+++ b/src/main/java/org/commonwl/cwlsdk/cwl1_2/MPIRequirementImpl.java
@@ -0,0 +1,133 @@
+// Copyright Common Workflow Language project contributors
+//
+// Licensed 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.
+
+package org.commonwl.cwlsdk.cwl1_2;
+
+import org.commonwl.cwlsdk.cwl1_2.utils.LoaderInstances;
+import org.commonwl.cwlsdk.cwl1_2.utils.LoadingOptions;
+import org.commonwl.cwlsdk.cwl1_2.utils.LoadingOptionsBuilder;
+import org.commonwl.cwlsdk.cwl1_2.utils.SaveableImpl;
+import org.commonwl.cwlsdk.cwl1_2.utils.ValidationException;
+
+/**
+* Auto-generated class implementation for http://commonwl.org/cwltool#MPIRequirement
+ Indicates that a process requires an MPI runtime.
+
+ */
+public class MPIRequirementImpl extends SaveableImpl implements MPIRequirement {
+ private LoadingOptions loadingOptions_ = new LoadingOptionsBuilder().build();
+ private java.util.Map extensionFields_ =
+ new java.util.HashMap();
+ public LoadingOptions getLoadingOptions() {
+ return this.loadingOptions_;
+ }
+ public java.util.Map getExtensionFields() {
+ return this.extensionFields_;
+ }
+
+ private String class_;
+
+ /**
+ * Getter for property http://commonwl.org/cwltool#MPIRequirement/class
+ *
+ * Always 'MPIRequirement' *
+ */
+
+ public String getClass_() {
+ return this.class_;
+ }
+
+ private Object processes;
+
+ /**
+ * Getter for property http://commonwl.org/cwltool#MPIRequirement/processes
+ *
+ * The number of MPI processes to start. If you give a string,
+ * this will be evaluated as a CWL Expression and it must
+ * evaluate to an integer.
+ * *
+ */
+
+ public Object getProcesses() {
+ return this.processes;
+ }
+
+ /**
+ * Used by {@link org.commonwl.cwlsdk.cwl1_2.utils.RootLoader} to construct instances of MPIRequirementImpl.
+ *
+ * @param __doc_ Document fragment to load this record object from (presumably a
+ {@link java.util.Map}).
+ * @param __baseUri_ Base URI to generate child document IDs against.
+ * @param __loadingOptions Context for loading URIs and populating objects.
+ * @param __docRoot_ ID at this position in the document (if available) (maybe?)
+ * @throws ValidationException If the document fragment is not a {@link java.util.Map}
+ * or validation of fields fails.
+ */
+ public MPIRequirementImpl(
+ final Object __doc_,
+ final String __baseUri_,
+ LoadingOptions __loadingOptions,
+ final String __docRoot_) {
+ super(__doc_, __baseUri_, __loadingOptions, __docRoot_);
+ // Prefix plumbing variables with '__' to reduce likelihood of collision with
+ // generated names.
+ String __baseUri = __baseUri_;
+ String __docRoot = __docRoot_;
+ if (!(__doc_ instanceof java.util.Map)) {
+ throw new ValidationException("MPIRequirementImpl called on non-map");
+ }
+ final java.util.Map __doc = (java.util.Map) __doc_;
+ final java.util.List __errors =
+ new java.util.ArrayList();
+ if (__loadingOptions != null) {
+ this.loadingOptions_ = __loadingOptions;
+ }
+ String class_;
+ try {
+ class_ =
+ LoaderInstances
+ .uri_StringInstance_False_True_None_None
+ .loadField(__doc.get("class"), __baseUri, __loadingOptions);
+ } catch (ValidationException e) {
+ class_ = null; // won't be used but prevents compiler from complaining.
+ final String __message = "the `class` field is not valid because:";
+ __errors.add(new ValidationException(__message, e));
+ }
+ Object processes;
+ try {
+ processes =
+ LoaderInstances
+ .union_of_IntegerInstance_or_ExpressionLoader
+ .loadField(__doc.get("processes"), __baseUri, __loadingOptions);
+ } catch (ValidationException e) {
+ processes = null; // won't be used but prevents compiler from complaining.
+ final String __message = "the `processes` field is not valid because:";
+ __errors.add(new ValidationException(__message, e));
+ }
+ if (!__errors.isEmpty()) {
+ throw new ValidationException("Trying 'RecordField'", __errors);
+ }
+ this.class_ = (String) class_;
+ this.processes = (Object) processes;
+ for (String field:__doc.keySet()) {
+ if (!attrs.contains(field)) {
+ if (field.contains(":")) {
+ String expanded_field = __loadingOptions.expandUrl(field, "", false, false, null);
+ extensionFields_.put(expanded_field, __doc.get(field));
+ }
+ }
+ }
+ }
+ private java.util.List attrs = java.util.Arrays.asList("class", "processes");
+}
diff --git a/src/main/java/org/commonwl/cwlsdk/cwl1_2/OperationImpl.java b/src/main/java/org/commonwl/cwlsdk/cwl1_2/OperationImpl.java
index a8eee4cd..9ac7ee25 100644
--- a/src/main/java/org/commonwl/cwlsdk/cwl1_2/OperationImpl.java
+++ b/src/main/java/org/commonwl/cwlsdk/cwl1_2/OperationImpl.java
@@ -338,7 +338,7 @@ public OperationImpl(
try {
requirements =
LoaderInstances
- .idmap_requirements_optional_array_of_union_of_InlineJavascriptRequirement_or_SchemaDefRequirement_or_LoadListingRequirement_or_DockerRequirement_or_SoftwareRequirement_or_InitialWorkDirRequirement_or_EnvVarRequirement_or_ShellCommandRequirement_or_ResourceRequirement_or_WorkReuse_or_NetworkAccess_or_InplaceUpdateRequirement_or_ToolTimeLimit_or_SubworkflowFeatureRequirement_or_ScatterFeatureRequirement_or_MultipleInputFeatureRequirement_or_StepInputExpressionRequirement
+ .idmap_requirements_optional_array_of_union_of_InlineJavascriptRequirement_or_SchemaDefRequirement_or_LoadListingRequirement_or_DockerRequirement_or_SoftwareRequirement_or_InitialWorkDirRequirement_or_EnvVarRequirement_or_ShellCommandRequirement_or_ResourceRequirement_or_WorkReuse_or_NetworkAccess_or_InplaceUpdateRequirement_or_ToolTimeLimit_or_SubworkflowFeatureRequirement_or_ScatterFeatureRequirement_or_MultipleInputFeatureRequirement_or_StepInputExpressionRequirement_or_Secrets_or_MPIRequirement_or_CUDARequirement_or_Loop_or_ShmSize
.loadField(__doc.get("requirements"), __baseUri, __loadingOptions);
} catch (ValidationException e) {
requirements = null; // won't be used but prevents compiler from complaining.
@@ -355,7 +355,7 @@ public OperationImpl(
try {
hints =
LoaderInstances
- .idmap_hints_optional_array_of_union_of_InlineJavascriptRequirement_or_SchemaDefRequirement_or_LoadListingRequirement_or_DockerRequirement_or_SoftwareRequirement_or_InitialWorkDirRequirement_or_EnvVarRequirement_or_ShellCommandRequirement_or_ResourceRequirement_or_WorkReuse_or_NetworkAccess_or_InplaceUpdateRequirement_or_ToolTimeLimit_or_SubworkflowFeatureRequirement_or_ScatterFeatureRequirement_or_MultipleInputFeatureRequirement_or_StepInputExpressionRequirement_or_AnyInstance
+ .idmap_hints_optional_array_of_union_of_InlineJavascriptRequirement_or_SchemaDefRequirement_or_LoadListingRequirement_or_DockerRequirement_or_SoftwareRequirement_or_InitialWorkDirRequirement_or_EnvVarRequirement_or_ShellCommandRequirement_or_ResourceRequirement_or_WorkReuse_or_NetworkAccess_or_InplaceUpdateRequirement_or_ToolTimeLimit_or_SubworkflowFeatureRequirement_or_ScatterFeatureRequirement_or_MultipleInputFeatureRequirement_or_StepInputExpressionRequirement_or_Secrets_or_MPIRequirement_or_CUDARequirement_or_Loop_or_ShmSize_or_AnyInstance
.loadField(__doc.get("hints"), __baseUri, __loadingOptions);
} catch (ValidationException e) {
hints = null; // won't be used but prevents compiler from complaining.
diff --git a/src/main/java/org/commonwl/cwlsdk/cwl1_2/OperationInputParameter.java b/src/main/java/org/commonwl/cwlsdk/cwl1_2/OperationInputParameter.java
index 1d2ca926..f0b9f1c4 100644
--- a/src/main/java/org/commonwl/cwlsdk/cwl1_2/OperationInputParameter.java
+++ b/src/main/java/org/commonwl/cwlsdk/cwl1_2/OperationInputParameter.java
@@ -28,12 +28,12 @@ public interface OperationInputParameter extends InputParameter, Saveable {
LoadingOptions getLoadingOptions();
/**
- * Getter for property https://w3id.org/cwl/cwl#Identified/id
+ * Getter for property https://w3id.org/cwl/cwl#Parameter/id
*
- * The unique identifier for this object. *
+ * The unique identifier for this Parameter. *
*/
- java.util.Optional getId();
+ String getId();
/**
* Getter for property https://w3id.org/cwl/cwl#Labeled/label
*
diff --git a/src/main/java/org/commonwl/cwlsdk/cwl1_2/OperationInputParameterImpl.java b/src/main/java/org/commonwl/cwlsdk/cwl1_2/OperationInputParameterImpl.java
index a0458165..a1fec743 100644
--- a/src/main/java/org/commonwl/cwlsdk/cwl1_2/OperationInputParameterImpl.java
+++ b/src/main/java/org/commonwl/cwlsdk/cwl1_2/OperationInputParameterImpl.java
@@ -36,15 +36,15 @@ public java.util.Map getExtensionFields() {
return this.extensionFields_;
}
- private java.util.Optional id;
+ private String id;
/**
- * Getter for property https://w3id.org/cwl/cwl#Identified/id
+ * Getter for property https://w3id.org/cwl/cwl#Parameter/id
*
- * The unique identifier for this object. *
+ * The unique identifier for this Parameter. *
*/
- public java.util.Optional getId() {
+ public String getId() {
return this.id;
}
@@ -262,13 +262,13 @@ public OperationInputParameterImpl(
if (__loadingOptions != null) {
this.loadingOptions_ = __loadingOptions;
}
- java.util.Optional id;
+ String id;
if (__doc.containsKey("id")) {
try {
id =
LoaderInstances
- .uri_optional_StringInstance_True_False_None_None
+ .uri_StringInstance_True_False_None_None
.loadField(__doc.get("id"), __baseUri, __loadingOptions);
} catch (ValidationException e) {
id = null; // won't be used but prevents compiler from complaining.
@@ -280,19 +280,14 @@ public OperationInputParameterImpl(
id = null;
}
- Boolean __original_is_null = id == null;
if (id == null) {
if (__docRoot != null) {
- id = java.util.Optional.of(__docRoot);
+ id = __docRoot;
} else {
- id = java.util.Optional.of("_:" + java.util.UUID.randomUUID().toString());
+ throw new ValidationException("Missing id");
}
}
- if (__original_is_null) {
- __baseUri = __baseUri_;
- } else {
- __baseUri = (String) id.orElse(null);
- }
+ __baseUri = (String) id;
java.util.Optional label;
if (__doc.containsKey("label")) {
@@ -447,7 +442,7 @@ public OperationInputParameterImpl(
this.secondaryFiles = (Object) secondaryFiles;
this.streamable = (java.util.Optional) streamable;
this.doc = (Object) doc;
- this.id = (java.util.Optional) id;
+ this.id = (String) id;
this.format = (Object) format;
this.loadContents = (java.util.Optional) loadContents;
this.loadListing = (java.util.Optional) loadListing;
diff --git a/src/main/java/org/commonwl/cwlsdk/cwl1_2/OperationOutputParameter.java b/src/main/java/org/commonwl/cwlsdk/cwl1_2/OperationOutputParameter.java
index 12532bd6..393cee4c 100644
--- a/src/main/java/org/commonwl/cwlsdk/cwl1_2/OperationOutputParameter.java
+++ b/src/main/java/org/commonwl/cwlsdk/cwl1_2/OperationOutputParameter.java
@@ -28,12 +28,12 @@ public interface OperationOutputParameter extends OutputParameter, Saveable {
LoadingOptions getLoadingOptions();
/**
- * Getter for property https://w3id.org/cwl/cwl#Identified/id
+ * Getter for property https://w3id.org/cwl/cwl#Parameter/id
*
- * The unique identifier for this object. *
+ * The unique identifier for this Parameter. *
*/
- java.util.Optional getId();
+ String getId();
/**
* Getter for property https://w3id.org/cwl/cwl#Labeled/label
*
diff --git a/src/main/java/org/commonwl/cwlsdk/cwl1_2/OperationOutputParameterImpl.java b/src/main/java/org/commonwl/cwlsdk/cwl1_2/OperationOutputParameterImpl.java
index 84ff46b2..c1e93b04 100644
--- a/src/main/java/org/commonwl/cwlsdk/cwl1_2/OperationOutputParameterImpl.java
+++ b/src/main/java/org/commonwl/cwlsdk/cwl1_2/OperationOutputParameterImpl.java
@@ -36,15 +36,15 @@ public java.util.Map getExtensionFields() {
return this.extensionFields_;
}
- private java.util.Optional id;
+ private String id;
/**
- * Getter for property https://w3id.org/cwl/cwl#Identified/id
+ * Getter for property https://w3id.org/cwl/cwl#Parameter/id
*
- * The unique identifier for this object. *
+ * The unique identifier for this Parameter. *
*/
- public java.util.Optional getId() {
+ public String getId() {
return this.id;
}
@@ -202,13 +202,13 @@ public OperationOutputParameterImpl(
if (__loadingOptions != null) {
this.loadingOptions_ = __loadingOptions;
}
- java.util.Optional id;
+ String id;
if (__doc.containsKey("id")) {
try {
id =
LoaderInstances
- .uri_optional_StringInstance_True_False_None_None
+ .uri_StringInstance_True_False_None_None
.loadField(__doc.get("id"), __baseUri, __loadingOptions);
} catch (ValidationException e) {
id = null; // won't be used but prevents compiler from complaining.
@@ -220,19 +220,14 @@ public OperationOutputParameterImpl(
id = null;
}
- Boolean __original_is_null = id == null;
if (id == null) {
if (__docRoot != null) {
- id = java.util.Optional.of(__docRoot);
+ id = __docRoot;
} else {
- id = java.util.Optional.of("_:" + java.util.UUID.randomUUID().toString());
+ throw new ValidationException("Missing id");
}
}
- if (__original_is_null) {
- __baseUri = __baseUri_;
- } else {
- __baseUri = (String) id.orElse(null);
- }
+ __baseUri = (String) id;
java.util.Optional label;
if (__doc.containsKey("label")) {
@@ -336,7 +331,7 @@ public OperationOutputParameterImpl(
this.secondaryFiles = (Object) secondaryFiles;
this.streamable = (java.util.Optional) streamable;
this.doc = (Object) doc;
- this.id = (java.util.Optional) id;
+ this.id = (String) id;
this.format = (Object) format;
this.type = (Object) type;
for (String field:__doc.keySet()) {
diff --git a/src/main/java/org/commonwl/cwlsdk/cwl1_2/Parameter.java b/src/main/java/org/commonwl/cwlsdk/cwl1_2/Parameter.java
index da4df6f6..5eaf40c6 100644
--- a/src/main/java/org/commonwl/cwlsdk/cwl1_2/Parameter.java
+++ b/src/main/java/org/commonwl/cwlsdk/cwl1_2/Parameter.java
@@ -22,7 +22,7 @@
Define an input or output parameter to a process.
*/
-public interface Parameter extends FieldBase, Documented, Identified, Saveable {
+public interface Parameter extends FieldBase, Documented, IdentifierRequired, Saveable {
java.util.Map getExtensionFields();
LoadingOptions getLoadingOptions();
diff --git a/src/main/java/org/commonwl/cwlsdk/cwl1_2/ProcessGenerator.java b/src/main/java/org/commonwl/cwlsdk/cwl1_2/ProcessGenerator.java
new file mode 100644
index 00000000..c5c38e9b
--- /dev/null
+++ b/src/main/java/org/commonwl/cwlsdk/cwl1_2/ProcessGenerator.java
@@ -0,0 +1,148 @@
+// Copyright Common Workflow Language project contributors
+//
+// Licensed 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.
+
+package org.commonwl.cwlsdk.cwl1_2;
+
+import org.commonwl.cwlsdk.cwl1_2.utils.LoadingOptions;
+import org.commonwl.cwlsdk.cwl1_2.utils.Saveable;
+
+/**
+* Auto-generated interface for http://commonwl.org/cwltool#ProcessGenerator This interface is implemented by {@link ProcessGeneratorImpl}
+ */
+public interface ProcessGenerator extends Process, Saveable {
+
+ java.util.Map getExtensionFields();
+ LoadingOptions getLoadingOptions();
+
+ /**
+ * Getter for property https://w3id.org/cwl/cwl#Process/id
+ *
+ * The unique identifier for this object.
+ *
+ * Only useful for `$graph` at `Process` level. Should not be exposed
+ * to users in graphical or terminal user interfaces.
+ * *
+ */
+
+ java.util.Optional getId();
+ /**
+ * Getter for property http://commonwl.org/cwltool#ProcessGenerator/class
+
+ */
+
+ String getClass_();
+ /**
+ * Getter for property https://w3id.org/cwl/cwl#Labeled/label
+ *
+ * A short, human-readable label of this object. *
+ */
+
+ java.util.Optional getLabel();
+ /**
+ * Getter for property https://w3id.org/cwl/salad#Documented/doc
+ *
+ * A documentation string for this object, or an array of strings which should be concatenated. *
+ */
+
+ Object getDoc();
+ /**
+ * Getter for property https://w3id.org/cwl/cwl#inputs
+ *
+ * Defines the input parameters of the process. The process is ready to
+ * run when all required input parameters are associated with concrete
+ * values. Input parameters include a schema for each parameter which is
+ * used to validate the input object. It may also be used to build a user
+ * interface for constructing the input object.
+ *
+ * When accepting an input object, all input parameters must have a value.
+ * If an input parameter is missing from the input object, it must be
+ * assigned a value of `null` (or the value of `default` for that
+ * parameter, if provided) for the purposes of validation and evaluation
+ * of expressions.
+ * *
+ */
+
+ java.util.List getInputs();
+ /**
+ * Getter for property https://w3id.org/cwl/cwl#outputs
+ *
+ * Defines the parameters representing the output of the process. May be
+ * used to generate and/or validate the output object.
+ * *
+ */
+
+ java.util.List getOutputs();
+ /**
+ * Getter for property https://w3id.org/cwl/cwl#requirements
+ *
+ * Declares requirements that apply to either the runtime environment or the
+ * workflow engine that must be met in order to execute this process. If
+ * an implementation cannot satisfy all requirements, or a requirement is
+ * listed which is not recognized by the implementation, it is a fatal
+ * error and the implementation must not attempt to run the process,
+ * unless overridden at user option.
+ * *
+ */
+
+ java.util.Optional> getRequirements();
+ /**
+ * Getter for property https://w3id.org/cwl/cwl#hints
+ *
+ * Declares hints applying to either the runtime environment or the
+ * workflow engine that may be helpful in executing this process. It is
+ * not an error if an implementation cannot satisfy all hints, however
+ * the implementation may report a warning.
+ * *
+ */
+
+ java.util.Optional> getHints();
+ /**
+ * Getter for property https://w3id.org/cwl/cwl#cwlVersion
+ *
+ * CWL document version. Always required at the document root. Not
+ * required for a Process embedded inside another Process.
+ * *
+ */
+
+ java.util.Optional getCwlVersion();
+ /**
+ * Getter for property https://w3id.org/cwl/cwl#Process/intent
+ *
+ * An identifier for the type of computational operation, of this Process.
+ * Especially useful for [`Operation`](Workflow.html#Operation), but can also be used for
+ * [`CommandLineTool`](CommandLineTool.html#CommandLineTool),
+ * [`Workflow`](Workflow.html#Workflow), or [ExpressionTool](Workflow.html#ExpressionTool).
+ *
+ * If provided, then this must be an IRI of a concept node that
+ * represents the type of operation, preferably defined within an ontology.
+ *
+ * For example, in the domain of bioinformatics, one can use an IRI from
+ * the EDAM Ontology's [Operation concept nodes](http://edamontology.org/operation_0004),
+ * like [Alignment](http://edamontology.org/operation_2928),
+ * or [Clustering](http://edamontology.org/operation_3432); or a more
+ * specific Operation concept like
+ * [Split read mapping](http://edamontology.org/operation_3199).
+ * *
+ */
+
+ java.util.Optional> getIntent();
+ /**
+ * Getter for property https://w3id.org/cwl/cwl#run
+ *
+ * Specifies the process to run.
+ * *
+ */
+
+ Object getRun();
+}
diff --git a/src/main/java/org/commonwl/cwlsdk/cwl1_2/ProcessGeneratorImpl.java b/src/main/java/org/commonwl/cwlsdk/cwl1_2/ProcessGeneratorImpl.java
new file mode 100644
index 00000000..80cceb86
--- /dev/null
+++ b/src/main/java/org/commonwl/cwlsdk/cwl1_2/ProcessGeneratorImpl.java
@@ -0,0 +1,443 @@
+// Copyright Common Workflow Language project contributors
+//
+// Licensed 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.
+
+package org.commonwl.cwlsdk.cwl1_2;
+
+import org.commonwl.cwlsdk.cwl1_2.utils.LoaderInstances;
+import org.commonwl.cwlsdk.cwl1_2.utils.LoadingOptions;
+import org.commonwl.cwlsdk.cwl1_2.utils.LoadingOptionsBuilder;
+import org.commonwl.cwlsdk.cwl1_2.utils.SaveableImpl;
+import org.commonwl.cwlsdk.cwl1_2.utils.ValidationException;
+
+/**
+* Auto-generated class implementation for http://commonwl.org/cwltool#ProcessGenerator
+ */
+public class ProcessGeneratorImpl extends SaveableImpl implements ProcessGenerator {
+ private LoadingOptions loadingOptions_ = new LoadingOptionsBuilder().build();
+ private java.util.Map extensionFields_ =
+ new java.util.HashMap();
+ public LoadingOptions getLoadingOptions() {
+ return this.loadingOptions_;
+ }
+ public java.util.Map getExtensionFields() {
+ return this.extensionFields_;
+ }
+
+ private java.util.Optional id;
+
+ /**
+ * Getter for property https://w3id.org/cwl/cwl#Process/id
+ *
+ * The unique identifier for this object.
+ *
+ * Only useful for `$graph` at `Process` level. Should not be exposed
+ * to users in graphical or terminal user interfaces.
+ * *
+ */
+
+ public java.util.Optional getId() {
+ return this.id;
+ }
+
+ private String class_;
+
+ /**
+ * Getter for property http://commonwl.org/cwltool#ProcessGenerator/class
+
+ */
+
+ public String getClass_() {
+ return this.class_;
+ }
+
+ private java.util.Optional label;
+
+ /**
+ * Getter for property https://w3id.org/cwl/cwl#Labeled/label
+ *
+ * A short, human-readable label of this object. *
+ */
+
+ public java.util.Optional getLabel() {
+ return this.label;
+ }
+
+ private Object doc;
+
+ /**
+ * Getter for property https://w3id.org/cwl/salad#Documented/doc
+ *
+ * A documentation string for this object, or an array of strings which should be concatenated. *
+ */
+
+ public Object getDoc() {
+ return this.doc;
+ }
+
+ private java.util.List inputs;
+
+ /**
+ * Getter for property https://w3id.org/cwl/cwl#inputs
+ *
+ * Defines the input parameters of the process. The process is ready to
+ * run when all required input parameters are associated with concrete
+ * values. Input parameters include a schema for each parameter which is
+ * used to validate the input object. It may also be used to build a user
+ * interface for constructing the input object.
+ *
+ * When accepting an input object, all input parameters must have a value.
+ * If an input parameter is missing from the input object, it must be
+ * assigned a value of `null` (or the value of `default` for that
+ * parameter, if provided) for the purposes of validation and evaluation
+ * of expressions.
+ * *
+ */
+
+ public java.util.List getInputs() {
+ return this.inputs;
+ }
+
+ private java.util.List outputs;
+
+ /**
+ * Getter for property https://w3id.org/cwl/cwl#outputs
+ *
+ * Defines the parameters representing the output of the process. May be
+ * used to generate and/or validate the output object.
+ * *
+ */
+
+ public java.util.List getOutputs() {
+ return this.outputs;
+ }
+
+ private java.util.Optional> requirements;
+
+ /**
+ * Getter for property https://w3id.org/cwl/cwl#requirements
+ *
+ * Declares requirements that apply to either the runtime environment or the
+ * workflow engine that must be met in order to execute this process. If
+ * an implementation cannot satisfy all requirements, or a requirement is
+ * listed which is not recognized by the implementation, it is a fatal
+ * error and the implementation must not attempt to run the process,
+ * unless overridden at user option.
+ * *
+ */
+
+ public java.util.Optional> getRequirements() {
+ return this.requirements;
+ }
+
+ private java.util.Optional> hints;
+
+ /**
+ * Getter for property https://w3id.org/cwl/cwl#hints
+ *
+ * Declares hints applying to either the runtime environment or the
+ * workflow engine that may be helpful in executing this process. It is
+ * not an error if an implementation cannot satisfy all hints, however
+ * the implementation may report a warning.
+ * *
+ */
+
+ public java.util.Optional> getHints() {
+ return this.hints;
+ }
+
+ private java.util.Optional cwlVersion;
+
+ /**
+ * Getter for property https://w3id.org/cwl/cwl#cwlVersion
+ *
+ * CWL document version. Always required at the document root. Not
+ * required for a Process embedded inside another Process.
+ * *
+ */
+
+ public java.util.Optional getCwlVersion() {
+ return this.cwlVersion;
+ }
+
+ private java.util.Optional> intent;
+
+ /**
+ * Getter for property https://w3id.org/cwl/cwl#Process/intent
+ *
+ * An identifier for the type of computational operation, of this Process.
+ * Especially useful for [`Operation`](Workflow.html#Operation), but can also be used for
+ * [`CommandLineTool`](CommandLineTool.html#CommandLineTool),
+ * [`Workflow`](Workflow.html#Workflow), or [ExpressionTool](Workflow.html#ExpressionTool).
+ *
+ * If provided, then this must be an IRI of a concept node that
+ * represents the type of operation, preferably defined within an ontology.
+ *
+ * For example, in the domain of bioinformatics, one can use an IRI from
+ * the EDAM Ontology's [Operation concept nodes](http://edamontology.org/operation_0004),
+ * like [Alignment](http://edamontology.org/operation_2928),
+ * or [Clustering](http://edamontology.org/operation_3432); or a more
+ * specific Operation concept like
+ * [Split read mapping](http://edamontology.org/operation_3199).
+ * *
+ */
+
+ public java.util.Optional> getIntent() {
+ return this.intent;
+ }
+
+ private Object run;
+
+ /**
+ * Getter for property https://w3id.org/cwl/cwl#run
+ *
+ * Specifies the process to run.
+ * *
+ */
+
+ public Object getRun() {
+ return this.run;
+ }
+
+ /**
+ * Used by {@link org.commonwl.cwlsdk.cwl1_2.utils.RootLoader} to construct instances of ProcessGeneratorImpl.
+ *
+ * @param __doc_ Document fragment to load this record object from (presumably a
+ {@link java.util.Map}).
+ * @param __baseUri_ Base URI to generate child document IDs against.
+ * @param __loadingOptions Context for loading URIs and populating objects.
+ * @param __docRoot_ ID at this position in the document (if available) (maybe?)
+ * @throws ValidationException If the document fragment is not a {@link java.util.Map}
+ * or validation of fields fails.
+ */
+ public ProcessGeneratorImpl(
+ final Object __doc_,
+ final String __baseUri_,
+ LoadingOptions __loadingOptions,
+ final String __docRoot_) {
+ super(__doc_, __baseUri_, __loadingOptions, __docRoot_);
+ // Prefix plumbing variables with '__' to reduce likelihood of collision with
+ // generated names.
+ String __baseUri = __baseUri_;
+ String __docRoot = __docRoot_;
+ if (!(__doc_ instanceof java.util.Map)) {
+ throw new ValidationException("ProcessGeneratorImpl called on non-map");
+ }
+ final java.util.Map __doc = (java.util.Map) __doc_;
+ final java.util.List __errors =
+ new java.util.ArrayList();
+ if (__loadingOptions != null) {
+ this.loadingOptions_ = __loadingOptions;
+ }
+ java.util.Optional id;
+
+ if (__doc.containsKey("id")) {
+ try {
+ id =
+ LoaderInstances
+ .uri_optional_StringInstance_True_False_None_None
+ .loadField(__doc.get("id"), __baseUri, __loadingOptions);
+ } catch (ValidationException e) {
+ id = null; // won't be used but prevents compiler from complaining.
+ final String __message = "the `id` field is not valid because:";
+ __errors.add(new ValidationException(__message, e));
+ }
+
+ } else {
+ id = null;
+ }
+
+ Boolean __original_is_null = id == null;
+ if (id == null) {
+ if (__docRoot != null) {
+ id = java.util.Optional.of(__docRoot);
+ } else {
+ id = java.util.Optional.of("_:" + java.util.UUID.randomUUID().toString());
+ }
+ }
+ if (__original_is_null) {
+ __baseUri = __baseUri_;
+ } else {
+ __baseUri = (String) id.orElse(null);
+ }
+ String class_;
+ try {
+ class_ =
+ LoaderInstances
+ .uri_StringInstance_False_True_None_None
+ .loadField(__doc.get("class"), __baseUri, __loadingOptions);
+ } catch (ValidationException e) {
+ class_ = null; // won't be used but prevents compiler from complaining.
+ final String __message = "the `class` field is not valid because:";
+ __errors.add(new ValidationException(__message, e));
+ }
+ java.util.Optional label;
+
+ if (__doc.containsKey("label")) {
+ try {
+ label =
+ LoaderInstances
+ .optional_StringInstance
+ .loadField(__doc.get("label"), __baseUri, __loadingOptions);
+ } catch (ValidationException e) {
+ label = null; // won't be used but prevents compiler from complaining.
+ final String __message = "the `label` field is not valid because:";
+ __errors.add(new ValidationException(__message, e));
+ }
+
+ } else {
+ label = null;
+ }
+ Object doc;
+
+ if (__doc.containsKey("doc")) {
+ try {
+ doc =
+ LoaderInstances
+ .union_of_NullInstance_or_StringInstance_or_array_of_StringInstance
+ .loadField(__doc.get("doc"), __baseUri, __loadingOptions);
+ } catch (ValidationException e) {
+ doc = null; // won't be used but prevents compiler from complaining.
+ final String __message = "the `doc` field is not valid because:";
+ __errors.add(new ValidationException(__message, e));
+ }
+
+ } else {
+ doc = null;
+ }
+ java.util.List inputs;
+ try {
+ inputs =
+ LoaderInstances
+ .idmap_inputs_array_of_union_of_CommandInputParameter_or_WorkflowInputParameter_or_OperationInputParameter
+ .loadField(__doc.get("inputs"), __baseUri, __loadingOptions);
+ } catch (ValidationException e) {
+ inputs = null; // won't be used but prevents compiler from complaining.
+ final String __message = "the `inputs` field is not valid because:";
+ __errors.add(new ValidationException(__message, e));
+ }
+ java.util.List outputs;
+ try {
+ outputs =
+ LoaderInstances
+ .idmap_outputs_array_of_union_of_CommandOutputParameter_or_ExpressionToolOutputParameter_or_WorkflowOutputParameter_or_OperationOutputParameter
+ .loadField(__doc.get("outputs"), __baseUri, __loadingOptions);
+ } catch (ValidationException e) {
+ outputs = null; // won't be used but prevents compiler from complaining.
+ final String __message = "the `outputs` field is not valid because:";
+ __errors.add(new ValidationException(__message, e));
+ }
+ java.util.Optional> requirements;
+
+ if (__doc.containsKey("requirements")) {
+ try {
+ requirements =
+ LoaderInstances
+ .idmap_requirements_optional_array_of_union_of_InlineJavascriptRequirement_or_SchemaDefRequirement_or_LoadListingRequirement_or_DockerRequirement_or_SoftwareRequirement_or_InitialWorkDirRequirement_or_EnvVarRequirement_or_ShellCommandRequirement_or_ResourceRequirement_or_WorkReuse_or_NetworkAccess_or_InplaceUpdateRequirement_or_ToolTimeLimit_or_SubworkflowFeatureRequirement_or_ScatterFeatureRequirement_or_MultipleInputFeatureRequirement_or_StepInputExpressionRequirement_or_Secrets_or_MPIRequirement_or_CUDARequirement_or_Loop_or_ShmSize
+ .loadField(__doc.get("requirements"), __baseUri, __loadingOptions);
+ } catch (ValidationException e) {
+ requirements = null; // won't be used but prevents compiler from complaining.
+ final String __message = "the `requirements` field is not valid because:";
+ __errors.add(new ValidationException(__message, e));
+ }
+
+ } else {
+ requirements = null;
+ }
+ java.util.Optional> hints;
+
+ if (__doc.containsKey("hints")) {
+ try {
+ hints =
+ LoaderInstances
+ .idmap_hints_optional_array_of_union_of_InlineJavascriptRequirement_or_SchemaDefRequirement_or_LoadListingRequirement_or_DockerRequirement_or_SoftwareRequirement_or_InitialWorkDirRequirement_or_EnvVarRequirement_or_ShellCommandRequirement_or_ResourceRequirement_or_WorkReuse_or_NetworkAccess_or_InplaceUpdateRequirement_or_ToolTimeLimit_or_SubworkflowFeatureRequirement_or_ScatterFeatureRequirement_or_MultipleInputFeatureRequirement_or_StepInputExpressionRequirement_or_Secrets_or_MPIRequirement_or_CUDARequirement_or_Loop_or_ShmSize_or_AnyInstance
+ .loadField(__doc.get("hints"), __baseUri, __loadingOptions);
+ } catch (ValidationException e) {
+ hints = null; // won't be used but prevents compiler from complaining.
+ final String __message = "the `hints` field is not valid because:";
+ __errors.add(new ValidationException(__message, e));
+ }
+
+ } else {
+ hints = null;
+ }
+ java.util.Optional cwlVersion;
+
+ if (__doc.containsKey("cwlVersion")) {
+ try {
+ cwlVersion =
+ LoaderInstances
+ .uri_optional_CWLVersion_False_True_None_None
+ .loadField(__doc.get("cwlVersion"), __baseUri, __loadingOptions);
+ } catch (ValidationException e) {
+ cwlVersion = null; // won't be used but prevents compiler from complaining.
+ final String __message = "the `cwlVersion` field is not valid because:";
+ __errors.add(new ValidationException(__message, e));
+ }
+
+ } else {
+ cwlVersion = null;
+ }
+ java.util.Optional> intent;
+
+ if (__doc.containsKey("intent")) {
+ try {
+ intent =
+ LoaderInstances
+ .uri_optional_array_of_StringInstance_True_False_None_None
+ .loadField(__doc.get("intent"), __baseUri, __loadingOptions);
+ } catch (ValidationException e) {
+ intent = null; // won't be used but prevents compiler from complaining.
+ final String __message = "the `intent` field is not valid because:";
+ __errors.add(new ValidationException(__message, e));
+ }
+
+ } else {
+ intent = null;
+ }
+ Object run;
+ try {
+ run =
+ LoaderInstances
+ .uri_union_of_StringInstance_or_CommandLineTool_or_ExpressionTool_or_Workflow_or_Operation_or_ProcessGenerator_False_False_None_None
+ .loadField(__doc.get("run"), __baseUri, __loadingOptions);
+ } catch (ValidationException e) {
+ run = null; // won't be used but prevents compiler from complaining.
+ final String __message = "the `run` field is not valid because:";
+ __errors.add(new ValidationException(__message, e));
+ }
+ if (!__errors.isEmpty()) {
+ throw new ValidationException("Trying 'RecordField'", __errors);
+ }
+ this.id = (java.util.Optional) id;
+ this.label = (java.util.Optional) label;
+ this.doc = (Object) doc;
+ this.inputs = (java.util.List) inputs;
+ this.outputs = (java.util.List) outputs;
+ this.requirements = (java.util.Optional>) requirements;
+ this.hints = (java.util.Optional>) hints;
+ this.cwlVersion = (java.util.Optional) cwlVersion;
+ this.intent = (java.util.Optional>) intent;
+ this.class_ = (String) class_;
+ this.run = (Object) run;
+ for (String field:__doc.keySet()) {
+ if (!attrs.contains(field)) {
+ if (field.contains(":")) {
+ String expanded_field = __loadingOptions.expandUrl(field, "", false, false, null);
+ extensionFields_.put(expanded_field, __doc.get(field));
+ }
+ }
+ }
+ }
+ private java.util.List attrs = java.util.Arrays.asList("id", "label", "doc", "inputs", "outputs", "requirements", "hints", "cwlVersion", "intent", "class", "run");
+}
diff --git a/src/main/java/org/commonwl/cwlsdk/cwl1_2/Secrets.java b/src/main/java/org/commonwl/cwlsdk/cwl1_2/Secrets.java
new file mode 100644
index 00000000..f192aea1
--- /dev/null
+++ b/src/main/java/org/commonwl/cwlsdk/cwl1_2/Secrets.java
@@ -0,0 +1,44 @@
+// Copyright Common Workflow Language project contributors
+//
+// Licensed 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.
+
+package org.commonwl.cwlsdk.cwl1_2;
+
+import org.commonwl.cwlsdk.cwl1_2.utils.LoadingOptions;
+import org.commonwl.cwlsdk.cwl1_2.utils.Saveable;
+
+/**
+* Auto-generated interface for http://commonwl.org/cwltool#Secrets This interface is implemented by {@link SecretsImpl}
+ */
+public interface Secrets extends ProcessRequirement, Saveable {
+
+ java.util.Map getExtensionFields();
+ LoadingOptions getLoadingOptions();
+
+ /**
+ * Getter for property http://commonwl.org/cwltool#Secrets/class
+ *
+ * Always 'Secrets' *
+ */
+
+ String getClass_();
+ /**
+ * Getter for property http://commonwl.org/cwltool#Secrets/secrets
+ *
+ * List one or more input parameters that are sensitive (such as passwords)
+ * which will be deliberately obscured from logging.
+ * *
+ */
+
+ java.util.List getSecrets();
+}
diff --git a/src/main/java/org/commonwl/cwlsdk/cwl1_2/CommandLineBindableImpl.java b/src/main/java/org/commonwl/cwlsdk/cwl1_2/SecretsImpl.java
similarity index 62%
rename from src/main/java/org/commonwl/cwlsdk/cwl1_2/CommandLineBindableImpl.java
rename to src/main/java/org/commonwl/cwlsdk/cwl1_2/SecretsImpl.java
index 15d3de30..21519915 100644
--- a/src/main/java/org/commonwl/cwlsdk/cwl1_2/CommandLineBindableImpl.java
+++ b/src/main/java/org/commonwl/cwlsdk/cwl1_2/SecretsImpl.java
@@ -21,9 +21,9 @@
import org.commonwl.cwlsdk.cwl1_2.utils.ValidationException;
/**
-* Auto-generated class implementation for https://w3id.org/cwl/cwl#CommandLineBindable
+* Auto-generated class implementation for http://commonwl.org/cwltool#Secrets
*/
-public class CommandLineBindableImpl extends SaveableImpl implements CommandLineBindable {
+public class SecretsImpl extends SaveableImpl implements Secrets {
private LoadingOptions loadingOptions_ = new LoadingOptionsBuilder().build();
private java.util.Map extensionFields_ =
new java.util.HashMap();
@@ -34,20 +34,34 @@ public java.util.Map getExtensionFields() {
return this.extensionFields_;
}
- private java.util.Optional inputBinding;
+ private String class_;
/**
- * Getter for property https://w3id.org/cwl/cwl#CommandLineBindable/inputBinding
+ * Getter for property http://commonwl.org/cwltool#Secrets/class
*
- * Describes how to turn this object into command line arguments. *
+ * Always 'Secrets' *
*/
- public java.util.Optional getInputBinding() {
- return this.inputBinding;
+ public String getClass_() {
+ return this.class_;
}
+ private java.util.List secrets;
+
/**
- * Used by {@link org.commonwl.cwlsdk.cwl1_2.utils.RootLoader} to construct instances of CommandLineBindableImpl.
+ * Getter for property http://commonwl.org/cwltool#Secrets/secrets
+ *
+ * List one or more input parameters that are sensitive (such as passwords)
+ * which will be deliberately obscured from logging.
+ * *
+ */
+
+ public java.util.List getSecrets() {
+ return this.secrets;
+ }
+
+ /**
+ * Used by {@link org.commonwl.cwlsdk.cwl1_2.utils.RootLoader} to construct instances of SecretsImpl.
*
* @param __doc_ Document fragment to load this record object from (presumably a
{@link java.util.Map}).
@@ -57,7 +71,7 @@ public java.util.Optional getInputBinding() {
* @throws ValidationException If the document fragment is not a {@link java.util.Map}
* or validation of fields fails.
*/
- public CommandLineBindableImpl(
+ public SecretsImpl(
final Object __doc_,
final String __baseUri_,
LoadingOptions __loadingOptions,
@@ -68,7 +82,7 @@ public CommandLineBindableImpl(
String __baseUri = __baseUri_;
String __docRoot = __docRoot_;
if (!(__doc_ instanceof java.util.Map)) {
- throw new ValidationException("CommandLineBindableImpl called on non-map");
+ throw new ValidationException("SecretsImpl called on non-map");
}
final java.util.Map __doc = (java.util.Map) __doc_;
final java.util.List __errors =
@@ -76,27 +90,33 @@ public CommandLineBindableImpl(
if (__loadingOptions != null) {
this.loadingOptions_ = __loadingOptions;
}
- java.util.Optional inputBinding;
-
- if (__doc.containsKey("inputBinding")) {
- try {
- inputBinding =
- LoaderInstances
- .optional_CommandLineBinding
- .loadField(__doc.get("inputBinding"), __baseUri, __loadingOptions);
- } catch (ValidationException e) {
- inputBinding = null; // won't be used but prevents compiler from complaining.
- final String __message = "the `inputBinding` field is not valid because:";
- __errors.add(new ValidationException(__message, e));
- }
-
- } else {
- inputBinding = null;
+ String class_;
+ try {
+ class_ =
+ LoaderInstances
+ .uri_StringInstance_False_True_None_None
+ .loadField(__doc.get("class"), __baseUri, __loadingOptions);
+ } catch (ValidationException e) {
+ class_ = null; // won't be used but prevents compiler from complaining.
+ final String __message = "the `class` field is not valid because:";
+ __errors.add(new ValidationException(__message, e));
+ }
+ java.util.List secrets;
+ try {
+ secrets =
+ LoaderInstances
+ .uri_array_of_StringInstance_False_False_0_None
+ .loadField(__doc.get("secrets"), __baseUri, __loadingOptions);
+ } catch (ValidationException e) {
+ secrets = null; // won't be used but prevents compiler from complaining.
+ final String __message = "the `secrets` field is not valid because:";
+ __errors.add(new ValidationException(__message, e));
}
if (!__errors.isEmpty()) {
throw new ValidationException("Trying 'RecordField'", __errors);
}
- this.inputBinding = (java.util.Optional) inputBinding;
+ this.class_ = (String) class_;
+ this.secrets = (java.util.List) secrets;
for (String field:__doc.keySet()) {
if (!attrs.contains(field)) {
if (field.contains(":")) {
@@ -106,5 +126,5 @@ public CommandLineBindableImpl(
}
}
}
- private java.util.List attrs = java.util.Arrays.asList("inputBinding");
+ private java.util.List attrs = java.util.Arrays.asList("class", "secrets");
}
diff --git a/src/main/java/org/commonwl/cwlsdk/cwl1_2/ShmSize.java b/src/main/java/org/commonwl/cwlsdk/cwl1_2/ShmSize.java
new file mode 100644
index 00000000..814be2f7
--- /dev/null
+++ b/src/main/java/org/commonwl/cwlsdk/cwl1_2/ShmSize.java
@@ -0,0 +1,46 @@
+// Copyright Common Workflow Language project contributors
+//
+// Licensed 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.
+
+package org.commonwl.cwlsdk.cwl1_2;
+
+import org.commonwl.cwlsdk.cwl1_2.utils.LoadingOptions;
+import org.commonwl.cwlsdk.cwl1_2.utils.Saveable;
+
+/**
+* Auto-generated interface for http://commonwl.org/cwltool#ShmSize This interface is implemented by {@link ShmSizeImpl}
+ */
+public interface ShmSize extends ProcessRequirement, Saveable {
+
+ java.util.Map getExtensionFields();
+ LoadingOptions getLoadingOptions();
+
+ /**
+ * Getter for property http://commonwl.org/cwltool#ShmSize/class
+ *
+ * cwltool:ShmSize *
+ */
+
+ String getClass_();
+ /**
+ * Getter for property http://commonwl.org/cwltool#ShmSize/shmSize
+ *
+ * Size of /dev/shm. The format is `<number><unit>`. <number> must be greater
+ * than 0. Unit is optional and can be `b` (bytes), `k` (kilobytes), `m`
+ * (megabytes), or `g` (gigabytes). If you omit the unit, the default is
+ * bytes. If you omit the size entirely, the value is `64m`."
+ * *
+ */
+
+ String getShmSize();
+}
diff --git a/src/main/java/org/commonwl/cwlsdk/cwl1_2/ShmSizeImpl.java b/src/main/java/org/commonwl/cwlsdk/cwl1_2/ShmSizeImpl.java
new file mode 100644
index 00000000..282a1ca6
--- /dev/null
+++ b/src/main/java/org/commonwl/cwlsdk/cwl1_2/ShmSizeImpl.java
@@ -0,0 +1,132 @@
+// Copyright Common Workflow Language project contributors
+//
+// Licensed 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.
+
+package org.commonwl.cwlsdk.cwl1_2;
+
+import org.commonwl.cwlsdk.cwl1_2.utils.LoaderInstances;
+import org.commonwl.cwlsdk.cwl1_2.utils.LoadingOptions;
+import org.commonwl.cwlsdk.cwl1_2.utils.LoadingOptionsBuilder;
+import org.commonwl.cwlsdk.cwl1_2.utils.SaveableImpl;
+import org.commonwl.cwlsdk.cwl1_2.utils.ValidationException;
+
+/**
+* Auto-generated class implementation for http://commonwl.org/cwltool#ShmSize
+ */
+public class ShmSizeImpl extends SaveableImpl implements ShmSize {
+ private LoadingOptions loadingOptions_ = new LoadingOptionsBuilder().build();
+ private java.util.Map extensionFields_ =
+ new java.util.HashMap();
+ public LoadingOptions getLoadingOptions() {
+ return this.loadingOptions_;
+ }
+ public java.util.Map getExtensionFields() {
+ return this.extensionFields_;
+ }
+
+ private String class_;
+
+ /**
+ * Getter for property http://commonwl.org/cwltool#ShmSize/class
+ *
+ * cwltool:ShmSize *
+ */
+
+ public String getClass_() {
+ return this.class_;
+ }
+
+ private String shmSize;
+
+ /**
+ * Getter for property http://commonwl.org/cwltool#ShmSize/shmSize
+ *
+ * Size of /dev/shm. The format is `<number><unit>`. <number> must be greater
+ * than 0. Unit is optional and can be `b` (bytes), `k` (kilobytes), `m`
+ * (megabytes), or `g` (gigabytes). If you omit the unit, the default is
+ * bytes. If you omit the size entirely, the value is `64m`."
+ * *
+ */
+
+ public String getShmSize() {
+ return this.shmSize;
+ }
+
+ /**
+ * Used by {@link org.commonwl.cwlsdk.cwl1_2.utils.RootLoader} to construct instances of ShmSizeImpl.
+ *
+ * @param __doc_ Document fragment to load this record object from (presumably a
+ {@link java.util.Map}).
+ * @param __baseUri_ Base URI to generate child document IDs against.
+ * @param __loadingOptions Context for loading URIs and populating objects.
+ * @param __docRoot_ ID at this position in the document (if available) (maybe?)
+ * @throws ValidationException If the document fragment is not a {@link java.util.Map}
+ * or validation of fields fails.
+ */
+ public ShmSizeImpl(
+ final Object __doc_,
+ final String __baseUri_,
+ LoadingOptions __loadingOptions,
+ final String __docRoot_) {
+ super(__doc_, __baseUri_, __loadingOptions, __docRoot_);
+ // Prefix plumbing variables with '__' to reduce likelihood of collision with
+ // generated names.
+ String __baseUri = __baseUri_;
+ String __docRoot = __docRoot_;
+ if (!(__doc_ instanceof java.util.Map)) {
+ throw new ValidationException("ShmSizeImpl called on non-map");
+ }
+ final java.util.Map __doc = (java.util.Map) __doc_;
+ final java.util.List __errors =
+ new java.util.ArrayList();
+ if (__loadingOptions != null) {
+ this.loadingOptions_ = __loadingOptions;
+ }
+ String class_;
+ try {
+ class_ =
+ LoaderInstances
+ .uri_StringInstance_False_True_None_None
+ .loadField(__doc.get("class"), __baseUri, __loadingOptions);
+ } catch (ValidationException e) {
+ class_ = null; // won't be used but prevents compiler from complaining.
+ final String __message = "the `class` field is not valid because:";
+ __errors.add(new ValidationException(__message, e));
+ }
+ String shmSize;
+ try {
+ shmSize =
+ LoaderInstances
+ .StringInstance
+ .loadField(__doc.get("shmSize"), __baseUri, __loadingOptions);
+ } catch (ValidationException e) {
+ shmSize = null; // won't be used but prevents compiler from complaining.
+ final String __message = "the `shmSize` field is not valid because:";
+ __errors.add(new ValidationException(__message, e));
+ }
+ if (!__errors.isEmpty()) {
+ throw new ValidationException("Trying 'RecordField'", __errors);
+ }
+ this.class_ = (String) class_;
+ this.shmSize = (String) shmSize;
+ for (String field:__doc.keySet()) {
+ if (!attrs.contains(field)) {
+ if (field.contains(":")) {
+ String expanded_field = __loadingOptions.expandUrl(field, "", false, false, null);
+ extensionFields_.put(expanded_field, __doc.get(field));
+ }
+ }
+ }
+ }
+ private java.util.List attrs = java.util.Arrays.asList("class", "shmSize");
+}
diff --git a/src/main/java/org/commonwl/cwlsdk/cwl1_2/WorkflowImpl.java b/src/main/java/org/commonwl/cwlsdk/cwl1_2/WorkflowImpl.java
index 93b225d6..4cf53aab 100644
--- a/src/main/java/org/commonwl/cwlsdk/cwl1_2/WorkflowImpl.java
+++ b/src/main/java/org/commonwl/cwlsdk/cwl1_2/WorkflowImpl.java
@@ -398,7 +398,7 @@ public WorkflowImpl(
try {
requirements =
LoaderInstances
- .idmap_requirements_optional_array_of_union_of_InlineJavascriptRequirement_or_SchemaDefRequirement_or_LoadListingRequirement_or_DockerRequirement_or_SoftwareRequirement_or_InitialWorkDirRequirement_or_EnvVarRequirement_or_ShellCommandRequirement_or_ResourceRequirement_or_WorkReuse_or_NetworkAccess_or_InplaceUpdateRequirement_or_ToolTimeLimit_or_SubworkflowFeatureRequirement_or_ScatterFeatureRequirement_or_MultipleInputFeatureRequirement_or_StepInputExpressionRequirement
+ .idmap_requirements_optional_array_of_union_of_InlineJavascriptRequirement_or_SchemaDefRequirement_or_LoadListingRequirement_or_DockerRequirement_or_SoftwareRequirement_or_InitialWorkDirRequirement_or_EnvVarRequirement_or_ShellCommandRequirement_or_ResourceRequirement_or_WorkReuse_or_NetworkAccess_or_InplaceUpdateRequirement_or_ToolTimeLimit_or_SubworkflowFeatureRequirement_or_ScatterFeatureRequirement_or_MultipleInputFeatureRequirement_or_StepInputExpressionRequirement_or_Secrets_or_MPIRequirement_or_CUDARequirement_or_Loop_or_ShmSize
.loadField(__doc.get("requirements"), __baseUri, __loadingOptions);
} catch (ValidationException e) {
requirements = null; // won't be used but prevents compiler from complaining.
@@ -415,7 +415,7 @@ public WorkflowImpl(
try {
hints =
LoaderInstances
- .idmap_hints_optional_array_of_union_of_InlineJavascriptRequirement_or_SchemaDefRequirement_or_LoadListingRequirement_or_DockerRequirement_or_SoftwareRequirement_or_InitialWorkDirRequirement_or_EnvVarRequirement_or_ShellCommandRequirement_or_ResourceRequirement_or_WorkReuse_or_NetworkAccess_or_InplaceUpdateRequirement_or_ToolTimeLimit_or_SubworkflowFeatureRequirement_or_ScatterFeatureRequirement_or_MultipleInputFeatureRequirement_or_StepInputExpressionRequirement_or_AnyInstance
+ .idmap_hints_optional_array_of_union_of_InlineJavascriptRequirement_or_SchemaDefRequirement_or_LoadListingRequirement_or_DockerRequirement_or_SoftwareRequirement_or_InitialWorkDirRequirement_or_EnvVarRequirement_or_ShellCommandRequirement_or_ResourceRequirement_or_WorkReuse_or_NetworkAccess_or_InplaceUpdateRequirement_or_ToolTimeLimit_or_SubworkflowFeatureRequirement_or_ScatterFeatureRequirement_or_MultipleInputFeatureRequirement_or_StepInputExpressionRequirement_or_Secrets_or_MPIRequirement_or_CUDARequirement_or_Loop_or_ShmSize_or_AnyInstance
.loadField(__doc.get("hints"), __baseUri, __loadingOptions);
} catch (ValidationException e) {
hints = null; // won't be used but prevents compiler from complaining.
diff --git a/src/main/java/org/commonwl/cwlsdk/cwl1_2/WorkflowInputParameter.java b/src/main/java/org/commonwl/cwlsdk/cwl1_2/WorkflowInputParameter.java
index 0683cc21..0ee8b872 100644
--- a/src/main/java/org/commonwl/cwlsdk/cwl1_2/WorkflowInputParameter.java
+++ b/src/main/java/org/commonwl/cwlsdk/cwl1_2/WorkflowInputParameter.java
@@ -26,12 +26,12 @@ public interface WorkflowInputParameter extends InputParameter, Saveable {
LoadingOptions getLoadingOptions();
/**
- * Getter for property https://w3id.org/cwl/cwl#Identified/id
+ * Getter for property https://w3id.org/cwl/cwl#Parameter/id
*
- * The unique identifier for this object. *
+ * The unique identifier for this Parameter. *
*/
- java.util.Optional getId();
+ String getId();
/**
* Getter for property https://w3id.org/cwl/cwl#Labeled/label
*
diff --git a/src/main/java/org/commonwl/cwlsdk/cwl1_2/WorkflowInputParameterImpl.java b/src/main/java/org/commonwl/cwlsdk/cwl1_2/WorkflowInputParameterImpl.java
index 38d24ce4..777d9252 100644
--- a/src/main/java/org/commonwl/cwlsdk/cwl1_2/WorkflowInputParameterImpl.java
+++ b/src/main/java/org/commonwl/cwlsdk/cwl1_2/WorkflowInputParameterImpl.java
@@ -34,15 +34,15 @@ public java.util.Map getExtensionFields() {
return this.extensionFields_;
}
- private java.util.Optional id;
+ private String id;
/**
- * Getter for property https://w3id.org/cwl/cwl#Identified/id
+ * Getter for property https://w3id.org/cwl/cwl#Parameter/id
*
- * The unique identifier for this object. *
+ * The unique identifier for this Parameter. *
*/
- public java.util.Optional getId() {
+ public String getId() {
return this.id;
}
@@ -274,13 +274,13 @@ public WorkflowInputParameterImpl(
if (__loadingOptions != null) {
this.loadingOptions_ = __loadingOptions;
}
- java.util.Optional id;
+ String id;
if (__doc.containsKey("id")) {
try {
id =
LoaderInstances
- .uri_optional_StringInstance_True_False_None_None
+ .uri_StringInstance_True_False_None_None
.loadField(__doc.get("id"), __baseUri, __loadingOptions);
} catch (ValidationException e) {
id = null; // won't be used but prevents compiler from complaining.
@@ -292,19 +292,14 @@ public WorkflowInputParameterImpl(
id = null;
}
- Boolean __original_is_null = id == null;
if (id == null) {
if (__docRoot != null) {
- id = java.util.Optional.of(__docRoot);
+ id = __docRoot;
} else {
- id = java.util.Optional.of("_:" + java.util.UUID.randomUUID().toString());
+ throw new ValidationException("Missing id");
}
}
- if (__original_is_null) {
- __baseUri = __baseUri_;
- } else {
- __baseUri = (String) id.orElse(null);
- }
+ __baseUri = (String) id;
java.util.Optional label;
if (__doc.containsKey("label")) {
@@ -476,7 +471,7 @@ public WorkflowInputParameterImpl(
this.secondaryFiles = (Object) secondaryFiles;
this.streamable = (java.util.Optional) streamable;
this.doc = (Object) doc;
- this.id = (java.util.Optional) id;
+ this.id = (String) id;
this.format = (Object) format;
this.loadContents = (java.util.Optional) loadContents;
this.loadListing = (java.util.Optional) loadListing;
diff --git a/src/main/java/org/commonwl/cwlsdk/cwl1_2/WorkflowOutputParameter.java b/src/main/java/org/commonwl/cwlsdk/cwl1_2/WorkflowOutputParameter.java
index 20ec6de9..29946e46 100644
--- a/src/main/java/org/commonwl/cwlsdk/cwl1_2/WorkflowOutputParameter.java
+++ b/src/main/java/org/commonwl/cwlsdk/cwl1_2/WorkflowOutputParameter.java
@@ -34,12 +34,12 @@ public interface WorkflowOutputParameter extends OutputParameter, Saveable {
LoadingOptions getLoadingOptions();
/**
- * Getter for property https://w3id.org/cwl/cwl#Identified/id
+ * Getter for property https://w3id.org/cwl/cwl#Parameter/id
*
- * The unique identifier for this object. *
+ * The unique identifier for this Parameter. *
*/
- java.util.Optional getId();
+ String getId();
/**
* Getter for property https://w3id.org/cwl/cwl#Labeled/label
*
diff --git a/src/main/java/org/commonwl/cwlsdk/cwl1_2/WorkflowOutputParameterImpl.java b/src/main/java/org/commonwl/cwlsdk/cwl1_2/WorkflowOutputParameterImpl.java
index 0b0f625e..f82c6ae7 100644
--- a/src/main/java/org/commonwl/cwlsdk/cwl1_2/WorkflowOutputParameterImpl.java
+++ b/src/main/java/org/commonwl/cwlsdk/cwl1_2/WorkflowOutputParameterImpl.java
@@ -42,15 +42,15 @@ public java.util.Map getExtensionFields() {
return this.extensionFields_;
}
- private java.util.Optional id;
+ private String id;
/**
- * Getter for property https://w3id.org/cwl/cwl#Identified/id
+ * Getter for property https://w3id.org/cwl/cwl#Parameter/id
*
- * The unique identifier for this object. *
+ * The unique identifier for this Parameter. *
*/
- public java.util.Optional getId() {
+ public String getId() {
return this.id;
}
@@ -252,13 +252,13 @@ public WorkflowOutputParameterImpl(
if (__loadingOptions != null) {
this.loadingOptions_ = __loadingOptions;
}
- java.util.Optional id;
+ String id;
if (__doc.containsKey("id")) {
try {
id =
LoaderInstances
- .uri_optional_StringInstance_True_False_None_None
+ .uri_StringInstance_True_False_None_None
.loadField(__doc.get("id"), __baseUri, __loadingOptions);
} catch (ValidationException e) {
id = null; // won't be used but prevents compiler from complaining.
@@ -270,19 +270,14 @@ public WorkflowOutputParameterImpl(
id = null;
}
- Boolean __original_is_null = id == null;
if (id == null) {
if (__docRoot != null) {
- id = java.util.Optional.of(__docRoot);
+ id = __docRoot;
} else {
- id = java.util.Optional.of("_:" + java.util.UUID.randomUUID().toString());
+ throw new ValidationException("Missing id");
}
}
- if (__original_is_null) {
- __baseUri = __baseUri_;
- } else {
- __baseUri = (String) id.orElse(null);
- }
+ __baseUri = (String) id;
java.util.Optional label;
if (__doc.containsKey("label")) {
@@ -437,7 +432,7 @@ public WorkflowOutputParameterImpl(
this.secondaryFiles = (Object) secondaryFiles;
this.streamable = (java.util.Optional) streamable;
this.doc = (Object) doc;
- this.id = (java.util.Optional) id;
+ this.id = (String) id;
this.format = (Object) format;
this.outputSource = (Object) outputSource;
this.linkMerge = (java.util.Optional) linkMerge;
diff --git a/src/main/java/org/commonwl/cwlsdk/cwl1_2/WorkflowStep.java b/src/main/java/org/commonwl/cwlsdk/cwl1_2/WorkflowStep.java
index 2e95bd90..d926748e 100644
--- a/src/main/java/org/commonwl/cwlsdk/cwl1_2/WorkflowStep.java
+++ b/src/main/java/org/commonwl/cwlsdk/cwl1_2/WorkflowStep.java
@@ -100,18 +100,18 @@ input object (or individual scatter job), and returns a boolean
a subworkflow (recursive workflows are not allowed).
*/
-public interface WorkflowStep extends Identified, Labeled, Documented, Saveable {
+public interface WorkflowStep extends IdentifierRequired, Labeled, Documented, Saveable {
java.util.Map getExtensionFields();
LoadingOptions getLoadingOptions();
/**
- * Getter for property https://w3id.org/cwl/cwl#Identified/id
+ * Getter for property https://w3id.org/cwl/cwl#WorkflowStep/id
*
- * The unique identifier for this object. *
+ * The unique identifier for this WorkflowStep. *
*/
- java.util.Optional getId();
+ String getId();
/**
* Getter for property https://w3id.org/cwl/cwl#Labeled/label
*
diff --git a/src/main/java/org/commonwl/cwlsdk/cwl1_2/WorkflowStepImpl.java b/src/main/java/org/commonwl/cwlsdk/cwl1_2/WorkflowStepImpl.java
index 5b230f8c..09e21399 100644
--- a/src/main/java/org/commonwl/cwlsdk/cwl1_2/WorkflowStepImpl.java
+++ b/src/main/java/org/commonwl/cwlsdk/cwl1_2/WorkflowStepImpl.java
@@ -114,15 +114,15 @@ public java.util.Map getExtensionFields() {
return this.extensionFields_;
}
- private java.util.Optional id;
+ private String id;
/**
- * Getter for property https://w3id.org/cwl/cwl#Identified/id
+ * Getter for property https://w3id.org/cwl/cwl#WorkflowStep/id
*
- * The unique identifier for this object. *
+ * The unique identifier for this WorkflowStep. *
*/
- public java.util.Optional getId() {
+ public String getId() {
return this.id;
}
@@ -298,13 +298,13 @@ public WorkflowStepImpl(
if (__loadingOptions != null) {
this.loadingOptions_ = __loadingOptions;
}
- java.util.Optional id;
+ String id;
if (__doc.containsKey("id")) {
try {
id =
LoaderInstances
- .uri_optional_StringInstance_True_False_None_None
+ .uri_StringInstance_True_False_None_None
.loadField(__doc.get("id"), __baseUri, __loadingOptions);
} catch (ValidationException e) {
id = null; // won't be used but prevents compiler from complaining.
@@ -316,19 +316,14 @@ public WorkflowStepImpl(
id = null;
}
- Boolean __original_is_null = id == null;
if (id == null) {
if (__docRoot != null) {
- id = java.util.Optional.of(__docRoot);
+ id = __docRoot;
} else {
- id = java.util.Optional.of("_:" + java.util.UUID.randomUUID().toString());
+ throw new ValidationException("Missing id");
}
}
- if (__original_is_null) {
- __baseUri = __baseUri_;
- } else {
- __baseUri = (String) id.orElse(null);
- }
+ __baseUri = (String) id;
java.util.Optional label;
if (__doc.containsKey("label")) {
@@ -391,7 +386,7 @@ public WorkflowStepImpl(
try {
requirements =
LoaderInstances
- .idmap_requirements_optional_array_of_union_of_InlineJavascriptRequirement_or_SchemaDefRequirement_or_LoadListingRequirement_or_DockerRequirement_or_SoftwareRequirement_or_InitialWorkDirRequirement_or_EnvVarRequirement_or_ShellCommandRequirement_or_ResourceRequirement_or_WorkReuse_or_NetworkAccess_or_InplaceUpdateRequirement_or_ToolTimeLimit_or_SubworkflowFeatureRequirement_or_ScatterFeatureRequirement_or_MultipleInputFeatureRequirement_or_StepInputExpressionRequirement
+ .idmap_requirements_optional_array_of_union_of_InlineJavascriptRequirement_or_SchemaDefRequirement_or_LoadListingRequirement_or_DockerRequirement_or_SoftwareRequirement_or_InitialWorkDirRequirement_or_EnvVarRequirement_or_ShellCommandRequirement_or_ResourceRequirement_or_WorkReuse_or_NetworkAccess_or_InplaceUpdateRequirement_or_ToolTimeLimit_or_SubworkflowFeatureRequirement_or_ScatterFeatureRequirement_or_MultipleInputFeatureRequirement_or_StepInputExpressionRequirement_or_Secrets_or_MPIRequirement_or_CUDARequirement_or_Loop_or_ShmSize
.loadField(__doc.get("requirements"), __baseUri, __loadingOptions);
} catch (ValidationException e) {
requirements = null; // won't be used but prevents compiler from complaining.
@@ -423,7 +418,7 @@ public WorkflowStepImpl(
try {
run =
LoaderInstances
- .uri_union_of_StringInstance_or_CommandLineTool_or_ExpressionTool_or_Workflow_or_Operation_False_False_None_None
+ .uri_union_of_StringInstance_or_CommandLineTool_or_ExpressionTool_or_Workflow_or_Operation_or_ProcessGenerator_False_False_None_None
.loadField(__doc.get("run"), __baseUri, __loadingOptions);
} catch (ValidationException e) {
run = null; // won't be used but prevents compiler from complaining.
@@ -484,7 +479,7 @@ public WorkflowStepImpl(
if (!__errors.isEmpty()) {
throw new ValidationException("Trying 'RecordField'", __errors);
}
- this.id = (java.util.Optional) id;
+ this.id = (String) id;
this.label = (java.util.Optional) label;
this.doc = (Object) doc;
this.in = (java.util.List) in;
diff --git a/src/main/java/org/commonwl/cwlsdk/cwl1_2/WorkflowStepInput.java b/src/main/java/org/commonwl/cwlsdk/cwl1_2/WorkflowStepInput.java
index 0b1368ac..aca1570d 100644
--- a/src/main/java/org/commonwl/cwlsdk/cwl1_2/WorkflowStepInput.java
+++ b/src/main/java/org/commonwl/cwlsdk/cwl1_2/WorkflowStepInput.java
@@ -129,18 +129,18 @@ sources are conditional, so null sources (from skipped steps)
should be filtered out.
*/
-public interface WorkflowStepInput extends Identified, Sink, LoadContents, Labeled, Saveable {
+public interface WorkflowStepInput extends IdentifierRequired, Sink, LoadContents, Labeled, Saveable {
java.util.Map getExtensionFields();
LoadingOptions getLoadingOptions();
/**
- * Getter for property https://w3id.org/cwl/cwl#Identified/id
+ * Getter for property https://w3id.org/cwl/cwl#WorkflowStepInput/id
*
- * The unique identifier for this object. *
+ * The unique identifier of the source input field name. *
*/
- java.util.Optional getId();
+ String getId();
/**
* Getter for property https://w3id.org/cwl/cwl#source
*
diff --git a/src/main/java/org/commonwl/cwlsdk/cwl1_2/WorkflowStepInputImpl.java b/src/main/java/org/commonwl/cwlsdk/cwl1_2/WorkflowStepInputImpl.java
index 57e8e93a..37743fd9 100644
--- a/src/main/java/org/commonwl/cwlsdk/cwl1_2/WorkflowStepInputImpl.java
+++ b/src/main/java/org/commonwl/cwlsdk/cwl1_2/WorkflowStepInputImpl.java
@@ -143,15 +143,15 @@ public java.util.Map getExtensionFields() {
return this.extensionFields_;
}
- private java.util.Optional id;
+ private String id;
/**
- * Getter for property https://w3id.org/cwl/cwl#Identified/id
+ * Getter for property https://w3id.org/cwl/cwl#WorkflowStepInput/id
*
- * The unique identifier for this object. *
+ * The unique identifier of the source input field name. *
*/
- public java.util.Optional getId() {
+ public String getId() {
return this.id;
}
@@ -329,13 +329,13 @@ public WorkflowStepInputImpl(
if (__loadingOptions != null) {
this.loadingOptions_ = __loadingOptions;
}
- java.util.Optional id;
+ String id;
if (__doc.containsKey("id")) {
try {
id =
LoaderInstances
- .uri_optional_StringInstance_True_False_None_None
+ .uri_StringInstance_True_False_None_None
.loadField(__doc.get("id"), __baseUri, __loadingOptions);
} catch (ValidationException e) {
id = null; // won't be used but prevents compiler from complaining.
@@ -347,19 +347,14 @@ public WorkflowStepInputImpl(
id = null;
}
- Boolean __original_is_null = id == null;
if (id == null) {
if (__docRoot != null) {
- id = java.util.Optional.of(__docRoot);
+ id = __docRoot;
} else {
- id = java.util.Optional.of("_:" + java.util.UUID.randomUUID().toString());
+ throw new ValidationException("Missing id");
}
}
- if (__original_is_null) {
- __baseUri = __baseUri_;
- } else {
- __baseUri = (String) id.orElse(null);
- }
+ __baseUri = (String) id;
Object source;
if (__doc.containsKey("source")) {
@@ -499,7 +494,7 @@ public WorkflowStepInputImpl(
if (!__errors.isEmpty()) {
throw new ValidationException("Trying 'RecordField'", __errors);
}
- this.id = (java.util.Optional) id;
+ this.id = (String) id;
this.source = (Object) source;
this.linkMerge = (java.util.Optional) linkMerge;
this.pickValue = (java.util.Optional) pickValue;
diff --git a/src/main/java/org/commonwl/cwlsdk/cwl1_2/WorkflowStepOutput.java b/src/main/java/org/commonwl/cwlsdk/cwl1_2/WorkflowStepOutput.java
index 4920b23e..ef1df393 100644
--- a/src/main/java/org/commonwl/cwlsdk/cwl1_2/WorkflowStepOutput.java
+++ b/src/main/java/org/commonwl/cwlsdk/cwl1_2/WorkflowStepOutput.java
@@ -29,16 +29,16 @@ parameter. The workflow parameter (given in the `id` field) be may be used
to connect the output value to downstream parameters.
*/
-public interface WorkflowStepOutput extends Identified, Saveable {
+public interface WorkflowStepOutput extends IdentifierRequired, Saveable {
java.util.Map getExtensionFields();
LoadingOptions getLoadingOptions();
/**
- * Getter for property https://w3id.org/cwl/cwl#Identified/id
+ * Getter for property https://w3id.org/cwl/cwl#WorkflowStepOutput/id
*
- * The unique identifier for this object. *
+ * The unique identifier of the workflow parameter to export. *
*/
- java.util.Optional getId();
+ String getId();
}
diff --git a/src/main/java/org/commonwl/cwlsdk/cwl1_2/WorkflowStepOutputImpl.java b/src/main/java/org/commonwl/cwlsdk/cwl1_2/WorkflowStepOutputImpl.java
index b81cf4b9..76ba950b 100644
--- a/src/main/java/org/commonwl/cwlsdk/cwl1_2/WorkflowStepOutputImpl.java
+++ b/src/main/java/org/commonwl/cwlsdk/cwl1_2/WorkflowStepOutputImpl.java
@@ -43,15 +43,15 @@ public java.util.Map getExtensionFields() {
return this.extensionFields_;
}
- private java.util.Optional id;
+ private String id;
/**
- * Getter for property https://w3id.org/cwl/cwl#Identified/id
+ * Getter for property https://w3id.org/cwl/cwl#WorkflowStepOutput/id
*
- * The unique identifier for this object. *
+ * The unique identifier of the workflow parameter to export. *
*/
- public java.util.Optional getId() {
+ public String getId() {
return this.id;
}
@@ -85,13 +85,13 @@ public WorkflowStepOutputImpl(
if (__loadingOptions != null) {
this.loadingOptions_ = __loadingOptions;
}
- java.util.Optional id;
+ String id;
if (__doc.containsKey("id")) {
try {
id =
LoaderInstances
- .uri_optional_StringInstance_True_False_None_None
+ .uri_StringInstance_True_False_None_None
.loadField(__doc.get("id"), __baseUri, __loadingOptions);
} catch (ValidationException e) {
id = null; // won't be used but prevents compiler from complaining.
@@ -103,23 +103,18 @@ public WorkflowStepOutputImpl(
id = null;
}
- Boolean __original_is_null = id == null;
if (id == null) {
if (__docRoot != null) {
- id = java.util.Optional.of(__docRoot);
+ id = __docRoot;
} else {
- id = java.util.Optional.of("_:" + java.util.UUID.randomUUID().toString());
+ throw new ValidationException("Missing id");
}
}
- if (__original_is_null) {
- __baseUri = __baseUri_;
- } else {
- __baseUri = (String) id.orElse(null);
- }
+ __baseUri = (String) id;
if (!__errors.isEmpty()) {
throw new ValidationException("Trying 'RecordField'", __errors);
}
- this.id = (java.util.Optional) id;
+ this.id = (String) id;
for (String field:__doc.keySet()) {
if (!attrs.contains(field)) {
if (field.contains(":")) {
diff --git a/src/main/java/org/commonwl/cwlsdk/cwl1_2/utils/ConstantMaps.java b/src/main/java/org/commonwl/cwlsdk/cwl1_2/utils/ConstantMaps.java
index bb2f3618..1fa48348 100644
--- a/src/main/java/org/commonwl/cwlsdk/cwl1_2/utils/ConstantMaps.java
+++ b/src/main/java/org/commonwl/cwlsdk/cwl1_2/utils/ConstantMaps.java
@@ -10,6 +10,7 @@ public class ConstantMaps {
static {
vocab.put("Any", "https://w3id.org/cwl/salad#Any");
vocab.put("ArraySchema", "https://w3id.org/cwl/salad#ArraySchema");
+ vocab.put("CUDARequirement", "http://commonwl.org/cwltool#CUDARequirement");
vocab.put("CWLArraySchema", "https://w3id.org/cwl/cwl#CWLArraySchema");
vocab.put("CWLInputFile", "https://w3id.org/cwl/cwl#CWLInputFile");
vocab.put("CWLObjectType", "https://w3id.org/cwl/cwl#CWLObjectType");
@@ -47,6 +48,7 @@ public class ConstantMaps {
vocab.put("File", "File");
vocab.put("IOSchema", "https://w3id.org/cwl/cwl#IOSchema");
vocab.put("Identified", "https://w3id.org/cwl/cwl#Identified");
+ vocab.put("IdentifierRequired", "https://w3id.org/cwl/cwl#IdentifierRequired");
vocab.put("InitialWorkDirRequirement", "InitialWorkDirRequirement");
vocab.put("InlineJavascriptRequirement", "InlineJavascriptRequirement");
vocab.put("InplaceUpdateRequirement", "InplaceUpdateRequirement");
@@ -63,6 +65,9 @@ public class ConstantMaps {
vocab.put("LoadContents", "https://w3id.org/cwl/cwl#LoadContents");
vocab.put("LoadListingEnum", "https://w3id.org/cwl/cwl#LoadListingEnum");
vocab.put("LoadListingRequirement", "LoadListingRequirement");
+ vocab.put("Loop", "http://commonwl.org/cwltool#Loop");
+ vocab.put("LoopInput", "http://commonwl.org/cwltool#LoopInput");
+ vocab.put("MPIRequirement", "http://commonwl.org/cwltool#MPIRequirement");
vocab.put("MapSchema", "https://w3id.org/cwl/salad#MapSchema");
vocab.put("MultipleInputFeatureRequirement", "MultipleInputFeatureRequirement");
vocab.put("NetworkAccess", "NetworkAccess");
@@ -80,6 +85,7 @@ public class ConstantMaps {
vocab.put("PickValueMethod", "https://w3id.org/cwl/cwl#PickValueMethod");
vocab.put("PrimitiveType", "https://w3id.org/cwl/salad#PrimitiveType");
vocab.put("Process", "https://w3id.org/cwl/cwl#Process");
+ vocab.put("ProcessGenerator", "http://commonwl.org/cwltool#ProcessGenerator");
vocab.put("ProcessRequirement", "https://w3id.org/cwl/cwl#ProcessRequirement");
vocab.put("RecordField", "https://w3id.org/cwl/salad#RecordField");
vocab.put("RecordSchema", "https://w3id.org/cwl/salad#RecordSchema");
@@ -88,7 +94,9 @@ public class ConstantMaps {
vocab.put("ScatterMethod", "https://w3id.org/cwl/cwl#ScatterMethod");
vocab.put("SchemaDefRequirement", "SchemaDefRequirement");
vocab.put("SecondaryFileSchema", "https://w3id.org/cwl/cwl#SecondaryFileSchema");
+ vocab.put("Secrets", "http://commonwl.org/cwltool#Secrets");
vocab.put("ShellCommandRequirement", "ShellCommandRequirement");
+ vocab.put("ShmSize", "http://commonwl.org/cwltool#ShmSize");
vocab.put("Sink", "https://w3id.org/cwl/cwl#Sink");
vocab.put("SoftwarePackage", "https://w3id.org/cwl/cwl#SoftwarePackage");
vocab.put("SoftwareRequirement", "SoftwareRequirement");
@@ -103,6 +111,7 @@ public class ConstantMaps {
vocab.put("WorkflowStep", "https://w3id.org/cwl/cwl#WorkflowStep");
vocab.put("WorkflowStepInput", "https://w3id.org/cwl/cwl#WorkflowStepInput");
vocab.put("WorkflowStepOutput", "https://w3id.org/cwl/cwl#WorkflowStepOutput");
+ vocab.put("all", "all");
vocab.put("all_non_null", "https://w3id.org/cwl/cwl#PickValueMethod/all_non_null");
vocab.put("array", "array");
vocab.put("boolean", "http://www.w3.org/2001/XMLSchema#boolean");
@@ -124,6 +133,7 @@ public class ConstantMaps {
vocab.put("flat_crossproduct", "https://w3id.org/cwl/cwl#ScatterMethod/flat_crossproduct");
vocab.put("float", "http://www.w3.org/2001/XMLSchema#float");
vocab.put("int", "http://www.w3.org/2001/XMLSchema#int");
+ vocab.put("last", "last");
vocab.put("long", "http://www.w3.org/2001/XMLSchema#long");
vocab.put("map", "map");
vocab.put("merge_flattened", "https://w3id.org/cwl/cwl#LinkMergeMethod/merge_flattened");
@@ -153,6 +163,7 @@ public class ConstantMaps {
rvocab.put("https://w3id.org/cwl/salad#Any", "Any");
rvocab.put("https://w3id.org/cwl/salad#ArraySchema", "ArraySchema");
+ rvocab.put("http://commonwl.org/cwltool#CUDARequirement", "CUDARequirement");
rvocab.put("https://w3id.org/cwl/cwl#CWLArraySchema", "CWLArraySchema");
rvocab.put("https://w3id.org/cwl/cwl#CWLInputFile", "CWLInputFile");
rvocab.put("https://w3id.org/cwl/cwl#CWLObjectType", "CWLObjectType");
@@ -190,6 +201,7 @@ public class ConstantMaps {
rvocab.put("File", "File");
rvocab.put("https://w3id.org/cwl/cwl#IOSchema", "IOSchema");
rvocab.put("https://w3id.org/cwl/cwl#Identified", "Identified");
+ rvocab.put("https://w3id.org/cwl/cwl#IdentifierRequired", "IdentifierRequired");
rvocab.put("InitialWorkDirRequirement", "InitialWorkDirRequirement");
rvocab.put("InlineJavascriptRequirement", "InlineJavascriptRequirement");
rvocab.put("InplaceUpdateRequirement", "InplaceUpdateRequirement");
@@ -206,6 +218,9 @@ public class ConstantMaps {
rvocab.put("https://w3id.org/cwl/cwl#LoadContents", "LoadContents");
rvocab.put("https://w3id.org/cwl/cwl#LoadListingEnum", "LoadListingEnum");
rvocab.put("LoadListingRequirement", "LoadListingRequirement");
+ rvocab.put("http://commonwl.org/cwltool#Loop", "Loop");
+ rvocab.put("http://commonwl.org/cwltool#LoopInput", "LoopInput");
+ rvocab.put("http://commonwl.org/cwltool#MPIRequirement", "MPIRequirement");
rvocab.put("https://w3id.org/cwl/salad#MapSchema", "MapSchema");
rvocab.put("MultipleInputFeatureRequirement", "MultipleInputFeatureRequirement");
rvocab.put("NetworkAccess", "NetworkAccess");
@@ -223,6 +238,7 @@ public class ConstantMaps {
rvocab.put("https://w3id.org/cwl/cwl#PickValueMethod", "PickValueMethod");
rvocab.put("https://w3id.org/cwl/salad#PrimitiveType", "PrimitiveType");
rvocab.put("https://w3id.org/cwl/cwl#Process", "Process");
+ rvocab.put("http://commonwl.org/cwltool#ProcessGenerator", "ProcessGenerator");
rvocab.put("https://w3id.org/cwl/cwl#ProcessRequirement", "ProcessRequirement");
rvocab.put("https://w3id.org/cwl/salad#RecordField", "RecordField");
rvocab.put("https://w3id.org/cwl/salad#RecordSchema", "RecordSchema");
@@ -231,7 +247,9 @@ public class ConstantMaps {
rvocab.put("https://w3id.org/cwl/cwl#ScatterMethod", "ScatterMethod");
rvocab.put("SchemaDefRequirement", "SchemaDefRequirement");
rvocab.put("https://w3id.org/cwl/cwl#SecondaryFileSchema", "SecondaryFileSchema");
+ rvocab.put("http://commonwl.org/cwltool#Secrets", "Secrets");
rvocab.put("ShellCommandRequirement", "ShellCommandRequirement");
+ rvocab.put("http://commonwl.org/cwltool#ShmSize", "ShmSize");
rvocab.put("https://w3id.org/cwl/cwl#Sink", "Sink");
rvocab.put("https://w3id.org/cwl/cwl#SoftwarePackage", "SoftwarePackage");
rvocab.put("SoftwareRequirement", "SoftwareRequirement");
@@ -246,6 +264,7 @@ public class ConstantMaps {
rvocab.put("https://w3id.org/cwl/cwl#WorkflowStep", "WorkflowStep");
rvocab.put("https://w3id.org/cwl/cwl#WorkflowStepInput", "WorkflowStepInput");
rvocab.put("https://w3id.org/cwl/cwl#WorkflowStepOutput", "WorkflowStepOutput");
+ rvocab.put("all", "all");
rvocab.put("https://w3id.org/cwl/cwl#PickValueMethod/all_non_null", "all_non_null");
rvocab.put("array", "array");
rvocab.put("http://www.w3.org/2001/XMLSchema#boolean", "boolean");
@@ -267,6 +286,7 @@ public class ConstantMaps {
rvocab.put("https://w3id.org/cwl/cwl#ScatterMethod/flat_crossproduct", "flat_crossproduct");
rvocab.put("http://www.w3.org/2001/XMLSchema#float", "float");
rvocab.put("http://www.w3.org/2001/XMLSchema#int", "int");
+ rvocab.put("last", "last");
rvocab.put("http://www.w3.org/2001/XMLSchema#long", "long");
rvocab.put("map", "map");
rvocab.put("https://w3id.org/cwl/cwl#LinkMergeMethod/merge_flattened", "merge_flattened");
diff --git a/src/main/java/org/commonwl/cwlsdk/cwl1_2/utils/LoaderInstances.java b/src/main/java/org/commonwl/cwlsdk/cwl1_2/utils/LoaderInstances.java
index 0ac0025e..f3bad476 100644
--- a/src/main/java/org/commonwl/cwlsdk/cwl1_2/utils/LoaderInstances.java
+++ b/src/main/java/org/commonwl/cwlsdk/cwl1_2/utils/LoaderInstances.java
@@ -47,13 +47,19 @@ public class LoaderInstances {
public static Loader ScatterFeatureRequirement = new RecordLoader(org.commonwl.cwlsdk.cwl1_2.ScatterFeatureRequirementImpl.class, null, null);
public static Loader MultipleInputFeatureRequirement = new RecordLoader(org.commonwl.cwlsdk.cwl1_2.MultipleInputFeatureRequirementImpl.class, null, null);
public static Loader StepInputExpressionRequirement = new RecordLoader(org.commonwl.cwlsdk.cwl1_2.StepInputExpressionRequirementImpl.class, null, null);
- public static Loader union_of_InlineJavascriptRequirement_or_SchemaDefRequirement_or_LoadListingRequirement_or_DockerRequirement_or_SoftwareRequirement_or_InitialWorkDirRequirement_or_EnvVarRequirement_or_ShellCommandRequirement_or_ResourceRequirement_or_WorkReuse_or_NetworkAccess_or_InplaceUpdateRequirement_or_ToolTimeLimit_or_SubworkflowFeatureRequirement_or_ScatterFeatureRequirement_or_MultipleInputFeatureRequirement_or_StepInputExpressionRequirement = new UnionLoader(new Loader[] { InlineJavascriptRequirement, SchemaDefRequirement, LoadListingRequirement, DockerRequirement, SoftwareRequirement, InitialWorkDirRequirement, EnvVarRequirement, ShellCommandRequirement, ResourceRequirement, WorkReuse, NetworkAccess, InplaceUpdateRequirement, ToolTimeLimit, SubworkflowFeatureRequirement, ScatterFeatureRequirement, MultipleInputFeatureRequirement, StepInputExpressionRequirement });
- public static Loader> array_of_union_of_InlineJavascriptRequirement_or_SchemaDefRequirement_or_LoadListingRequirement_or_DockerRequirement_or_SoftwareRequirement_or_InitialWorkDirRequirement_or_EnvVarRequirement_or_ShellCommandRequirement_or_ResourceRequirement_or_WorkReuse_or_NetworkAccess_or_InplaceUpdateRequirement_or_ToolTimeLimit_or_SubworkflowFeatureRequirement_or_ScatterFeatureRequirement_or_MultipleInputFeatureRequirement_or_StepInputExpressionRequirement = new ArrayLoader(union_of_InlineJavascriptRequirement_or_SchemaDefRequirement_or_LoadListingRequirement_or_DockerRequirement_or_SoftwareRequirement_or_InitialWorkDirRequirement_or_EnvVarRequirement_or_ShellCommandRequirement_or_ResourceRequirement_or_WorkReuse_or_NetworkAccess_or_InplaceUpdateRequirement_or_ToolTimeLimit_or_SubworkflowFeatureRequirement_or_ScatterFeatureRequirement_or_MultipleInputFeatureRequirement_or_StepInputExpressionRequirement);
- public static Loader union_of_NullInstance_or_array_of_union_of_InlineJavascriptRequirement_or_SchemaDefRequirement_or_LoadListingRequirement_or_DockerRequirement_or_SoftwareRequirement_or_InitialWorkDirRequirement_or_EnvVarRequirement_or_ShellCommandRequirement_or_ResourceRequirement_or_WorkReuse_or_NetworkAccess_or_InplaceUpdateRequirement_or_ToolTimeLimit_or_SubworkflowFeatureRequirement_or_ScatterFeatureRequirement_or_MultipleInputFeatureRequirement_or_StepInputExpressionRequirement_or_CWLObjectType = new UnionLoader(new Loader[] { NullInstance, array_of_union_of_InlineJavascriptRequirement_or_SchemaDefRequirement_or_LoadListingRequirement_or_DockerRequirement_or_SoftwareRequirement_or_InitialWorkDirRequirement_or_EnvVarRequirement_or_ShellCommandRequirement_or_ResourceRequirement_or_WorkReuse_or_NetworkAccess_or_InplaceUpdateRequirement_or_ToolTimeLimit_or_SubworkflowFeatureRequirement_or_ScatterFeatureRequirement_or_MultipleInputFeatureRequirement_or_StepInputExpressionRequirement, CWLObjectType });
- public static Loader> map_of_union_of_NullInstance_or_array_of_union_of_InlineJavascriptRequirement_or_SchemaDefRequirement_or_LoadListingRequirement_or_DockerRequirement_or_SoftwareRequirement_or_InitialWorkDirRequirement_or_EnvVarRequirement_or_ShellCommandRequirement_or_ResourceRequirement_or_WorkReuse_or_NetworkAccess_or_InplaceUpdateRequirement_or_ToolTimeLimit_or_SubworkflowFeatureRequirement_or_ScatterFeatureRequirement_or_MultipleInputFeatureRequirement_or_StepInputExpressionRequirement_or_CWLObjectType = new MapLoader(union_of_NullInstance_or_array_of_union_of_InlineJavascriptRequirement_or_SchemaDefRequirement_or_LoadListingRequirement_or_DockerRequirement_or_SoftwareRequirement_or_InitialWorkDirRequirement_or_EnvVarRequirement_or_ShellCommandRequirement_or_ResourceRequirement_or_WorkReuse_or_NetworkAccess_or_InplaceUpdateRequirement_or_ToolTimeLimit_or_SubworkflowFeatureRequirement_or_ScatterFeatureRequirement_or_MultipleInputFeatureRequirement_or_StepInputExpressionRequirement_or_CWLObjectType, "@list", true);
+ public static Loader Secrets = new RecordLoader(org.commonwl.cwlsdk.cwl1_2.SecretsImpl.class, null, null);
+ public static Loader MPIRequirement = new RecordLoader(org.commonwl.cwlsdk.cwl1_2.MPIRequirementImpl.class, null, null);
+ public static Loader CUDARequirement = new RecordLoader(org.commonwl.cwlsdk.cwl1_2.CUDARequirementImpl.class, null, null);
+ public static Loader Loop = new RecordLoader(org.commonwl.cwlsdk.cwl1_2.LoopImpl.class, null, null);
+ public static Loader ShmSize = new RecordLoader(org.commonwl.cwlsdk.cwl1_2.ShmSizeImpl.class, null, null);
+ public static Loader union_of_InlineJavascriptRequirement_or_SchemaDefRequirement_or_LoadListingRequirement_or_DockerRequirement_or_SoftwareRequirement_or_InitialWorkDirRequirement_or_EnvVarRequirement_or_ShellCommandRequirement_or_ResourceRequirement_or_WorkReuse_or_NetworkAccess_or_InplaceUpdateRequirement_or_ToolTimeLimit_or_SubworkflowFeatureRequirement_or_ScatterFeatureRequirement_or_MultipleInputFeatureRequirement_or_StepInputExpressionRequirement_or_Secrets_or_MPIRequirement_or_CUDARequirement_or_Loop_or_ShmSize = new UnionLoader(new Loader[] { InlineJavascriptRequirement, SchemaDefRequirement, LoadListingRequirement, DockerRequirement, SoftwareRequirement, InitialWorkDirRequirement, EnvVarRequirement, ShellCommandRequirement, ResourceRequirement, WorkReuse, NetworkAccess, InplaceUpdateRequirement, ToolTimeLimit, SubworkflowFeatureRequirement, ScatterFeatureRequirement, MultipleInputFeatureRequirement, StepInputExpressionRequirement, Secrets, MPIRequirement, CUDARequirement, Loop, ShmSize });
+ public static Loader> array_of_union_of_InlineJavascriptRequirement_or_SchemaDefRequirement_or_LoadListingRequirement_or_DockerRequirement_or_SoftwareRequirement_or_InitialWorkDirRequirement_or_EnvVarRequirement_or_ShellCommandRequirement_or_ResourceRequirement_or_WorkReuse_or_NetworkAccess_or_InplaceUpdateRequirement_or_ToolTimeLimit_or_SubworkflowFeatureRequirement_or_ScatterFeatureRequirement_or_MultipleInputFeatureRequirement_or_StepInputExpressionRequirement_or_Secrets_or_MPIRequirement_or_CUDARequirement_or_Loop_or_ShmSize = new ArrayLoader(union_of_InlineJavascriptRequirement_or_SchemaDefRequirement_or_LoadListingRequirement_or_DockerRequirement_or_SoftwareRequirement_or_InitialWorkDirRequirement_or_EnvVarRequirement_or_ShellCommandRequirement_or_ResourceRequirement_or_WorkReuse_or_NetworkAccess_or_InplaceUpdateRequirement_or_ToolTimeLimit_or_SubworkflowFeatureRequirement_or_ScatterFeatureRequirement_or_MultipleInputFeatureRequirement_or_StepInputExpressionRequirement_or_Secrets_or_MPIRequirement_or_CUDARequirement_or_Loop_or_ShmSize);
+ public static Loader union_of_NullInstance_or_array_of_union_of_InlineJavascriptRequirement_or_SchemaDefRequirement_or_LoadListingRequirement_or_DockerRequirement_or_SoftwareRequirement_or_InitialWorkDirRequirement_or_EnvVarRequirement_or_ShellCommandRequirement_or_ResourceRequirement_or_WorkReuse_or_NetworkAccess_or_InplaceUpdateRequirement_or_ToolTimeLimit_or_SubworkflowFeatureRequirement_or_ScatterFeatureRequirement_or_MultipleInputFeatureRequirement_or_StepInputExpressionRequirement_or_Secrets_or_MPIRequirement_or_CUDARequirement_or_Loop_or_ShmSize_or_CWLObjectType = new UnionLoader(new Loader[] { NullInstance, array_of_union_of_InlineJavascriptRequirement_or_SchemaDefRequirement_or_LoadListingRequirement_or_DockerRequirement_or_SoftwareRequirement_or_InitialWorkDirRequirement_or_EnvVarRequirement_or_ShellCommandRequirement_or_ResourceRequirement_or_WorkReuse_or_NetworkAccess_or_InplaceUpdateRequirement_or_ToolTimeLimit_or_SubworkflowFeatureRequirement_or_ScatterFeatureRequirement_or_MultipleInputFeatureRequirement_or_StepInputExpressionRequirement_or_Secrets_or_MPIRequirement_or_CUDARequirement_or_Loop_or_ShmSize, CWLObjectType });
+ public static Loader> map_of_union_of_NullInstance_or_array_of_union_of_InlineJavascriptRequirement_or_SchemaDefRequirement_or_LoadListingRequirement_or_DockerRequirement_or_SoftwareRequirement_or_InitialWorkDirRequirement_or_EnvVarRequirement_or_ShellCommandRequirement_or_ResourceRequirement_or_WorkReuse_or_NetworkAccess_or_InplaceUpdateRequirement_or_ToolTimeLimit_or_SubworkflowFeatureRequirement_or_ScatterFeatureRequirement_or_MultipleInputFeatureRequirement_or_StepInputExpressionRequirement_or_Secrets_or_MPIRequirement_or_CUDARequirement_or_Loop_or_ShmSize_or_CWLObjectType = new MapLoader(union_of_NullInstance_or_array_of_union_of_InlineJavascriptRequirement_or_SchemaDefRequirement_or_LoadListingRequirement_or_DockerRequirement_or_SoftwareRequirement_or_InitialWorkDirRequirement_or_EnvVarRequirement_or_ShellCommandRequirement_or_ResourceRequirement_or_WorkReuse_or_NetworkAccess_or_InplaceUpdateRequirement_or_ToolTimeLimit_or_SubworkflowFeatureRequirement_or_ScatterFeatureRequirement_or_MultipleInputFeatureRequirement_or_StepInputExpressionRequirement_or_Secrets_or_MPIRequirement_or_CUDARequirement_or_Loop_or_ShmSize_or_CWLObjectType, "@list", true);
public static Loader CWLVersion = new EnumLoader(CWLVersion.class);
public static Loader Labeled = new RecordLoader(org.commonwl.cwlsdk.cwl1_2.Labeled.class, null, null);
public static Loader Identified = new RecordLoader(org.commonwl.cwlsdk.cwl1_2.Identified.class, null, null);
+ public static Loader IdentifierRequired = new RecordLoader(org.commonwl.cwlsdk.cwl1_2.IdentifierRequired.class, null, null);
public static Loader LoadListingEnum = new EnumLoader(LoadListingEnum.class);
public static Loader LoadContents = new RecordLoader(org.commonwl.cwlsdk.cwl1_2.LoadContents.class, null, null);
public static Loader FieldBase = new RecordLoader(org.commonwl.cwlsdk.cwl1_2.FieldBase.class, null, null);
@@ -82,7 +88,7 @@ public class LoaderInstances {
public static Loader EnvironmentDef = new RecordLoader(org.commonwl.cwlsdk.cwl1_2.EnvironmentDefImpl.class, null, null);
public static Loader CommandLineBinding = new RecordLoader(org.commonwl.cwlsdk.cwl1_2.CommandLineBindingImpl.class, null, null);
public static Loader CommandOutputBinding = new RecordLoader