From 9f9a4550225e95d7957c5dc0e723e18fc720ce3e Mon Sep 17 00:00:00 2001 From: Shawn Fang <45607042+mssfang@users.noreply.github.com> Date: Thu, 12 Dec 2019 16:25:22 -0800 Subject: [PATCH] Setting selector filter (#6693) Allowed user to define KeyFilter and LabelFilter --- .../ConfigurationAsyncClient.java | 18 ++-- .../models/SettingSelector.java | 92 +++++++++---------- ...urationAsyncClientJavaDocCodeSnippets.java | 4 +- ...onfigurationClientJavaDocCodeSnippets.java | 8 +- .../appconfiguration/ConfigurationSets.java | 4 +- .../data/appconfiguration/PipelineSample.java | 2 +- .../appconfiguration/ReadRevisionHistory.java | 2 +- .../ReadRevisionHistoryAsync.java | 2 +- .../ConfigurationAsyncClientTest.java | 36 ++++---- .../ConfigurationClientTest.java | 36 ++++---- .../ConfigurationClientTestBase.java | 4 +- 11 files changed, 103 insertions(+), 105 deletions(-) diff --git a/sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/ConfigurationAsyncClient.java b/sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/ConfigurationAsyncClient.java index 70739b4d2ea0..87b95161cf56 100644 --- a/sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/ConfigurationAsyncClient.java +++ b/sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/ConfigurationAsyncClient.java @@ -585,11 +585,11 @@ private Mono> listFirstPageSettings(SettingS .doOnError(error -> logger.warning("Failed to list all ConfigurationSetting", error)); } - String fields = CoreUtils.arrayToString(selector.getFields(), SettingFields::toStringMapper); - String keys = CoreUtils.arrayToString(selector.getKeys(), key -> key); - String labels = CoreUtils.arrayToString(selector.getLabels(), label -> label); + final String fields = CoreUtils.arrayToString(selector.getFields(), SettingFields::toStringMapper); + final String keyFilter = selector.getKeyFilter(); + final String labelFilter = selector.getLabelFilter(); - return service.listKeyValues(serviceEndpoint, keys, labels, apiVersion, fields, + return service.listKeyValues(serviceEndpoint, keyFilter, labelFilter, apiVersion, fields, selector.getAcceptDateTime(), context) .doOnSubscribe(ignoredValue -> logger.info("Listing ConfigurationSettings - {}", selector)) .doOnSuccess(response -> logger.info("Listed ConfigurationSettings - {}", selector)) @@ -633,12 +633,12 @@ Mono> listRevisionsFirstPage(SettingSelector Mono> result; if (selector != null) { - String fields = CoreUtils.arrayToString(selector.getFields(), SettingFields::toStringMapper); - String keys = CoreUtils.arrayToString(selector.getKeys(), key -> key); - String labels = CoreUtils.arrayToString(selector.getLabels(), label -> label); + final String fields = CoreUtils.arrayToString(selector.getFields(), SettingFields::toStringMapper); + final String keyFilter = selector.getKeyFilter(); + final String labelFilter = selector.getLabelFilter(); - result = service.listKeyValueRevisions( - serviceEndpoint, keys, labels, apiVersion, fields, selector.getAcceptDateTime(), null, context) + result = service.listKeyValueRevisions(serviceEndpoint, keyFilter, labelFilter, apiVersion, fields, + selector.getAcceptDateTime(), null, context) .doOnRequest(ignoredValue -> logger.info("Listing ConfigurationSetting revisions - {}", selector)) .doOnSuccess(response -> logger.info("Listed ConfigurationSetting revisions - {}", selector)) .doOnError(error -> diff --git a/sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/models/SettingSelector.java b/sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/models/SettingSelector.java index 940acea63ef5..10ea7c630386 100644 --- a/sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/models/SettingSelector.java +++ b/sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/models/SettingSelector.java @@ -4,8 +4,8 @@ package com.azure.data.appconfiguration.models; import com.azure.core.annotation.Fluent; -import com.azure.data.appconfiguration.ConfigurationAsyncClient; import com.azure.core.util.CoreUtils; +import com.azure.data.appconfiguration.ConfigurationAsyncClient; import java.time.OffsetDateTime; import java.time.format.DateTimeFormatter; @@ -15,8 +15,8 @@ * *
    *
  • - * Providing {@link #getLabels() labels} will filter {@link ConfigurationSetting ConfigurationSettings} that match any - * label name in conjunction with the keys that are passed in to the service request. + * Providing {@link #getLabelFilter() labelFilter} will filter {@link ConfigurationSetting ConfigurationSettings} that + * match any label name in conjunction with the keys that are passed in to the service request. *
  • *
  • * Providing {@link #getAcceptDateTime() acceptDateTime} will return the representation of matching {@link @@ -32,8 +32,8 @@ */ @Fluent public class SettingSelector { - private String[] keys; - private String[] labels; + private String keyFilter; + private String labelFilter; private SettingFields[] fields; private String acceptDatetime; @@ -49,17 +49,18 @@ public SettingSelector() { * *

    * Examples: - *

      - *
    1. If keys = "*", settings with any key are returned.
    2. - *
    3. If keys = "abc1234", settings with a key equal to "abc1234" are returned.
    4. - *
    5. If keys = "abc*", settings with a key starting with "abc" are returned.
    6. - *
    7. If keys = "*abc*", settings with a key containing "abc" are returned.
    8. - *
    + *
      + *
    • If {@code keyFilter = "*"}, settings with any key are returned.
    • + *
    • If {@code keyFilter = "abc1234"}, settings with a key equal to "abc1234" are returned.
    • + *
    • If {@code keyFilter = "abc*"}, settings with a key starting with "abc" are returned.
    • + *
    • If {@code keyFilter = "*abc*"}, settings with a key containing "abc" are returned.
    • + *
    • If {@code keyFilter = "abc,def"}, settings with a key equal to "abc" or "def" are returned.
    • + *
    * * @return The expressions to filter ConfigurationSetting keys on. */ - public String[] getKeys() { - return keys == null ? new String[0] : CoreUtils.clone(keys); + public String getKeyFilter() { + return keyFilter; } /** @@ -68,18 +69,18 @@ public String[] getKeys() { *

    * Examples: *

      - *
    • If {@code keys = "*"}, settings with any key are returned.
    • - *
    • If {@code keys = "abc1234"}, settings with a key equal to "abc1234" are returned.
    • - *
    • If {@code keys = "abc*"}, settings with a key starting with "abc" are returned.
    • - *
    • If {@code keys = "*abc*"}, settings with a key containing "abc" are returned.
    • - *
    • If {@code keys = "abc,def"}, settings with a key equal to "abc" or "def" are returned.
    • + *
    • If {@code keyFilter = "*"}, settings with any key are returned.
    • + *
    • If {@code keyFilter = "abc1234"}, settings with a key equal to "abc1234" are returned.
    • + *
    • If {@code keyFilter = "abc*"}, settings with a key starting with "abc" are returned.
    • + *
    • If {@code keyFilter = "*abc*"}, settings with a key containing "abc" are returned.
    • + *
    • If {@code keyFilter = "abc,def"}, settings with a key equal to "abc" or "def" are returned.
    • *
    * - * @param keys The expressions to filter ConfigurationSetting keys on. + * @param keyFilter The expressions to filter ConfigurationSetting keys on. * @return The updated SettingSelector object */ - public SettingSelector setKeys(String... keys) { - this.keys = keys; + public SettingSelector setKeyFilter(String keyFilter) { + this.keyFilter = keyFilter; return this; } @@ -93,42 +94,42 @@ public SettingSelector setKeys(String... keys) { *

    * Examples: *

      - *
    • If {@code labels = "*"}, settings with any label are returned.
    • - *
    • If {@code labels = "\0"}, settings without any label are returned.
    • - *
    • If {@code labels = ""}, settings without any label are returned.
    • - *
    • If {@code labels = null}, settings without any label are returned.
    • - *
    • If {@code labels = "abc1234"}, settings with a label equal to "abc1234" are returned.
    • - *
    • If {@code labels = "abc*"}, settings with a label starting with "abc" are returned.
    • - *
    • If {@code labels = "*abc*"}, settings with a label containing "abc" are returned.
    • - *
    • If {@code labels = "abc,def"}, settings with labels "abc" or "def" are returned.
    • + *
    • If {@code labelFilter = "*"}, settings with any label are returned.
    • + *
    • If {@code labelFilter = "\0"}, settings without any label are returned.
    • + *
    • If {@code labelFilter = ""}, settings without any label are returned.
    • + *
    • If {@code labelFilter = null}, settings without any label are returned.
    • + *
    • If {@code labelFilter = "abc1234"}, settings with a label equal to "abc1234" are returned.
    • + *
    • If {@code labelFilter = "abc*"}, settings with a label starting with "abc" are returned.
    • + *
    • If {@code labelFilter = "*abc*"}, settings with a label containing "abc" are returned.
    • + *
    • If {@code labelFilter = "abc,def"}, settings with labels "abc" or "def" are returned.
    • *
    * * @return labels The labels used to filter GET requests from the service. */ - public String[] getLabels() { - return labels == null ? new String[0] : CoreUtils.clone(labels); + public String getLabelFilter() { + return labelFilter; } /** - * Sets the query to match {@link ConfigurationSetting#getLabel() labels} in the service. + * Sets the expression to filter {@link ConfigurationSetting#getLabel() labels} on for the request. * *

    * Examples: *

      - *
    • If {@code labels = "*"}, settings with any label are returned.
    • - *
    • If {@code labels = "\0"}, settings without any label are returned. (This is the default label.)
    • - *
    • If {@code labels = "abc1234"}, settings with a label equal to "abc1234" are returned.
    • - *
    • If {@code labels = "abc*"}, settings with a label starting with "abc" are returned.
    • - *
    • If {@code labels = "*abc*"}, settings with a label containing "abc" are returned.
    • - *
    • If {@code labels = "abc,def"}, settings with labels "abc" or "def" are returned.
    • + *
    • If {@code labelFilter = "*"}, settings with any label are returned.
    • + *
    • If {@code labelFilter = "\0"}, settings without any label are returned. (This is the default label.)
    • + *
    • If {@code labelFilter = "abc1234"}, settings with a label equal to "abc1234" are returned.
    • + *
    • If {@code labelFilter = "abc*"}, settings with a label starting with "abc" are returned.
    • + *
    • If {@code labelFilter = "*abc*"}, settings with a label containing "abc" are returned.
    • + *
    • If {@code labelFilter = "abc,def"}, settings with labels "abc" or "def" are returned.
    • *
    * - * @param labels The ConfigurationSetting labels to match. If the provided value is {@code null} or {@code ""}, all - * ConfigurationSettings will be returned regardless of their label. + * @param labelFilter The expressions to filter ConfigurationSetting labels on. If the provided value is + * {@code null} or {@code ""}, all ConfigurationSettings will be returned regardless of their label. * @return SettingSelector The updated SettingSelector object. */ - public SettingSelector setLabels(String... labels) { - this.labels = labels; + public SettingSelector setLabelFilter(String labelFilter) { + this.labelFilter = labelFilter; return this; } @@ -187,10 +188,7 @@ public String toString() { fields = CoreUtils.arrayToString(this.fields, SettingFields::toStringMapper); } - return String.format("SettingSelector(keys=%s, labels=%s, acceptDateTime=%s, fields=%s)", - CoreUtils.arrayToString(this.keys, key -> key), - CoreUtils.arrayToString(this.labels, label -> label), - this.acceptDatetime, - fields); + return String.format("SettingSelector(keyFilter=%s, labelFilter=%s, acceptDateTime=%s, fields=%s)", + this.keyFilter, this.labelFilter, this.acceptDatetime, fields); } } diff --git a/sdk/appconfiguration/azure-data-appconfiguration/src/samples/java/com/azure/data/appconfiguration/ConfigurationAsyncClientJavaDocCodeSnippets.java b/sdk/appconfiguration/azure-data-appconfiguration/src/samples/java/com/azure/data/appconfiguration/ConfigurationAsyncClientJavaDocCodeSnippets.java index 437fa9ece4d3..e0669129f53e 100644 --- a/sdk/appconfiguration/azure-data-appconfiguration/src/samples/java/com/azure/data/appconfiguration/ConfigurationAsyncClientJavaDocCodeSnippets.java +++ b/sdk/appconfiguration/azure-data-appconfiguration/src/samples/java/com/azure/data/appconfiguration/ConfigurationAsyncClientJavaDocCodeSnippets.java @@ -213,7 +213,7 @@ public void unlockSettingsCodeSnippet() { public void listSettingCodeSnippet() { ConfigurationAsyncClient client = getAsyncClient(); // BEGIN: com.azure.data.appconfiguration.configurationasyncclient.listsettings - client.listConfigurationSettings(new SettingSelector().setKeys("prodDBConnection")) + client.listConfigurationSettings(new SettingSelector().setKeyFilter("prodDBConnection")) .subscriberContext(Context.of(key1, value1, key2, value2)) .subscribe(setting -> System.out.printf("Key: %s, Value: %s", setting.getKey(), setting.getValue())); @@ -226,7 +226,7 @@ public void listSettingCodeSnippet() { public void listRevisionsCodeSnippet() { ConfigurationAsyncClient client = getAsyncClient(); // BEGIN: com.azure.data.appconfiguration.configurationasyncclient.listsettingrevisions - client.listRevisions(new SettingSelector().setKeys("prodDBConnection")) + client.listRevisions(new SettingSelector().setKeyFilter("prodDBConnection")) .subscriberContext(Context.of(key1, value1, key2, value2)) .subscribe(setting -> System.out.printf("Key: %s, Value: %s", setting.getKey(), setting.getValue())); diff --git a/sdk/appconfiguration/azure-data-appconfiguration/src/samples/java/com/azure/data/appconfiguration/ConfigurationClientJavaDocCodeSnippets.java b/sdk/appconfiguration/azure-data-appconfiguration/src/samples/java/com/azure/data/appconfiguration/ConfigurationClientJavaDocCodeSnippets.java index bcd0a5fc027f..eb7b2b602f1a 100644 --- a/sdk/appconfiguration/azure-data-appconfiguration/src/samples/java/com/azure/data/appconfiguration/ConfigurationClientJavaDocCodeSnippets.java +++ b/sdk/appconfiguration/azure-data-appconfiguration/src/samples/java/com/azure/data/appconfiguration/ConfigurationClientJavaDocCodeSnippets.java @@ -254,7 +254,7 @@ public void unlockSettingsCodeSnippet() { public void listConfigurationSettings() { ConfigurationClient configurationClient = createSyncConfigurationClient(); // BEGIN: com.azure.data.applicationconfig.configurationclient.listConfigurationSettings#settingSelector - SettingSelector settingSelector = new SettingSelector().setKeys("prodDBConnection"); + SettingSelector settingSelector = new SettingSelector().setKeyFilter("prodDBConnection"); configurationClient.listConfigurationSettings(settingSelector).forEach(setting -> { System.out.printf("Key: %s, Value: %s", setting.getKey(), setting.getValue()); }); @@ -267,7 +267,7 @@ public void listConfigurationSettings() { public void listConfigurationSettingsContext() { ConfigurationClient configurationClient = createSyncConfigurationClient(); // BEGIN: com.azure.data.applicationconfig.configurationclient.listConfigurationSettings#settingSelector-context - SettingSelector settingSelector = new SettingSelector().setKeys("prodDBConnection"); + SettingSelector settingSelector = new SettingSelector().setKeyFilter("prodDBConnection"); Context ctx = new Context(key2, value2); configurationClient.listConfigurationSettings(settingSelector, ctx).forEach(setting -> { System.out.printf("Key: %s, Value: %s", setting.getKey(), setting.getValue()); @@ -281,7 +281,7 @@ public void listConfigurationSettingsContext() { public void listRevisions() { ConfigurationClient client = createSyncConfigurationClient(); // BEGIN: com.azure.data.applicationconfig.configurationclient.listRevisions#settingSelector - SettingSelector settingSelector = new SettingSelector().setKeys("prodDBConnection"); + SettingSelector settingSelector = new SettingSelector().setKeyFilter("prodDBConnection"); client.listRevisions(settingSelector).streamByPage().forEach(resp -> { System.out.printf("Response headers are %s. Url %s and status code %d %n", resp.getHeaders(), resp.getRequest().getUrl(), resp.getStatusCode()); @@ -298,7 +298,7 @@ public void listRevisions() { public void listRevisionsContext() { ConfigurationClient configurationClient = createSyncConfigurationClient(); // BEGIN: com.azure.data.applicationconfig.configurationclient.listRevisions#settingSelector-context - SettingSelector settingSelector = new SettingSelector().setKeys("prodDBConnection"); + SettingSelector settingSelector = new SettingSelector().setKeyFilter("prodDBConnection"); Context ctx = new Context(key2, value2); configurationClient.listRevisions(settingSelector, ctx).forEach(setting -> { System.out.printf("Key: %s, Value: %s", setting.getKey(), setting.getValue()); diff --git a/sdk/appconfiguration/azure-data-appconfiguration/src/samples/java/com/azure/data/appconfiguration/ConfigurationSets.java b/sdk/appconfiguration/azure-data-appconfiguration/src/samples/java/com/azure/data/appconfiguration/ConfigurationSets.java index 09a961879853..340cb87a15de 100644 --- a/sdk/appconfiguration/azure-data-appconfiguration/src/samples/java/com/azure/data/appconfiguration/ConfigurationSets.java +++ b/sdk/appconfiguration/azure-data-appconfiguration/src/samples/java/com/azure/data/appconfiguration/ConfigurationSets.java @@ -64,7 +64,7 @@ public static void main(String[] args) throws IOException { // For your services, you can select settings with "beta" or "production" label, depending on what you want your // services to communicate with. The sample below fetches all of the "beta" settings. - SettingSelector selector = new SettingSelector().setLabels(BETA); + SettingSelector selector = new SettingSelector().setLabelFilter(BETA); client.listConfigurationSettings(selector).toStream().forEach(setting -> { System.out.println("Key: " + setting.getKey()); @@ -83,7 +83,7 @@ public static void main(String[] args) throws IOException { // For the BETA and PRODUCTION sets, we fetch all of the settings we created in each set, and delete them. // Blocking so that the program does not exit before these tasks have completed. Flux.fromArray(new String[]{BETA, PRODUCTION}) - .flatMap(set -> client.listConfigurationSettings(new SettingSelector().setLabels(set))) + .flatMap(set -> client.listConfigurationSettings(new SettingSelector().setLabelFilter(set))) .map(setting -> client.deleteConfigurationSettingWithResponse(setting, false)) .blockLast(); } diff --git a/sdk/appconfiguration/azure-data-appconfiguration/src/samples/java/com/azure/data/appconfiguration/PipelineSample.java b/sdk/appconfiguration/azure-data-appconfiguration/src/samples/java/com/azure/data/appconfiguration/PipelineSample.java index 986a647c5739..78a21582b70e 100644 --- a/sdk/appconfiguration/azure-data-appconfiguration/src/samples/java/com/azure/data/appconfiguration/PipelineSample.java +++ b/sdk/appconfiguration/azure-data-appconfiguration/src/samples/java/com/azure/data/appconfiguration/PipelineSample.java @@ -48,7 +48,7 @@ public static void main(String[] args) { final List settings = Flux.concat( client.addConfigurationSetting("hello", null, "world"), client.setConfigurationSetting("newSetting", null, "newValue")) - .then(client.listConfigurationSettings(new SettingSelector().setKeys("*")).collectList()) + .then(client.listConfigurationSettings(new SettingSelector().setKeyFilter("*")).collectList()) .block(); // Cleaning up after ourselves by deleting the values. diff --git a/sdk/appconfiguration/azure-data-appconfiguration/src/samples/java/com/azure/data/appconfiguration/ReadRevisionHistory.java b/sdk/appconfiguration/azure-data-appconfiguration/src/samples/java/com/azure/data/appconfiguration/ReadRevisionHistory.java index d3be7ff292e2..754b51fa0727 100644 --- a/sdk/appconfiguration/azure-data-appconfiguration/src/samples/java/com/azure/data/appconfiguration/ReadRevisionHistory.java +++ b/sdk/appconfiguration/azure-data-appconfiguration/src/samples/java/com/azure/data/appconfiguration/ReadRevisionHistory.java @@ -36,7 +36,7 @@ public static void main(String[] args) { final List settings = Flux.concat( client.addConfigurationSetting(key, null, "world"), client.setConfigurationSetting(key, null, "newValue")) - .then(client.listRevisions(new SettingSelector().setKeys(key)).collectList()) + .then(client.listRevisions(new SettingSelector().setKeyFilter(key)).collectList()) .block(); // Cleaning up after ourselves by deleting the values. diff --git a/sdk/appconfiguration/azure-data-appconfiguration/src/samples/java/com/azure/data/appconfiguration/ReadRevisionHistoryAsync.java b/sdk/appconfiguration/azure-data-appconfiguration/src/samples/java/com/azure/data/appconfiguration/ReadRevisionHistoryAsync.java index a61643e998dc..41e06abbff16 100644 --- a/sdk/appconfiguration/azure-data-appconfiguration/src/samples/java/com/azure/data/appconfiguration/ReadRevisionHistoryAsync.java +++ b/sdk/appconfiguration/azure-data-appconfiguration/src/samples/java/com/azure/data/appconfiguration/ReadRevisionHistoryAsync.java @@ -36,7 +36,7 @@ public static void main(String[] args) { final List settings = Flux.concat( client.addConfigurationSetting(key, null, "world"), client.setConfigurationSetting(key, null, "newValue")) - .then(client.listRevisions(new SettingSelector().setKeys(key)).collectList()) + .then(client.listRevisions(new SettingSelector().setKeyFilter(key)).collectList()) .block(); // Cleaning up after ourselves by deleting the values. diff --git a/sdk/appconfiguration/azure-data-appconfiguration/src/test/java/com/azure/data/appconfiguration/ConfigurationAsyncClientTest.java b/sdk/appconfiguration/azure-data-appconfiguration/src/test/java/com/azure/data/appconfiguration/ConfigurationAsyncClientTest.java index 5b84281b7234..5e0dd2340f1d 100644 --- a/sdk/appconfiguration/azure-data-appconfiguration/src/test/java/com/azure/data/appconfiguration/ConfigurationAsyncClientTest.java +++ b/sdk/appconfiguration/azure-data-appconfiguration/src/test/java/com/azure/data/appconfiguration/ConfigurationAsyncClientTest.java @@ -66,7 +66,7 @@ protected void beforeTest() { @Override protected void afterTest() { logger.info("Cleaning up created key values."); - client.listConfigurationSettings(new SettingSelector().setKeys(keyPrefix + "*")) + client.listConfigurationSettings(new SettingSelector().setKeyFilter(keyPrefix + "*")) .flatMap(configurationSetting -> { logger.info("Deleting key:label [{}:{}]. isReadOnly? {}", configurationSetting.getKey(), configurationSetting.getLabel(), configurationSetting.isReadOnly()); Mono> unlock = configurationSetting.isReadOnly() ? client.setReadOnlyWithResponse(configurationSetting, false) : Mono.empty(); @@ -450,11 +450,11 @@ public void listWithKeyAndLabel() { .assertNext(response -> assertConfigurationEquals(expected, response)) .verifyComplete(); - StepVerifier.create(client.listConfigurationSettings(new SettingSelector().setKeys(key).setLabels(label))) + StepVerifier.create(client.listConfigurationSettings(new SettingSelector().setKeyFilter(key).setLabelFilter(label))) .assertNext(configurationSetting -> assertConfigurationEquals(expected, configurationSetting)) .verifyComplete(); - StepVerifier.create(client.listConfigurationSettings(new SettingSelector().setKeys(key))) + StepVerifier.create(client.listConfigurationSettings(new SettingSelector().setKeyFilter(key))) .assertNext(configurationSetting -> assertConfigurationEquals(expected, configurationSetting)) .verifyComplete(); } @@ -479,7 +479,7 @@ public void listWithMultipleKeys() { .assertNext(response -> assertConfigurationEquals(setting2, response)) .verifyComplete(); - StepVerifier.create(client.listConfigurationSettings(new SettingSelector().setKeys(key, key2))) + StepVerifier.create(client.listConfigurationSettings(new SettingSelector().setKeyFilter(key + "," + key2))) .consumeNextWith(selected::add) .consumeNextWith(selected::add) .verifyComplete(); @@ -509,7 +509,7 @@ public void listWithMultipleLabels() { .assertNext(response -> assertConfigurationEquals(setting2, response)) .verifyComplete(); - StepVerifier.create(client.listConfigurationSettings(new SettingSelector().setKeys(key).setLabels(label, label2))) + StepVerifier.create(client.listConfigurationSettings(new SettingSelector().setKeyFilter(key).setLabelFilter(label + "," + label2))) .consumeNextWith(selected::add) .consumeNextWith(selected::add) .verifyComplete(); @@ -564,13 +564,13 @@ public void listConfigurationSettingsAcceptDateTime() { .verifyComplete(); // Gets all versions of this value so we can get the one we want at that particular date. - List revisions = client.listRevisions(new SettingSelector().setKeys(keyName)).collectList().block(); + List revisions = client.listRevisions(new SettingSelector().setKeyFilter(keyName)).collectList().block(); assertNotNull(revisions); assertEquals(3, revisions.size()); // We want to fetch the configuration setting when we first updated its value. - SettingSelector options = new SettingSelector().setKeys(keyName).setAcceptDatetime(revisions.get(1).getLastModified()); + SettingSelector options = new SettingSelector().setKeyFilter(keyName).setAcceptDatetime(revisions.get(1).getLastModified()); StepVerifier.create(client.listConfigurationSettings(options)) .assertNext(response -> assertConfigurationEquals(updated, response)) .verifyComplete(); @@ -599,14 +599,14 @@ public void listRevisions() { .verifyComplete(); // Get all revisions for a key, they are listed in descending order. - StepVerifier.create(client.listRevisions(new SettingSelector().setKeys(keyName))) + StepVerifier.create(client.listRevisions(new SettingSelector().setKeyFilter(keyName))) .assertNext(response -> assertConfigurationEquals(updated2, response)) .assertNext(response -> assertConfigurationEquals(updated, response)) .assertNext(response -> assertConfigurationEquals(original, response)) .verifyComplete(); // Verifies that we can select specific fields. - StepVerifier.create(client.listRevisions(new SettingSelector().setKeys(keyName).setFields(SettingFields.KEY, SettingFields.ETAG))) + StepVerifier.create(client.listRevisions(new SettingSelector().setKeyFilter(keyName).setFields(SettingFields.KEY, SettingFields.ETAG))) .assertNext(response -> validateListRevisions(updated2, response)) .assertNext(response -> validateListRevisions(updated, response)) .assertNext(response -> validateListRevisions(original, response)) @@ -640,7 +640,7 @@ public void listRevisionsWithMultipleKeys() { .assertNext(response -> assertConfigurationEquals(testInput.get(3), response)) .verifyComplete(); - StepVerifier.create(client.listRevisions(new SettingSelector().setKeys(key, key2))) + StepVerifier.create(client.listRevisions(new SettingSelector().setKeyFilter(key + "," + key2))) .consumeNextWith(selected::add) .consumeNextWith(selected::add) .consumeNextWith(selected::add) @@ -679,7 +679,7 @@ public void listRevisionsWithMultipleLabels() { .assertNext(response -> assertConfigurationEquals(testInput.get(3), response)) .verifyComplete(); - StepVerifier.create(client.listRevisions(new SettingSelector().setKeys(key).setLabels(label, label2))) + StepVerifier.create(client.listRevisions(new SettingSelector().setKeyFilter(key).setLabelFilter(label + "," + label2))) .consumeNextWith(selected::add) .consumeNextWith(selected::add) .consumeNextWith(selected::add) @@ -712,14 +712,14 @@ public void listRevisionsAcceptDateTime() { .verifyComplete(); // Gets all versions of this value. - List revisions = client.listRevisions(new SettingSelector().setKeys(keyName)).collectList().block(); + List revisions = client.listRevisions(new SettingSelector().setKeyFilter(keyName)).collectList().block(); assertNotNull(revisions); assertEquals(3, revisions.size()); // We want to fetch all the revisions that existed up and including when the first revision was created. // Revisions are returned in descending order from creation date. - SettingSelector options = new SettingSelector().setKeys(keyName).setAcceptDatetime(revisions.get(1).getLastModified()); + SettingSelector options = new SettingSelector().setKeyFilter(keyName).setAcceptDatetime(revisions.get(1).getLastModified()); StepVerifier.create(client.listRevisions(options)) .assertNext(response -> assertConfigurationEquals(updated, response)) .assertNext(response -> assertConfigurationEquals(original, response)) @@ -743,7 +743,7 @@ public void listRevisionsWithPagination() { results.add(client.setConfigurationSettingWithResponse(setting, false)); } - SettingSelector filter = new SettingSelector().setKeys(keyPrefix).setLabels(labelPrefix); + SettingSelector filter = new SettingSelector().setKeyFilter(keyPrefix).setLabelFilter(labelPrefix); Flux.merge(results).blockLast(); StepVerifier.create(client.listRevisions(filter)) @@ -766,7 +766,7 @@ public void listRevisionsWithPaginationAndRepeatStream() { results.add(client.setConfigurationSettingWithResponse(setting, false)); } - SettingSelector filter = new SettingSelector().setKeys(keyPrefix).setLabels(labelPrefix); + SettingSelector filter = new SettingSelector().setKeyFilter(keyPrefix).setLabelFilter(labelPrefix); Flux.merge(results).blockLast(); @@ -796,7 +796,7 @@ public void listRevisionsWithPaginationAndRepeatIterator() { results.add(client.setConfigurationSettingWithResponse(setting, false)); } - SettingSelector filter = new SettingSelector().setKeys(keyPrefix).setLabels(labelPrefix); + SettingSelector filter = new SettingSelector().setKeyFilter(keyPrefix).setLabelFilter(labelPrefix); Flux.merge(results).blockLast(); @@ -827,7 +827,7 @@ public void listConfigurationSettingsWithPagination() { results.add(client.setConfigurationSettingWithResponse(setting, false)); } - SettingSelector filter = new SettingSelector().setKeys(keyPrefix + "-*").setLabels(labelPrefix); + SettingSelector filter = new SettingSelector().setKeyFilter(keyPrefix + "-*").setLabelFilter(labelPrefix); Flux.merge(results).blockLast(); StepVerifier.create(client.listConfigurationSettings(filter)) @@ -866,7 +866,7 @@ public void getConfigurationSettingWhenValueNotUpdated() { @Test @Disabled public void deleteAllSettings() { - client.listConfigurationSettings(new SettingSelector().setKeys("*")) + client.listConfigurationSettings(new SettingSelector().setKeyFilter("*")) .flatMap(configurationSetting -> { logger.info("Deleting key:label [{}:{}]. isReadOnly? {}", configurationSetting.getKey(), configurationSetting.getLabel(), configurationSetting.isReadOnly()); return client.deleteConfigurationSettingWithResponse(configurationSetting, false); diff --git a/sdk/appconfiguration/azure-data-appconfiguration/src/test/java/com/azure/data/appconfiguration/ConfigurationClientTest.java b/sdk/appconfiguration/azure-data-appconfiguration/src/test/java/com/azure/data/appconfiguration/ConfigurationClientTest.java index 19037c813a44..b21b28fa2d72 100644 --- a/sdk/appconfiguration/azure-data-appconfiguration/src/test/java/com/azure/data/appconfiguration/ConfigurationClientTest.java +++ b/sdk/appconfiguration/azure-data-appconfiguration/src/test/java/com/azure/data/appconfiguration/ConfigurationClientTest.java @@ -63,7 +63,7 @@ protected void beforeTest() { @Override protected void afterTest() { logger.info("Cleaning up created key values."); - client.listConfigurationSettings(new SettingSelector().setKeys(keyPrefix + "*")).forEach(configurationSetting -> { + client.listConfigurationSettings(new SettingSelector().setKeyFilter(keyPrefix + "*")).forEach(configurationSetting -> { logger.info("Deleting key:label [{}:{}]. isReadOnly? {}", configurationSetting.getKey(), configurationSetting.getLabel(), configurationSetting.isReadOnly()); if (configurationSetting.isReadOnly()) { client.setReadOnlyWithResponse(configurationSetting, false, Context.NONE); @@ -360,8 +360,8 @@ public void listWithKeyAndLabel() { final ConfigurationSetting expected = new ConfigurationSetting().setKey(key).setValue(value).setLabel(label); assertConfigurationEquals(expected, client.setConfigurationSettingWithResponse(expected, false, Context.NONE).getValue()); - assertConfigurationEquals(expected, client.listConfigurationSettings(new SettingSelector().setKeys(key).setLabels(label)).iterator().next()); - assertConfigurationEquals(expected, client.listConfigurationSettings(new SettingSelector().setKeys(key)).iterator().next()); + assertConfigurationEquals(expected, client.listConfigurationSettings(new SettingSelector().setKeyFilter(key).setLabelFilter(label)).iterator().next()); + assertConfigurationEquals(expected, client.listConfigurationSettings(new SettingSelector().setKeyFilter(key)).iterator().next()); } /** @@ -377,7 +377,7 @@ public void listWithMultipleKeys() { assertConfigurationEquals(setting, client.addConfigurationSettingWithResponse(setting, Context.NONE).getValue()); assertConfigurationEquals(setting2, client.addConfigurationSettingWithResponse(setting2, Context.NONE).getValue()); - return client.listConfigurationSettings(new SettingSelector().setKeys(key, key2)); + return client.listConfigurationSettings(new SettingSelector().setKeyFilter(key + "," + key2)); }); } @@ -395,7 +395,7 @@ public void listWithMultipleLabels() { assertConfigurationEquals(setting, client.addConfigurationSettingWithResponse(setting, Context.NONE).getValue()); assertConfigurationEquals(setting2, client.addConfigurationSettingWithResponse(setting2, Context.NONE).getValue()); - return client.listConfigurationSettings(new SettingSelector().setKeys(key).setLabels(label, label2)); + return client.listConfigurationSettings(new SettingSelector().setKeyFilter(key).setLabelFilter(label + "," + label2)); }); } @@ -432,13 +432,13 @@ public void listConfigurationSettingsAcceptDateTime() { } // Gets all versions of this value so we can get the one we want at that particular date. - List revisions = client.listRevisions(new SettingSelector().setKeys(keyName)).stream().collect(Collectors.toList()); + List revisions = client.listRevisions(new SettingSelector().setKeyFilter(keyName)).stream().collect(Collectors.toList()); assertNotNull(revisions); assertEquals(3, revisions.size()); // We want to fetch the configuration setting when we first updated its value. - SettingSelector options = new SettingSelector().setKeys(keyName).setAcceptDatetime(revisions.get(1).getLastModified()); + SettingSelector options = new SettingSelector().setKeyFilter(keyName).setAcceptDatetime(revisions.get(1).getLastModified()); assertConfigurationEquals(updated, (client.listConfigurationSettings(options).stream().collect(Collectors.toList())).get(0)); } @@ -459,13 +459,13 @@ public void listRevisions() { assertConfigurationEquals(updated2, client.setConfigurationSettingWithResponse(updated2, false, Context.NONE).getValue()); // Get all revisions for a key, they are listed in descending order. - List revisions = client.listRevisions(new SettingSelector().setKeys(keyName)).stream().collect(Collectors.toList()); + List revisions = client.listRevisions(new SettingSelector().setKeyFilter(keyName)).stream().collect(Collectors.toList()); assertConfigurationEquals(updated2, revisions.get(0)); assertConfigurationEquals(updated, revisions.get(1)); assertConfigurationEquals(original, revisions.get(2)); // Verifies that we can select specific fields. - revisions = client.listRevisions(new SettingSelector().setKeys(keyName).setFields(SettingFields.KEY, SettingFields.ETAG)).stream().collect(Collectors.toList()); + revisions = client.listRevisions(new SettingSelector().setKeyFilter(keyName).setFields(SettingFields.KEY, SettingFields.ETAG)).stream().collect(Collectors.toList()); validateListRevisions(updated2, revisions.get(0)); validateListRevisions(updated, revisions.get(1)); validateListRevisions(original, revisions.get(2)); @@ -485,7 +485,7 @@ public void listRevisionsWithMultipleKeys() { assertConfigurationEquals(testInput.get(2), client.addConfigurationSettingWithResponse(testInput.get(2), Context.NONE).getValue()); assertConfigurationEquals(testInput.get(3), client.setConfigurationSettingWithResponse(testInput.get(3), false, Context.NONE).getValue()); - return client.listRevisions(new SettingSelector().setKeys(key, key2)); + return client.listRevisions(new SettingSelector().setKeyFilter(key + "," + key2)); }); } @@ -504,7 +504,7 @@ public void listRevisionsWithMultipleLabels() { assertConfigurationEquals(testInput.get(2), client.addConfigurationSettingWithResponse(testInput.get(2), Context.NONE).getValue()); assertConfigurationEquals(testInput.get(3), client.setConfigurationSettingWithResponse(testInput.get(3), false, Context.NONE).getValue()); - return client.listRevisions(new SettingSelector().setKeys(key).setLabels(label, label2)); + return client.listRevisions(new SettingSelector().setKeyFilter(key).setLabelFilter(label + "," + label2)); }); } @@ -530,14 +530,14 @@ public void listRevisionsAcceptDateTime() { } // Gets all versions of this value. - List revisions = client.listRevisions(new SettingSelector().setKeys(keyName)).stream().collect(Collectors.toList()); + List revisions = client.listRevisions(new SettingSelector().setKeyFilter(keyName)).stream().collect(Collectors.toList()); assertNotNull(revisions); assertEquals(3, revisions.size()); // We want to fetch all the revisions that existed up and including when the first revision was created. // Revisions are returned in descending order from creation date. - SettingSelector options = new SettingSelector().setKeys(keyName).setAcceptDatetime(revisions.get(1).getLastModified()); + SettingSelector options = new SettingSelector().setKeyFilter(keyName).setAcceptDatetime(revisions.get(1).getLastModified()); revisions = client.listRevisions(options).stream().collect(Collectors.toList()); assertConfigurationEquals(updated, revisions.get(0)); assertConfigurationEquals(original, revisions.get(1)); @@ -554,7 +554,7 @@ public void listRevisionsWithPagination() { client.setConfigurationSettingWithResponse(new ConfigurationSetting().setKey(keyPrefix).setValue("myValue" + value).setLabel(labelPrefix), false, Context.NONE).getValue(); } - SettingSelector filter = new SettingSelector().setKeys(keyPrefix).setLabels(labelPrefix); + SettingSelector filter = new SettingSelector().setKeyFilter(keyPrefix).setLabelFilter(labelPrefix); assertEquals(numberExpected, client.listRevisions(filter).stream().collect(Collectors.toList()).size()); } @@ -569,7 +569,7 @@ public void listRevisionsWithPaginationAndRepeatStream() { client.setConfigurationSettingWithResponse(new ConfigurationSetting().setKey(keyPrefix).setValue("myValue" + value).setLabel(labelPrefix), false, Context.NONE).getValue(); } - SettingSelector filter = new SettingSelector().setKeys(keyPrefix).setLabels(labelPrefix); + SettingSelector filter = new SettingSelector().setKeyFilter(keyPrefix).setLabelFilter(labelPrefix); PagedIterable configurationSettingPagedIterable = client.listRevisions(filter); assertEquals(numberExpected, configurationSettingPagedIterable.stream().collect(Collectors.toList()).size()); @@ -587,7 +587,7 @@ public void listRevisionsWithPaginationAndRepeatIterator() { client.setConfigurationSettingWithResponse(new ConfigurationSetting().setKey(keyPrefix).setValue("myValue" + value).setLabel(labelPrefix), false, Context.NONE).getValue(); } - SettingSelector filter = new SettingSelector().setKeys(keyPrefix).setLabels(labelPrefix); + SettingSelector filter = new SettingSelector().setKeyFilter(keyPrefix).setLabelFilter(labelPrefix); PagedIterable configurationSettingPagedIterable = client.listRevisions(filter); List configurationSettingList1 = new ArrayList<>(); @@ -612,7 +612,7 @@ public void listConfigurationSettingsWithPagination() { for (int value = 0; value < numberExpected; value++) { client.setConfigurationSettingWithResponse(new ConfigurationSetting().setKey(keyPrefix + "-" + value).setValue("myValue").setLabel(labelPrefix), false, Context.NONE).getValue(); } - SettingSelector filter = new SettingSelector().setKeys(keyPrefix + "-*").setLabels(labelPrefix); + SettingSelector filter = new SettingSelector().setKeyFilter(keyPrefix + "-*").setLabelFilter(labelPrefix); assertEquals(numberExpected, client.listConfigurationSettings(filter).stream().count()); } @@ -641,7 +641,7 @@ public void getConfigurationSettingWhenValueNotUpdated() { @Disabled public void deleteAllSettings() { - client.listConfigurationSettings(new SettingSelector().setKeys("*")).forEach(configurationSetting -> { + client.listConfigurationSettings(new SettingSelector().setKeyFilter("*")).forEach(configurationSetting -> { logger.info("Deleting key:label [{}:{}]. isReadOnly? {}", configurationSetting.getKey(), configurationSetting.getLabel(), configurationSetting.isReadOnly()); client.deleteConfigurationSettingWithResponse(configurationSetting, false, Context.NONE).getValue(); }); diff --git a/sdk/appconfiguration/azure-data-appconfiguration/src/test/java/com/azure/data/appconfiguration/ConfigurationClientTestBase.java b/sdk/appconfiguration/azure-data-appconfiguration/src/test/java/com/azure/data/appconfiguration/ConfigurationClientTestBase.java index a50b2ded5d8c..5eaa50b5a57b 100644 --- a/sdk/appconfiguration/azure-data-appconfiguration/src/test/java/com/azure/data/appconfiguration/ConfigurationClientTestBase.java +++ b/sdk/appconfiguration/azure-data-appconfiguration/src/test/java/com/azure/data/appconfiguration/ConfigurationClientTestBase.java @@ -286,8 +286,8 @@ void listConfigurationSettingsSelectFieldsRunner(BiFunction settings = new ArrayList<>(numberToCreate);