From b5e496b744f2be00c84b32c1b172d251c6407a20 Mon Sep 17 00:00:00 2001 From: Adam Korynta Date: Wed, 15 Apr 2026 10:35:41 -0700 Subject: [PATCH 1/2] CWMSVUE-755 add corresponding date versioned field to TimeSeriesCatalogEntry --- .../api/client/model/TimeSeriesCatalogEntry.java | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/cwms-data-api-model/src/main/java/mil/army/usace/hec/cwms/data/api/client/model/TimeSeriesCatalogEntry.java b/cwms-data-api-model/src/main/java/mil/army/usace/hec/cwms/data/api/client/model/TimeSeriesCatalogEntry.java index 18332e0a..795a5c25 100644 --- a/cwms-data-api-model/src/main/java/mil/army/usace/hec/cwms/data/api/client/model/TimeSeriesCatalogEntry.java +++ b/cwms-data-api-model/src/main/java/mil/army/usace/hec/cwms/data/api/client/model/TimeSeriesCatalogEntry.java @@ -61,6 +61,9 @@ public class TimeSeriesCatalogEntry { @Valid private List extents = new ArrayList<>(); + @JsonProperty("versioned") + private boolean versioned = false; + public TimeSeriesCatalogEntry office(String office) { this.office = office; return this; @@ -202,6 +205,13 @@ public void setExtents(List extents) { this.extents = extents; } + public boolean isVersioned() { + return versioned; + } + + public void setVersioned(boolean versioned) { + this.versioned = versioned; + } @Override public boolean equals(Object o) { @@ -224,14 +234,15 @@ public boolean equals(Object o) { this.locationTimeZone == null || timeseriesCatalogEntry.locationTimeZone == null ? Objects.equals(this.locationTimeZone, timeseriesCatalogEntry.locationTimeZone) : this.locationTimeZone.equalsIgnoreCase(timeseriesCatalogEntry.locationTimeZone) && - Objects.equals(this.extents, timeseriesCatalogEntry.extents); + Objects.equals(this.extents, timeseriesCatalogEntry.extents) && + this.versioned == timeseriesCatalogEntry.versioned; } @Override public int hashCode() { return Objects.hash(office == null ? 0 : office.toLowerCase(), timeSeriesId == null ? 0 : timeSeriesId.toLowerCase(), units == null ? 0 : units.toLowerCase(), interval == null ? 0 : interval.toLowerCase(), intervalOffsetMinutes, - locationTimeZone == null ? 0 : locationTimeZone.toLowerCase(), extents); + locationTimeZone == null ? 0 : locationTimeZone.toLowerCase(), extents, versioned); } @Override @@ -246,6 +257,7 @@ public String toString() { sb.append(" intervalOffset: ").append(toIndentedString(intervalOffsetMinutes)).append("\n"); sb.append(" timeZone: ").append(toIndentedString(locationTimeZone)).append("\n"); sb.append(" extents: ").append(toIndentedString(extents)).append("\n"); + sb.append(" versioned: ").append(toIndentedString(versioned)).append("\n"); sb.append("}"); return sb.toString(); } From f620441dbb1f497d94c876634282749048fe9d3b Mon Sep 17 00:00:00 2001 From: Adam Korynta Date: Wed, 15 Apr 2026 14:21:24 -0700 Subject: [PATCH 2/2] add include versions query parameter while I'm making updates --- .../controllers/TimeSeriesCatalogEndpointInput.java | 8 ++++++++ .../controllers/TestTimeSeriesCatalogEndpointInput.java | 3 +++ 2 files changed, 11 insertions(+) diff --git a/cwms-data-api-client/src/main/java/mil/army/usace/hec/cwms/data/api/client/controllers/TimeSeriesCatalogEndpointInput.java b/cwms-data-api-client/src/main/java/mil/army/usace/hec/cwms/data/api/client/controllers/TimeSeriesCatalogEndpointInput.java index 5a10925e..91bbbd6a 100644 --- a/cwms-data-api-client/src/main/java/mil/army/usace/hec/cwms/data/api/client/controllers/TimeSeriesCatalogEndpointInput.java +++ b/cwms-data-api-client/src/main/java/mil/army/usace/hec/cwms/data/api/client/controllers/TimeSeriesCatalogEndpointInput.java @@ -40,6 +40,7 @@ public final class TimeSeriesCatalogEndpointInput extends EndpointInput { static final String CATEGORY_LIKE_QUERY_PARAMETER = "timeseries-category-like"; static final String GROUP_LIKE_QUERY_PARAMETER = "timeseries-group-like"; static final String INCLUDE_EXTENTS_QUERY_PARAMETER = "include-extents"; + static final String INCLUDE_VERSIONS_QUERY_PARAMETER = "include-versions"; static final String EXCLUDE_EMPTY_QUERY_PARAMETER = "exclude-empty"; private String cursor; @@ -50,6 +51,7 @@ public final class TimeSeriesCatalogEndpointInput extends EndpointInput { private String categoryIdFilter; private String groupIdFilter; private boolean includeExtents = true; + private boolean includeVersions = true; private boolean excludeEmpty = false; public TimeSeriesCatalogEndpointInput cursor(String cursor) { @@ -92,6 +94,11 @@ public TimeSeriesCatalogEndpointInput includeExtents(boolean includeExtents) { return this; } + public TimeSeriesCatalogEndpointInput includeVersions(boolean includeVersions) { + this.includeVersions = includeVersions; + return this; + } + public TimeSeriesCatalogEndpointInput excludeEmpty(boolean excludeEmpty) { this.excludeEmpty = excludeEmpty; return this; @@ -108,6 +115,7 @@ protected HttpRequestBuilder addInputParameters(HttpRequestBuilder httpRequestBu .addQueryParameter(CATEGORY_LIKE_QUERY_PARAMETER, categoryIdFilter) .addQueryParameter(GROUP_LIKE_QUERY_PARAMETER, groupIdFilter) .addQueryParameter(INCLUDE_EXTENTS_QUERY_PARAMETER, Boolean.toString(includeExtents)) + .addQueryParameter(INCLUDE_VERSIONS_QUERY_PARAMETER, Boolean.toString(includeVersions)) .addQueryParameter(EXCLUDE_EMPTY_QUERY_PARAMETER, Boolean.toString(excludeEmpty)) .addQueryHeader(ACCEPT_QUERY_HEADER, ACCEPT_HEADER_V2); } diff --git a/cwms-data-api-client/src/test/java/mil/army/usace/hec/cwms/data/api/client/controllers/TestTimeSeriesCatalogEndpointInput.java b/cwms-data-api-client/src/test/java/mil/army/usace/hec/cwms/data/api/client/controllers/TestTimeSeriesCatalogEndpointInput.java index 7b5bb317..1cb8c507 100644 --- a/cwms-data-api-client/src/test/java/mil/army/usace/hec/cwms/data/api/client/controllers/TestTimeSeriesCatalogEndpointInput.java +++ b/cwms-data-api-client/src/test/java/mil/army/usace/hec/cwms/data/api/client/controllers/TestTimeSeriesCatalogEndpointInput.java @@ -31,6 +31,7 @@ import static mil.army.usace.hec.cwms.data.api.client.controllers.TimeSeriesCatalogEndpointInput.EXCLUDE_EMPTY_QUERY_PARAMETER; import static mil.army.usace.hec.cwms.data.api.client.controllers.TimeSeriesCatalogEndpointInput.GROUP_LIKE_QUERY_PARAMETER; import static mil.army.usace.hec.cwms.data.api.client.controllers.TimeSeriesCatalogEndpointInput.INCLUDE_EXTENTS_QUERY_PARAMETER; +import static mil.army.usace.hec.cwms.data.api.client.controllers.TimeSeriesCatalogEndpointInput.INCLUDE_VERSIONS_QUERY_PARAMETER; import static mil.army.usace.hec.cwms.data.api.client.controllers.TimeSeriesCatalogEndpointInput.LIKE_QUERY_PARAMETER; import static mil.army.usace.hec.cwms.data.api.client.controllers.TimeSeriesCatalogEndpointInput.OFFICE_QUERY_PARAMETER; import static mil.army.usace.hec.cwms.data.api.client.controllers.TimeSeriesCatalogEndpointInput.PAGE_SIZE_QUERY_PARAMETER; @@ -53,6 +54,7 @@ void testQueryRequest() { .categoryIdFilter("CAT") .groupIdFilter("GROUP") .includeExtents(false) + .includeVersions(false) .excludeEmpty(true); input.addInputParameters(mockHttpRequestBuilder); assertEquals("SWT", mockHttpRequestBuilder.getQueryParameter(OFFICE_QUERY_PARAMETER)); @@ -63,6 +65,7 @@ void testQueryRequest() { assertEquals("CAT", mockHttpRequestBuilder.getQueryParameter(CATEGORY_LIKE_QUERY_PARAMETER)); assertEquals("GROUP", mockHttpRequestBuilder.getQueryParameter(GROUP_LIKE_QUERY_PARAMETER)); assertEquals("false", mockHttpRequestBuilder.getQueryParameter(INCLUDE_EXTENTS_QUERY_PARAMETER)); + assertEquals("false", mockHttpRequestBuilder.getQueryParameter(INCLUDE_VERSIONS_QUERY_PARAMETER)); assertEquals("true", mockHttpRequestBuilder.getQueryParameter(EXCLUDE_EMPTY_QUERY_PARAMETER)); assertEquals(ACCEPT_HEADER_V2, mockHttpRequestBuilder.getQueryHeader(ACCEPT_QUERY_HEADER)); }