From cd53c2a8df204ac72b584cb2ad323a5015420e5a Mon Sep 17 00:00:00 2001 From: Yuting LIN Date: Fri, 16 May 2025 05:16:23 +0800 Subject: [PATCH 1/5] feat(pipeline): support users to get inputs and outputs in terms of Map of PiperValue --- .../atgenomix/seqslab/piper/plugin/api/Pipeline.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/atgenomix/seqslab/piper/plugin/api/Pipeline.java b/src/main/java/com/atgenomix/seqslab/piper/plugin/api/Pipeline.java index 594d9e7..970f2fc 100644 --- a/src/main/java/com/atgenomix/seqslab/piper/plugin/api/Pipeline.java +++ b/src/main/java/com/atgenomix/seqslab/piper/plugin/api/Pipeline.java @@ -30,10 +30,14 @@ public interface Pipeline { /** - * Get the settings of File inputs. - * @return A dictionary containing the FQN-value mappings. + * Get the settings of Task inputs. */ - Map getDatasets(); + Map getInputs(); + + /** + * Get the settings of Task outputs. + */ + Map getOutputs(); /** * Get the settings of a pipeline task. From 207f2defa8486ff84eb4283afa65566f3579a5db Mon Sep 17 00:00:00 2001 From: Yuting LIN Date: Fri, 16 May 2025 05:33:06 +0800 Subject: [PATCH 2/5] feat(pipercontext): update PiperContext and enhance PipelineTask interface --- .../seqslab/piper/plugin/api/PipelineTask.java | 9 +++++++++ .../seqslab/piper/plugin/api/PiperContext.java | 17 +++++++++++++---- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/atgenomix/seqslab/piper/plugin/api/PipelineTask.java b/src/main/java/com/atgenomix/seqslab/piper/plugin/api/PipelineTask.java index 067c1d4..8a26172 100644 --- a/src/main/java/com/atgenomix/seqslab/piper/plugin/api/PipelineTask.java +++ b/src/main/java/com/atgenomix/seqslab/piper/plugin/api/PipelineTask.java @@ -18,6 +18,9 @@ import com.atgenomix.seqslab.piper.tags.DeveloperApi; +import com.google.gson.JsonObject; + +import java.util.List; /** * An interface represents the localization, computation, and delocalization workload processes @@ -26,4 +29,10 @@ */ @DeveloperApi public interface PipelineTask { + + /** + * Get the list of Operators applied on given input or output FQN. + * @return List + */ + public List getOperators(); } diff --git a/src/main/java/com/atgenomix/seqslab/piper/plugin/api/PiperContext.java b/src/main/java/com/atgenomix/seqslab/piper/plugin/api/PiperContext.java index f307ed6..6791ed4 100644 --- a/src/main/java/com/atgenomix/seqslab/piper/plugin/api/PiperContext.java +++ b/src/main/java/com/atgenomix/seqslab/piper/plugin/api/PiperContext.java @@ -69,12 +69,21 @@ public Map getConf() { } /** - * Obtain the dataset object value of an input variable identified by fully-qualified name. + * Obtain the piper value of an input variable identified by fully-qualified name. * @param fqn The fully-qualified name of an input variable, e.g. myworkflow.task.ref. - * @return The dataset object value or null if not found. + * @return The piper value or null if not found. */ - public PiperValue getDataset(String fqn) { - return pipeline.getDatasets().get(fqn); + public PiperValue getInput(String fqn) { + return pipeline.getInputs().get(fqn); + } + + /** + * Obtain the piper value of an output variable identified by fully-qualified name. + * @param fqn The fully-qualified name of an output variable, e.g. myworkflow.task.ref. + * @return The piper value or null if not found. + */ + public PiperValue getOutput(String fqn) { + return pipeline.getOutputs().get(fqn); } /** From cee9bd0e96a66d22d60020bac1b7952ec9c4c85d Mon Sep 17 00:00:00 2001 From: Yuting LIN Date: Fri, 16 May 2025 05:43:34 +0800 Subject: [PATCH 3/5] feat(pipelinetask): support return operators as list of object --- .../com/atgenomix/seqslab/piper/plugin/api/PipelineTask.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/atgenomix/seqslab/piper/plugin/api/PipelineTask.java b/src/main/java/com/atgenomix/seqslab/piper/plugin/api/PipelineTask.java index 8a26172..eb0c4ae 100644 --- a/src/main/java/com/atgenomix/seqslab/piper/plugin/api/PipelineTask.java +++ b/src/main/java/com/atgenomix/seqslab/piper/plugin/api/PipelineTask.java @@ -32,7 +32,7 @@ public interface PipelineTask { /** * Get the list of Operators applied on given input or output FQN. - * @return List + * @return List */ - public List getOperators(); + public List getOperators(); } From 67f714103757033cfc3307854b4a4d1a8aa1a420 Mon Sep 17 00:00:00 2001 From: Yuting LIN Date: Fri, 16 May 2025 09:22:12 +0800 Subject: [PATCH 4/5] fix(pipelinetask): make return type of getOperators() valid --- .../com/atgenomix/seqslab/piper/plugin/api/PipelineTask.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/main/java/com/atgenomix/seqslab/piper/plugin/api/PipelineTask.java b/src/main/java/com/atgenomix/seqslab/piper/plugin/api/PipelineTask.java index eb0c4ae..759bfe8 100644 --- a/src/main/java/com/atgenomix/seqslab/piper/plugin/api/PipelineTask.java +++ b/src/main/java/com/atgenomix/seqslab/piper/plugin/api/PipelineTask.java @@ -18,7 +18,6 @@ import com.atgenomix.seqslab.piper.tags.DeveloperApi; -import com.google.gson.JsonObject; import java.util.List; @@ -34,5 +33,5 @@ public interface PipelineTask { * Get the list of Operators applied on given input or output FQN. * @return List */ - public List getOperators(); + public Object[] getOperators(); } From ae9f31257d33a4204d2a0a3342cf4ae2998ceb7c Mon Sep 17 00:00:00 2001 From: Yuting LIN Date: Fri, 16 May 2025 09:25:45 +0800 Subject: [PATCH 5/5] fix(pipelinetask): fix documentation comments for getOperators --- .../com/atgenomix/seqslab/piper/plugin/api/PipelineTask.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/atgenomix/seqslab/piper/plugin/api/PipelineTask.java b/src/main/java/com/atgenomix/seqslab/piper/plugin/api/PipelineTask.java index 759bfe8..0d68b65 100644 --- a/src/main/java/com/atgenomix/seqslab/piper/plugin/api/PipelineTask.java +++ b/src/main/java/com/atgenomix/seqslab/piper/plugin/api/PipelineTask.java @@ -18,6 +18,7 @@ import com.atgenomix.seqslab.piper.tags.DeveloperApi; +import com.google.gson.JsonObject; import java.util.List; @@ -31,7 +32,7 @@ public interface PipelineTask { /** * Get the list of Operators applied on given input or output FQN. - * @return List + * @return a list of JsonObject */ - public Object[] getOperators(); + public JsonObject[] getOperators(); }