Skip to content

Commit 134ae25

Browse files
authored
[CAT-205] Add result file version to workflow submission query (#43)
* result file version as optional input * remove accidentaly space
1 parent cbbd667 commit 134ae25

5 files changed

Lines changed: 34 additions & 6 deletions

File tree

src/main/java/com/indico/mutation/WorkflowSubmission.kt

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,9 @@ import com.indico.IndicoClient
55
import com.indico.exceptions.IndicoMutationException
66
import com.indico.graphql.WorkflowSubmissionGraphQL
77
import com.indico.graphql.inputs.FileInput
8+
import com.indico.graphql.enums.SubmissionResultVersion as GraphQlResultVersion
9+
import com.indico.type.SubmissionResultVersion
810
import org.apache.logging.log4j.LogManager
9-
import org.json.JSONArray
1011
import java.io.IOException
1112
import java.util.*
1213

@@ -15,6 +16,7 @@ class WorkflowSubmission(private val client: IndicoClient) : Mutation<List<Int?>
1516
private var id = 0
1617
private var duplicationId: UUID? = null
1718
private var streams: Map<String, ByteArray>? = null
19+
private var resultFileVersion: SubmissionResultVersion? = null
1820
private val logger = LogManager.getLogger(javaClass)
1921

2022
/**
@@ -58,12 +60,16 @@ class WorkflowSubmission(private val client: IndicoClient) : Mutation<List<Int?>
5860
return this
5961
}
6062

63+
fun resultFileVersion(version: SubmissionResultVersion?): WorkflowSubmission{
64+
resultFileVersion = version
65+
return this
66+
}
67+
6168
/**
6269
* Executes request and returns Submissions
6370
* @return Integer List
6471
*/
6572
override fun execute(): List<Int?>? {
66-
var fileMetadata: JSONArray
6773
val files: MutableList<FileInput> = ArrayList<FileInput>()
6874
try {
6975
if (this.files != null) {
@@ -78,10 +84,18 @@ class WorkflowSubmission(private val client: IndicoClient) : Mutation<List<Int?>
7884
if (duplicationId == null) {
7985
duplicationId = UUID.randomUUID()
8086
}
87+
88+
val resultVersion =
89+
if(resultFileVersion != null)
90+
OptionalInput.Defined(GraphQlResultVersion.valueOf(resultFileVersion.toString()))
91+
else OptionalInput.Undefined
92+
8193
return try {
8294
val call = WorkflowSubmissionGraphQL(
8395
WorkflowSubmissionGraphQL.Variables(
84-
files = files, workflowId = id, duplicationId = OptionalInput.Defined(duplicationId.toString())))
96+
files = files, workflowId = id, duplicationId = OptionalInput.Defined(duplicationId.toString()),
97+
resultVersion = resultVersion
98+
))
8599
val response = client.execute(call)
86100
handleErrors(response)
87101
val workflowSubmission = response.data!!.workflowSubmission!!
@@ -95,4 +109,4 @@ class WorkflowSubmission(private val client: IndicoClient) : Mutation<List<Int?>
95109
throw IndicoMutationException("Call to submit submission failed", ex)
96110
}
97111
}
98-
}
112+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package com.indico.type
2+
3+
/***
4+
* Submission results file version.
5+
*/
6+
enum class SubmissionResultVersion {
7+
ONE,
8+
TWO,
9+
THREE,
10+
LATEST,
11+
OLDEST_SUPPORTED
12+
}

src/main/resources/WorkflowSubmissionGraphQL.graphql

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
mutation WorkflowSubmissionGraphQL($duplicationId: String, $workflowId: Int!, $files: [FileInput]!, $recordSubmission: Boolean) {
2-
workflowSubmission(duplicationId: $duplicationId, workflowId: $workflowId, files: $files, recordSubmission: $recordSubmission) {
1+
mutation WorkflowSubmissionGraphQL($duplicationId: String, $workflowId: Int!, $files: [FileInput]!, $resultVersion:SubmissionResultVersion) {
2+
workflowSubmission(duplicationId: $duplicationId, workflowId: $workflowId, files: $files, resultVersion: $resultVersion) {
33
submissionIds
44
isDuplicateRequest
55
}

src/main/resources/schema.graphql

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2448,6 +2448,7 @@ enum SubmissionResultVersion {
24482448
OLDEST_SUPPORTED
24492449
ONE
24502450
TWO
2451+
THREE
24512452
}
24522453

24532454
"An enumeration."

src/test/java/com/indico/main.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import com.indico.storage.Blob;
1616
import com.indico.storage.RetrieveBlob;
1717
import com.indico.type.JobStatus;
18+
import com.indico.type.SubmissionResultVersion;
1819
import com.indico.type.SubmissionStatus;
1920

2021
import java.util.ArrayList;

0 commit comments

Comments
 (0)