From 361ad9132b8b763b4a3f00aba369fa62b08913e8 Mon Sep 17 00:00:00 2001 From: Rob Rudin Date: Mon, 18 May 2026 14:55:34 -0400 Subject: [PATCH] MLE-29542 Added default implementations for new API methods --- .../com/marklogic/flux/api/CustomExportWriteOptions.java | 5 ++++- .../src/main/java/com/marklogic/flux/api/CustomImporter.java | 5 ++++- flux-cli/src/main/java/com/marklogic/flux/api/Executor.java | 5 ++++- .../java/com/marklogic/flux/api/GenericFilesExporter.java | 5 ++++- .../main/java/com/marklogic/flux/api/ReadFilesOptions.java | 5 ++++- .../main/java/com/marklogic/flux/api/WriteFilesOptions.java | 5 ++++- 6 files changed, 24 insertions(+), 6 deletions(-) diff --git a/flux-cli/src/main/java/com/marklogic/flux/api/CustomExportWriteOptions.java b/flux-cli/src/main/java/com/marklogic/flux/api/CustomExportWriteOptions.java index 6c04e74e..ea96f72f 100644 --- a/flux-cli/src/main/java/com/marklogic/flux/api/CustomExportWriteOptions.java +++ b/flux-cli/src/main/java/com/marklogic/flux/api/CustomExportWriteOptions.java @@ -26,7 +26,10 @@ public interface CustomExportWriteOptions { /** * @since 2.1.1 */ - CustomExportWriteOptions s3AnonymousAccess(); + default CustomExportWriteOptions s3AnonymousAccess() { + // Default implementation for backwards compatibility. + throw new UnsupportedOperationException("S3 anonymous access is not supported in this implementation"); + } CustomExportWriteOptions s3AccessKeyId(String accessKeyId); diff --git a/flux-cli/src/main/java/com/marklogic/flux/api/CustomImporter.java b/flux-cli/src/main/java/com/marklogic/flux/api/CustomImporter.java index 29fd8f01..5b416d2e 100644 --- a/flux-cli/src/main/java/com/marklogic/flux/api/CustomImporter.java +++ b/flux-cli/src/main/java/com/marklogic/flux/api/CustomImporter.java @@ -28,7 +28,10 @@ interface CustomReadOptions { /** * @since 2.1.1 */ - CustomReadOptions s3AnonymousAccess(); + default CustomReadOptions s3AnonymousAccess() { + // Default implementation for backwards compatibility. + throw new UnsupportedOperationException("S3 anonymous access is not supported in this implementation"); + } CustomReadOptions s3AccessKeyId(String accessKeyId); diff --git a/flux-cli/src/main/java/com/marklogic/flux/api/Executor.java b/flux-cli/src/main/java/com/marklogic/flux/api/Executor.java index 9680a503..c245731c 100644 --- a/flux-cli/src/main/java/com/marklogic/flux/api/Executor.java +++ b/flux-cli/src/main/java/com/marklogic/flux/api/Executor.java @@ -49,7 +49,10 @@ public interface Executor { * @return instance of this executor * @since 2.1.1 */ - T connectionStringBasic(String connectionString); + default T connectionStringBasic(String connectionString) { + // Default implementation for backwards compatibility. + return connectionString(connectionString); + } /** * Limit the number of records read from the executor's data source. diff --git a/flux-cli/src/main/java/com/marklogic/flux/api/GenericFilesExporter.java b/flux-cli/src/main/java/com/marklogic/flux/api/GenericFilesExporter.java index 3090eecc..9d2ecaa2 100644 --- a/flux-cli/src/main/java/com/marklogic/flux/api/GenericFilesExporter.java +++ b/flux-cli/src/main/java/com/marklogic/flux/api/GenericFilesExporter.java @@ -33,7 +33,10 @@ interface WriteGenericFilesOptions { /** * @since 2.1.1 */ - WriteGenericFilesOptions s3AnonymousAccess(); + default WriteGenericFilesOptions s3AnonymousAccess() { + // Default implementation for backwards compatibility. + throw new UnsupportedOperationException("S3 anonymous access is not supported in this implementation"); + } WriteGenericFilesOptions s3AccessKeyId(String accessKeyId); diff --git a/flux-cli/src/main/java/com/marklogic/flux/api/ReadFilesOptions.java b/flux-cli/src/main/java/com/marklogic/flux/api/ReadFilesOptions.java index 2fdb31ba..01dd0286 100644 --- a/flux-cli/src/main/java/com/marklogic/flux/api/ReadFilesOptions.java +++ b/flux-cli/src/main/java/com/marklogic/flux/api/ReadFilesOptions.java @@ -27,7 +27,10 @@ public interface ReadFilesOptions { /** * @since 2.1.1 */ - T s3AnonymousAccess(); + default T s3AnonymousAccess() { + // Default implementation for backwards compatibility. + throw new UnsupportedOperationException("S3 anonymous access is not supported in this implementation"); + } T s3AccessKeyId(String accessKeyId); diff --git a/flux-cli/src/main/java/com/marklogic/flux/api/WriteFilesOptions.java b/flux-cli/src/main/java/com/marklogic/flux/api/WriteFilesOptions.java index 94c86971..7c9202ec 100644 --- a/flux-cli/src/main/java/com/marklogic/flux/api/WriteFilesOptions.java +++ b/flux-cli/src/main/java/com/marklogic/flux/api/WriteFilesOptions.java @@ -23,7 +23,10 @@ public interface WriteFilesOptions { /** * @since 2.1.1 */ - T s3AnonymousAccess(); + default T s3AnonymousAccess() { + // Default implementation for backwards compatibility. + throw new UnsupportedOperationException("S3 anonymous access is not supported in this implementation"); + } T s3Endpoint(String endpoint);