From 79ee1c689046b245267b165360c8ecf7b5104049 Mon Sep 17 00:00:00 2001 From: David Randolph Phillips Date: Fri, 21 Feb 2025 09:55:36 -0500 Subject: [PATCH 1/2] [BI-2187] call GermplasmProcessor::createPostOrder for commit and NOT commit --- .../services/processors/GermplasmProcessor.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/breedinginsight/brapps/importer/services/processors/GermplasmProcessor.java b/src/main/java/org/breedinginsight/brapps/importer/services/processors/GermplasmProcessor.java index 0d514ee72..10d8a41de 100644 --- a/src/main/java/org/breedinginsight/brapps/importer/services/processors/GermplasmProcessor.java +++ b/src/main/java/org/breedinginsight/brapps/importer/services/processors/GermplasmProcessor.java @@ -326,10 +326,9 @@ public Map process(ImportUpload upload, List
[ - ]) - if (commit) { - createPostOrder(); - } + // for commit: Construct a dependency tree for POSTing order. Dependents on unique germplasm name, ( [ - ]) + // for !commit: Validate for circular pedigree dependencies. + createPostOrder(); // Construct our response object return getStatisticsMap(importRows); @@ -556,6 +555,9 @@ private void validatePedigree(Germplasm germplasm, Integer rowNumber, Validation } } + /* + This will set the postOrder and validate for circular pedigree dependencies. + */ private void createPostOrder() { // Construct a dependency tree for POSTing order Set created = existingGermplasm.stream().map(BrAPIGermplasm::getGermplasmName).collect(Collectors.toSet()); From 05f25b5712a85d89eb6ece96c2a16d62f9e2690e Mon Sep 17 00:00:00 2001 From: David Randolph Phillips Date: Wed, 26 Mar 2025 11:35:46 -0400 Subject: [PATCH 2/2] [BI-2187] Fixed bug, caused by the gemplasm Pedigree string being different for commit=true vs commit=false --- .../services/processors/GermplasmProcessor.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/breedinginsight/brapps/importer/services/processors/GermplasmProcessor.java b/src/main/java/org/breedinginsight/brapps/importer/services/processors/GermplasmProcessor.java index 10d8a41de..81d9bef93 100644 --- a/src/main/java/org/breedinginsight/brapps/importer/services/processors/GermplasmProcessor.java +++ b/src/main/java/org/breedinginsight/brapps/importer/services/processors/GermplasmProcessor.java @@ -328,7 +328,7 @@ public Map process(ImportUpload upload, List
[ - ]) // for !commit: Validate for circular pedigree dependencies. - createPostOrder(); + createPostOrder(commit); // Construct our response object return getStatisticsMap(importRows); @@ -558,9 +558,15 @@ private void validatePedigree(Germplasm germplasm, Integer rowNumber, Validation /* This will set the postOrder and validate for circular pedigree dependencies. */ - private void createPostOrder() { + private void createPostOrder(boolean commit) { + Set created = null; // Construct a dependency tree for POSTing order - Set created = existingGermplasm.stream().map(BrAPIGermplasm::getGermplasmName).collect(Collectors.toSet()); + if(commit){ + created = existingGermplasm.stream().map(BrAPIGermplasm::getGermplasmName).collect(Collectors.toSet()); + } + else { + created = existingGermplasm.stream().map(BrAPIGermplasm::getDefaultDisplayName).collect(Collectors.toSet()); + } //todo this gets messy @@ -571,7 +577,7 @@ private void createPostOrder() { for (BrAPIGermplasm germplasm : newGermplasmList) { // If we've already planned this germplasm, skip - if (created.contains(germplasm.getGermplasmName())) { + if ( (commit && created.contains(germplasm.getGermplasmName())) || (!commit && created.contains(germplasm.getDefaultDisplayName())) ) { continue; }