Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -43,7 +43,7 @@ public abstract class DomainImportService implements BrAPIImportService {
private final Provider<ProcessorManager> processorManagerProvider;
private final Workflow workflowNavigator;


@Inject
public DomainImportService(Provider<ExperimentProcessor> experimentProcessorProvider,
Provider<ProcessorManager> processorManagerProvider,
Workflow workflowNavigator)
Expand Down Expand Up @@ -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<ImportWorkflowResult> result = workflowNavigator.process(context);

// Throw any exceptions caught during workflow processing
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -16,6 +17,7 @@
public class ExperimentWorkflowNavigator implements ExperimentWorkflow {
private final List<ExperimentWorkflow> workflows;

@Inject
public ExperimentWorkflowNavigator(List<ExperimentWorkflow> workflows) {
this.workflows = workflows;
}
Expand Down Expand Up @@ -61,27 +63,4 @@ public List<ImportWorkflow> 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);
}
}
}
Original file line number Diff line number Diff line change
@@ -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);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,18 @@
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;

@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<ImportWorkflowResult> process(ImportServiceContext context) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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;
Expand All @@ -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;
Expand All @@ -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;
Expand All @@ -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<BrAPIImport> importRows = context.getImportRows();
Expand Down