diff --git a/service/IMPLEMENTATION_NOTES.md b/service/IMPLEMENTATION_NOTES.md
index e9b207dc..0dfe9cf7 100644
--- a/service/IMPLEMENTATION_NOTES.md
+++ b/service/IMPLEMENTATION_NOTES.md
@@ -22,3 +22,18 @@ These methods return a list of error messages, if any, that are accumulated into
thrown inside validateInputs(). Because ValidationException ultimately extends ErrorReportException,
which is handled by the global exception handler, these error messages are returned directly to the caller
in the API response.
+
+## PipelineRun Status updates, Metrics, and Stairway hooks
+We use our pipelineRuns table as the source of truth for our pipeline runs, and we pull in the pipelineRun
+status from Stairway when the pipelineRun completes. In the case of a successful pipelineRun, we update its
+status in the final step of the stairway flight. In the case of a failed pipelineRun, we update its status
+using a Stairway hook ([StairwaySetPipelineRunStatusHook](src/main/java/bio/terra/pipelines/common/utils/StairwaySetPipelineRunStatusHook.java)).
+
+We use a Stairway hook so that the pipelineRun will be marked as failed regardless of when in the flight the
+failure occurs, and whether it's a roll-back-able error or a dismal failure.
+
+Similarly, for metrics reporting, we use a Stairway hook ([StairwayFailedMetricsCounterHook](src/main/java/bio/terra/pipelines/common/utils/StairwayFailedMetricsCounterHook.java))
+to increment the failed metrics counter when a pipelineRun fails.
+
+Because Stairway hooks are applied at the Stairway instance level and not per-flight, we conditionally run the
+logic in each of these hooks only if the corresponding flight map key is present and set to true in the flight map.
diff --git a/service/src/main/java/bio/terra/pipelines/app/controller/JobApiUtils.java b/service/src/main/java/bio/terra/pipelines/app/controller/JobApiUtils.java
index 5202f2e2..5e1c5c7b 100644
--- a/service/src/main/java/bio/terra/pipelines/app/controller/JobApiUtils.java
+++ b/service/src/main/java/bio/terra/pipelines/app/controller/JobApiUtils.java
@@ -34,11 +34,11 @@ public static ApiGetJobsResponse mapEnumeratedJobsToApi(EnumeratedJobs enumerate
public static ApiJobReport mapFlightStateToApiJobReport(FlightState flightState) {
FlightMap inputParameters = flightState.getInputParameters();
- String description = inputParameters.get(JobMapKeys.DESCRIPTION.getKeyName(), String.class);
+ String description = inputParameters.get(JobMapKeys.DESCRIPTION, String.class);
FlightStatus flightStatus = flightState.getFlightStatus();
String submittedDate = flightState.getSubmitted().toString();
ApiJobReport.StatusEnum jobStatus = mapFlightStatusToApi(flightStatus);
- String resultURL = inputParameters.get(JobMapKeys.RESULT_PATH.getKeyName(), String.class);
+ String resultURL = inputParameters.get(JobMapKeys.RESULT_PATH, String.class);
String completedDate = null;
HttpStatus statusCode = HttpStatus.ACCEPTED;
@@ -70,7 +70,7 @@ public static ApiJobReport mapFlightStateToApiJobReport(FlightState flightState)
case SUCCEEDED -> {
FlightMap resultMap =
flightState.getResultMap().orElseThrow(InvalidResultStateException::noResultMap);
- statusCode = resultMap.get(JobMapKeys.STATUS_CODE.getKeyName(), HttpStatus.class);
+ statusCode = resultMap.get(JobMapKeys.STATUS_CODE, HttpStatus.class);
if (statusCode == null) {
statusCode = HttpStatus.OK;
}
diff --git a/service/src/main/java/bio/terra/pipelines/common/utils/FlightUtils.java b/service/src/main/java/bio/terra/pipelines/common/utils/FlightUtils.java
index 9170372f..a757f0e3 100644
--- a/service/src/main/java/bio/terra/pipelines/common/utils/FlightUtils.java
+++ b/service/src/main/java/bio/terra/pipelines/common/utils/FlightUtils.java
@@ -44,8 +44,8 @@ public static void setErrorResponse(
public static void setResponse(
FlightContext context, Object responseObject, HttpStatus responseStatus) {
FlightMap workingMap = context.getWorkingMap();
- workingMap.put(JobMapKeys.RESPONSE.getKeyName(), responseObject);
- workingMap.put(JobMapKeys.STATUS_CODE.getKeyName(), responseStatus);
+ workingMap.put(JobMapKeys.RESPONSE, responseObject);
+ workingMap.put(JobMapKeys.STATUS_CODE, responseStatus);
}
/**
@@ -158,4 +158,9 @@ public static boolean flightComplete(FlightState flightState) {
|| flightState.getFlightStatus() == FlightStatus.FATAL
|| flightState.getFlightStatus() == FlightStatus.SUCCESS);
}
+
+ /** Check whether the provided FlightMap contain a particular key and whether its value is true */
+ public static boolean flightMapKeyIsTrue(FlightMap flightMap, String key) {
+ return flightMap.containsKey(key) && flightMap.get(key, boolean.class);
+ }
}
diff --git a/service/src/main/java/bio/terra/pipelines/common/utils/StairwayFailedMetricsCounterHook.java b/service/src/main/java/bio/terra/pipelines/common/utils/StairwayFailedMetricsCounterHook.java
new file mode 100644
index 00000000..8b60d857
--- /dev/null
+++ b/service/src/main/java/bio/terra/pipelines/common/utils/StairwayFailedMetricsCounterHook.java
@@ -0,0 +1,45 @@
+package bio.terra.pipelines.common.utils;
+
+import static bio.terra.pipelines.common.utils.FlightUtils.flightMapKeyIsTrue;
+
+import bio.terra.pipelines.app.common.MetricsUtils;
+import bio.terra.pipelines.dependencies.stairway.JobMapKeys;
+import bio.terra.stairway.FlightContext;
+import bio.terra.stairway.FlightStatus;
+import bio.terra.stairway.HookAction;
+import bio.terra.stairway.StairwayHook;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Component;
+
+/**
+ * A {@link StairwayHook} that logs a pipeline failure to Prometheus metrics upon flight failure.
+ *
+ *
This hook action will only run if the flight's input parameters contain the JobMapKeys key for
+ * DO_INCREMENT_METRICS_FAILED_COUNTER_HOOK and the flight's status is not SUCCESS.
+ *
+ *
This the endFlight hook action will only run if the flight's input parameters contain the
+ * JobMapKeys key for DO_SET_PIPELINE_RUN_STATUS_FAILED_HOOK and the flight's status is not SUCCESS.
+ *
+ *
The JobMapKeys key for USER_ID is required to set the PipelineRun status to FAILED.
+ */
+@Component
+public class StairwaySetPipelineRunStatusHook implements StairwayHook {
+ private static final Logger logger =
+ LoggerFactory.getLogger(StairwaySetPipelineRunStatusHook.class);
+ private final PipelineRunsService pipelineRunsService;
+
+ public StairwaySetPipelineRunStatusHook(PipelineRunsService pipelineRunsService) {
+ this.pipelineRunsService = pipelineRunsService;
+ }
+
+ @Override
+ public HookAction endFlight(FlightContext context) {
+
+ if (flightMapKeyIsTrue(
+ context.getInputParameters(), JobMapKeys.DO_SET_PIPELINE_RUN_STATUS_FAILED_HOOK)
+ && context.getFlightStatus() != FlightStatus.SUCCESS) {
+ logger.info(
+ "Flight has status {}, setting PipelineRun status to FAILED", context.getFlightStatus());
+
+ // set PipelineRun status to FAILED
+ pipelineRunsService.markPipelineRunFailed(
+ UUID.fromString(context.getFlightId()),
+ context.getInputParameters().get(JobMapKeys.USER_ID, String.class));
+ }
+
+ return HookAction.CONTINUE;
+ }
+}
diff --git a/service/src/main/java/bio/terra/pipelines/dependencies/stairway/JobBuilder.java b/service/src/main/java/bio/terra/pipelines/dependencies/stairway/JobBuilder.java
index 5f4273bb..3064ac1e 100644
--- a/service/src/main/java/bio/terra/pipelines/dependencies/stairway/JobBuilder.java
+++ b/service/src/main/java/bio/terra/pipelines/dependencies/stairway/JobBuilder.java
@@ -1,5 +1,7 @@
package bio.terra.pipelines.dependencies.stairway;
+import static bio.terra.pipelines.dependencies.stairway.JobMapKeys.getRequiredKeys;
+
import bio.terra.common.exception.BadRequestException;
import bio.terra.common.exception.MissingRequiredFieldException;
import bio.terra.common.stairway.MonitoringHook;
@@ -73,7 +75,7 @@ private void validateRequiredInputs() {
}
List missingFields = new ArrayList<>();
- for (String keyName : JobMapKeys.getRequiredKeys()) {
+ for (String keyName : getRequiredKeys()) {
if (!jobParameterMap.containsKey(keyName)
|| Objects.equals(
jobParameterMap.getRaw(keyName), "null") // getRaw stringifies the result
diff --git a/service/src/main/java/bio/terra/pipelines/dependencies/stairway/JobMapKeys.java b/service/src/main/java/bio/terra/pipelines/dependencies/stairway/JobMapKeys.java
index 412c3b26..b7489c3b 100644
--- a/service/src/main/java/bio/terra/pipelines/dependencies/stairway/JobMapKeys.java
+++ b/service/src/main/java/bio/terra/pipelines/dependencies/stairway/JobMapKeys.java
@@ -3,28 +3,28 @@
import java.util.Arrays;
import java.util.List;
-public enum JobMapKeys {
+public class JobMapKeys {
// parameters for all flight types
- DESCRIPTION("description"),
- USER_ID("user_id"),
- PIPELINE_NAME("pipeline_name"),
- STATUS_CODE("status_code"),
- RESPONSE("response"), // result or output of the job
- RESULT_PATH(
- "result_path"); // path to the result API endpoint for this job; only used for asynchronous
- // endpoints
+ public static final String DESCRIPTION = "description";
+ public static final String USER_ID = "user_id";
+ public static final String PIPELINE_NAME = "pipeline_name";
+ public static final String PIPELINE_ID = "pipeline_id";
+ public static final String STATUS_CODE = "status_code";
+ public static final String RESPONSE = "response"; // result or output of the job
+ public static final String RESULT_PATH =
+ "result_path"; // path to the result API endpoint for this job; only used for asynchronous
- private final String keyName;
+ // keys to determine which Stairway hooks to run
+ public static final String DO_SET_PIPELINE_RUN_STATUS_FAILED_HOOK =
+ "do_set_pipeline_run_status_failed_hook";
+ public static final String DO_INCREMENT_METRICS_FAILED_COUNTER_HOOK =
+ "do_increment_metrics_failed_counter_hook";
- JobMapKeys(String keyName) {
- this.keyName = keyName;
- }
-
- public String getKeyName() {
- return keyName;
+ JobMapKeys() {
+ throw new IllegalStateException("Attempted to instantiate utility class JobMapKeys");
}
public static List getRequiredKeys() {
- return Arrays.asList(JobMapKeys.USER_ID.getKeyName(), JobMapKeys.PIPELINE_NAME.getKeyName());
+ return Arrays.asList(USER_ID, PIPELINE_NAME, PIPELINE_ID);
}
}
diff --git a/service/src/main/java/bio/terra/pipelines/dependencies/stairway/JobService.java b/service/src/main/java/bio/terra/pipelines/dependencies/stairway/JobService.java
index f7a8f416..f2639dcb 100644
--- a/service/src/main/java/bio/terra/pipelines/dependencies/stairway/JobService.java
+++ b/service/src/main/java/bio/terra/pipelines/dependencies/stairway/JobService.java
@@ -7,11 +7,13 @@
import bio.terra.common.logging.LoggingUtils;
import bio.terra.common.stairway.MonitoringHook;
import bio.terra.common.stairway.StairwayComponent;
+import bio.terra.common.stairway.StairwayLoggingHook;
import bio.terra.pipelines.app.configuration.internal.StairwayDatabaseConfiguration;
import bio.terra.pipelines.app.controller.JobApiUtils;
import bio.terra.pipelines.common.utils.FlightBeanBag;
import bio.terra.pipelines.common.utils.PipelinesEnum;
-import bio.terra.pipelines.common.utils.StairwayLoggingHook;
+import bio.terra.pipelines.common.utils.StairwayFailedMetricsCounterHook;
+import bio.terra.pipelines.common.utils.StairwaySetPipelineRunStatusHook;
import bio.terra.pipelines.dependencies.stairway.exception.*;
import bio.terra.pipelines.dependencies.stairway.model.EnumeratedJob;
import bio.terra.pipelines.dependencies.stairway.model.EnumeratedJobs;
@@ -37,7 +39,6 @@
@Service
public class JobService {
private final StairwayDatabaseConfiguration stairwayDatabaseConfiguration;
- private final StairwayLoggingHook stairwayLoggingHook;
private final StairwayComponent stairwayComponent;
private final FlightBeanBag flightBeanBag;
private final Logger logger = LoggerFactory.getLogger(JobService.class);
@@ -51,13 +52,11 @@ public class JobService {
@Autowired
public JobService(
StairwayDatabaseConfiguration stairwayDatabaseConfiguration,
- StairwayLoggingHook stairwayLoggingHook,
StairwayComponent stairwayComponent,
FlightBeanBag flightBeanBag,
ObjectMapper objectMapper,
OpenTelemetry openTelemetry) {
this.stairwayDatabaseConfiguration = stairwayDatabaseConfiguration;
- this.stairwayLoggingHook = stairwayLoggingHook;
this.stairwayComponent = stairwayComponent;
this.flightBeanBag = flightBeanBag;
this.objectMapper = objectMapper;
@@ -110,8 +109,10 @@ public void initialize() {
.newStairwayOptionsBuilder()
.dataSource(stairwayDatabaseConfiguration.getDataSource())
.context(flightBeanBag)
- .addHook(stairwayLoggingHook)
+ .addHook(new StairwayLoggingHook())
.addHook(new MonitoringHook(openTelemetry))
+ .addHook(new StairwayFailedMetricsCounterHook())
+ .addHook(new StairwaySetPipelineRunStatusHook(flightBeanBag.getPipelineRunsService()))
.exceptionSerializer(new StairwayExceptionSerializer(objectMapper)));
}
@@ -163,11 +164,11 @@ public JobResultOrException retrieveJobResult(
case SUCCESS:
if (resultClass != null) {
return new JobResultOrException()
- .result(resultMap.get(JobMapKeys.RESPONSE.getKeyName(), resultClass));
+ .result(resultMap.get(JobMapKeys.RESPONSE, resultClass));
}
if (typeReference != null) {
return new JobResultOrException()
- .result(resultMap.get(JobMapKeys.RESPONSE.getKeyName(), typeReference));
+ .result(resultMap.get(JobMapKeys.RESPONSE, typeReference));
}
throw new InvalidResultStateException(
"Both resultClass and typeReference are null. At least one must be non-null.");
@@ -308,9 +309,7 @@ public void validateJobMatchesPipeline(
UUID jobId, PipelinesEnum requestedPipelineName, FlightState flightState)
throws InvalidJobIdException {
PipelinesEnum pipelineFromFlight =
- flightState
- .getInputParameters()
- .get(JobMapKeys.PIPELINE_NAME.getKeyName(), PipelinesEnum.class);
+ flightState.getInputParameters().get(JobMapKeys.PIPELINE_NAME, PipelinesEnum.class);
// note we currently can't test the follow block since we only have one pipeline
if (!requestedPipelineName.equals(pipelineFromFlight)) {
logger.info(
@@ -325,8 +324,7 @@ public void validateJobMatchesPipeline(
private void validateUserAccessToJob(UUID jobId, String userId, FlightState flightState)
throws JobUnauthorizedException {
- if (!userId.equals(
- flightState.getInputParameters().get(JobMapKeys.USER_ID.getKeyName(), String.class))) {
+ if (!userId.equals(flightState.getInputParameters().get(JobMapKeys.USER_ID, String.class))) {
logger.info(
"User {} attempted to retrieve job {} but is not the original submitter", userId, jobId);
throw new JobUnauthorizedException(
@@ -366,8 +364,8 @@ public EnumeratedJobs enumerateJobs(
FlightMap inputParameters = state.getInputParameters();
String jobDescription =
- (inputParameters.containsKey(JobMapKeys.DESCRIPTION.getKeyName()))
- ? inputParameters.get(JobMapKeys.DESCRIPTION.getKeyName(), String.class)
+ (inputParameters.containsKey(JobMapKeys.DESCRIPTION))
+ ? inputParameters.get(JobMapKeys.DESCRIPTION, String.class)
: StringUtils.EMPTY;
EnumeratedJob enumeratedJob =
@@ -385,13 +383,11 @@ private FlightFilter buildFlightFilter(String userId, @Nullable PipelinesEnum pi
FlightFilter filter = new FlightFilter();
// Always filter by user
- filter.addFilterInputParameter(JobMapKeys.USER_ID.getKeyName(), FlightFilterOp.EQUAL, userId);
+ filter.addFilterInputParameter(JobMapKeys.USER_ID, FlightFilterOp.EQUAL, userId);
// Add optional filters
Optional.ofNullable(pipelineName)
.ifPresent(
- t ->
- filter.addFilterInputParameter(
- JobMapKeys.PIPELINE_NAME.getKeyName(), FlightFilterOp.EQUAL, t));
+ t -> filter.addFilterInputParameter(JobMapKeys.PIPELINE_NAME, FlightFilterOp.EQUAL, t));
return filter;
}
diff --git a/service/src/main/java/bio/terra/pipelines/service/PipelineRunsService.java b/service/src/main/java/bio/terra/pipelines/service/PipelineRunsService.java
index 4901e879..ae001e96 100644
--- a/service/src/main/java/bio/terra/pipelines/service/PipelineRunsService.java
+++ b/service/src/main/java/bio/terra/pipelines/service/PipelineRunsService.java
@@ -20,8 +20,8 @@
import bio.terra.pipelines.dependencies.stairway.JobBuilder;
import bio.terra.pipelines.dependencies.stairway.JobMapKeys;
import bio.terra.pipelines.dependencies.stairway.JobService;
+import bio.terra.pipelines.stairway.imputation.ImputationJobMapKeys;
import bio.terra.pipelines.stairway.imputation.RunImputationGcpJobFlight;
-import bio.terra.pipelines.stairway.imputation.RunImputationJobFlightMapKeys;
import bio.terra.stairway.Flight;
import java.util.List;
import java.util.Map;
@@ -149,34 +149,32 @@ public PipelineRun startPipelineRun(
.newJob()
.jobId(jobId)
.flightClass(flightClass)
- .addParameter(JobMapKeys.PIPELINE_NAME.getKeyName(), pipelineName)
- .addParameter(JobMapKeys.USER_ID.getKeyName(), userId)
- .addParameter(JobMapKeys.DESCRIPTION.getKeyName(), description)
- .addParameter(RunImputationJobFlightMapKeys.PIPELINE_ID, pipeline.getId())
+ .addParameter(JobMapKeys.PIPELINE_NAME, pipelineName)
+ .addParameter(JobMapKeys.USER_ID, userId)
+ .addParameter(JobMapKeys.DESCRIPTION, description)
+ .addParameter(JobMapKeys.PIPELINE_ID, pipeline.getId())
+ .addParameter(JobMapKeys.RESULT_PATH, resultPath)
+ .addParameter(JobMapKeys.DO_SET_PIPELINE_RUN_STATUS_FAILED_HOOK, true)
+ .addParameter(JobMapKeys.DO_INCREMENT_METRICS_FAILED_COUNTER_HOOK, true)
.addParameter(
- RunImputationJobFlightMapKeys.PIPELINE_INPUT_DEFINITIONS,
+ ImputationJobMapKeys.PIPELINE_INPUT_DEFINITIONS,
pipeline.getPipelineInputDefinitions())
.addParameter(
- RunImputationJobFlightMapKeys.PIPELINE_OUTPUT_DEFINITIONS,
+ ImputationJobMapKeys.PIPELINE_OUTPUT_DEFINITIONS,
pipeline.getPipelineOutputDefinitions())
+ .addParameter(ImputationJobMapKeys.USER_PROVIDED_PIPELINE_INPUTS, userProvidedInputs)
.addParameter(
- RunImputationJobFlightMapKeys.USER_PROVIDED_PIPELINE_INPUTS, userProvidedInputs)
- .addParameter(
- RunImputationJobFlightMapKeys.CONTROL_WORKSPACE_BILLING_PROJECT,
+ ImputationJobMapKeys.CONTROL_WORKSPACE_BILLING_PROJECT,
pipeline.getWorkspaceBillingProject())
+ .addParameter(ImputationJobMapKeys.CONTROL_WORKSPACE_NAME, pipeline.getWorkspaceName())
.addParameter(
- RunImputationJobFlightMapKeys.CONTROL_WORKSPACE_NAME, pipeline.getWorkspaceName())
- .addParameter(
- RunImputationJobFlightMapKeys.CONTROL_WORKSPACE_STORAGE_CONTAINER_NAME,
+ ImputationJobMapKeys.CONTROL_WORKSPACE_STORAGE_CONTAINER_NAME,
pipelineRun.getWorkspaceStorageContainerName())
.addParameter(
- RunImputationJobFlightMapKeys.CONTROL_WORKSPACE_STORAGE_CONTAINER_PROTOCOL,
+ ImputationJobMapKeys.CONTROL_WORKSPACE_STORAGE_CONTAINER_PROTOCOL,
"gs://") // this is the GCP storage url protocol
- .addParameter(
- RunImputationJobFlightMapKeys.WDL_METHOD_NAME, pipeline.getWdlMethodName())
- .addParameter(
- RunImputationJobFlightMapKeys.WDL_METHOD_VERSION, pipeline.getWdlMethodVersion())
- .addParameter(JobMapKeys.RESULT_PATH.getKeyName(), resultPath);
+ .addParameter(ImputationJobMapKeys.WDL_METHOD_NAME, pipeline.getWdlMethodName())
+ .addParameter(ImputationJobMapKeys.WDL_METHOD_VERSION, pipeline.getWdlMethodVersion());
jobBuilder.submit();
diff --git a/service/src/main/java/bio/terra/pipelines/stairway/imputation/RunImputationJobFlightMapKeys.java b/service/src/main/java/bio/terra/pipelines/stairway/imputation/ImputationJobMapKeys.java
similarity index 89%
rename from service/src/main/java/bio/terra/pipelines/stairway/imputation/RunImputationJobFlightMapKeys.java
rename to service/src/main/java/bio/terra/pipelines/stairway/imputation/ImputationJobMapKeys.java
index f0fa65fa..ceb3c062 100644
--- a/service/src/main/java/bio/terra/pipelines/stairway/imputation/RunImputationJobFlightMapKeys.java
+++ b/service/src/main/java/bio/terra/pipelines/stairway/imputation/ImputationJobMapKeys.java
@@ -1,7 +1,6 @@
package bio.terra.pipelines.stairway.imputation;
-public abstract class RunImputationJobFlightMapKeys {
- public static final String PIPELINE_ID = "pipeline_id";
+public class ImputationJobMapKeys {
public static final String PIPELINE_INPUT_DEFINITIONS = "pipeline_input_definitions";
public static final String PIPELINE_OUTPUT_DEFINITIONS = "pipeline_output_definitions";
public static final String USER_PROVIDED_PIPELINE_INPUTS = "user_provided_pipeline_inputs";
@@ -26,5 +25,7 @@ public abstract class RunImputationJobFlightMapKeys {
public static final String WDS_URI = "wds_uri";
public static final String RUN_SET_ID = "run_set_id";
- RunImputationJobFlightMapKeys() {}
+ ImputationJobMapKeys() {
+ throw new IllegalStateException("Attempted to instantiate utility class ImputationJobMapKeys");
+ }
}
diff --git a/service/src/main/java/bio/terra/pipelines/stairway/imputation/RunImputationAzureJobFlight.java b/service/src/main/java/bio/terra/pipelines/stairway/imputation/RunImputationAzureJobFlight.java
index 30f1d591..e8d8c979 100644
--- a/service/src/main/java/bio/terra/pipelines/stairway/imputation/RunImputationAzureJobFlight.java
+++ b/service/src/main/java/bio/terra/pipelines/stairway/imputation/RunImputationAzureJobFlight.java
@@ -32,28 +32,27 @@ public RunImputationAzureJobFlight(FlightMap inputParameters, Object beanBag) {
FlightUtils.validateRequiredEntries(
inputParameters,
- JobMapKeys.USER_ID.getKeyName(),
- JobMapKeys.PIPELINE_NAME.getKeyName(),
- RunImputationJobFlightMapKeys.PIPELINE_ID,
- RunImputationJobFlightMapKeys.PIPELINE_INPUT_DEFINITIONS,
- RunImputationJobFlightMapKeys.PIPELINE_OUTPUT_DEFINITIONS,
- RunImputationJobFlightMapKeys.USER_PROVIDED_PIPELINE_INPUTS,
- RunImputationJobFlightMapKeys.CONTROL_WORKSPACE_ID,
- RunImputationJobFlightMapKeys.CONTROL_WORKSPACE_STORAGE_CONTAINER_NAME,
- RunImputationJobFlightMapKeys.CONTROL_WORKSPACE_STORAGE_CONTAINER_PROTOCOL,
- RunImputationJobFlightMapKeys.WDL_METHOD_NAME,
- JobMapKeys.RESULT_PATH.getKeyName());
+ JobMapKeys.USER_ID,
+ JobMapKeys.PIPELINE_NAME,
+ JobMapKeys.PIPELINE_ID,
+ JobMapKeys.RESULT_PATH,
+ JobMapKeys.DO_SET_PIPELINE_RUN_STATUS_FAILED_HOOK,
+ JobMapKeys.DO_INCREMENT_METRICS_FAILED_COUNTER_HOOK,
+ ImputationJobMapKeys.PIPELINE_INPUT_DEFINITIONS,
+ ImputationJobMapKeys.PIPELINE_OUTPUT_DEFINITIONS,
+ ImputationJobMapKeys.USER_PROVIDED_PIPELINE_INPUTS,
+ ImputationJobMapKeys.CONTROL_WORKSPACE_ID,
+ ImputationJobMapKeys.CONTROL_WORKSPACE_STORAGE_CONTAINER_NAME,
+ ImputationJobMapKeys.CONTROL_WORKSPACE_STORAGE_CONTAINER_PROTOCOL,
+ ImputationJobMapKeys.WDL_METHOD_NAME);
PipelinesEnum pipelinesEnum =
- PipelinesEnum.valueOf(
- inputParameters.get(JobMapKeys.PIPELINE_NAME.getKeyName(), String.class));
+ PipelinesEnum.valueOf(inputParameters.get(JobMapKeys.PIPELINE_NAME, String.class));
MetricsUtils.incrementPipelineRun(pipelinesEnum);
addStep(
new PrepareImputationInputsStep(
- flightBeanBag.getPipelinesService(),
- flightBeanBag.getPipelineRunsService(),
- flightBeanBag.getImputationConfiguration()),
+ flightBeanBag.getPipelinesService(), flightBeanBag.getImputationConfiguration()),
dbRetryRule);
addStep(new CheckLeonardoHealthStep(flightBeanBag.getLeonardoService()), dataPlaneAppRetryRule);
diff --git a/service/src/main/java/bio/terra/pipelines/stairway/imputation/RunImputationGcpJobFlight.java b/service/src/main/java/bio/terra/pipelines/stairway/imputation/RunImputationGcpJobFlight.java
index 7652b786..ebe4fc81 100644
--- a/service/src/main/java/bio/terra/pipelines/stairway/imputation/RunImputationGcpJobFlight.java
+++ b/service/src/main/java/bio/terra/pipelines/stairway/imputation/RunImputationGcpJobFlight.java
@@ -46,30 +46,29 @@ public RunImputationGcpJobFlight(FlightMap inputParameters, Object beanBag) {
FlightUtils.validateRequiredEntries(
inputParameters,
- JobMapKeys.USER_ID.getKeyName(),
- JobMapKeys.PIPELINE_NAME.getKeyName(),
- RunImputationJobFlightMapKeys.PIPELINE_ID,
- RunImputationJobFlightMapKeys.PIPELINE_INPUT_DEFINITIONS,
- RunImputationJobFlightMapKeys.PIPELINE_OUTPUT_DEFINITIONS,
- RunImputationJobFlightMapKeys.USER_PROVIDED_PIPELINE_INPUTS,
- RunImputationJobFlightMapKeys.CONTROL_WORKSPACE_BILLING_PROJECT,
- RunImputationJobFlightMapKeys.CONTROL_WORKSPACE_NAME,
- RunImputationJobFlightMapKeys.CONTROL_WORKSPACE_STORAGE_CONTAINER_NAME,
- RunImputationJobFlightMapKeys.CONTROL_WORKSPACE_STORAGE_CONTAINER_PROTOCOL,
- RunImputationJobFlightMapKeys.WDL_METHOD_NAME,
- RunImputationJobFlightMapKeys.WDL_METHOD_VERSION,
- JobMapKeys.RESULT_PATH.getKeyName());
+ JobMapKeys.USER_ID,
+ JobMapKeys.PIPELINE_NAME,
+ JobMapKeys.PIPELINE_ID,
+ JobMapKeys.RESULT_PATH,
+ JobMapKeys.DO_SET_PIPELINE_RUN_STATUS_FAILED_HOOK,
+ JobMapKeys.DO_INCREMENT_METRICS_FAILED_COUNTER_HOOK,
+ ImputationJobMapKeys.PIPELINE_INPUT_DEFINITIONS,
+ ImputationJobMapKeys.PIPELINE_OUTPUT_DEFINITIONS,
+ ImputationJobMapKeys.USER_PROVIDED_PIPELINE_INPUTS,
+ ImputationJobMapKeys.CONTROL_WORKSPACE_BILLING_PROJECT,
+ ImputationJobMapKeys.CONTROL_WORKSPACE_NAME,
+ ImputationJobMapKeys.CONTROL_WORKSPACE_STORAGE_CONTAINER_NAME,
+ ImputationJobMapKeys.CONTROL_WORKSPACE_STORAGE_CONTAINER_PROTOCOL,
+ ImputationJobMapKeys.WDL_METHOD_NAME,
+ ImputationJobMapKeys.WDL_METHOD_VERSION);
PipelinesEnum pipelinesEnum =
- PipelinesEnum.valueOf(
- inputParameters.get(JobMapKeys.PIPELINE_NAME.getKeyName(), String.class));
+ PipelinesEnum.valueOf(inputParameters.get(JobMapKeys.PIPELINE_NAME, String.class));
MetricsUtils.incrementPipelineRun(pipelinesEnum);
addStep(
new PrepareImputationInputsStep(
- flightBeanBag.getPipelinesService(),
- flightBeanBag.getPipelineRunsService(),
- flightBeanBag.getImputationConfiguration()),
+ flightBeanBag.getPipelinesService(), flightBeanBag.getImputationConfiguration()),
dbRetryRule);
addStep(
diff --git a/service/src/main/java/bio/terra/pipelines/stairway/imputation/steps/CompletePipelineRunStep.java b/service/src/main/java/bio/terra/pipelines/stairway/imputation/steps/CompletePipelineRunStep.java
index 77b67630..3b529ced 100644
--- a/service/src/main/java/bio/terra/pipelines/stairway/imputation/steps/CompletePipelineRunStep.java
+++ b/service/src/main/java/bio/terra/pipelines/stairway/imputation/steps/CompletePipelineRunStep.java
@@ -3,7 +3,7 @@
import bio.terra.pipelines.common.utils.FlightUtils;
import bio.terra.pipelines.dependencies.stairway.JobMapKeys;
import bio.terra.pipelines.service.PipelineRunsService;
-import bio.terra.pipelines.stairway.imputation.RunImputationJobFlightMapKeys;
+import bio.terra.pipelines.stairway.imputation.ImputationJobMapKeys;
import bio.terra.stairway.FlightContext;
import bio.terra.stairway.Step;
import bio.terra.stairway.StepResult;
@@ -24,17 +24,16 @@ public CompletePipelineRunStep(PipelineRunsService pipelineRunsService) {
public StepResult doStep(FlightContext flightContext) {
// validate and extract parameters from input map
var inputParameters = flightContext.getInputParameters();
- FlightUtils.validateRequiredEntries(inputParameters, JobMapKeys.USER_ID.getKeyName());
+ FlightUtils.validateRequiredEntries(inputParameters, JobMapKeys.USER_ID);
UUID jobId = UUID.fromString(flightContext.getFlightId());
- String userId = inputParameters.get(JobMapKeys.USER_ID.getKeyName(), String.class);
+ String userId = inputParameters.get(JobMapKeys.USER_ID, String.class);
// validate and extract parameters from working map
var workingMap = flightContext.getWorkingMap();
- FlightUtils.validateRequiredEntries(
- workingMap, RunImputationJobFlightMapKeys.PIPELINE_RUN_OUTPUTS);
+ FlightUtils.validateRequiredEntries(workingMap, ImputationJobMapKeys.PIPELINE_RUN_OUTPUTS);
Map outputsMap =
- workingMap.get(RunImputationJobFlightMapKeys.PIPELINE_RUN_OUTPUTS, Map.class);
+ workingMap.get(ImputationJobMapKeys.PIPELINE_RUN_OUTPUTS, Map.class);
pipelineRunsService.markPipelineRunSuccessAndWriteOutputs(jobId, userId, outputsMap);
diff --git a/service/src/main/java/bio/terra/pipelines/stairway/imputation/steps/PrepareImputationInputsStep.java b/service/src/main/java/bio/terra/pipelines/stairway/imputation/steps/PrepareImputationInputsStep.java
index 90bf754d..2f990bc6 100644
--- a/service/src/main/java/bio/terra/pipelines/stairway/imputation/steps/PrepareImputationInputsStep.java
+++ b/service/src/main/java/bio/terra/pipelines/stairway/imputation/steps/PrepareImputationInputsStep.java
@@ -2,16 +2,14 @@
import static bio.terra.pipelines.common.utils.FileUtils.constructDestinationBlobNameForUserInputFile;
-import bio.terra.pipelines.app.common.MetricsUtils;
import bio.terra.pipelines.app.configuration.internal.ImputationConfiguration;
import bio.terra.pipelines.common.utils.FlightUtils;
import bio.terra.pipelines.common.utils.PipelineVariableTypesEnum;
import bio.terra.pipelines.common.utils.PipelinesEnum;
import bio.terra.pipelines.db.entities.PipelineInputDefinition;
import bio.terra.pipelines.dependencies.stairway.JobMapKeys;
-import bio.terra.pipelines.service.PipelineRunsService;
import bio.terra.pipelines.service.PipelinesService;
-import bio.terra.pipelines.stairway.imputation.RunImputationJobFlightMapKeys;
+import bio.terra.pipelines.stairway.imputation.ImputationJobMapKeys;
import bio.terra.stairway.FlightContext;
import bio.terra.stairway.Step;
import bio.terra.stairway.StepResult;
@@ -36,16 +34,12 @@
*/
public class PrepareImputationInputsStep implements Step {
private final PipelinesService pipelinesService;
- private final PipelineRunsService pipelineRunsService;
private final ImputationConfiguration imputationConfiguration;
private final Logger logger = LoggerFactory.getLogger(PrepareImputationInputsStep.class);
public PrepareImputationInputsStep(
- PipelinesService pipelinesService,
- PipelineRunsService pipelineRunsService,
- ImputationConfiguration imputationConfiguration) {
+ PipelinesService pipelinesService, ImputationConfiguration imputationConfiguration) {
this.pipelinesService = pipelinesService;
- this.pipelineRunsService = pipelineRunsService;
this.imputationConfiguration = imputationConfiguration;
}
@@ -56,28 +50,26 @@ public StepResult doStep(FlightContext flightContext) {
var workingMap = flightContext.getWorkingMap();
FlightUtils.validateRequiredEntries(
inputParameters,
- JobMapKeys.PIPELINE_NAME.getKeyName(),
- RunImputationJobFlightMapKeys.PIPELINE_INPUT_DEFINITIONS,
- RunImputationJobFlightMapKeys.USER_PROVIDED_PIPELINE_INPUTS,
- RunImputationJobFlightMapKeys.CONTROL_WORKSPACE_STORAGE_CONTAINER_NAME,
- RunImputationJobFlightMapKeys.CONTROL_WORKSPACE_STORAGE_CONTAINER_PROTOCOL);
+ JobMapKeys.PIPELINE_NAME,
+ ImputationJobMapKeys.PIPELINE_INPUT_DEFINITIONS,
+ ImputationJobMapKeys.USER_PROVIDED_PIPELINE_INPUTS,
+ ImputationJobMapKeys.CONTROL_WORKSPACE_STORAGE_CONTAINER_NAME,
+ ImputationJobMapKeys.CONTROL_WORKSPACE_STORAGE_CONTAINER_PROTOCOL);
PipelinesEnum pipelineEnum =
- PipelinesEnum.valueOf(
- inputParameters.get(JobMapKeys.PIPELINE_NAME.getKeyName(), String.class));
+ PipelinesEnum.valueOf(inputParameters.get(JobMapKeys.PIPELINE_NAME, String.class));
List allInputDefinitions =
inputParameters.get(
- RunImputationJobFlightMapKeys.PIPELINE_INPUT_DEFINITIONS, new TypeReference<>() {});
+ ImputationJobMapKeys.PIPELINE_INPUT_DEFINITIONS, new TypeReference<>() {});
Map userProvidedPipelineInputs =
inputParameters.get(
- RunImputationJobFlightMapKeys.USER_PROVIDED_PIPELINE_INPUTS, new TypeReference<>() {});
+ ImputationJobMapKeys.USER_PROVIDED_PIPELINE_INPUTS, new TypeReference<>() {});
String controlWorkspaceStorageContainerName =
inputParameters.get(
- RunImputationJobFlightMapKeys.CONTROL_WORKSPACE_STORAGE_CONTAINER_NAME, String.class);
+ ImputationJobMapKeys.CONTROL_WORKSPACE_STORAGE_CONTAINER_NAME, String.class);
String controlWorkspaceStorageContainerProtocol =
inputParameters.get(
- RunImputationJobFlightMapKeys.CONTROL_WORKSPACE_STORAGE_CONTAINER_PROTOCOL,
- String.class);
+ ImputationJobMapKeys.CONTROL_WORKSPACE_STORAGE_CONTAINER_PROTOCOL, String.class);
UUID jobId = UUID.fromString(flightContext.getFlightId());
// construct the control workspace storage URL
@@ -124,7 +116,7 @@ public StepResult doStep(FlightContext flightContext) {
wdlVariableName, pipelineInputType.cast(keyName, rawValue, new TypeReference<>() {}));
}
- workingMap.put(RunImputationJobFlightMapKeys.ALL_PIPELINE_INPUTS, formattedPipelineInputs);
+ workingMap.put(ImputationJobMapKeys.ALL_PIPELINE_INPUTS, formattedPipelineInputs);
logger.info(
"Constructed and formatted {} pipeline inputs: {}", pipelineEnum, formattedPipelineInputs);
@@ -133,25 +125,6 @@ public StepResult doStep(FlightContext flightContext) {
@Override
public StepResult undoStep(FlightContext flightContext) {
- // this is the first step in RunImputationGcpJobFlight and RunImputationAzureJobFlight.
- // if undoStep is called it means the flight failed
- // to be moved to a StairwayHook in https://broadworkbench.atlassian.net/browse/TSPS-181
-
- // set PipelineRun status to FAILED
- var inputParameters = flightContext.getInputParameters();
- FlightUtils.validateRequiredEntries(inputParameters, JobMapKeys.USER_ID.getKeyName());
- pipelineRunsService.markPipelineRunFailed(
- UUID.fromString(flightContext.getFlightId()),
- inputParameters.get(JobMapKeys.USER_ID.getKeyName(), String.class));
-
- // increment failed runs counter metric
- PipelinesEnum pipelinesEnum =
- PipelinesEnum.valueOf(
- flightContext
- .getInputParameters()
- .get(JobMapKeys.PIPELINE_NAME.getKeyName(), String.class));
- MetricsUtils.incrementPipelineRunFailed(pipelinesEnum);
-
return StepResult.getStepResultSuccess();
}
}
diff --git a/service/src/main/java/bio/terra/pipelines/stairway/imputation/steps/azure/AddWdsRowStep.java b/service/src/main/java/bio/terra/pipelines/stairway/imputation/steps/azure/AddWdsRowStep.java
index eccc4fb2..6986c5be 100644
--- a/service/src/main/java/bio/terra/pipelines/stairway/imputation/steps/azure/AddWdsRowStep.java
+++ b/service/src/main/java/bio/terra/pipelines/stairway/imputation/steps/azure/AddWdsRowStep.java
@@ -6,7 +6,7 @@
import bio.terra.pipelines.dependencies.stairway.JobMapKeys;
import bio.terra.pipelines.dependencies.wds.WdsService;
import bio.terra.pipelines.dependencies.wds.WdsServiceException;
-import bio.terra.pipelines.stairway.imputation.RunImputationJobFlightMapKeys;
+import bio.terra.pipelines.stairway.imputation.ImputationJobMapKeys;
import bio.terra.stairway.*;
import com.fasterxml.jackson.core.type.TypeReference;
import java.util.Map;
@@ -40,25 +40,20 @@ public StepResult doStep(FlightContext flightContext) {
// validate and extract parameters from input map
FlightMap inputParameters = flightContext.getInputParameters();
FlightUtils.validateRequiredEntries(
- inputParameters,
- JobMapKeys.PIPELINE_NAME.getKeyName(),
- RunImputationJobFlightMapKeys.CONTROL_WORKSPACE_ID);
+ inputParameters, JobMapKeys.PIPELINE_NAME, ImputationJobMapKeys.CONTROL_WORKSPACE_ID);
String controlWorkspaceId =
- inputParameters.get(RunImputationJobFlightMapKeys.CONTROL_WORKSPACE_ID, String.class);
- PipelinesEnum pipelineName =
- inputParameters.get(JobMapKeys.PIPELINE_NAME.getKeyName(), PipelinesEnum.class);
+ inputParameters.get(ImputationJobMapKeys.CONTROL_WORKSPACE_ID, String.class);
+ PipelinesEnum pipelineName = inputParameters.get(JobMapKeys.PIPELINE_NAME, PipelinesEnum.class);
// validate and extract parameters from working map
FlightMap workingMap = flightContext.getWorkingMap();
FlightUtils.validateRequiredEntries(
- workingMap,
- RunImputationJobFlightMapKeys.WDS_URI,
- RunImputationJobFlightMapKeys.ALL_PIPELINE_INPUTS);
+ workingMap, ImputationJobMapKeys.WDS_URI, ImputationJobMapKeys.ALL_PIPELINE_INPUTS);
- String wdsUri = workingMap.get(RunImputationJobFlightMapKeys.WDS_URI, String.class);
+ String wdsUri = workingMap.get(ImputationJobMapKeys.WDS_URI, String.class);
Map allPipelineInputs =
- workingMap.get(RunImputationJobFlightMapKeys.ALL_PIPELINE_INPUTS, new TypeReference<>() {});
+ workingMap.get(ImputationJobMapKeys.ALL_PIPELINE_INPUTS, new TypeReference<>() {});
// create row to write to WDS
RecordAttributes recordAttributes = new RecordAttributes();
diff --git a/service/src/main/java/bio/terra/pipelines/stairway/imputation/steps/azure/CheckCbasHealthStep.java b/service/src/main/java/bio/terra/pipelines/stairway/imputation/steps/azure/CheckCbasHealthStep.java
index 3a184d28..3e8b4fcf 100644
--- a/service/src/main/java/bio/terra/pipelines/stairway/imputation/steps/azure/CheckCbasHealthStep.java
+++ b/service/src/main/java/bio/terra/pipelines/stairway/imputation/steps/azure/CheckCbasHealthStep.java
@@ -5,7 +5,7 @@
import bio.terra.pipelines.dependencies.cbas.CbasServiceApiException;
import bio.terra.pipelines.dependencies.common.HealthCheckWorkspaceApps;
import bio.terra.pipelines.dependencies.sam.SamService;
-import bio.terra.pipelines.stairway.imputation.RunImputationJobFlightMapKeys;
+import bio.terra.pipelines.stairway.imputation.ImputationJobMapKeys;
import bio.terra.stairway.*;
/**
@@ -26,9 +26,9 @@ public CheckCbasHealthStep(CbasService cbasService, SamService samService) {
public StepResult doStep(FlightContext flightContext) {
// validate and extract parameters from working map
FlightMap workingMap = flightContext.getWorkingMap();
- FlightUtils.validateRequiredEntries(workingMap, RunImputationJobFlightMapKeys.CBAS_URI);
+ FlightUtils.validateRequiredEntries(workingMap, ImputationJobMapKeys.CBAS_URI);
- String cbasUri = workingMap.get(RunImputationJobFlightMapKeys.CBAS_URI, String.class);
+ String cbasUri = workingMap.get(ImputationJobMapKeys.CBAS_URI, String.class);
HealthCheckWorkspaceApps.Result healthResult =
cbasService.checkHealth(cbasUri, samService.getTeaspoonsServiceAccountToken());
diff --git a/service/src/main/java/bio/terra/pipelines/stairway/imputation/steps/azure/CheckWdsHealthStep.java b/service/src/main/java/bio/terra/pipelines/stairway/imputation/steps/azure/CheckWdsHealthStep.java
index 45650ed1..94d4af89 100644
--- a/service/src/main/java/bio/terra/pipelines/stairway/imputation/steps/azure/CheckWdsHealthStep.java
+++ b/service/src/main/java/bio/terra/pipelines/stairway/imputation/steps/azure/CheckWdsHealthStep.java
@@ -5,7 +5,7 @@
import bio.terra.pipelines.dependencies.sam.SamService;
import bio.terra.pipelines.dependencies.wds.WdsService;
import bio.terra.pipelines.dependencies.wds.WdsServiceApiException;
-import bio.terra.pipelines.stairway.imputation.RunImputationJobFlightMapKeys;
+import bio.terra.pipelines.stairway.imputation.ImputationJobMapKeys;
import bio.terra.stairway.*;
import org.databiosphere.workspacedata.client.ApiException;
@@ -27,9 +27,9 @@ public CheckWdsHealthStep(WdsService wdsService, SamService samService) {
public StepResult doStep(FlightContext flightContext) {
// validate and extract parameters from working map
FlightMap workingMap = flightContext.getWorkingMap();
- FlightUtils.validateRequiredEntries(workingMap, RunImputationJobFlightMapKeys.WDS_URI);
+ FlightUtils.validateRequiredEntries(workingMap, ImputationJobMapKeys.WDS_URI);
- String wdsUri = workingMap.get(RunImputationJobFlightMapKeys.WDS_URI, String.class);
+ String wdsUri = workingMap.get(ImputationJobMapKeys.WDS_URI, String.class);
HealthCheckWorkspaceApps.Result healthResult =
wdsService.checkHealth(wdsUri, samService.getTeaspoonsServiceAccountToken());
diff --git a/service/src/main/java/bio/terra/pipelines/stairway/imputation/steps/azure/FetchOutputsFromWdsStep.java b/service/src/main/java/bio/terra/pipelines/stairway/imputation/steps/azure/FetchOutputsFromWdsStep.java
index 79152be0..4e0f9f01 100644
--- a/service/src/main/java/bio/terra/pipelines/stairway/imputation/steps/azure/FetchOutputsFromWdsStep.java
+++ b/service/src/main/java/bio/terra/pipelines/stairway/imputation/steps/azure/FetchOutputsFromWdsStep.java
@@ -7,7 +7,7 @@
import bio.terra.pipelines.dependencies.stairway.JobMapKeys;
import bio.terra.pipelines.dependencies.wds.WdsService;
import bio.terra.pipelines.dependencies.wds.WdsServiceException;
-import bio.terra.pipelines.stairway.imputation.RunImputationJobFlightMapKeys;
+import bio.terra.pipelines.stairway.imputation.ImputationJobMapKeys;
import bio.terra.stairway.FlightContext;
import bio.terra.stairway.FlightMap;
import bio.terra.stairway.Step;
@@ -45,23 +45,22 @@ public StepResult doStep(FlightContext flightContext) {
var inputParameters = flightContext.getInputParameters();
FlightUtils.validateRequiredEntries(
inputParameters,
- JobMapKeys.PIPELINE_NAME.getKeyName(),
- RunImputationJobFlightMapKeys.CONTROL_WORKSPACE_ID,
- RunImputationJobFlightMapKeys.PIPELINE_OUTPUT_DEFINITIONS);
+ JobMapKeys.PIPELINE_NAME,
+ ImputationJobMapKeys.CONTROL_WORKSPACE_ID,
+ ImputationJobMapKeys.PIPELINE_OUTPUT_DEFINITIONS);
String controlWorkspaceId =
- inputParameters.get(RunImputationJobFlightMapKeys.CONTROL_WORKSPACE_ID, String.class);
- PipelinesEnum pipelineName =
- inputParameters.get(JobMapKeys.PIPELINE_NAME.getKeyName(), PipelinesEnum.class);
+ inputParameters.get(ImputationJobMapKeys.CONTROL_WORKSPACE_ID, String.class);
+ PipelinesEnum pipelineName = inputParameters.get(JobMapKeys.PIPELINE_NAME, PipelinesEnum.class);
List outputDefinitions =
inputParameters.get(
- RunImputationJobFlightMapKeys.PIPELINE_OUTPUT_DEFINITIONS, new TypeReference<>() {});
+ ImputationJobMapKeys.PIPELINE_OUTPUT_DEFINITIONS, new TypeReference<>() {});
// validate and extract parameters from working map
FlightMap workingMap = flightContext.getWorkingMap();
- FlightUtils.validateRequiredEntries(workingMap, RunImputationJobFlightMapKeys.WDS_URI);
+ FlightUtils.validateRequiredEntries(workingMap, ImputationJobMapKeys.WDS_URI);
- String wdsUri = workingMap.get(RunImputationJobFlightMapKeys.WDS_URI, String.class);
+ String wdsUri = workingMap.get(ImputationJobMapKeys.WDS_URI, String.class);
RecordResponse recordResponse;
try {
@@ -83,7 +82,7 @@ public StepResult doStep(FlightContext flightContext) {
outputs.put(keyName, recordResponse.getAttributes().get(wdlVariableName).toString());
}
- workingMap.put(RunImputationJobFlightMapKeys.PIPELINE_RUN_OUTPUTS, outputs);
+ workingMap.put(ImputationJobMapKeys.PIPELINE_RUN_OUTPUTS, outputs);
return StepResult.getStepResultSuccess();
}
diff --git a/service/src/main/java/bio/terra/pipelines/stairway/imputation/steps/azure/GetAppUrisStep.java b/service/src/main/java/bio/terra/pipelines/stairway/imputation/steps/azure/GetAppUrisStep.java
index e2ebd459..bed8ceb7 100644
--- a/service/src/main/java/bio/terra/pipelines/stairway/imputation/steps/azure/GetAppUrisStep.java
+++ b/service/src/main/java/bio/terra/pipelines/stairway/imputation/steps/azure/GetAppUrisStep.java
@@ -3,7 +3,7 @@
import bio.terra.pipelines.common.utils.FlightUtils;
import bio.terra.pipelines.dependencies.leonardo.LeonardoService;
import bio.terra.pipelines.dependencies.sam.SamService;
-import bio.terra.pipelines.stairway.imputation.RunImputationJobFlightMapKeys;
+import bio.terra.pipelines.stairway.imputation.ImputationJobMapKeys;
import bio.terra.stairway.*;
import java.util.List;
import org.broadinstitute.dsde.workbench.client.leonardo.model.ListAppResponse;
@@ -29,11 +29,10 @@ public GetAppUrisStep(LeonardoService leonardoService, SamService samService) {
public StepResult doStep(FlightContext flightContext) {
// validate and extract parameters from input map
FlightMap inputParameters = flightContext.getInputParameters();
- FlightUtils.validateRequiredEntries(
- inputParameters, RunImputationJobFlightMapKeys.CONTROL_WORKSPACE_ID);
+ FlightUtils.validateRequiredEntries(inputParameters, ImputationJobMapKeys.CONTROL_WORKSPACE_ID);
String controlWorkspaceId =
- inputParameters.get(RunImputationJobFlightMapKeys.CONTROL_WORKSPACE_ID, String.class);
+ inputParameters.get(ImputationJobMapKeys.CONTROL_WORKSPACE_ID, String.class);
List appResponseList =
leonardoService.getApps(controlWorkspaceId, samService.getTeaspoonsServiceAccountToken());
@@ -43,8 +42,8 @@ public StepResult doStep(FlightContext flightContext) {
leonardoService.getWdsUrlFromGetAppResponse(appResponseList, controlWorkspaceId);
FlightMap workingMap = flightContext.getWorkingMap();
- workingMap.put(RunImputationJobFlightMapKeys.CBAS_URI, cbasUri);
- workingMap.put(RunImputationJobFlightMapKeys.WDS_URI, wdsUri);
+ workingMap.put(ImputationJobMapKeys.CBAS_URI, cbasUri);
+ workingMap.put(ImputationJobMapKeys.WDS_URI, wdsUri);
return StepResult.getStepResultSuccess();
}
diff --git a/service/src/main/java/bio/terra/pipelines/stairway/imputation/steps/azure/PollCromwellRunSetStatusStep.java b/service/src/main/java/bio/terra/pipelines/stairway/imputation/steps/azure/PollCromwellRunSetStatusStep.java
index 334bb27b..0c464ffa 100644
--- a/service/src/main/java/bio/terra/pipelines/stairway/imputation/steps/azure/PollCromwellRunSetStatusStep.java
+++ b/service/src/main/java/bio/terra/pipelines/stairway/imputation/steps/azure/PollCromwellRunSetStatusStep.java
@@ -7,7 +7,7 @@
import bio.terra.pipelines.dependencies.cbas.CbasService;
import bio.terra.pipelines.dependencies.cbas.CbasServiceApiException;
import bio.terra.pipelines.dependencies.sam.SamService;
-import bio.terra.pipelines.stairway.imputation.RunImputationJobFlightMapKeys;
+import bio.terra.pipelines.stairway.imputation.ImputationJobMapKeys;
import bio.terra.stairway.*;
import java.util.List;
import java.util.UUID;
@@ -44,12 +44,10 @@ public StepResult doStep(FlightContext flightContext) throws InterruptedExceptio
// validate and extract parameters from working map
FlightMap workingMap = flightContext.getWorkingMap();
FlightUtils.validateRequiredEntries(
- workingMap,
- RunImputationJobFlightMapKeys.CBAS_URI,
- RunImputationJobFlightMapKeys.RUN_SET_ID);
+ workingMap, ImputationJobMapKeys.CBAS_URI, ImputationJobMapKeys.RUN_SET_ID);
- String cbasUri = workingMap.get(RunImputationJobFlightMapKeys.CBAS_URI, String.class);
- UUID runSetId = workingMap.get(RunImputationJobFlightMapKeys.RUN_SET_ID, UUID.class);
+ String cbasUri = workingMap.get(ImputationJobMapKeys.CBAS_URI, String.class);
+ UUID runSetId = workingMap.get(ImputationJobMapKeys.RUN_SET_ID, UUID.class);
// poll until all runs are in a finalized state
RunLogResponse runLogResponse = null;
diff --git a/service/src/main/java/bio/terra/pipelines/stairway/imputation/steps/azure/SubmitCromwellRunSetStep.java b/service/src/main/java/bio/terra/pipelines/stairway/imputation/steps/azure/SubmitCromwellRunSetStep.java
index 578aacf0..05c66458 100644
--- a/service/src/main/java/bio/terra/pipelines/stairway/imputation/steps/azure/SubmitCromwellRunSetStep.java
+++ b/service/src/main/java/bio/terra/pipelines/stairway/imputation/steps/azure/SubmitCromwellRunSetStep.java
@@ -12,7 +12,7 @@
import bio.terra.pipelines.dependencies.sam.SamService;
import bio.terra.pipelines.dependencies.stairway.JobMapKeys;
import bio.terra.pipelines.service.PipelinesService;
-import bio.terra.pipelines.stairway.imputation.RunImputationJobFlightMapKeys;
+import bio.terra.pipelines.stairway.imputation.ImputationJobMapKeys;
import bio.terra.stairway.*;
import com.fasterxml.jackson.core.type.TypeReference;
import java.util.List;
@@ -53,29 +53,27 @@ public StepResult doStep(FlightContext flightContext) {
FlightMap inputParameters = flightContext.getInputParameters();
FlightUtils.validateRequiredEntries(
inputParameters,
- JobMapKeys.DESCRIPTION.getKeyName(),
- JobMapKeys.PIPELINE_NAME.getKeyName(),
- RunImputationJobFlightMapKeys.PIPELINE_INPUT_DEFINITIONS,
- RunImputationJobFlightMapKeys.PIPELINE_OUTPUT_DEFINITIONS,
- RunImputationJobFlightMapKeys.WDL_METHOD_NAME);
+ JobMapKeys.DESCRIPTION,
+ JobMapKeys.PIPELINE_NAME,
+ ImputationJobMapKeys.PIPELINE_INPUT_DEFINITIONS,
+ ImputationJobMapKeys.PIPELINE_OUTPUT_DEFINITIONS,
+ ImputationJobMapKeys.WDL_METHOD_NAME);
- String description = inputParameters.get(JobMapKeys.DESCRIPTION.getKeyName(), String.class);
- PipelinesEnum pipelineName =
- inputParameters.get(JobMapKeys.PIPELINE_NAME.getKeyName(), PipelinesEnum.class);
+ String description = inputParameters.get(JobMapKeys.DESCRIPTION, String.class);
+ PipelinesEnum pipelineName = inputParameters.get(JobMapKeys.PIPELINE_NAME, PipelinesEnum.class);
List allInputDefinitions =
inputParameters.get(
- RunImputationJobFlightMapKeys.PIPELINE_INPUT_DEFINITIONS, new TypeReference<>() {});
+ ImputationJobMapKeys.PIPELINE_INPUT_DEFINITIONS, new TypeReference<>() {});
List outputDefinitions =
inputParameters.get(
- RunImputationJobFlightMapKeys.PIPELINE_OUTPUT_DEFINITIONS, new TypeReference<>() {});
- String wdlMethodName =
- inputParameters.get(RunImputationJobFlightMapKeys.WDL_METHOD_NAME, String.class);
+ ImputationJobMapKeys.PIPELINE_OUTPUT_DEFINITIONS, new TypeReference<>() {});
+ String wdlMethodName = inputParameters.get(ImputationJobMapKeys.WDL_METHOD_NAME, String.class);
// validate and extract parameters from working map
FlightMap workingMap = flightContext.getWorkingMap();
- FlightUtils.validateRequiredEntries(workingMap, RunImputationJobFlightMapKeys.CBAS_URI);
+ FlightUtils.validateRequiredEntries(workingMap, ImputationJobMapKeys.CBAS_URI);
- String cbasUri = workingMap.get(RunImputationJobFlightMapKeys.CBAS_URI, String.class);
+ String cbasUri = workingMap.get(ImputationJobMapKeys.CBAS_URI, String.class);
// grab methodVersionId needed to submit a submission
MethodListResponse methodListResponse =
@@ -131,7 +129,7 @@ public StepResult doStep(FlightContext flightContext) {
} catch (CbasServiceApiException e) {
return new StepResult(StepStatus.STEP_RESULT_FAILURE_RETRY, e);
}
- workingMap.put(RunImputationJobFlightMapKeys.RUN_SET_ID, runSetStateResponse.getRunSetId());
+ workingMap.put(ImputationJobMapKeys.RUN_SET_ID, runSetStateResponse.getRunSetId());
return StepResult.getStepResultSuccess();
}
diff --git a/service/src/main/java/bio/terra/pipelines/stairway/imputation/steps/gcp/AddDataTableRowStep.java b/service/src/main/java/bio/terra/pipelines/stairway/imputation/steps/gcp/AddDataTableRowStep.java
index 1c9e3a65..c1e78323 100644
--- a/service/src/main/java/bio/terra/pipelines/stairway/imputation/steps/gcp/AddDataTableRowStep.java
+++ b/service/src/main/java/bio/terra/pipelines/stairway/imputation/steps/gcp/AddDataTableRowStep.java
@@ -6,7 +6,7 @@
import bio.terra.pipelines.dependencies.rawls.RawlsServiceApiException;
import bio.terra.pipelines.dependencies.sam.SamService;
import bio.terra.pipelines.dependencies.stairway.JobMapKeys;
-import bio.terra.pipelines.stairway.imputation.RunImputationJobFlightMapKeys;
+import bio.terra.pipelines.stairway.imputation.ImputationJobMapKeys;
import bio.terra.rawls.model.Entity;
import bio.terra.stairway.*;
import com.fasterxml.jackson.core.type.TypeReference;
@@ -41,24 +41,21 @@ public StepResult doStep(FlightContext flightContext) {
FlightMap inputParameters = flightContext.getInputParameters();
FlightUtils.validateRequiredEntries(
inputParameters,
- JobMapKeys.PIPELINE_NAME.getKeyName(),
- RunImputationJobFlightMapKeys.CONTROL_WORKSPACE_BILLING_PROJECT,
- RunImputationJobFlightMapKeys.CONTROL_WORKSPACE_NAME);
+ JobMapKeys.PIPELINE_NAME,
+ ImputationJobMapKeys.CONTROL_WORKSPACE_BILLING_PROJECT,
+ ImputationJobMapKeys.CONTROL_WORKSPACE_NAME);
String controlWorkspaceName =
- inputParameters.get(RunImputationJobFlightMapKeys.CONTROL_WORKSPACE_NAME, String.class);
+ inputParameters.get(ImputationJobMapKeys.CONTROL_WORKSPACE_NAME, String.class);
String controlWorkspaceProject =
- inputParameters.get(
- RunImputationJobFlightMapKeys.CONTROL_WORKSPACE_BILLING_PROJECT, String.class);
- PipelinesEnum pipelineName =
- inputParameters.get(JobMapKeys.PIPELINE_NAME.getKeyName(), PipelinesEnum.class);
+ inputParameters.get(ImputationJobMapKeys.CONTROL_WORKSPACE_BILLING_PROJECT, String.class);
+ PipelinesEnum pipelineName = inputParameters.get(JobMapKeys.PIPELINE_NAME, PipelinesEnum.class);
// validate and extract parameters from working map
FlightMap workingMap = flightContext.getWorkingMap();
- FlightUtils.validateRequiredEntries(
- workingMap, RunImputationJobFlightMapKeys.ALL_PIPELINE_INPUTS);
+ FlightUtils.validateRequiredEntries(workingMap, ImputationJobMapKeys.ALL_PIPELINE_INPUTS);
Map allPipelineInputs =
- workingMap.get(RunImputationJobFlightMapKeys.ALL_PIPELINE_INPUTS, new TypeReference<>() {});
+ workingMap.get(ImputationJobMapKeys.ALL_PIPELINE_INPUTS, new TypeReference<>() {});
Entity entity =
new Entity()
diff --git a/service/src/main/java/bio/terra/pipelines/stairway/imputation/steps/gcp/FetchOutputsFromDataTableStep.java b/service/src/main/java/bio/terra/pipelines/stairway/imputation/steps/gcp/FetchOutputsFromDataTableStep.java
index 474f7d7c..7ce2790c 100644
--- a/service/src/main/java/bio/terra/pipelines/stairway/imputation/steps/gcp/FetchOutputsFromDataTableStep.java
+++ b/service/src/main/java/bio/terra/pipelines/stairway/imputation/steps/gcp/FetchOutputsFromDataTableStep.java
@@ -8,7 +8,7 @@
import bio.terra.pipelines.dependencies.sam.SamService;
import bio.terra.pipelines.dependencies.stairway.JobMapKeys;
import bio.terra.pipelines.service.PipelineInputsOutputsService;
-import bio.terra.pipelines.stairway.imputation.RunImputationJobFlightMapKeys;
+import bio.terra.pipelines.stairway.imputation.ImputationJobMapKeys;
import bio.terra.rawls.model.Entity;
import bio.terra.stairway.FlightContext;
import bio.terra.stairway.FlightMap;
@@ -50,21 +50,19 @@ public StepResult doStep(FlightContext flightContext) {
var inputParameters = flightContext.getInputParameters();
FlightUtils.validateRequiredEntries(
inputParameters,
- JobMapKeys.PIPELINE_NAME.getKeyName(),
- RunImputationJobFlightMapKeys.CONTROL_WORKSPACE_BILLING_PROJECT,
- RunImputationJobFlightMapKeys.CONTROL_WORKSPACE_NAME,
- RunImputationJobFlightMapKeys.PIPELINE_OUTPUT_DEFINITIONS);
+ JobMapKeys.PIPELINE_NAME,
+ ImputationJobMapKeys.CONTROL_WORKSPACE_BILLING_PROJECT,
+ ImputationJobMapKeys.CONTROL_WORKSPACE_NAME,
+ ImputationJobMapKeys.PIPELINE_OUTPUT_DEFINITIONS);
String controlWorkspaceBillingProject =
- inputParameters.get(
- RunImputationJobFlightMapKeys.CONTROL_WORKSPACE_BILLING_PROJECT, String.class);
+ inputParameters.get(ImputationJobMapKeys.CONTROL_WORKSPACE_BILLING_PROJECT, String.class);
String controlWorkspaceName =
- inputParameters.get(RunImputationJobFlightMapKeys.CONTROL_WORKSPACE_NAME, String.class);
- PipelinesEnum pipelineName =
- inputParameters.get(JobMapKeys.PIPELINE_NAME.getKeyName(), PipelinesEnum.class);
+ inputParameters.get(ImputationJobMapKeys.CONTROL_WORKSPACE_NAME, String.class);
+ PipelinesEnum pipelineName = inputParameters.get(JobMapKeys.PIPELINE_NAME, PipelinesEnum.class);
List outputDefinitions =
inputParameters.get(
- RunImputationJobFlightMapKeys.PIPELINE_OUTPUT_DEFINITIONS, new TypeReference<>() {});
+ ImputationJobMapKeys.PIPELINE_OUTPUT_DEFINITIONS, new TypeReference<>() {});
Entity entity;
try {
@@ -86,7 +84,7 @@ public StepResult doStep(FlightContext flightContext) {
pipelineInputsOutputsService.extractPipelineOutputsFromEntity(outputDefinitions, entity);
FlightMap workingMap = flightContext.getWorkingMap();
- workingMap.put(RunImputationJobFlightMapKeys.PIPELINE_RUN_OUTPUTS, outputs);
+ workingMap.put(ImputationJobMapKeys.PIPELINE_RUN_OUTPUTS, outputs);
return StepResult.getStepResultSuccess();
}
diff --git a/service/src/main/java/bio/terra/pipelines/stairway/imputation/steps/gcp/PollCromwellSubmissionStatusStep.java b/service/src/main/java/bio/terra/pipelines/stairway/imputation/steps/gcp/PollCromwellSubmissionStatusStep.java
index 282ef5e2..f5000ffa 100644
--- a/service/src/main/java/bio/terra/pipelines/stairway/imputation/steps/gcp/PollCromwellSubmissionStatusStep.java
+++ b/service/src/main/java/bio/terra/pipelines/stairway/imputation/steps/gcp/PollCromwellSubmissionStatusStep.java
@@ -6,7 +6,7 @@
import bio.terra.pipelines.dependencies.rawls.RawlsService;
import bio.terra.pipelines.dependencies.rawls.RawlsServiceApiException;
import bio.terra.pipelines.dependencies.sam.SamService;
-import bio.terra.pipelines.stairway.imputation.RunImputationJobFlightMapKeys;
+import bio.terra.pipelines.stairway.imputation.ImputationJobMapKeys;
import bio.terra.rawls.model.Submission;
import bio.terra.rawls.model.Workflow;
import bio.terra.rawls.model.WorkflowStatus;
@@ -47,18 +47,17 @@ public StepResult doStep(FlightContext flightContext) throws InterruptedExceptio
FlightMap inputParameters = flightContext.getInputParameters();
FlightUtils.validateRequiredEntries(
inputParameters,
- RunImputationJobFlightMapKeys.CONTROL_WORKSPACE_NAME,
- RunImputationJobFlightMapKeys.CONTROL_WORKSPACE_BILLING_PROJECT);
+ ImputationJobMapKeys.CONTROL_WORKSPACE_NAME,
+ ImputationJobMapKeys.CONTROL_WORKSPACE_BILLING_PROJECT);
String controlWorkspaceName =
- inputParameters.get(RunImputationJobFlightMapKeys.CONTROL_WORKSPACE_NAME, String.class);
+ inputParameters.get(ImputationJobMapKeys.CONTROL_WORKSPACE_NAME, String.class);
String controlWorkspaceProject =
- inputParameters.get(
- RunImputationJobFlightMapKeys.CONTROL_WORKSPACE_BILLING_PROJECT, String.class);
+ inputParameters.get(ImputationJobMapKeys.CONTROL_WORKSPACE_BILLING_PROJECT, String.class);
// validate and extract parameters from working map
FlightMap workingMap = flightContext.getWorkingMap();
- FlightUtils.validateRequiredEntries(workingMap, RunImputationJobFlightMapKeys.SUBMISSION_ID);
+ FlightUtils.validateRequiredEntries(workingMap, ImputationJobMapKeys.SUBMISSION_ID);
- UUID submissionId = workingMap.get(RunImputationJobFlightMapKeys.SUBMISSION_ID, UUID.class);
+ UUID submissionId = workingMap.get(ImputationJobMapKeys.SUBMISSION_ID, UUID.class);
// poll until all runs are in a finalized state
Submission submissionResponse = null;
diff --git a/service/src/main/java/bio/terra/pipelines/stairway/imputation/steps/gcp/SubmitCromwellSubmissionStep.java b/service/src/main/java/bio/terra/pipelines/stairway/imputation/steps/gcp/SubmitCromwellSubmissionStep.java
index 11b821da..f2c09beb 100644
--- a/service/src/main/java/bio/terra/pipelines/stairway/imputation/steps/gcp/SubmitCromwellSubmissionStep.java
+++ b/service/src/main/java/bio/terra/pipelines/stairway/imputation/steps/gcp/SubmitCromwellSubmissionStep.java
@@ -9,7 +9,7 @@
import bio.terra.pipelines.dependencies.rawls.RawlsServiceApiException;
import bio.terra.pipelines.dependencies.sam.SamService;
import bio.terra.pipelines.dependencies.stairway.JobMapKeys;
-import bio.terra.pipelines.stairway.imputation.RunImputationJobFlightMapKeys;
+import bio.terra.pipelines.stairway.imputation.ImputationJobMapKeys;
import bio.terra.rawls.model.MethodConfiguration;
import bio.terra.rawls.model.SubmissionReport;
import bio.terra.rawls.model.SubmissionRequest;
@@ -52,34 +52,31 @@ public StepResult doStep(FlightContext flightContext) {
FlightMap inputParameters = flightContext.getInputParameters();
FlightUtils.validateRequiredEntries(
inputParameters,
- JobMapKeys.PIPELINE_NAME.getKeyName(),
- JobMapKeys.DESCRIPTION.getKeyName(),
- RunImputationJobFlightMapKeys.WDL_METHOD_NAME,
- RunImputationJobFlightMapKeys.WDL_METHOD_VERSION,
- RunImputationJobFlightMapKeys.CONTROL_WORKSPACE_BILLING_PROJECT,
- RunImputationJobFlightMapKeys.CONTROL_WORKSPACE_NAME,
- RunImputationJobFlightMapKeys.PIPELINE_INPUT_DEFINITIONS,
- RunImputationJobFlightMapKeys.PIPELINE_OUTPUT_DEFINITIONS);
+ JobMapKeys.PIPELINE_NAME,
+ JobMapKeys.DESCRIPTION,
+ ImputationJobMapKeys.WDL_METHOD_NAME,
+ ImputationJobMapKeys.WDL_METHOD_VERSION,
+ ImputationJobMapKeys.CONTROL_WORKSPACE_BILLING_PROJECT,
+ ImputationJobMapKeys.CONTROL_WORKSPACE_NAME,
+ ImputationJobMapKeys.PIPELINE_INPUT_DEFINITIONS,
+ ImputationJobMapKeys.PIPELINE_OUTPUT_DEFINITIONS);
String controlWorkspaceName =
- inputParameters.get(RunImputationJobFlightMapKeys.CONTROL_WORKSPACE_NAME, String.class);
+ inputParameters.get(ImputationJobMapKeys.CONTROL_WORKSPACE_NAME, String.class);
String controlWorkspaceProject =
- inputParameters.get(
- RunImputationJobFlightMapKeys.CONTROL_WORKSPACE_BILLING_PROJECT, String.class);
- PipelinesEnum pipelineName =
- inputParameters.get(JobMapKeys.PIPELINE_NAME.getKeyName(), PipelinesEnum.class);
- String description = inputParameters.get(JobMapKeys.DESCRIPTION.getKeyName(), String.class);
- String wdlMethodName =
- inputParameters.get(RunImputationJobFlightMapKeys.WDL_METHOD_NAME, String.class);
+ inputParameters.get(ImputationJobMapKeys.CONTROL_WORKSPACE_BILLING_PROJECT, String.class);
+ PipelinesEnum pipelineName = inputParameters.get(JobMapKeys.PIPELINE_NAME, PipelinesEnum.class);
+ String description = inputParameters.get(JobMapKeys.DESCRIPTION, String.class);
+ String wdlMethodName = inputParameters.get(ImputationJobMapKeys.WDL_METHOD_NAME, String.class);
String wdlMethodVersion =
- inputParameters.get(RunImputationJobFlightMapKeys.WDL_METHOD_VERSION, String.class);
+ inputParameters.get(ImputationJobMapKeys.WDL_METHOD_VERSION, String.class);
List inputDefinitions =
inputParameters.get(
- RunImputationJobFlightMapKeys.PIPELINE_INPUT_DEFINITIONS, new TypeReference<>() {});
+ ImputationJobMapKeys.PIPELINE_INPUT_DEFINITIONS, new TypeReference<>() {});
List outputDefinitions =
inputParameters.get(
- RunImputationJobFlightMapKeys.PIPELINE_OUTPUT_DEFINITIONS, new TypeReference<>() {});
+ ImputationJobMapKeys.PIPELINE_OUTPUT_DEFINITIONS, new TypeReference<>() {});
// validate and extract parameters from working map
FlightMap workingMap = flightContext.getWorkingMap();
@@ -170,7 +167,7 @@ public StepResult doStep(FlightContext flightContext) {
}
// add submission id to working map to be used for polling in downstream step
- workingMap.put(RunImputationJobFlightMapKeys.SUBMISSION_ID, submissionReport.getSubmissionId());
+ workingMap.put(ImputationJobMapKeys.SUBMISSION_ID, submissionReport.getSubmissionId());
return StepResult.getStepResultSuccess();
}
diff --git a/service/src/test/java/bio/terra/pipelines/common/utils/FlightUtilsTest.java b/service/src/test/java/bio/terra/pipelines/common/utils/FlightUtilsTest.java
index 24612cef..94c5f2f8 100644
--- a/service/src/test/java/bio/terra/pipelines/common/utils/FlightUtilsTest.java
+++ b/service/src/test/java/bio/terra/pipelines/common/utils/FlightUtilsTest.java
@@ -32,23 +32,21 @@ void setup() {
}
@Test
- void setErrorResponse_success() {
+ void setErrorResponseSuccess() {
String message = "message";
FlightUtils.setErrorResponse(flightContext, message, HttpStatus.I_AM_A_TEAPOT);
FlightMap workingMap = flightContext.getWorkingMap();
- ApiErrorReport response =
- workingMap.get(JobMapKeys.RESPONSE.getKeyName(), ApiErrorReport.class);
+ ApiErrorReport response = workingMap.get(JobMapKeys.RESPONSE, ApiErrorReport.class);
assertNotNull(response);
assertEquals(message, response.getMessage());
assertEquals(
- HttpStatus.I_AM_A_TEAPOT,
- workingMap.get(JobMapKeys.STATUS_CODE.getKeyName(), HttpStatus.class));
+ HttpStatus.I_AM_A_TEAPOT, workingMap.get(JobMapKeys.STATUS_CODE, HttpStatus.class));
}
@Test
- void getInputParameterOrWorkingValue_fromInputs() {
+ void getInputParameterOrWorkingValueFromInputs() {
// put the kvp in the input parameters
String key = "key";
String value = "value";
@@ -60,7 +58,7 @@ void getInputParameterOrWorkingValue_fromInputs() {
}
@Test
- void getInputParameterOrWorkingValue_fromWorkingMap() {
+ void getInputParameterOrWorkingValueFromWorkingMap() {
// put the kvp in the working map but not in the input parameters
String key = "key";
String value = "value";
@@ -72,7 +70,7 @@ void getInputParameterOrWorkingValue_fromWorkingMap() {
}
@Test
- void getInputParametersOrWorkingValue_null() {
+ void getInputParametersOrWorkingValueNull() {
// put the kvp in the working map but not in the input parameters
String key = "key";
FlightMap workingMap = flightContext.getWorkingMap();
@@ -82,7 +80,7 @@ void getInputParametersOrWorkingValue_null() {
}
@Test
- void validateRequiredEntries_success() {
+ void validateRequiredEntriesSuccess() {
String requiredKey1 = "requiredKey1";
String requiredKey2 = "requiredKey2";
FlightMap flightMap = new FlightMap();
@@ -95,7 +93,7 @@ void validateRequiredEntries_success() {
}
@Test
- void validateRequiredEntries_missingRequiredKey() {
+ void validateRequiredEntriesMissingRequiredKey() {
String requiredKey1 = "requiredKey1";
String requiredKey2 = "requiredKey2";
FlightMap flightMap = new FlightMap();
@@ -108,7 +106,7 @@ void validateRequiredEntries_missingRequiredKey() {
}
@Test
- void getResultMapRequired_success() {
+ void getResultMapRequiredSuccess() {
FlightState flightState = new FlightState();
FlightMap resultMap = new FlightMap();
flightState.setResultMap(resultMap);
@@ -118,7 +116,7 @@ void getResultMapRequired_success() {
}
@Test
- void getResultMapRequired_missingResultMap() {
+ void getResultMapRequiredMissingResultMap() {
FlightState flightState = new FlightState();
assertThrows(
@@ -126,7 +124,7 @@ void getResultMapRequired_missingResultMap() {
}
@Test
- void getFlightErrorMessage_withMessage() {
+ void getFlightErrorMessageWithMessage() {
FlightState flightState = new FlightState();
String message = "message";
@@ -138,7 +136,7 @@ void getFlightErrorMessage_withMessage() {
}
@Test
- void getFlightErrorMessage_noMessage() {
+ void getFlightErrorMessageNoMessage() {
FlightState flightState = new FlightState();
// the exact exception type doesn't matter, but had to find one that accepts no message
@@ -151,7 +149,7 @@ void getFlightErrorMessage_noMessage() {
}
@Test
- void getRequired_class_success() {
+ void getRequiredClassSuccess() {
String key = "key";
String value = "value";
FlightMap flightMap = new FlightMap();
@@ -161,7 +159,7 @@ void getRequired_class_success() {
}
@Test
- void getRequired_class_fail() {
+ void getRequiredClassFail() {
FlightMap flightMap = new FlightMap();
assertThrows(
@@ -170,7 +168,7 @@ void getRequired_class_fail() {
}
@Test
- void getRequired_typeRef_success() {
+ void getRequiredTypeRefSuccess() {
String key = "key";
String value = "value";
FlightMap flightMap = new FlightMap();
@@ -180,7 +178,7 @@ void getRequired_typeRef_success() {
}
@Test
- void getRequired_typeRef_fail() {
+ void getRequiredTypeRefFail() {
FlightMap flightMap = new FlightMap();
TypeReference