From 258f628a162eda12e0dd6da26e4a923f46fc4f52 Mon Sep 17 00:00:00 2001 From: m c Date: Fri, 15 Apr 2022 10:37:35 -0400 Subject: [PATCH 1/2] result file version as optional input --- .../com/indico/mutation/WorkflowSubmission.kt | 22 +++++++++++++++---- .../indico/type/SubmissionResultVersion.kt | 12 ++++++++++ .../WorkflowSubmissionGraphQL.graphql | 4 ++-- src/main/resources/schema.graphql | 1 + src/test/java/com/indico/main.java | 1 + 5 files changed, 34 insertions(+), 6 deletions(-) create mode 100644 src/main/java/com/indico/type/SubmissionResultVersion.kt diff --git a/src/main/java/com/indico/mutation/WorkflowSubmission.kt b/src/main/java/com/indico/mutation/WorkflowSubmission.kt index 52ac2f7..5eed7ad 100644 --- a/src/main/java/com/indico/mutation/WorkflowSubmission.kt +++ b/src/main/java/com/indico/mutation/WorkflowSubmission.kt @@ -5,8 +5,9 @@ import com.indico.IndicoClient import com.indico.exceptions.IndicoMutationException import com.indico.graphql.WorkflowSubmissionGraphQL import com.indico.graphql.inputs.FileInput +import com.indico.graphql.enums.SubmissionResultVersion as GraphQlResultVersion +import com.indico.type.SubmissionResultVersion import org.apache.logging.log4j.LogManager -import org.json.JSONArray import java.io.IOException import java.util.* @@ -15,6 +16,7 @@ class WorkflowSubmission(private val client: IndicoClient) : Mutation private var id = 0 private var duplicationId: UUID? = null private var streams: Map? = null + private var resultFileVersion: SubmissionResultVersion? = null private val logger = LogManager.getLogger(javaClass) /** @@ -58,12 +60,16 @@ class WorkflowSubmission(private val client: IndicoClient) : Mutation return this } + fun resultFileVersion(version: SubmissionResultVersion?): WorkflowSubmission{ + resultFileVersion = version + return this + } + /** * Executes request and returns Submissions * @return Integer List */ override fun execute(): List? { - var fileMetadata: JSONArray val files: MutableList = ArrayList() try { if (this.files != null) { @@ -78,16 +84,24 @@ class WorkflowSubmission(private val client: IndicoClient) : Mutation if (duplicationId == null) { duplicationId = UUID.randomUUID() } + + val resultVersion = + if(resultFileVersion != null) + OptionalInput.Defined(GraphQlResultVersion.valueOf(resultFileVersion.toString())) + else OptionalInput.Undefined + return try { val call = WorkflowSubmissionGraphQL( WorkflowSubmissionGraphQL.Variables( - files = files, workflowId = id, duplicationId = OptionalInput.Defined(duplicationId.toString()))) + files = files, workflowId = id, duplicationId = OptionalInput.Defined(duplicationId.toString()), + resultVersion = resultVersion + )) val response = client.execute(call) handleErrors(response) val workflowSubmission = response.data!!.workflowSubmission!! if (workflowSubmission.isDuplicateRequest!!) { logger.debug( - "Duplicate submission sent for submission ids " + workflowSubmission.submissionIds.toString() + "Duplicate submission sent for s ubmission ids " + workflowSubmission.submissionIds.toString() ) } workflowSubmission.submissionIds diff --git a/src/main/java/com/indico/type/SubmissionResultVersion.kt b/src/main/java/com/indico/type/SubmissionResultVersion.kt new file mode 100644 index 0000000..fd0161a --- /dev/null +++ b/src/main/java/com/indico/type/SubmissionResultVersion.kt @@ -0,0 +1,12 @@ +package com.indico.type + +/*** + * Submission results file version. + */ +enum class SubmissionResultVersion { + ONE, + TWO, + THREE, + LATEST, + OLDEST_SUPPORTED +} \ No newline at end of file diff --git a/src/main/resources/WorkflowSubmissionGraphQL.graphql b/src/main/resources/WorkflowSubmissionGraphQL.graphql index 0c89322..9b38447 100644 --- a/src/main/resources/WorkflowSubmissionGraphQL.graphql +++ b/src/main/resources/WorkflowSubmissionGraphQL.graphql @@ -1,5 +1,5 @@ -mutation WorkflowSubmissionGraphQL($duplicationId: String, $workflowId: Int!, $files: [FileInput]!, $recordSubmission: Boolean) { - workflowSubmission(duplicationId: $duplicationId, workflowId: $workflowId, files: $files, recordSubmission: $recordSubmission) { +mutation WorkflowSubmissionGraphQL($duplicationId: String, $workflowId: Int!, $files: [FileInput]!, $resultVersion:SubmissionResultVersion) { + workflowSubmission(duplicationId: $duplicationId, workflowId: $workflowId, files: $files, resultVersion: $resultVersion) { submissionIds isDuplicateRequest } diff --git a/src/main/resources/schema.graphql b/src/main/resources/schema.graphql index f89ddf2..dd654c1 100644 --- a/src/main/resources/schema.graphql +++ b/src/main/resources/schema.graphql @@ -2448,6 +2448,7 @@ enum SubmissionResultVersion { OLDEST_SUPPORTED ONE TWO + THREE } "An enumeration." diff --git a/src/test/java/com/indico/main.java b/src/test/java/com/indico/main.java index 6b3dada..c9400dc 100644 --- a/src/test/java/com/indico/main.java +++ b/src/test/java/com/indico/main.java @@ -15,6 +15,7 @@ import com.indico.storage.Blob; import com.indico.storage.RetrieveBlob; import com.indico.type.JobStatus; +import com.indico.type.SubmissionResultVersion; import com.indico.type.SubmissionStatus; import java.util.ArrayList; From d6d0b1665ccf111577664f11b10290e0b2df863d Mon Sep 17 00:00:00 2001 From: m c <458905+goatrocks@users.noreply.github.com> Date: Tue, 26 Apr 2022 14:16:27 -0400 Subject: [PATCH 2/2] remove accidentaly space --- src/main/java/com/indico/mutation/WorkflowSubmission.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/indico/mutation/WorkflowSubmission.kt b/src/main/java/com/indico/mutation/WorkflowSubmission.kt index 5eed7ad..22b2980 100644 --- a/src/main/java/com/indico/mutation/WorkflowSubmission.kt +++ b/src/main/java/com/indico/mutation/WorkflowSubmission.kt @@ -101,7 +101,7 @@ class WorkflowSubmission(private val client: IndicoClient) : Mutation val workflowSubmission = response.data!!.workflowSubmission!! if (workflowSubmission.isDuplicateRequest!!) { logger.debug( - "Duplicate submission sent for s ubmission ids " + workflowSubmission.submissionIds.toString() + "Duplicate submission sent for submission ids " + workflowSubmission.submissionIds.toString() ) } workflowSubmission.submissionIds @@ -109,4 +109,4 @@ class WorkflowSubmission(private val client: IndicoClient) : Mutation throw IndicoMutationException("Call to submit submission failed", ex) } } -} \ No newline at end of file +}