diff --git a/src/main/java/org/breedinginsight/brapps/importer/model/imports/DomainImportService.java b/src/main/java/org/breedinginsight/brapps/importer/model/imports/DomainImportService.java index 6cfffe73c..4ffea6ba6 100644 --- a/src/main/java/org/breedinginsight/brapps/importer/model/imports/DomainImportService.java +++ b/src/main/java/org/breedinginsight/brapps/importer/model/imports/DomainImportService.java @@ -26,7 +26,7 @@ import org.breedinginsight.brapps.importer.model.workflow.Workflow; import org.breedinginsight.brapps.importer.services.processors.ExperimentProcessor; import org.breedinginsight.brapps.importer.services.processors.ProcessorManager; -import org.breedinginsight.brapps.importer.services.processors.experiment.ExperimentWorkflowNavigator; +import org.breedinginsight.brapps.importer.services.processors.experiment.WorkflowEnum; import javax.inject.Inject; import javax.inject.Provider; @@ -43,7 +43,7 @@ public abstract class DomainImportService implements BrAPIImportService { private final Provider processorManagerProvider; private final Workflow workflowNavigator; - + @Inject public DomainImportService(Provider experimentProcessorProvider, Provider processorManagerProvider, Workflow workflowNavigator) @@ -72,7 +72,7 @@ public ImportPreviewResponse process(ImportServiceContext context) // TODO: return results from WorkflowNavigator once processing logic is in separate workflows // return workflowNavigator.process(context).flatMap(ImportWorkflowResult::getImportPreviewResponse).orElse(null); - if (ExperimentWorkflowNavigator.Workflow.NEW_OBSERVATION.getId().equals(context.getWorkflowId())) { + if (WorkflowEnum.NEW_OBSERVATION.getId().equals(context.getWorkflowId())) { Optional result = workflowNavigator.process(context); // Throw any exceptions caught during workflow processing diff --git a/src/main/java/org/breedinginsight/brapps/importer/services/processors/experiment/ExperimentWorkflowNavigator.java b/src/main/java/org/breedinginsight/brapps/importer/services/processors/experiment/ExperimentWorkflowNavigator.java index 6acd4aad5..811e24104 100644 --- a/src/main/java/org/breedinginsight/brapps/importer/services/processors/experiment/ExperimentWorkflowNavigator.java +++ b/src/main/java/org/breedinginsight/brapps/importer/services/processors/experiment/ExperimentWorkflowNavigator.java @@ -6,6 +6,7 @@ import org.breedinginsight.brapps.importer.model.workflow.ExperimentWorkflow; import org.breedinginsight.brapps.importer.model.workflow.ImportWorkflowResult; +import javax.inject.Inject; import javax.inject.Singleton; import java.util.List; import java.util.Optional; @@ -16,6 +17,7 @@ public class ExperimentWorkflowNavigator implements ExperimentWorkflow { private final List workflows; + @Inject public ExperimentWorkflowNavigator(List workflows) { this.workflows = workflows; } @@ -61,27 +63,4 @@ public List getWorkflows() { return workflowSummaryList; // Return the list of workflow metadata } - - public enum Workflow { - NEW_OBSERVATION("new-experiment","Create new experiment"), - APPEND_OVERWRITE("append-dataset", "Append experimental dataset"); - - private String id; - private String name; - - Workflow(String id, String name) { - - this.id = id; - this.name = name; - } - - public String getId() { - return id; - } - public String getName() { return name; } - - public boolean isEqual(String value) { - return Optional.ofNullable(id.equals(value)).orElse(false); - } - } } diff --git a/src/main/java/org/breedinginsight/brapps/importer/services/processors/experiment/WorkflowEnum.java b/src/main/java/org/breedinginsight/brapps/importer/services/processors/experiment/WorkflowEnum.java new file mode 100644 index 000000000..22f5600e6 --- /dev/null +++ b/src/main/java/org/breedinginsight/brapps/importer/services/processors/experiment/WorkflowEnum.java @@ -0,0 +1,26 @@ +package org.breedinginsight.brapps.importer.services.processors.experiment; + +import java.util.Optional; + +public enum WorkflowEnum { + NEW_OBSERVATION("new-experiment","Create new experiment"), + APPEND_OVERWRITE("append-dataset", "Append experimental dataset"); + + private String id; + private String name; + + WorkflowEnum(String id, String name) { + + this.id = id; + this.name = name; + } + + public String getId() { + return id; + } + public String getName() { return name; } + + public boolean isEqual(String value) { + return Optional.ofNullable(id.equals(value)).orElse(false); + } +} \ No newline at end of file diff --git a/src/main/java/org/breedinginsight/brapps/importer/services/processors/experiment/append/workflow/AppendOverwritePhenotypesWorkflow.java b/src/main/java/org/breedinginsight/brapps/importer/services/processors/experiment/append/workflow/AppendOverwritePhenotypesWorkflow.java index ea5c388cb..8dcafdcc6 100644 --- a/src/main/java/org/breedinginsight/brapps/importer/services/processors/experiment/append/workflow/AppendOverwritePhenotypesWorkflow.java +++ b/src/main/java/org/breedinginsight/brapps/importer/services/processors/experiment/append/workflow/AppendOverwritePhenotypesWorkflow.java @@ -5,7 +5,7 @@ import org.breedinginsight.brapps.importer.model.workflow.ImportWorkflow; import org.breedinginsight.brapps.importer.model.workflow.ImportWorkflowResult; import org.breedinginsight.brapps.importer.model.workflow.ExperimentWorkflow; -import org.breedinginsight.brapps.importer.services.processors.experiment.ExperimentWorkflowNavigator; +import org.breedinginsight.brapps.importer.services.processors.experiment.WorkflowEnum; import javax.inject.Singleton; import java.util.Optional; @@ -13,10 +13,10 @@ @Getter @Singleton public class AppendOverwritePhenotypesWorkflow implements ExperimentWorkflow { - private final ExperimentWorkflowNavigator.Workflow workflow; + private final WorkflowEnum workflow; public AppendOverwritePhenotypesWorkflow(){ - this.workflow = ExperimentWorkflowNavigator.Workflow.APPEND_OVERWRITE; + this.workflow = WorkflowEnum.APPEND_OVERWRITE; } public Optional process(ImportServiceContext context) { diff --git a/src/main/java/org/breedinginsight/brapps/importer/services/processors/experiment/create/workflow/CreateNewExperimentWorkflow.java b/src/main/java/org/breedinginsight/brapps/importer/services/processors/experiment/create/workflow/CreateNewExperimentWorkflow.java index d0a4ca975..692518041 100644 --- a/src/main/java/org/breedinginsight/brapps/importer/services/processors/experiment/create/workflow/CreateNewExperimentWorkflow.java +++ b/src/main/java/org/breedinginsight/brapps/importer/services/processors/experiment/create/workflow/CreateNewExperimentWorkflow.java @@ -17,11 +17,9 @@ package org.breedinginsight.brapps.importer.services.processors.experiment.create.workflow; -import io.micronaut.context.annotation.Prototype; import io.micronaut.http.HttpStatus; import io.micronaut.http.exceptions.HttpStatusException; import lombok.extern.slf4j.Slf4j; -import lombok.val; import org.apache.commons.lang3.StringUtils; import org.brapi.v2.model.pheno.BrAPIObservation; import org.breedinginsight.api.model.v1.response.ValidationErrors; @@ -35,9 +33,9 @@ import org.breedinginsight.brapps.importer.model.response.PendingImportObject; import org.breedinginsight.brapps.importer.model.workflow.ImportContext; import org.breedinginsight.brapps.importer.model.workflow.ProcessedData; -import org.breedinginsight.brapps.importer.model.workflow.Workflow; import org.breedinginsight.brapps.importer.services.ImportStatusService; import org.breedinginsight.brapps.importer.services.processors.experiment.ExperimentUtilities; +import org.breedinginsight.brapps.importer.services.processors.experiment.WorkflowEnum; import org.breedinginsight.brapps.importer.services.processors.experiment.create.model.PendingData; import org.breedinginsight.brapps.importer.services.processors.experiment.create.model.ProcessContext; import org.breedinginsight.brapps.importer.services.processors.experiment.create.model.ProcessedPhenotypeData; @@ -49,7 +47,6 @@ import org.breedinginsight.services.exceptions.ValidatorException; import javax.inject.Inject; -import javax.inject.Named; import java.util.ArrayList; import java.util.HashSet; import java.util.List; @@ -60,7 +57,6 @@ import org.breedinginsight.brapps.importer.model.workflow.ImportWorkflow; import org.breedinginsight.brapps.importer.model.workflow.ImportWorkflowResult; import org.breedinginsight.brapps.importer.model.workflow.ExperimentWorkflow; -import org.breedinginsight.brapps.importer.services.processors.experiment.ExperimentWorkflowNavigator; import javax.inject.Singleton; import java.util.Optional; @@ -69,32 +65,33 @@ @Getter @Singleton public class CreateNewExperimentWorkflow implements ExperimentWorkflow { - private final ExperimentWorkflowNavigator.Workflow workflow; + private final WorkflowEnum workflow; private final PopulateExistingPendingImportObjectsStep populateExistingPendingImportObjectsStep; private final PopulateNewPendingImportObjectsStep populateNewPendingImportObjectsStep; - private final CommitPendingImportObjectsStep commitPendingImportObjectsStep; + private final CommitPendingImportObjectsStep commitPendingImportObjectsStep; // BAD private final ValidatePendingImportObjectsStep validatePendingImportObjectsStep; private final ImportStatusService statusService; - private final ExperimentPhenotypeService experimentPhenotypeService; + private final ExperimentPhenotypeService experimentPhenotypeService; // BAD @Inject - public CreateNewExperimentWorkflow(PopulateExistingPendingImportObjectsStep populateExistingPendingImportObjectsStep, + public CreateNewExperimentWorkflow( + PopulateExistingPendingImportObjectsStep populateExistingPendingImportObjectsStep, PopulateNewPendingImportObjectsStep populateNewPendingImportObjectsStep, CommitPendingImportObjectsStep commitPendingImportObjectsStep, ValidatePendingImportObjectsStep validatePendingImportObjectsStep, ImportStatusService statusService, - ExperimentPhenotypeService experimentPhenotypeService) { + ExperimentPhenotypeService experimentPhenotypeService + ) { this.populateExistingPendingImportObjectsStep = populateExistingPendingImportObjectsStep; this.populateNewPendingImportObjectsStep = populateNewPendingImportObjectsStep; this.commitPendingImportObjectsStep = commitPendingImportObjectsStep; this.validatePendingImportObjectsStep = validatePendingImportObjectsStep; this.statusService = statusService; this.experimentPhenotypeService = experimentPhenotypeService; - this.workflow = ExperimentWorkflowNavigator.Workflow.NEW_OBSERVATION; + this.workflow = WorkflowEnum.NEW_OBSERVATION; } private ImportPreviewResponse runWorkflow(ImportContext context) throws Exception { - ImportUpload upload = context.getUpload(); boolean commit = context.isCommit(); List importRows = context.getImportRows();