From 019289837ce8bf7114123d1c4de5e9d22d8010d0 Mon Sep 17 00:00:00 2001 From: Jason Loux Date: Fri, 22 May 2026 17:51:08 -0400 Subject: [PATCH] Add support for new sortBy and filterBy in prod server --- brapi-java-client/pom.xml | 2 +- brapi-java-model/pom.xml | 2 +- .../org/brapi/v2/model/BrAPIFilterBy.java | 22 ++++++ .../BrAPISearchRequestParametersPaging.java | 28 ++++++-- .../java/org/brapi/v2/model/BrAPISortBy.java | 70 +++++-------------- .../core/request/BrAPIStudySearchRequest.java | 49 +------------ .../core/request/BrAPITrialSearchRequest.java | 24 ------- pom.xml | 2 +- 8 files changed, 67 insertions(+), 132 deletions(-) create mode 100644 brapi-java-model/src/main/java/org/brapi/v2/model/BrAPIFilterBy.java diff --git a/brapi-java-client/pom.xml b/brapi-java-client/pom.xml index 19374a9d..364f0cbd 100644 --- a/brapi-java-client/pom.xml +++ b/brapi-java-client/pom.xml @@ -26,7 +26,7 @@ org.brapi brapi - 2.2-SNAPSHOT + 2.2.1-SNAPSHOT ${project.artifactId} diff --git a/brapi-java-model/pom.xml b/brapi-java-model/pom.xml index ddd572fd..a682c4a0 100644 --- a/brapi-java-model/pom.xml +++ b/brapi-java-model/pom.xml @@ -26,7 +26,7 @@ org.brapi brapi - 2.2-SNAPSHOT + 2.2.1-SNAPSHOT ${project.artifactId} diff --git a/brapi-java-model/src/main/java/org/brapi/v2/model/BrAPIFilterBy.java b/brapi-java-model/src/main/java/org/brapi/v2/model/BrAPIFilterBy.java new file mode 100644 index 00000000..21f79507 --- /dev/null +++ b/brapi-java-model/src/main/java/org/brapi/v2/model/BrAPIFilterBy.java @@ -0,0 +1,22 @@ +package org.brapi.v2.model; + +public class BrAPIFilterBy { + private String filterOn; + private String value; + + public String getFilterOn() { + return filterOn; + } + + public void setFilterOn(String filterOn) { + this.filterOn = filterOn; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } +} diff --git a/brapi-java-model/src/main/java/org/brapi/v2/model/BrAPISearchRequestParametersPaging.java b/brapi-java-model/src/main/java/org/brapi/v2/model/BrAPISearchRequestParametersPaging.java index 2d8a471a..add70a40 100644 --- a/brapi-java-model/src/main/java/org/brapi/v2/model/BrAPISearchRequestParametersPaging.java +++ b/brapi-java-model/src/main/java/org/brapi/v2/model/BrAPISearchRequestParametersPaging.java @@ -1,17 +1,12 @@ package org.brapi.v2.model; +import java.util.List; import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; - - - - - /** * SearchRequestParametersPaging */ - public class BrAPISearchRequestParametersPaging { @JsonProperty("page") private Integer page = null; @@ -19,6 +14,12 @@ public class BrAPISearchRequestParametersPaging { @JsonProperty("pageSize") private Integer pageSize = null; + @JsonProperty("sortBy") + protected List sortBy = null; + + @JsonProperty("filterBy") + protected List filterBy = null; + public BrAPISearchRequestParametersPaging page(Integer page) { this.page = page; return this; @@ -57,6 +58,21 @@ public void setPageSize(Integer pageSize) { this.pageSize = pageSize; } + public List getSortBy() { + return sortBy; + } + + public void setSortBy(List sortBy) { + this.sortBy = sortBy; + } + + public List getFilterBy() { + return filterBy; + } + + public void setFilterBy(List filterBy) { + this.filterBy = filterBy; + } @Override public boolean equals(java.lang.Object o) { diff --git a/brapi-java-model/src/main/java/org/brapi/v2/model/BrAPISortBy.java b/brapi-java-model/src/main/java/org/brapi/v2/model/BrAPISortBy.java index 41e5ebee..ab9cadbe 100644 --- a/brapi-java-model/src/main/java/org/brapi/v2/model/BrAPISortBy.java +++ b/brapi-java-model/src/main/java/org/brapi/v2/model/BrAPISortBy.java @@ -1,62 +1,30 @@ package org.brapi.v2.model; -import com.fasterxml.jackson.annotation.JsonCreator; -import com.fasterxml.jackson.annotation.JsonValue; - -public enum BrAPISortBy implements BrAPIEnum { - - STUDYDBID("studyDbId"), - - STARTDATE("startDate"), - - ENDDATE("endDate"), - - TRIALDBID("trialDbId"), - - TRIALNAME("trialName"), - - PROGRAMDBID("programDbId"), - - LOCATIONDBID("locationDbId"), - - SEASONDBID("seasonDbId"), - - STUDYTYPE("studyType"), - - STUDYNAME("studyName"), - - STUDYLOCATION("studyLocation"), - - PROGRAMNAME("programName"), - - GERMPLASMDBID("germplasmDbId"), - - OBSERVATIONVARIABLEDBID("observationVariableDbId"); +public class BrAPISortBy { + private String sortedOn; + private BrAPISortOrder sortOrder = BrAPISortOrder.ASC; + + public BrAPISortBy(String sortedOn, + BrAPISortOrder sortOrder) { + this.sortedOn = sortedOn; + this.sortOrder = sortOrder; + } - private String value; + public BrAPISortBy() {} - BrAPISortBy(String value) { - this.value = value; + public String getSortedOn() { + return sortedOn; } - @Override - @JsonValue - public String toString() { - return String.valueOf(value); + public void setSortedOn(String sortedOn) { + this.sortedOn = sortedOn; } - @JsonCreator - public static BrAPISortBy fromValue(String text) { - for (BrAPISortBy b : BrAPISortBy.values()) { - if (String.valueOf(b.value).equals(text)) { - return b; - } - } - return null; + public BrAPISortOrder getSortOrder() { + return sortOrder; } - @Override - public String getBrapiValue() { - return value; - } + public void setSortOrder(BrAPISortOrder sortOrder) { + this.sortOrder = sortOrder; + } } diff --git a/brapi-java-model/src/main/java/org/brapi/v2/model/core/request/BrAPIStudySearchRequest.java b/brapi-java-model/src/main/java/org/brapi/v2/model/core/request/BrAPIStudySearchRequest.java index b00076a7..fd0d1c85 100644 --- a/brapi-java-model/src/main/java/org/brapi/v2/model/core/request/BrAPIStudySearchRequest.java +++ b/brapi-java-model/src/main/java/org/brapi/v2/model/core/request/BrAPIStudySearchRequest.java @@ -74,12 +74,6 @@ public class BrAPIStudySearchRequest extends BrAPISearchRequestParametersPaging @JsonProperty("seasonDbIds") private List seasonDbIds = null; - @JsonProperty("sortBy") - private BrAPISortBy sortBy = null; - - @JsonProperty("sortOrder") - private BrAPISortOrder sortOrder = null; - @JsonProperty("studyCodes") private List studyCodes = null; @@ -598,45 +592,6 @@ public void setSeasonDbIds(List seasonDbIds) { this.seasonDbIds = seasonDbIds; } - public BrAPIStudySearchRequest sortBy(BrAPISortBy sortBy) { - this.sortBy = sortBy; - return this; - } - - /** - * Name of one of the fields within the study object on which results can be - * sorted - * - * @return sortBy - **/ - - public BrAPISortBy getSortBy() { - return sortBy; - } - - public void setSortBy(BrAPISortBy sortBy) { - this.sortBy = sortBy; - } - - public BrAPIStudySearchRequest sortOrder(BrAPISortOrder sortOrder) { - this.sortOrder = sortOrder; - return this; - } - - /** - * Order results should be sorted. ex. \"ASC\" or \"DESC\" - * - * @return sortOrder - **/ - - public BrAPISortOrder getSortOrder() { - return sortOrder; - } - - public void setSortOrder(BrAPISortOrder sortOrder) { - this.sortOrder = sortOrder; - } - public BrAPIStudySearchRequest studyCodes(List studyCodes) { this.studyCodes = studyCodes; return this; @@ -748,7 +703,6 @@ public boolean equals(java.lang.Object o) { && Objects.equals(this.active, studySearchRequest.active) && Objects.equals(this.seasonDbIds, studySearchRequest.seasonDbIds) && Objects.equals(this.sortBy, studySearchRequest.sortBy) - && Objects.equals(this.sortOrder, studySearchRequest.sortOrder) && Objects.equals(this.studyCodes, studySearchRequest.studyCodes) && Objects.equals(this.studyPUIs, studySearchRequest.studyPUIs) && Objects.equals(this.studyTypes, studySearchRequest.studyTypes) && super.equals(o); @@ -759,7 +713,7 @@ public int hashCode() { return Objects.hash(commonCropNames, programDbIds, programNames, trialDbIds, trialNames, studyDbIds, studyNames, locationDbIds, locationNames, germplasmDbIds, germplasmNames, observationVariableDbIds, observationVariableNames, observationVariablePUIs, externalReferenceIds, externalReferenceIDs, - externalReferenceSources, active, seasonDbIds, sortBy, sortOrder, studyCodes, studyPUIs, studyTypes, + externalReferenceSources, active, seasonDbIds, sortBy, studyCodes, studyPUIs, studyTypes, super.hashCode()); } @@ -788,7 +742,6 @@ public String toString() { sb.append(" active: ").append(toIndentedString(active)).append("\n"); sb.append(" seasonDbIds: ").append(toIndentedString(seasonDbIds)).append("\n"); sb.append(" sortBy: ").append(toIndentedString(sortBy)).append("\n"); - sb.append(" sortOrder: ").append(toIndentedString(sortOrder)).append("\n"); sb.append(" studyCodes: ").append(toIndentedString(studyCodes)).append("\n"); sb.append(" studyPUIs: ").append(toIndentedString(studyPUIs)).append("\n"); sb.append(" studyTypes: ").append(toIndentedString(studyTypes)).append("\n"); diff --git a/brapi-java-model/src/main/java/org/brapi/v2/model/core/request/BrAPITrialSearchRequest.java b/brapi-java-model/src/main/java/org/brapi/v2/model/core/request/BrAPITrialSearchRequest.java index c58b5624..b1fc8f2f 100644 --- a/brapi-java-model/src/main/java/org/brapi/v2/model/core/request/BrAPITrialSearchRequest.java +++ b/brapi-java-model/src/main/java/org/brapi/v2/model/core/request/BrAPITrialSearchRequest.java @@ -8,8 +8,6 @@ import java.time.LocalDate; import org.brapi.v2.model.BrAPISearchRequestParametersPaging; -import org.brapi.v2.model.BrAPISortBy; -import org.brapi.v2.model.BrAPISortOrder; /** * TrialSearchRequest @@ -68,28 +66,6 @@ public class BrAPITrialSearchRequest extends BrAPISearchRequestParametersPaging @JsonProperty("trialPUIs") private List trialPUIs = null; - @JsonProperty("sortBy") - private BrAPISortBy sortBy = null; - - @JsonProperty("sortOrder") - private BrAPISortOrder sortOrder = null; - - public BrAPISortBy getSortBy() { - return sortBy; - } - - public void setSortBy(BrAPISortBy sortBy) { - this.sortBy = sortBy; - } - - public BrAPISortOrder getSortOrder() { - return sortOrder; - } - - public void setSortOrder(BrAPISortOrder sortOrder) { - this.sortOrder = sortOrder; - } - public BrAPITrialSearchRequest commonCropNames(List commonCropNames) { this.commonCropNames = commonCropNames; return this; diff --git a/pom.xml b/pom.xml index 60323b9e..2c313c6f 100644 --- a/pom.xml +++ b/pom.xml @@ -23,7 +23,7 @@ org.brapi brapi - 2.2-SNAPSHOT + 2.2.1-SNAPSHOT ${project.artifactId} https://github.com/Breeding-Insight/brapi