diff --git a/src/main/java/org/breedinginsight/brapi/v2/model/request/query/GermplasmQuery.java b/src/main/java/org/breedinginsight/brapi/v2/model/request/query/GermplasmQuery.java index 0dd178384..5f7f6cf14 100644 --- a/src/main/java/org/breedinginsight/brapi/v2/model/request/query/GermplasmQuery.java +++ b/src/main/java/org/breedinginsight/brapi/v2/model/request/query/GermplasmQuery.java @@ -17,6 +17,7 @@ public class GermplasmQuery extends BrapiQuery { private String defaultDisplayName; private String breedingMethod; private String seedSource; + private String pedigree; private String femaleParentGID; private String maleParentGID; private String createdDate; @@ -37,6 +38,9 @@ public SearchRequest constructSearchRequest() { if (!StringUtils.isBlank(getSeedSource())) { filters.add(constructFilterRequest("seedSource", getSeedSource())); } + if (!StringUtils.isBlank(getPedigree())) { + filters.add(constructFilterRequest("pedigree", getPedigree())); + } if (!StringUtils.isBlank(getFemaleParentGID())) { filters.add(constructFilterRequest("femaleParentGID", getFemaleParentGID())); } diff --git a/src/main/java/org/breedinginsight/brapi/v2/model/response/mappers/GermplasmQueryMapper.java b/src/main/java/org/breedinginsight/brapi/v2/model/response/mappers/GermplasmQueryMapper.java index 1322bbf03..be6092ef4 100644 --- a/src/main/java/org/breedinginsight/brapi/v2/model/response/mappers/GermplasmQueryMapper.java +++ b/src/main/java/org/breedinginsight/brapi/v2/model/response/mappers/GermplasmQueryMapper.java @@ -17,10 +17,10 @@ @Singleton public class GermplasmQueryMapper extends AbstractQueryMapper { - private String defaultSortField = "accessionNumber"; - private SortOrder defaultSortOrder = SortOrder.ASC; + private final String defaultSortField = "accessionNumber"; + private final SortOrder defaultSortOrder = SortOrder.ASC; - private Map> fields; + private final Map> fields; public GermplasmQueryMapper() { fields = Map.ofEntries( @@ -31,6 +31,10 @@ public GermplasmQueryMapper() { germplasm.getAdditionalInfo().get(BrAPIAdditionalInfoFields.GERMPLASM_BREEDING_METHOD).getAsString() : null), Map.entry("seedSource", BrAPIGermplasm::getSeedSource), + Map.entry("pedigree", (germplasm) -> + germplasm.getAdditionalInfo() != null && germplasm.getAdditionalInfo().has(BrAPIAdditionalInfoFields.GERMPLASM_PEDIGREE_BY_NAME) ? + germplasm.getAdditionalInfo().get(BrAPIAdditionalInfoFields.GERMPLASM_PEDIGREE_BY_NAME).getAsString() : + null), Map.entry("femaleParentGID", (germplasm) -> germplasm.getAdditionalInfo() != null && germplasm.getAdditionalInfo().has(BrAPIAdditionalInfoFields.GERMPLASM_FEMALE_PARENT_GID) ? germplasm.getAdditionalInfo().get(BrAPIAdditionalInfoFields.GERMPLASM_FEMALE_PARENT_GID).getAsString() :