From cd46d47856d4a9f6211cbb77883ebc4342532146 Mon Sep 17 00:00:00 2001 From: Jason Loux Date: Tue, 27 Oct 2026 11:25:19 -0400 Subject: [PATCH 1/2] Add programDbId to BrAPIObservationVariable --- .../phenotype/ObservationVariablesApi.java | 2 + .../model/pheno/BrAPIObservationVariable.java | 38 +++++++++++++++++-- 2 files changed, 36 insertions(+), 4 deletions(-) diff --git a/brapi-java-client/src/main/java/org/brapi/client/v2/modules/phenotype/ObservationVariablesApi.java b/brapi-java-client/src/main/java/org/brapi/client/v2/modules/phenotype/ObservationVariablesApi.java index 10a035e9..03b13d8b 100644 --- a/brapi-java-client/src/main/java/org/brapi/client/v2/modules/phenotype/ObservationVariablesApi.java +++ b/brapi-java-client/src/main/java/org/brapi/client/v2/modules/phenotype/ObservationVariablesApi.java @@ -240,6 +240,8 @@ private Call variablesGetCall(VariableQueryParams queryParams) throws ApiExcepti apiClient.prepQueryParameter(localVarQueryParams, "externalReferenceId", queryParams.externalReferenceId()); if (queryParams.externalReferenceSource() != null) apiClient.prepQueryParameter(localVarQueryParams, "externalReferenceSource", queryParams.externalReferenceSource()); + if (queryParams.programDbId() != null) + apiClient.prepQueryParameter(localVarQueryParams, "programDbId", queryParams.programDbId()); if (queryParams.page() != null) apiClient.prepQueryParameter(localVarQueryParams, "page", queryParams.page()); if (queryParams.pageSize() != null) diff --git a/brapi-java-model/src/main/java/org/brapi/v2/model/pheno/BrAPIObservationVariable.java b/brapi-java-model/src/main/java/org/brapi/v2/model/pheno/BrAPIObservationVariable.java index d73c025a..52ffe4db 100644 --- a/brapi-java-model/src/main/java/org/brapi/v2/model/pheno/BrAPIObservationVariable.java +++ b/brapi-java-model/src/main/java/org/brapi/v2/model/pheno/BrAPIObservationVariable.java @@ -85,6 +85,12 @@ public class BrAPIObservationVariable { @JsonProperty("trait") private BrAPITrait trait = null; + @JsonProperty("programDbId") + private String programDbId = null; + + @JsonProperty("programName") + private String programName = null; + private transient Gson gson = new Gson(); public BrAPIObservationVariable observationVariableName(String observationVariableName) { @@ -129,8 +135,8 @@ public BrAPIObservationVariable observationVariablePUI(String observationVariabl * Variable unique identifier MIAPPE V1.1 (DM-83) Variable ID - Code used to identify the variable in the data file. We recommend using a variable definition from the Crop Ontology where possible. Otherwise, the Crop Ontology naming convention is recommended: __). A variable ID must be unique within a given investigation. * @return observationVariablePUI **/ - - + + public String getObservationVariablePUI() { return observationVariablePUI; @@ -485,6 +491,27 @@ public void setTrait(BrAPITrait trait) { this.trait = trait; } + public BrAPIObservationVariable programDbId(String programDbId) { + this.programDbId = programDbId; + return this; + } + + public String getProgramDbId() { + return programDbId; + } + + public void setProgramDbId(String programDbId) { + this.programDbId = programDbId; + } + + public String getProgramName() { + return programName; + } + + public void setProgramName(String programName) { + this.programName = programName; + } + @Override public boolean equals(java.lang.Object o) { @@ -514,12 +541,13 @@ public boolean equals(java.lang.Object o) { Objects.equals(this.status, observationVariable.status) && Objects.equals(this.submissionTimestamp, observationVariable.submissionTimestamp) && Objects.equals(this.synonyms, observationVariable.synonyms) && - Objects.equals(this.trait, observationVariable.trait); + Objects.equals(this.trait, observationVariable.trait) && + Objects.equals(this.programDbId, observationVariable.programDbId); } @Override public int hashCode() { - return Objects.hash(observationVariableDbId, observationVariablePUI, observationVariableName, additionalInfo, commonCropName, contextOfUse, defaultValue, documentationURL, externalReferences, growthStage, institution, language, method, ontologyReference, scale, scientist, status, submissionTimestamp, synonyms, trait); + return Objects.hash(observationVariableDbId, observationVariablePUI, observationVariableName, additionalInfo, commonCropName, contextOfUse, defaultValue, documentationURL, externalReferences, growthStage, institution, language, method, ontologyReference, scale, scientist, status, submissionTimestamp, synonyms, trait, programDbId); } @Override @@ -546,6 +574,8 @@ public String toString() { sb.append(" submissionTimestamp: ").append(toIndentedString(submissionTimestamp)).append("\n"); sb.append(" synonyms: ").append(toIndentedString(synonyms)).append("\n"); sb.append(" trait: ").append(toIndentedString(trait)).append("\n"); + sb.append(" programDbId: ").append(toIndentedString(programDbId)).append("\n"); + sb.append(" programName: ").append(toIndentedString(programName)).append("\n"); sb.append("}"); return sb.toString(); } From 3146914235dbbec3fa7e0d782870f54dc40118c9 Mon Sep 17 00:00:00 2001 From: Jason Loux Date: Thu, 29 Oct 2026 10:42:36 -0400 Subject: [PATCH 2/2] Add programName to equals and hash, add builder method --- .../brapi/v2/model/pheno/BrAPIObservationVariable.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/brapi-java-model/src/main/java/org/brapi/v2/model/pheno/BrAPIObservationVariable.java b/brapi-java-model/src/main/java/org/brapi/v2/model/pheno/BrAPIObservationVariable.java index 52ffe4db..af693f61 100644 --- a/brapi-java-model/src/main/java/org/brapi/v2/model/pheno/BrAPIObservationVariable.java +++ b/brapi-java-model/src/main/java/org/brapi/v2/model/pheno/BrAPIObservationVariable.java @@ -504,6 +504,11 @@ public void setProgramDbId(String programDbId) { this.programDbId = programDbId; } + public BrAPIObservationVariable programName(String programName) { + this.programName = programName; + return this; + } + public String getProgramName() { return programName; } @@ -542,12 +547,13 @@ public boolean equals(java.lang.Object o) { Objects.equals(this.submissionTimestamp, observationVariable.submissionTimestamp) && Objects.equals(this.synonyms, observationVariable.synonyms) && Objects.equals(this.trait, observationVariable.trait) && - Objects.equals(this.programDbId, observationVariable.programDbId); + Objects.equals(this.programDbId, observationVariable.programDbId) && + Objects.equals(this.programName, observationVariable.programName); } @Override public int hashCode() { - return Objects.hash(observationVariableDbId, observationVariablePUI, observationVariableName, additionalInfo, commonCropName, contextOfUse, defaultValue, documentationURL, externalReferences, growthStage, institution, language, method, ontologyReference, scale, scientist, status, submissionTimestamp, synonyms, trait, programDbId); + return Objects.hash(observationVariableDbId, observationVariablePUI, observationVariableName, additionalInfo, commonCropName, contextOfUse, defaultValue, documentationURL, externalReferences, growthStage, institution, language, method, ontologyReference, scale, scientist, status, submissionTimestamp, synonyms, trait, programDbId, programName); } @Override