From 6c7756606949a6baacaf3c7f5c7598f46a67313e Mon Sep 17 00:00:00 2001 From: dmeidlin <14339308+dmeidlin@users.noreply.github.com> Date: Tue, 18 Oct 2022 16:28:39 -0400 Subject: [PATCH 1/2] add createdBy and createdDate to imported Trial additionalInfo --- .../ExperimentObservation.java | 29 +++++++++++++++---- .../processors/ExperimentProcessor.java | 10 +++---- 2 files changed, 28 insertions(+), 11 deletions(-) diff --git a/src/main/java/org/breedinginsight/brapps/importer/model/imports/experimentObservation/ExperimentObservation.java b/src/main/java/org/breedinginsight/brapps/importer/model/imports/experimentObservation/ExperimentObservation.java index 468782d47..db927031e 100644 --- a/src/main/java/org/breedinginsight/brapps/importer/model/imports/experimentObservation/ExperimentObservation.java +++ b/src/main/java/org/breedinginsight/brapps/importer/model/imports/experimentObservation/ExperimentObservation.java @@ -29,9 +29,12 @@ import org.breedinginsight.brapps.importer.services.ExternalReferenceSource; import org.breedinginsight.model.BrAPIConstants; import org.breedinginsight.model.Program; +import org.breedinginsight.model.User; import org.breedinginsight.utilities.Utilities; import java.math.BigInteger; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; import java.util.*; import java.util.function.Supplier; @@ -110,14 +113,11 @@ public class ExperimentObservation implements BrAPIImport { @ImportFieldMetadata(id="obsUnitID", name="Observation Unit ID", description = "A database generated unique identifier for experimental observation units") private String obsUnitID; - public BrAPITrial constructBrAPITrial(Program program, boolean commit, String referenceSource, UUID id, String expSeqValue) { + public BrAPITrial constructBrAPITrial(Program program, User user, boolean commit, String referenceSource, UUID id, String expSeqValue) { BrAPIProgram brapiProgram = program.getBrapiProgram(); BrAPITrial trial = new BrAPITrial(); - if( commit ){ - trial.setTrialName( Utilities.appendProgramKey(getExpTitle(), program.getKey() )); - - // Set external reference - trial.setExternalReferences(getTrialExternalReferences(program, referenceSource, id)); + if (commit) { + setBrAPITrialCommitFields(program, trial, referenceSource, id); } else{ trial.setTrialName( getExpTitle() ); @@ -127,6 +127,10 @@ public BrAPITrial constructBrAPITrial(Program program, boolean commit, String re trial.setProgramDbId(brapiProgram.getProgramDbId()); trial.setProgramName(brapiProgram.getProgramName()); + Map createdBy = new HashMap<>(); + createdBy.put(BrAPIAdditionalInfoFields.CREATED_BY_USER_ID, user.getId().toString()); + createdBy.put(BrAPIAdditionalInfoFields.CREATED_BY_USER_NAME, user.getName()); + trial.putAdditionalInfoItem(BrAPIAdditionalInfoFields.CREATED_BY, createdBy); trial.putAdditionalInfoItem( BrAPIAdditionalInfoFields.DEFAULT_OBSERVATION_LEVEL, getExpUnit()); trial.putAdditionalInfoItem( BrAPIAdditionalInfoFields.EXPERIMENT_TYPE, getExpType()); trial.putAdditionalInfoItem( BrAPIAdditionalInfoFields.EXPERIMENT_NUMBER, expSeqValue); @@ -134,6 +138,19 @@ public BrAPITrial constructBrAPITrial(Program program, boolean commit, String re return trial; } + private void setBrAPITrialCommitFields(Program program, BrAPITrial trial, String referenceSource, UUID id) { + trial.setTrialName( Utilities.appendProgramKey(getExpTitle(), program.getKey() )); + + // Set external reference + trial.setExternalReferences(getTrialExternalReferences(program, referenceSource, id)); + + // Set createdDate field + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm:ss"); + LocalDateTime now = LocalDateTime.now(); + trial.putAdditionalInfoItem(BrAPIAdditionalInfoFields.CREATED_DATE, formatter.format(now)); + + } + public BrAPILocation constructBrAPILocation() { BrAPILocation location = new BrAPILocation(); location.setLocationName(getEnvLocation()); diff --git a/src/main/java/org/breedinginsight/brapps/importer/services/processors/ExperimentProcessor.java b/src/main/java/org/breedinginsight/brapps/importer/services/processors/ExperimentProcessor.java index 1858d2b14..9051786db 100644 --- a/src/main/java/org/breedinginsight/brapps/importer/services/processors/ExperimentProcessor.java +++ b/src/main/java/org/breedinginsight/brapps/importer/services/processors/ExperimentProcessor.java @@ -153,7 +153,7 @@ public Map process( ValidationErrors validationErrors = new ValidationErrors(); // add "New" pending data to the BrapiData objects - getNewBrapiData(importRows, program, commit); + getNewBrapiData(importRows, program, user, commit); // For each import row for (int i = 0; i < importRows.size(); i++) { @@ -191,7 +191,7 @@ public Map process( return getStatisticsMap(importRows); } - private void getNewBrapiData(List importRows, Program program, boolean commit) { + private void getNewBrapiData(List importRows, Program program, User user, boolean commit) { String expSequenceName = program.getExpSequence(); if (expSequenceName == null) { @@ -210,7 +210,7 @@ private void getNewBrapiData(List importRows, Program program, bool for (BrAPIImport row : importRows) { ExperimentObservation importRow = (ExperimentObservation) row; - PendingImportObject trialPIO = createTrialPIO(program, commit, importRow, expNextVal); + PendingImportObject trialPIO = createTrialPIO(program, user, commit, importRow, expNextVal); this.trialByNameNoScope.put(importRow.getExpTitle(), trialPIO); String expSeqValue = null; @@ -442,7 +442,7 @@ private PendingImportObject createLocationPIO(ExperimentObservati return pio; } - private PendingImportObject createTrialPIO(Program program, boolean commit, ExperimentObservation importRow, Supplier expNextVal) { + private PendingImportObject createTrialPIO(Program program, User user, boolean commit, ExperimentObservation importRow, Supplier expNextVal) { PendingImportObject pio = null; if( trialByNameNoScope.containsKey( importRow.getExpTitle()) ) { pio = trialByNameNoScope.get( importRow.getExpTitle() ) ; @@ -453,7 +453,7 @@ private PendingImportObject createTrialPIO(Program program, boolean if(commit){ expSeqValue = expNextVal.get().toString(); } - BrAPITrial newTrial = importRow.constructBrAPITrial(program, commit, BRAPI_REFERENCE_SOURCE, id, expSeqValue); + BrAPITrial newTrial = importRow.constructBrAPITrial(program, user, commit, BRAPI_REFERENCE_SOURCE, id, expSeqValue); pio = new PendingImportObject<>(ImportObjectState.NEW, newTrial, id); } return pio; From ef6199b377fca4735a512c82bfde5c6b29abf99f Mon Sep 17 00:00:00 2001 From: timparsons Date: Wed, 19 Oct 2022 12:55:18 -0400 Subject: [PATCH 2/2] [BI-1147] - Updating date format for experiment created date to ISO format --- .../imports/experimentObservation/ExperimentObservation.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/main/java/org/breedinginsight/brapps/importer/model/imports/experimentObservation/ExperimentObservation.java b/src/main/java/org/breedinginsight/brapps/importer/model/imports/experimentObservation/ExperimentObservation.java index db927031e..85c21fb61 100644 --- a/src/main/java/org/breedinginsight/brapps/importer/model/imports/experimentObservation/ExperimentObservation.java +++ b/src/main/java/org/breedinginsight/brapps/importer/model/imports/experimentObservation/ExperimentObservation.java @@ -145,9 +145,8 @@ private void setBrAPITrialCommitFields(Program program, BrAPITrial trial, String trial.setExternalReferences(getTrialExternalReferences(program, referenceSource, id)); // Set createdDate field - DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm:ss"); LocalDateTime now = LocalDateTime.now(); - trial.putAdditionalInfoItem(BrAPIAdditionalInfoFields.CREATED_DATE, formatter.format(now)); + trial.putAdditionalInfoItem(BrAPIAdditionalInfoFields.CREATED_DATE, DateTimeFormatter.ISO_LOCAL_DATE.format(now)); }