From 86b6c19b780c9dd592c08f4083a83b675ea86865 Mon Sep 17 00:00:00 2001 From: Jason Loux Date: Mon, 26 Oct 2026 22:08:12 -0400 Subject: [PATCH] Create obs vars with brapi programDbId, fetch using brapi id --- .../daos/impl/TraitDAOImpl.java | 21 +++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/breedinginsight/daos/impl/TraitDAOImpl.java b/src/main/java/org/breedinginsight/daos/impl/TraitDAOImpl.java index 618d1239d..544a70510 100644 --- a/src/main/java/org/breedinginsight/daos/impl/TraitDAOImpl.java +++ b/src/main/java/org/breedinginsight/daos/impl/TraitDAOImpl.java @@ -165,9 +165,17 @@ private List fetchTraitsFullByProgramId(UUID programId) { return new ArrayList<>(); } + String brapiProgramDbId; + + try { + brapiProgramDbId = brAPIDAOUtil.getBrAPIProgramDbId(programId); + } catch (ApiException e) { + throw new InternalServerException(String.format("While fetching traits, unable to retrieve brapi programDbId using bi program ID [%s]", programId), e); + } + // Get brapi variables VariableQueryParams variablesRequest = new VariableQueryParams(); - variablesRequest.externalReferenceSource(referenceSource); + variablesRequest.programDbId(brapiProgramDbId); variablesRequest.pageSize(10000); ApiResponse brApiVariables; @@ -354,6 +362,14 @@ public List createTraitsBrAPI(List traits, User actingUser, Progra //TODO: Pass ontology reference + String brapiProgramDbId; + + try { + brapiProgramDbId = brAPIDAOUtil.getBrAPIProgramDbId(program.getId()); + } catch (ApiException e) { + throw new InternalServerException(String.format("While creating traits, unable to fetch brapi programDbId using bi program with id [%s]", program.getId()), e); + } + // Convert our traits into BrAPI traits List brApiVariables = new ArrayList<>(); for (Trait trait: traits) { @@ -419,7 +435,8 @@ public List createTraitsBrAPI(List traits, User actingUser, Progra .defaultValue(trait.getDefaultValue()) .synonyms(trait.getSynonyms()) .institution(program.getName()) - .commonCropName(program.getSpecies().getCommonName()); + .commonCropName(program.getSpecies().getCommonName()) + .programDbId(brapiProgramDbId); if (trait.getTags() != null) brApiVariable.putAdditionalInfoItem(TAGS_KEY, trait.getTags()); if (trait.getFullName() != null) brApiVariable.putAdditionalInfoItem(FULLNAME_KEY, trait.getFullName());