diff --git a/brapi-java-client/pom.xml b/brapi-java-client/pom.xml
index 5711f94f..19374a9d 100644
--- a/brapi-java-client/pom.xml
+++ b/brapi-java-client/pom.xml
@@ -26,7 +26,7 @@
org.brapi
brapi
- 2.1-SNAPSHOT
+ 2.2-SNAPSHOT
${project.artifactId}
diff --git a/brapi-java-client/src/main/java/org/brapi/client/v2/modules/phenotype/ObservationLevelNamesApi.java b/brapi-java-client/src/main/java/org/brapi/client/v2/modules/phenotype/ObservationLevelNamesApi.java
new file mode 100644
index 00000000..3e7893c2
--- /dev/null
+++ b/brapi-java-client/src/main/java/org/brapi/client/v2/modules/phenotype/ObservationLevelNamesApi.java
@@ -0,0 +1,202 @@
+package org.brapi.client.v2.modules.phenotype;
+
+import com.google.gson.reflect.TypeToken;
+import okhttp3.Call;
+import org.brapi.client.v2.ApiResponse;
+import org.brapi.client.v2.BrAPIClient;
+import org.brapi.client.v2.Configuration;
+import org.brapi.client.v2.model.exceptions.ApiException;
+import org.brapi.v2.model.pheno.BrAPIObservationUnitHierarchyLevel;
+import org.brapi.v2.model.pheno.response.BrAPIObservationLevelListResponse;
+import org.brapi.v2.model.pheno.response.BrAPIObservationLevelSingleResponse;
+
+import java.lang.reflect.Type;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+public class ObservationLevelNamesApi {
+
+ private BrAPIClient apiClient;
+
+ public ObservationLevelNamesApi() {
+ this(Configuration.getDefaultApiClient());
+ }
+
+ public ObservationLevelNamesApi(BrAPIClient apiClient) {
+ this.apiClient = apiClient;
+ }
+
+ public BrAPIClient getApiClient() {
+ return apiClient;
+ }
+
+ public void setApiClient(BrAPIClient apiClient) {
+ this.apiClient = apiClient;
+ }
+
+ private Call observationLevelNamesGetCall(String programDbId, Boolean all, Integer page, Integer pageSize) throws ApiException {
+ Object localVarPostBody = null;
+
+ // create path and map variables
+ String localVarPath = "/observationlevelnames";
+
+ Map localVarQueryParams = new HashMap<>();
+ Map localVarCollectionQueryParams = new HashMap<>();
+ if (programDbId != null)
+ apiClient.prepQueryParameter(localVarQueryParams, "programDbId", programDbId);
+ if (all != null) {
+ apiClient.prepQueryParameter(localVarQueryParams, "all", all);
+ }
+ if (page != null)
+ apiClient.prepQueryParameter(localVarQueryParams, "page", page);
+ if (pageSize != null)
+ apiClient.prepQueryParameter(localVarQueryParams, "pageSize", pageSize);
+
+ Map localVarHeaderParams = new HashMap();
+
+
+
+ Map localVarFormParams = new HashMap();
+
+ final String[] localVarAccepts = {
+ "application/json"
+ };
+ final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
+ if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
+
+ final String[] localVarContentTypes = {
+
+ };
+ final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
+ localVarHeaderParams.put("Content-Type", localVarContentType);
+
+ String[] localVarAuthNames = new String[] { "AuthorizationToken" };
+ return apiClient.buildCall(localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames);
+ }
+
+ public ApiResponse observationLevelNamesGet(String programDbId, Boolean all, Integer page, Integer pageSize) throws ApiException {
+ Call call = observationLevelNamesGetCall(programDbId, all, page, pageSize);
+ Type localVarReturnType = new TypeToken(){}.getType();
+ return apiClient.execute(call, localVarReturnType);
+ }
+
+ private Call observationLevelNamesPostCall(List body) throws ApiException {
+ if(body == null) {throw new IllegalArgumentException("body cannot be null"); }
+ Object localVarPostBody = body;
+
+ // create path and map variables
+ String localVarPath = "/observationlevelnames";
+
+ Map localVarQueryParams = new HashMap<>();
+ Map localVarCollectionQueryParams = new HashMap<>();
+
+ Map localVarHeaderParams = new HashMap();
+
+ Map localVarFormParams = new HashMap();
+
+ final String[] localVarAccepts = {
+ "application/json"
+ };
+ final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
+ if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
+
+ final String[] localVarContentTypes = {
+ "application/json"
+ };
+ final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
+ localVarHeaderParams.put("Content-Type", localVarContentType);
+
+ String[] localVarAuthNames = new String[] { "AuthorizationToken" };
+ return apiClient.buildCall(localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames);
+ }
+
+ public ApiResponse observationLevelNamesPost(List body) throws ApiException {
+ Call call = observationLevelNamesPostCall(body);
+ Type localVarReturnType = new TypeToken(){}.getType();
+ return apiClient.execute(call, localVarReturnType);
+ }
+
+ private Call observationLevelNameDbIdPutCall(String levelNameDbId, BrAPIObservationUnitHierarchyLevel body) throws ApiException {
+ if(levelNameDbId == null) {
+ throw new IllegalArgumentException("levelNameDbId cannot be null");
+ }
+ if(body == null) {
+ throw new IllegalArgumentException("body cannot be null");
+ }
+ Object localVarPostBody = body;
+
+ // create path and map variables
+ String localVarPath = "/observationlevelnames/{levelNameDbId}"
+ .replaceAll("\\{" + "levelNameDbId" + "\\}", apiClient.escapeString(levelNameDbId));
+
+ Map localVarQueryParams = new HashMap<>();
+ Map localVarCollectionQueryParams = new HashMap<>();
+
+ Map localVarHeaderParams = new HashMap();
+
+ Map localVarFormParams = new HashMap();
+
+ final String[] localVarAccepts = {
+ "application/json"
+ };
+ final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
+ if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
+
+ final String[] localVarContentTypes = {
+ "application/json"
+ };
+ final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
+ localVarHeaderParams.put("Content-Type", localVarContentType);
+
+ String[] localVarAuthNames = new String[] { "AuthorizationToken" };
+ return apiClient.buildCall(localVarPath, "PUT", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames);
+ }
+
+ public ApiResponse observationLevelNameDbIdPut(String levelNameDbId, BrAPIObservationUnitHierarchyLevel body) throws ApiException {
+ Call call = observationLevelNameDbIdPutCall(levelNameDbId, body);
+ Type localVarReturnType = new TypeToken(){}.getType();
+ return apiClient.execute(call, localVarReturnType);
+ }
+
+ private Call observationLevelNameDbIdDeleteCall(String levelNameDbId) throws ApiException {
+ if(levelNameDbId == null) {
+ throw new IllegalArgumentException("levelNameDbId cannot be null");
+ }
+
+ Object localVarPostBody = null;
+
+ // create path and map variables
+ String localVarPath = "/observationlevelnames/{levelNameDbId}"
+ .replaceAll("\\{" + "levelNameDbId" + "\\}", apiClient.escapeString(levelNameDbId));
+
+ Map localVarQueryParams = new HashMap<>();
+ Map localVarCollectionQueryParams = new HashMap<>();
+
+ Map localVarHeaderParams = new HashMap();
+
+ Map localVarFormParams = new HashMap();
+
+ final String[] localVarAccepts = {
+ "application/json"
+ };
+ final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
+ if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
+
+ final String[] localVarContentTypes = {
+ "application/json"
+ };
+ final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
+ localVarHeaderParams.put("Content-Type", localVarContentType);
+
+ String[] localVarAuthNames = new String[] { "AuthorizationToken" };
+ return apiClient.buildCall(localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames);
+ }
+
+ public ApiResponse observationLevelNameDbIdDelete(String levelNameDbId) throws ApiException {
+ Call call = observationLevelNameDbIdDeleteCall(levelNameDbId);
+ Type localVarReturnType = new TypeToken(){}.getType();
+ return apiClient.execute(call, localVarReturnType);
+ }
+
+}
diff --git a/brapi-java-model/pom.xml b/brapi-java-model/pom.xml
index dca52821..ddd572fd 100644
--- a/brapi-java-model/pom.xml
+++ b/brapi-java-model/pom.xml
@@ -26,7 +26,7 @@
org.brapi
brapi
- 2.1-SNAPSHOT
+ 2.2-SNAPSHOT
${project.artifactId}
diff --git a/brapi-java-model/src/main/java/org/brapi/v2/model/pheno/BrAPIObservationUnitHierarchyLevel.java b/brapi-java-model/src/main/java/org/brapi/v2/model/pheno/BrAPIObservationUnitHierarchyLevel.java
index f0f362cf..3419c34a 100644
--- a/brapi-java-model/src/main/java/org/brapi/v2/model/pheno/BrAPIObservationUnitHierarchyLevel.java
+++ b/brapi-java-model/src/main/java/org/brapi/v2/model/pheno/BrAPIObservationUnitHierarchyLevel.java
@@ -2,31 +2,46 @@
import java.util.Objects;
+import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
-
-
-
-
/**
* Observation levels indicate the granularity level at which the measurements are taken. `levelName` defines the level, `levelOrder` defines where that level exists in the hierarchy of levels. `levelOrder`s lower numbers are at the top of the hierarchy (ie field > 0) and higher numbers are at the bottom of the hierarchy (ie plant > 6).
*/
-
-
public class BrAPIObservationUnitHierarchyLevel {
+ @JsonProperty("levelNameDbId")
+ private String levelNameDbId = null;
+
@JsonProperty("levelName")
private String levelName = null;
@JsonProperty("levelOrder")
private Integer levelOrder = null;
+ @JsonProperty("programDbId")
+ @JsonInclude(JsonInclude.Include.NON_NULL)
+ private String programDbId = null;
+
+ // NOTE: This property is NOT used for lookups, only responses.
+ @JsonProperty("programName")
+ @JsonInclude(JsonInclude.Include.NON_NULL)
+ private String programName = null;
+
public BrAPIObservationUnitHierarchyLevel levelName(String levelName) {
this.levelName = levelName;
return this;
}
+ public String getLevelNameDbId() {
+ return levelNameDbId;
+ }
+
+ public void setLevelNameDbId(String value) {
+ this.levelNameDbId = value;
+ }
+
/**
* A name for this level
* @return levelName
@@ -60,6 +75,21 @@ public void setLevelOrder(Integer levelOrder) {
this.levelOrder = levelOrder;
}
+ public String getProgramDbId() {
+ return programDbId;
+ }
+
+ public void setProgramDbId(String value) {
+ this.programDbId = value;
+ }
+
+ public String getProgramName() {
+ return programName;
+ }
+
+ public void setProgramName(String value) {
+ this.programName = value;
+ }
@Override
public boolean equals(java.lang.Object o) {
@@ -86,6 +116,9 @@ public String toString() {
sb.append(" levelName: ").append(toIndentedString(levelName)).append("\n");
sb.append(" levelOrder: ").append(toIndentedString(levelOrder)).append("\n");
+ sb.append(" levelNameDbId: ").append(toIndentedString(levelNameDbId)).append("\n");
+ sb.append(" programDbId: ").append(toIndentedString(programDbId)).append("\n");
+ sb.append(" programName: ").append(toIndentedString(programName)).append("\n");
sb.append("}");
return sb.toString();
}
diff --git a/brapi-java-model/src/main/java/org/brapi/v2/model/pheno/response/BrAPIObservationLevelSingleResponse.java b/brapi-java-model/src/main/java/org/brapi/v2/model/pheno/response/BrAPIObservationLevelSingleResponse.java
new file mode 100644
index 00000000..21195fe5
--- /dev/null
+++ b/brapi-java-model/src/main/java/org/brapi/v2/model/pheno/response/BrAPIObservationLevelSingleResponse.java
@@ -0,0 +1,118 @@
+package org.brapi.v2.model.pheno.response;
+
+
+import java.util.Objects;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+
+import org.brapi.v2.model.BrAPIContext;
+import org.brapi.v2.model.BrAPIMetadata;
+import org.brapi.v2.model.BrAPIResponse;
+import org.brapi.v2.model.pheno.BrAPIObservationUnitHierarchyLevel;
+import javax.validation.Valid;
+
+
+/**
+ * ObservationLevelSingleResponse
+ */
+@Valid
+public class BrAPIObservationLevelSingleResponse implements BrAPIResponse {
+ @JsonProperty("@context")
+ private BrAPIContext _atContext = null;
+
+ @JsonProperty("metadata")
+ private BrAPIMetadata metadata = null;
+
+ @JsonProperty("result")
+ private BrAPIObservationUnitHierarchyLevel result = null;
+
+ public BrAPIObservationLevelSingleResponse _atContext(BrAPIContext _atContext) {
+ this._atContext = _atContext;
+ return this;
+ }
+
+
+
+ public void set_atContext(BrAPIContext _atContext) {
+ this._atContext = _atContext;
+ }
+
+ public BrAPIObservationLevelSingleResponse metadata(BrAPIMetadata metadata) {
+ this.metadata = metadata;
+ return this;
+ }
+
+ /**
+ * Get metadata
+ * @return metadata
+ **/
+ @Valid
+ public BrAPIMetadata getMetadata() {
+ return metadata;
+ }
+
+ public void setMetadata(BrAPIMetadata metadata) {
+ this.metadata = metadata;
+ }
+
+ public BrAPIObservationLevelSingleResponse result(BrAPIObservationUnitHierarchyLevel result) {
+ this.result = result;
+ return this;
+ }
+
+ /**
+ * Get result
+ * @return result
+ **/
+ @Valid
+ public BrAPIObservationUnitHierarchyLevel getResult() {
+ return result;
+ }
+
+ public void setResult(BrAPIObservationUnitHierarchyLevel result) {
+ this.result = result;
+ }
+
+
+ @Override
+ public boolean equals(java.lang.Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ BrAPIObservationLevelSingleResponse observationLevelSingleResponse = (BrAPIObservationLevelSingleResponse) o;
+ return Objects.equals(this._atContext, observationLevelSingleResponse._atContext) &&
+ Objects.equals(this.metadata, observationLevelSingleResponse.metadata) &&
+ Objects.equals(this.result, observationLevelSingleResponse.result);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(_atContext, metadata, result);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class ObservationLevelListResponse {\n");
+
+ sb.append(" _atContext: ").append(toIndentedString(_atContext)).append("\n");
+ sb.append(" metadata: ").append(toIndentedString(metadata)).append("\n");
+ sb.append(" result: ").append(toIndentedString(result)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/pom.xml b/pom.xml
index 91b8dd5a..60323b9e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,7 +23,7 @@
org.brapi
brapi
- 2.1-SNAPSHOT
+ 2.2-SNAPSHOT
${project.artifactId}
https://github.com/Breeding-Insight/brapi