This is an automated email from the ASF dual-hosted git repository. riemer pushed a commit to branch add-dataset-by-name-client in repository https://gitbox.apache.org/repos/asf/streampipes.git
commit e09941cd7ad4e0ce58e667d572d1d13c01d73b55 Author: Dominik Riemer <[email protected]> AuthorDate: Sat Jan 24 17:09:26 2026 +0100 feat: Add method to get dataset by name to StreamPipes client --- .../java/org/apache/streampipes/client/api/IDataLakeMeasureApi.java | 2 ++ .../java/org/apache/streampipes/client/api/DataLakeMeasureApi.java | 5 +++++ .../streampipes/rest/impl/datalake/DataLakeMeasureResource.java | 6 +++--- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/streampipes-client-api/src/main/java/org/apache/streampipes/client/api/IDataLakeMeasureApi.java b/streampipes-client-api/src/main/java/org/apache/streampipes/client/api/IDataLakeMeasureApi.java index 7c9ad21bdf..84549a7fbb 100644 --- a/streampipes-client-api/src/main/java/org/apache/streampipes/client/api/IDataLakeMeasureApi.java +++ b/streampipes-client-api/src/main/java/org/apache/streampipes/client/api/IDataLakeMeasureApi.java @@ -26,6 +26,8 @@ import java.util.Optional; public interface IDataLakeMeasureApi extends CRUDApi<String, DataLakeMeasure> { Optional<DataLakeMeasure> get(String id); + Optional<DataLakeMeasure> getByDatasetName(String datasetName); + @Override List<DataLakeMeasure> all(); diff --git a/streampipes-client/src/main/java/org/apache/streampipes/client/api/DataLakeMeasureApi.java b/streampipes-client/src/main/java/org/apache/streampipes/client/api/DataLakeMeasureApi.java index b690f4ea2e..d2d15fdcba 100644 --- a/streampipes-client/src/main/java/org/apache/streampipes/client/api/DataLakeMeasureApi.java +++ b/streampipes-client/src/main/java/org/apache/streampipes/client/api/DataLakeMeasureApi.java @@ -37,6 +37,11 @@ public class DataLakeMeasureApi extends AbstractTypedClientApi<DataLakeMeasure> return getSingle(getBaseResourcePath().addToPath(id)); } + @Override + public Optional<DataLakeMeasure> getByDatasetName(String datasetName) { + return getSingle(getBaseResourcePath().addToPath("byName").addToPath(datasetName)); + } + @Override public List<DataLakeMeasure> all() { throw new IllegalArgumentException("Not yet implemented"); diff --git a/streampipes-rest/src/main/java/org/apache/streampipes/rest/impl/datalake/DataLakeMeasureResource.java b/streampipes-rest/src/main/java/org/apache/streampipes/rest/impl/datalake/DataLakeMeasureResource.java index 359efaffe2..5637d37692 100644 --- a/streampipes-rest/src/main/java/org/apache/streampipes/rest/impl/datalake/DataLakeMeasureResource.java +++ b/streampipes-rest/src/main/java/org/apache/streampipes/rest/impl/datalake/DataLakeMeasureResource.java @@ -99,9 +99,9 @@ public class DataLakeMeasureResource extends AbstractDataLakeResource { @GetMapping(path = "byName/{measureName}", produces = MediaType.APPLICATION_JSON_VALUE) @PreAuthorize("this.hasReadAuthority() and this.checkPermissionByName(#measureName, 'READ')") public ResponseEntity<?> getDataLakeMeasureName(@PathVariable("measureName") String measureName) { - var measure = this.dataLakeMeasureManagement.getExistingMeasureByName(measureName); - if (Objects.nonNull(measure)) { - return ok(measure); + var measureOpt = this.dataLakeMeasureManagement.getExistingMeasureByName(measureName); + if (measureOpt.isPresent()) { + return ok(measureOpt.get()); } else { return notFound(); }
