From 49d33176591c1c83f6098a7b798f31145a403f2d Mon Sep 17 00:00:00 2001 From: "Michael R. Crusoe" Date: Fri, 31 Oct 2025 17:27:24 +0100 Subject: [PATCH 1/3] "id" is a required field in for Parameters and WorkflowSteps --- .../cwlsdk/cwl1_2/CommandInputParameter.java | 6 ++--- .../cwl1_2/CommandInputParameterImpl.java | 25 ++++++++----------- .../cwlsdk/cwl1_2/CommandOutputParameter.java | 6 ++--- .../cwl1_2/CommandOutputParameterImpl.java | 25 ++++++++----------- .../cwl1_2/ExpressionToolOutputParameter.java | 6 ++--- .../ExpressionToolOutputParameterImpl.java | 25 ++++++++----------- .../cwl1_2/OperationInputParameter.java | 6 ++--- .../cwl1_2/OperationInputParameterImpl.java | 25 ++++++++----------- .../cwl1_2/OperationOutputParameter.java | 6 ++--- .../cwl1_2/OperationOutputParameterImpl.java | 25 ++++++++----------- .../cwlsdk/cwl1_2/WorkflowInputParameter.java | 6 ++--- .../cwl1_2/WorkflowInputParameterImpl.java | 25 ++++++++----------- .../cwl1_2/WorkflowOutputParameter.java | 6 ++--- .../cwl1_2/WorkflowOutputParameterImpl.java | 25 ++++++++----------- .../commonwl/cwlsdk/cwl1_2/WorkflowStep.java | 6 ++--- .../cwlsdk/cwl1_2/WorkflowStepImpl.java | 25 ++++++++----------- .../cwlsdk/cwl1_2/WorkflowStepInput.java | 6 ++--- .../cwlsdk/cwl1_2/WorkflowStepInputImpl.java | 25 ++++++++----------- .../cwlsdk/cwl1_2/WorkflowStepOutput.java | 6 ++--- .../cwlsdk/cwl1_2/WorkflowStepOutputImpl.java | 25 ++++++++----------- .../cwl1_2/utils/PackedWorkflowClassTest.java | 2 +- .../cwl1_2/utils/SecondaryFilesTest.java | 4 +-- 22 files changed, 133 insertions(+), 183 deletions(-) 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/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/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/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/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..f08bfceb 100644 --- a/src/main/java/org/commonwl/cwlsdk/cwl1_2/WorkflowStep.java +++ b/src/main/java/org/commonwl/cwlsdk/cwl1_2/WorkflowStep.java @@ -106,12 +106,12 @@ public interface WorkflowStep extends Identified, Labeled, Documented, Saveable 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..dc06720e 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")) { @@ -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..144397c5 100644 --- a/src/main/java/org/commonwl/cwlsdk/cwl1_2/WorkflowStepInput.java +++ b/src/main/java/org/commonwl/cwlsdk/cwl1_2/WorkflowStepInput.java @@ -135,12 +135,12 @@ public interface WorkflowStepInput extends Identified, Sink, LoadContents, Label 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..d6db2cbc 100644 --- a/src/main/java/org/commonwl/cwlsdk/cwl1_2/WorkflowStepOutput.java +++ b/src/main/java/org/commonwl/cwlsdk/cwl1_2/WorkflowStepOutput.java @@ -35,10 +35,10 @@ public interface WorkflowStepOutput extends Identified, Saveable { 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/test/java/org/commonwl/cwlsdk/cwl1_2/utils/PackedWorkflowClassTest.java b/src/test/java/org/commonwl/cwlsdk/cwl1_2/utils/PackedWorkflowClassTest.java index eef899cb..1fff5929 100644 --- a/src/test/java/org/commonwl/cwlsdk/cwl1_2/utils/PackedWorkflowClassTest.java +++ b/src/test/java/org/commonwl/cwlsdk/cwl1_2/utils/PackedWorkflowClassTest.java @@ -35,7 +35,7 @@ public void workflowStepInputSources() { WorkflowStep step1 = (WorkflowStep) workflow.getSteps().get(0); List inputs = step1.getIn(); WorkflowStepInput step1_input1 = (WorkflowStepInput) inputs.get(0); - Assert.assertEquals(workflow_id + "/step1/echo_in1", step1_input1.getId().get()); + Assert.assertEquals(workflow_id + "/step1/echo_in1", step1_input1.getId()); Assert.assertEquals(workflow_id + "/inp1", step1_input1.getSource()); } } diff --git a/src/test/java/org/commonwl/cwlsdk/cwl1_2/utils/SecondaryFilesTest.java b/src/test/java/org/commonwl/cwlsdk/cwl1_2/utils/SecondaryFilesTest.java index 71a53283..911112f7 100644 --- a/src/test/java/org/commonwl/cwlsdk/cwl1_2/utils/SecondaryFilesTest.java +++ b/src/test/java/org/commonwl/cwlsdk/cwl1_2/utils/SecondaryFilesTest.java @@ -28,7 +28,7 @@ public void workflowInputSecFiles() { String workflow_id = workflow.getId().get(); List inputs = workflow.getInputs(); WorkflowInputParameter wf_file_input = (WorkflowInputParameter) inputs.get(1); - Assert.assertEquals(workflow_id + "/wf_file_input", wf_file_input.getId().get()); + Assert.assertEquals(workflow_id + "/wf_file_input", wf_file_input.getId()); List sec_files_l1 = (List) wf_file_input.getSecondaryFiles(); Assert.assertEquals(1, sec_files_l1.size()); @@ -36,7 +36,7 @@ public void workflowInputSecFiles() { Assert.assertEquals(".also", sec_files1.getPattern()); Assert.assertEquals(true, sec_files1.getRequired()); WorkflowInputParameter wf_file_input_array = (WorkflowInputParameter) inputs.get(2); - Assert.assertEquals(workflow_id + "/wf_file_input_array", wf_file_input_array.getId().get()); + Assert.assertEquals(workflow_id + "/wf_file_input_array", wf_file_input_array.getId()); List sec_files_l2 = (List) wf_file_input_array.getSecondaryFiles(); Assert.assertEquals(1, sec_files_l2.size()); From 0d5009150849ed18b5f76679725e6e8cf6389d67 Mon Sep 17 00:00:00 2001 From: "Michael R. Crusoe" Date: Mon, 8 Dec 2025 10:54:06 +0100 Subject: [PATCH 2/3] now with IdentifierRequired --- .../cwlsdk/cwl1_2/IdentifierRequired.java | 28 +++++++++++++++++++ .../org/commonwl/cwlsdk/cwl1_2/Parameter.java | 2 +- .../commonwl/cwlsdk/cwl1_2/WorkflowStep.java | 2 +- .../cwlsdk/cwl1_2/WorkflowStepInput.java | 2 +- .../cwlsdk/cwl1_2/WorkflowStepOutput.java | 2 +- .../cwlsdk/cwl1_2/utils/ConstantMaps.java | 2 ++ .../cwlsdk/cwl1_2/utils/LoaderInstances.java | 1 + 7 files changed, 35 insertions(+), 4 deletions(-) create mode 100644 src/main/java/org/commonwl/cwlsdk/cwl1_2/IdentifierRequired.java 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/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/WorkflowStep.java b/src/main/java/org/commonwl/cwlsdk/cwl1_2/WorkflowStep.java index f08bfceb..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,7 +100,7 @@ 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(); 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 144397c5..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,7 +129,7 @@ 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(); 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 d6db2cbc..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,7 +29,7 @@ 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(); 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..69b01fa3 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 @@ -47,6 +47,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"); @@ -190,6 +191,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"); 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..0f29e7cc 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 @@ -54,6 +54,7 @@ public class LoaderInstances { 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); From 2f03741758fcf70451e1a8a1a82a100faad0469b Mon Sep 17 00:00:00 2001 From: "Michael R. Crusoe" Date: Wed, 17 Dec 2025 11:29:28 +0100 Subject: [PATCH 3/3] regen; drop CommandLineBindableImpl; add optional CWL extensions --- .../cwlsdk/cwl1_2/CUDARequirement.java | 91 ++++ .../cwlsdk/cwl1_2/CUDARequirementImpl.java | 240 ++++++++++ .../cwlsdk/cwl1_2/CommandLineBindable.java | 2 +- .../cwlsdk/cwl1_2/CommandLineToolImpl.java | 4 +- .../cwlsdk/cwl1_2/ExpressionToolImpl.java | 4 +- .../java/org/commonwl/cwlsdk/cwl1_2/Loop.java | 84 ++++ .../org/commonwl/cwlsdk/cwl1_2/LoopImpl.java | 204 ++++++++ .../org/commonwl/cwlsdk/cwl1_2/LoopInput.java | 95 ++++ .../commonwl/cwlsdk/cwl1_2/LoopInputImpl.java | 299 ++++++++++++ .../cwlsdk/cwl1_2/LoopOutputModes.java | 38 ++ .../cwlsdk/cwl1_2/MPIRequirement.java | 47 ++ .../cwlsdk/cwl1_2/MPIRequirementImpl.java | 133 ++++++ .../commonwl/cwlsdk/cwl1_2/OperationImpl.java | 4 +- .../cwlsdk/cwl1_2/ProcessGenerator.java | 148 ++++++ .../cwlsdk/cwl1_2/ProcessGeneratorImpl.java | 443 ++++++++++++++++++ .../org/commonwl/cwlsdk/cwl1_2/Secrets.java | 44 ++ ...LineBindableImpl.java => SecretsImpl.java} | 76 +-- .../org/commonwl/cwlsdk/cwl1_2/ShmSize.java | 46 ++ .../commonwl/cwlsdk/cwl1_2/ShmSizeImpl.java | 132 ++++++ .../commonwl/cwlsdk/cwl1_2/WorkflowImpl.java | 4 +- .../cwlsdk/cwl1_2/WorkflowStepImpl.java | 4 +- .../cwlsdk/cwl1_2/utils/ConstantMaps.java | 18 + .../cwlsdk/cwl1_2/utils/LoaderInstances.java | 47 +- .../cwlsdk/cwl1_2/utils/RootLoader.java | 2 +- 24 files changed, 2153 insertions(+), 56 deletions(-) create mode 100644 src/main/java/org/commonwl/cwlsdk/cwl1_2/CUDARequirement.java create mode 100644 src/main/java/org/commonwl/cwlsdk/cwl1_2/CUDARequirementImpl.java create mode 100644 src/main/java/org/commonwl/cwlsdk/cwl1_2/Loop.java create mode 100644 src/main/java/org/commonwl/cwlsdk/cwl1_2/LoopImpl.java create mode 100644 src/main/java/org/commonwl/cwlsdk/cwl1_2/LoopInput.java create mode 100644 src/main/java/org/commonwl/cwlsdk/cwl1_2/LoopInputImpl.java create mode 100644 src/main/java/org/commonwl/cwlsdk/cwl1_2/LoopOutputModes.java create mode 100644 src/main/java/org/commonwl/cwlsdk/cwl1_2/MPIRequirement.java create mode 100644 src/main/java/org/commonwl/cwlsdk/cwl1_2/MPIRequirementImpl.java create mode 100644 src/main/java/org/commonwl/cwlsdk/cwl1_2/ProcessGenerator.java create mode 100644 src/main/java/org/commonwl/cwlsdk/cwl1_2/ProcessGeneratorImpl.java create mode 100644 src/main/java/org/commonwl/cwlsdk/cwl1_2/Secrets.java rename src/main/java/org/commonwl/cwlsdk/cwl1_2/{CommandLineBindableImpl.java => SecretsImpl.java} (62%) create mode 100644 src/main/java/org/commonwl/cwlsdk/cwl1_2/ShmSize.java create mode 100644 src/main/java/org/commonwl/cwlsdk/cwl1_2/ShmSizeImpl.java 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/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/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/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/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/WorkflowStepImpl.java b/src/main/java/org/commonwl/cwlsdk/cwl1_2/WorkflowStepImpl.java index dc06720e..09e21399 100644 --- a/src/main/java/org/commonwl/cwlsdk/cwl1_2/WorkflowStepImpl.java +++ b/src/main/java/org/commonwl/cwlsdk/cwl1_2/WorkflowStepImpl.java @@ -386,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. @@ -418,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. 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 69b01fa3..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"); @@ -64,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"); @@ -81,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"); @@ -89,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"); @@ -104,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"); @@ -125,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"); @@ -154,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"); @@ -208,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"); @@ -225,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"); @@ -233,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"); @@ -248,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"); @@ -269,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 0f29e7cc..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,10 +47,15 @@ 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); @@ -83,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(org.commonwl.cwlsdk.cwl1_2.CommandOutputBindingImpl.class, null, null); - public static Loader CommandLineBindable = new RecordLoader(org.commonwl.cwlsdk.cwl1_2.CommandLineBindableImpl.class, null, null); + public static Loader CommandLineBindable = new RecordLoader(org.commonwl.cwlsdk.cwl1_2.CommandLineBindable.class, null, null); public static Loader CommandInputRecordField = new RecordLoader(org.commonwl.cwlsdk.cwl1_2.CommandInputRecordFieldImpl.class, null, null); public static Loader CommandInputRecordSchema = new RecordLoader(org.commonwl.cwlsdk.cwl1_2.CommandInputRecordSchemaImpl.class, null, null); public static Loader CommandInputEnumSchema = new RecordLoader(org.commonwl.cwlsdk.cwl1_2.CommandInputEnumSchemaImpl.class, null, null); @@ -115,6 +120,8 @@ public class LoaderInstances { public static Loader OperationInputParameter = new RecordLoader(org.commonwl.cwlsdk.cwl1_2.OperationInputParameterImpl.class, null, null); public static Loader OperationOutputParameter = new RecordLoader(org.commonwl.cwlsdk.cwl1_2.OperationOutputParameterImpl.class, null, null); public static Loader Operation = new RecordLoader(org.commonwl.cwlsdk.cwl1_2.OperationImpl.class, null, null); + public static Loader ProcessGenerator = new RecordLoader(org.commonwl.cwlsdk.cwl1_2.ProcessGeneratorImpl.class, null, null); + public static Loader LoopInput = new RecordLoader(org.commonwl.cwlsdk.cwl1_2.LoopInputImpl.class, null, null); public static Loader> array_of_StringInstance = new ArrayLoader(StringInstance); public static Loader union_of_NullInstance_or_StringInstance_or_array_of_StringInstance = new UnionLoader(new Loader[] { NullInstance, StringInstance, array_of_StringInstance }); public static Loader uri_StringInstance_True_False_None_None = new UriLoader(StringInstance, true, false, null, null); @@ -190,12 +197,12 @@ public class LoaderInstances { public static Loader union_of_CommandOutputParameter_or_ExpressionToolOutputParameter_or_WorkflowOutputParameter_or_OperationOutputParameter = new UnionLoader(new Loader[] { CommandOutputParameter, ExpressionToolOutputParameter, WorkflowOutputParameter, OperationOutputParameter }); public static Loader> array_of_union_of_CommandOutputParameter_or_ExpressionToolOutputParameter_or_WorkflowOutputParameter_or_OperationOutputParameter = new ArrayLoader(union_of_CommandOutputParameter_or_ExpressionToolOutputParameter_or_WorkflowOutputParameter_or_OperationOutputParameter); public static Loader> idmap_outputs_array_of_union_of_CommandOutputParameter_or_ExpressionToolOutputParameter_or_WorkflowOutputParameter_or_OperationOutputParameter = new IdMapLoader(array_of_union_of_CommandOutputParameter_or_ExpressionToolOutputParameter_or_WorkflowOutputParameter_or_OperationOutputParameter, "id", "type"); - public static Loader>> 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 = new OptionalLoader(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); - public static Loader>> 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 = new IdMapLoader(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, "class", "None"); - 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_AnyInstance = new UnionLoader(new Loader[] { InlineJavascriptRequirement, SchemaDefRequirement, LoadListingRequirement, DockerRequirement, SoftwareRequirement, InitialWorkDirRequirement, EnvVarRequirement, ShellCommandRequirement, ResourceRequirement, WorkReuse, NetworkAccess, InplaceUpdateRequirement, ToolTimeLimit, SubworkflowFeatureRequirement, ScatterFeatureRequirement, MultipleInputFeatureRequirement, StepInputExpressionRequirement, AnyInstance }); - 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_AnyInstance = 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_AnyInstance); - public static Loader>> 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 = new OptionalLoader(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); - public static Loader>> 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 = new IdMapLoader(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, "class", "None"); + public static Loader>> 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 = new OptionalLoader(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); + public static Loader>> 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 = new IdMapLoader(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, "class", "None"); + 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_or_AnyInstance = 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, AnyInstance }); + 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_or_AnyInstance = 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_or_AnyInstance); + public static Loader>> 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 = new OptionalLoader(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); + public static Loader>> 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 = new IdMapLoader(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, "class", "None"); public static Loader> optional_CWLVersion = new OptionalLoader(CWLVersion); public static Loader> uri_optional_CWLVersion_False_True_None_None = new UriLoader(optional_CWLVersion, false, true, null, null); public static Loader>> optional_array_of_StringInstance = new OptionalLoader(array_of_StringInstance); @@ -296,8 +303,8 @@ public class LoaderInstances { public static Loader> array_of_AnyInstance = new ArrayLoader(AnyInstance); public static Loader>> optional_array_of_AnyInstance = new OptionalLoader(array_of_AnyInstance); public static Loader>> idmap_hints_optional_array_of_AnyInstance = new IdMapLoader(optional_array_of_AnyInstance, "class", "None"); - public static Loader union_of_StringInstance_or_CommandLineTool_or_ExpressionTool_or_Workflow_or_Operation = new UnionLoader(new Loader[] { StringInstance, CommandLineTool, ExpressionTool, Workflow, Operation }); - public static Loader uri_union_of_StringInstance_or_CommandLineTool_or_ExpressionTool_or_Workflow_or_Operation_False_False_None_None = new UriLoader(union_of_StringInstance_or_CommandLineTool_or_ExpressionTool_or_Workflow_or_Operation, false, false, null, null); + public static Loader union_of_StringInstance_or_CommandLineTool_or_ExpressionTool_or_Workflow_or_Operation_or_ProcessGenerator = new UnionLoader(new Loader[] { StringInstance, CommandLineTool, ExpressionTool, Workflow, Operation, ProcessGenerator }); + public static Loader uri_union_of_StringInstance_or_CommandLineTool_or_ExpressionTool_or_Workflow_or_Operation_or_ProcessGenerator_False_False_None_None = new UriLoader(union_of_StringInstance_or_CommandLineTool_or_ExpressionTool_or_Workflow_or_Operation_or_ProcessGenerator, false, false, null, null); public static Loader uri_union_of_NullInstance_or_StringInstance_or_array_of_StringInstance_False_False_0_None = new UriLoader(union_of_NullInstance_or_StringInstance_or_array_of_StringInstance, false, false, 0, null); public static Loader> optional_ScatterMethod = new OptionalLoader(ScatterMethod); public static Loader> uri_optional_ScatterMethod_False_True_None_None = new UriLoader(optional_ScatterMethod, false, true, null, null); @@ -321,9 +328,17 @@ public class LoaderInstances { public static Loader> idmap_inputs_array_of_OperationInputParameter = new IdMapLoader(array_of_OperationInputParameter, "id", "type"); public static Loader> array_of_OperationOutputParameter = new ArrayLoader(OperationOutputParameter); public static Loader> idmap_outputs_array_of_OperationOutputParameter = new IdMapLoader(array_of_OperationOutputParameter, "id", "type"); - public static Loader union_of_CommandLineTool_or_ExpressionTool_or_Workflow_or_Operation = new UnionLoader(new Loader[] { CommandLineTool, ExpressionTool, Workflow, Operation }); - public static Loader> array_of_union_of_CommandLineTool_or_ExpressionTool_or_Workflow_or_Operation = new ArrayLoader(union_of_CommandLineTool_or_ExpressionTool_or_Workflow_or_Operation); - public static Loader union_of_CommandLineTool_or_ExpressionTool_or_Workflow_or_Operation_or_array_of_union_of_CommandLineTool_or_ExpressionTool_or_Workflow_or_Operation = new UnionLoader(new Loader[] { CommandLineTool, ExpressionTool, Workflow, Operation, array_of_union_of_CommandLineTool_or_ExpressionTool_or_Workflow_or_Operation }); + public static Loader uri_StringInstance_False_True_None_None = new UriLoader(StringInstance, false, true, null, null); + public static Loader> uri_array_of_StringInstance_False_False_0_None = new UriLoader(array_of_StringInstance, false, false, 0, null); + public static Loader union_of_IntegerInstance_or_ExpressionLoader = new UnionLoader(new Loader[] { IntegerInstance, ExpressionLoader }); + public static Loader union_of_StringInstance_or_array_of_StringInstance = new UnionLoader(new Loader[] { StringInstance, array_of_StringInstance }); + public static Loader> optional_AnyInstance = new OptionalLoader(AnyInstance); + public static Loader> array_of_LoopInput = new ArrayLoader(LoopInput); + public static Loader> idmap_loop_array_of_LoopInput = new IdMapLoader(array_of_LoopInput, "id", "loopSource"); + public static Loader LoopOutputModes = new EnumLoader(LoopOutputModes.class); + public static Loader union_of_CommandLineTool_or_ExpressionTool_or_Workflow_or_Operation_or_ProcessGenerator = new UnionLoader(new Loader[] { CommandLineTool, ExpressionTool, Workflow, Operation, ProcessGenerator }); + public static Loader> array_of_union_of_CommandLineTool_or_ExpressionTool_or_Workflow_or_Operation_or_ProcessGenerator = new ArrayLoader(union_of_CommandLineTool_or_ExpressionTool_or_Workflow_or_Operation_or_ProcessGenerator); + public static Loader union_of_CommandLineTool_or_ExpressionTool_or_Workflow_or_Operation_or_ProcessGenerator_or_array_of_union_of_CommandLineTool_or_ExpressionTool_or_Workflow_or_Operation_or_ProcessGenerator = new UnionLoader(new Loader[] { CommandLineTool, ExpressionTool, Workflow, Operation, ProcessGenerator, array_of_union_of_CommandLineTool_or_ExpressionTool_or_Workflow_or_Operation_or_ProcessGenerator }); static { ((UnionLoader) CWLObjectType).addLoaders(new Loader[] { BooleanInstance, IntegerInstance, LongInstance, DoubleInstance, DoubleInstance, StringInstance, File, Directory, array_of_optional_CWLObjectType, map_of_optional_CWLObjectType }); diff --git a/src/main/java/org/commonwl/cwlsdk/cwl1_2/utils/RootLoader.java b/src/main/java/org/commonwl/cwlsdk/cwl1_2/utils/RootLoader.java index df3a15ea..4921c843 100644 --- a/src/main/java/org/commonwl/cwlsdk/cwl1_2/utils/RootLoader.java +++ b/src/main/java/org/commonwl/cwlsdk/cwl1_2/utils/RootLoader.java @@ -15,7 +15,7 @@ public static Object loadDocument( if (loadingOptions == null) { loadingOptions = new LoadingOptionsBuilder().setFileUri(baseUri).build(); } - return LoaderInstances.union_of_CommandLineTool_or_ExpressionTool_or_Workflow_or_Operation_or_array_of_union_of_CommandLineTool_or_ExpressionTool_or_Workflow_or_Operation.documentLoad(doc, baseUri, loadingOptions); + return LoaderInstances.union_of_CommandLineTool_or_ExpressionTool_or_Workflow_or_Operation_or_ProcessGenerator_or_array_of_union_of_CommandLineTool_or_ExpressionTool_or_Workflow_or_Operation_or_ProcessGenerator.documentLoad(doc, baseUri, loadingOptions); } public static Object loadDocument(