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 290c046ad..c2f5926d4 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 @@ -228,6 +228,7 @@ public BrAPIObservationUnit constructBrAPIObservationUnit( String seqVal, boolean commit, String germplasmName, + String gid, String referenceSource, UUID trialID, UUID datasetId, @@ -250,6 +251,7 @@ public BrAPIObservationUnit constructBrAPIObservationUnit( germplasmName = getGermplasmName(); } observationUnit.setGermplasmName(germplasmName); + observationUnit.putAdditionalInfoItem(BrAPIAdditionalInfoFields.GID, gid); BrAPIObservationUnitPosition position = new BrAPIObservationUnitPosition(); BrAPIObservationUnitLevelRelationship level = new BrAPIObservationUnitLevelRelationship(); 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 d35da62d8..aded65fe1 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 @@ -956,7 +956,7 @@ private PendingImportObject fetchOrCreateObsUnitPIO(Progra PendingImportObject studyPIO = this.studyByNameNoScope.get(importRow.getEnv()); UUID studyID = studyPIO.getId(); UUID id = UUID.randomUUID(); - BrAPIObservationUnit newObservationUnit = importRow.constructBrAPIObservationUnit(program, envSeqValue, commit, germplasmName, BRAPI_REFERENCE_SOURCE, trialID, datasetId, studyID, id); + BrAPIObservationUnit newObservationUnit = importRow.constructBrAPIObservationUnit(program, envSeqValue, commit, germplasmName, importRow.getGid(), BRAPI_REFERENCE_SOURCE, trialID, datasetId, studyID, id); // check for existing units if this is an existing study if (studyPIO.getBrAPIObject().getStudyDbId() != null) { @@ -1291,16 +1291,15 @@ private void updateStudyDbId(BrAPIStudy study, String programKey) { private void updateGermplasmDbId(BrAPIGermplasm germplasm) { this.observationUnitByNameNoScope.values() .stream() - .filter(obsUnit -> obsUnit.getBrAPIObject() - .getGermplasmName() != null && - obsUnit.getBrAPIObject() - .getGermplasmName() - .equals(germplasm.getGermplasmName())) + .filter(obsUnit -> germplasm.getAccessionNumber() != null && + germplasm.getAccessionNumber().equals(obsUnit + .getBrAPIObject() + .getAdditionalInfo().getAsJsonObject() + .get(BrAPIAdditionalInfoFields.GID).getAsString())) .forEach(obsUnit -> obsUnit.getBrAPIObject() .setGermplasmDbId(germplasm.getGermplasmDbId())); } - private void updateStudyDependencyValues(Map mappedBrAPIImport, String programKey) { // update location DbIds in studies for all distinct locations mappedBrAPIImport.values()