Skip to content

Commit 7e7710b

Browse files
client-side validation for common get/list/delete (Azure#19503)
1 parent e33fc44 commit 7e7710b

File tree

24 files changed

+244
-39
lines changed

24 files changed

+244
-39
lines changed

sdk/resourcemanager/azure-resourcemanager-appplatform/src/main/java/com/azure/resourcemanager/appplatform/implementation/SpringServicesImpl.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
import com.azure.core.http.rest.PagedFlux;
77
import com.azure.core.http.rest.PagedIterable;
8+
import com.azure.core.util.CoreUtils;
89
import com.azure.resourcemanager.appplatform.AppPlatformManager;
910
import com.azure.resourcemanager.appplatform.fluent.ServicesClient;
1011
import com.azure.resourcemanager.appplatform.fluent.models.ServiceResourceInner;
@@ -76,6 +77,10 @@ public PagedIterable<SpringService> listByResourceGroup(String resourceGroupName
7677

7778
@Override
7879
public PagedFlux<SpringService> listByResourceGroupAsync(String resourceGroupName) {
80+
if (CoreUtils.isNullOrEmpty(resourceGroupName)) {
81+
return new PagedFlux<>(() -> Mono.error(
82+
new IllegalArgumentException("Parameter 'resourceGroupName' is required and cannot be null.")));
83+
}
7984
return PagedConverter.mapPage(inner().listByResourceGroupAsync(resourceGroupName), this::wrapModel);
8085
}
8186

sdk/resourcemanager/azure-resourcemanager-appservice/src/main/java/com/azure/resourcemanager/appservice/implementation/AppServiceCertificatesImpl.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
import com.azure.core.http.rest.PagedFlux;
77
import com.azure.core.http.rest.PagedIterable;
8+
import com.azure.core.util.CoreUtils;
89
import com.azure.resourcemanager.appservice.AppServiceManager;
910
import com.azure.resourcemanager.appservice.models.AppServiceCertificate;
1011
import com.azure.resourcemanager.appservice.models.AppServiceCertificates;
@@ -35,11 +36,15 @@ protected Mono<Void> deleteInnerAsync(String resourceGroupName, String name) {
3536

3637
@Override
3738
public PagedIterable<AppServiceCertificate> listByResourceGroup(String resourceGroupName) {
38-
return new PagedIterable<>(wrapPageAsync(this.inner().listByResourceGroupAsync(resourceGroupName)));
39+
return new PagedIterable<>(this.listByResourceGroupAsync(resourceGroupName));
3940
}
4041

4142
@Override
4243
public PagedFlux<AppServiceCertificate> listByResourceGroupAsync(String resourceGroupName) {
44+
if (CoreUtils.isNullOrEmpty(resourceGroupName)) {
45+
return new PagedFlux<>(() -> Mono.error(
46+
new IllegalArgumentException("Parameter 'resourceGroupName' is required and cannot be null.")));
47+
}
4348
return wrapPageAsync(inner().listByResourceGroupAsync(resourceGroupName));
4449
}
4550

sdk/resourcemanager/azure-resourcemanager-appservice/src/main/java/com/azure/resourcemanager/appservice/implementation/FunctionAppsImpl.java

Lines changed: 27 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
import com.azure.core.http.rest.PagedFlux;
77
import com.azure.core.http.rest.PagedIterable;
8+
import com.azure.core.util.CoreUtils;
89
import com.azure.resourcemanager.appservice.AppServiceManager;
910
import com.azure.resourcemanager.appservice.fluent.WebAppsClient;
1011
import com.azure.resourcemanager.appservice.fluent.models.SiteConfigResourceInner;
@@ -47,16 +48,23 @@ public FunctionApp getByResourceGroup(String groupName, String name) {
4748
}
4849

4950
@Override
50-
public Mono<FunctionApp> getByResourceGroupAsync(final String groupName, final String name) {
51-
final FunctionAppsImpl self = this;
51+
public Mono<FunctionApp> getByResourceGroupAsync(final String resourceGroupName, final String name) {
52+
if (CoreUtils.isNullOrEmpty(resourceGroupName)) {
53+
return Mono.error(
54+
new IllegalArgumentException("Parameter 'resourceGroupName' is required and cannot be null."));
55+
}
56+
if (CoreUtils.isNullOrEmpty(name)) {
57+
return Mono.error(
58+
new IllegalArgumentException("Parameter 'name' is required and cannot be null."));
59+
}
5260
return this
53-
.getInnerAsync(groupName, name)
61+
.getInnerAsync(resourceGroupName, name)
5462
.flatMap(
5563
siteInner ->
5664
Mono
5765
.zip(
58-
self.inner().getConfigurationAsync(groupName, name),
59-
self.inner().getDiagnosticLogsConfigurationAsync(groupName, name),
66+
this.inner().getConfigurationAsync(resourceGroupName, name),
67+
this.inner().getDiagnosticLogsConfigurationAsync(resourceGroupName, name),
6068
(SiteConfigResourceInner siteConfigResourceInner, SiteLogsConfigInner logsConfigInner) ->
6169
wrapModel(siteInner, siteConfigResourceInner, logsConfigInner)));
6270
}
@@ -108,8 +116,16 @@ public FunctionAppImpl define(String name) {
108116
}
109117

110118
@Override
111-
public Mono<Void> deleteByResourceGroupAsync(String groupName, String name) {
112-
return this.inner().deleteAsync(groupName, name);
119+
public Mono<Void> deleteByResourceGroupAsync(String resourceGroupName, String name) {
120+
if (CoreUtils.isNullOrEmpty(resourceGroupName)) {
121+
return Mono.error(
122+
new IllegalArgumentException("Parameter 'resourceGroupName' is required and cannot be null."));
123+
}
124+
if (CoreUtils.isNullOrEmpty(name)) {
125+
return Mono.error(
126+
new IllegalArgumentException("Parameter 'name' is required and cannot be null."));
127+
}
128+
return this.inner().deleteAsync(resourceGroupName, name);
113129
}
114130

115131
@Override
@@ -141,6 +157,10 @@ public PagedIterable<FunctionAppBasic> listByResourceGroup(String resourceGroupN
141157

142158
@Override
143159
public PagedFlux<FunctionAppBasic> listByResourceGroupAsync(String resourceGroupName) {
160+
if (CoreUtils.isNullOrEmpty(resourceGroupName)) {
161+
return new PagedFlux<>(() -> Mono.error(
162+
new IllegalArgumentException("Parameter 'resourceGroupName' is required and cannot be null.")));
163+
}
144164
return PagedConverter.flatMapPage(inner().listByResourceGroupAsync(resourceGroupName),
145165
inner -> isFunctionApp(inner) ? Mono.just(new FunctionAppBasicImpl(inner, this.manager())) : Mono.empty());
146166
}

sdk/resourcemanager/azure-resourcemanager-appservice/src/main/java/com/azure/resourcemanager/appservice/implementation/WebAppsImpl.java

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
import com.azure.core.http.rest.PagedFlux;
77
import com.azure.core.http.rest.PagedIterable;
8+
import com.azure.core.util.CoreUtils;
89
import com.azure.resourcemanager.appservice.AppServiceManager;
910
import com.azure.resourcemanager.appservice.fluent.WebAppsClient;
1011
import com.azure.resourcemanager.appservice.fluent.models.SiteConfigResourceInner;
@@ -35,16 +36,23 @@ public WebAppsImpl(final AppServiceManager manager) {
3536
}
3637

3738
@Override
38-
public Mono<WebApp> getByResourceGroupAsync(final String groupName, final String name) {
39-
final WebAppsImpl self = this;
39+
public Mono<WebApp> getByResourceGroupAsync(final String resourceGroupName, final String name) {
40+
if (CoreUtils.isNullOrEmpty(resourceGroupName)) {
41+
return Mono.error(
42+
new IllegalArgumentException("Parameter 'resourceGroupName' is required and cannot be null."));
43+
}
44+
if (CoreUtils.isNullOrEmpty(name)) {
45+
return Mono.error(
46+
new IllegalArgumentException("Parameter 'name' is required and cannot be null."));
47+
}
4048
return this
41-
.getInnerAsync(groupName, name)
49+
.getInnerAsync(resourceGroupName, name)
4250
.flatMap(
4351
siteInner ->
4452
Mono
4553
.zip(
46-
self.inner().getConfigurationAsync(groupName, name),
47-
self.inner().getDiagnosticLogsConfigurationAsync(groupName, name),
54+
this.inner().getConfigurationAsync(resourceGroupName, name),
55+
this.inner().getDiagnosticLogsConfigurationAsync(resourceGroupName, name),
4856
(SiteConfigResourceInner siteConfigResourceInner, SiteLogsConfigInner logsConfigInner) ->
4957
wrapModel(siteInner, siteConfigResourceInner, logsConfigInner)));
5058
}
@@ -110,6 +118,10 @@ public PagedIterable<WebAppBasic> listByResourceGroup(String resourceGroupName)
110118

111119
@Override
112120
public PagedFlux<WebAppBasic> listByResourceGroupAsync(String resourceGroupName) {
121+
if (CoreUtils.isNullOrEmpty(resourceGroupName)) {
122+
return new PagedFlux<>(() -> Mono.error(
123+
new IllegalArgumentException("Parameter 'resourceGroupName' is required and cannot be null.")));
124+
}
113125
return PagedConverter.flatMapPage(inner().listByResourceGroupAsync(resourceGroupName),
114126
inner -> isWebApp(inner) ? Mono.just(new WebAppBasicImpl(inner, this.manager())) : Mono.empty());
115127
}

sdk/resourcemanager/azure-resourcemanager-compute/src/main/java/com/azure/resourcemanager/compute/implementation/AvailabilitySetsImpl.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
import com.azure.core.http.rest.PagedFlux;
66
import com.azure.core.http.rest.PagedIterable;
7+
import com.azure.core.util.CoreUtils;
78
import com.azure.resourcemanager.compute.ComputeManager;
89
import com.azure.resourcemanager.compute.models.AvailabilitySet;
910
import com.azure.resourcemanager.compute.models.AvailabilitySetSkuTypes;
@@ -26,7 +27,7 @@ public AvailabilitySetsImpl(final ComputeManager computeManager) {
2627

2728
@Override
2829
public PagedIterable<AvailabilitySet> list() {
29-
return PagedConverter.mapPage(manager().serviceClient().getAvailabilitySets().list(), this::wrapModel);
30+
return new PagedIterable<>(this.listAsync());
3031
}
3132

3233
@Override
@@ -36,11 +37,15 @@ public PagedFlux<AvailabilitySet> listAsync() {
3637

3738
@Override
3839
public PagedIterable<AvailabilitySet> listByResourceGroup(String groupName) {
39-
return wrapList(this.inner().listByResourceGroup(groupName));
40+
return new PagedIterable<>(this.listByResourceGroupAsync(groupName));
4041
}
4142

4243
@Override
4344
public PagedFlux<AvailabilitySet> listByResourceGroupAsync(String resourceGroupName) {
45+
if (CoreUtils.isNullOrEmpty(resourceGroupName)) {
46+
return new PagedFlux<>(() -> Mono.error(
47+
new IllegalArgumentException("Parameter 'resourceGroupName' is required and cannot be null.")));
48+
}
4449
return wrapPageAsync(this.inner().listByResourceGroupAsync(resourceGroupName));
4550
}
4651

sdk/resourcemanager/azure-resourcemanager-compute/src/main/java/com/azure/resourcemanager/compute/implementation/GalleriesImpl.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
import com.azure.core.http.rest.PagedFlux;
77
import com.azure.core.http.rest.PagedIterable;
8+
import com.azure.core.util.CoreUtils;
89
import com.azure.resourcemanager.compute.ComputeManager;
910
import com.azure.resourcemanager.compute.models.Galleries;
1011
import com.azure.resourcemanager.compute.models.Gallery;
@@ -61,11 +62,15 @@ public void deleteByIds(String... ids) {
6162

6263
@Override
6364
public PagedIterable<Gallery> listByResourceGroup(String resourceGroupName) {
64-
return this.wrapList(inner().listByResourceGroup(resourceGroupName));
65+
return new PagedIterable<>(this.listByResourceGroupAsync(resourceGroupName));
6566
}
6667

6768
@Override
6869
public PagedFlux<Gallery> listByResourceGroupAsync(String resourceGroupName) {
70+
if (CoreUtils.isNullOrEmpty(resourceGroupName)) {
71+
return new PagedFlux<>(() -> Mono.error(
72+
new IllegalArgumentException("Parameter 'resourceGroupName' is required and cannot be null.")));
73+
}
6974
return PagedConverter.mapPage(inner().listByResourceGroupAsync(resourceGroupName), this::wrapModel);
7075
}
7176

sdk/resourcemanager/azure-resourcemanager-containerinstance/src/main/java/com/azure/resourcemanager/containerinstance/implementation/ContainerGroupsImpl.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import com.azure.core.http.rest.PagedFlux;
77
import com.azure.core.http.rest.PagedIterable;
88
import com.azure.core.util.Context;
9+
import com.azure.core.util.CoreUtils;
910
import com.azure.resourcemanager.containerinstance.ContainerInstanceManager;
1011
import com.azure.resourcemanager.containerinstance.fluent.ContainerGroupsClient;
1112
import com.azure.resourcemanager.containerinstance.fluent.models.ContainerGroupInner;
@@ -141,6 +142,10 @@ public PagedFlux<ContainerGroup> listAsync() {
141142

142143
@Override
143144
public PagedFlux<ContainerGroup> listByResourceGroupAsync(String resourceGroupName) {
145+
if (CoreUtils.isNullOrEmpty(resourceGroupName)) {
146+
return new PagedFlux<>(() -> Mono.error(
147+
new IllegalArgumentException("Parameter 'resourceGroupName' is required and cannot be null.")));
148+
}
144149
return wrapPageAsync(inner().listByResourceGroupAsync(resourceGroupName));
145150
}
146151

sdk/resourcemanager/azure-resourcemanager-containerregistry/src/main/java/com/azure/resourcemanager/containerregistry/implementation/RegistriesImpl.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import com.azure.core.http.rest.PagedFlux;
77
import com.azure.core.http.rest.PagedIterable;
88
import com.azure.core.http.rest.SimpleResponse;
9+
import com.azure.core.util.CoreUtils;
910
import com.azure.resourcemanager.containerregistry.ContainerRegistryManager;
1011
import com.azure.resourcemanager.containerregistry.fluent.RegistriesClient;
1112
import com.azure.resourcemanager.containerregistry.fluent.models.RegistryInner;
@@ -53,12 +54,16 @@ public PagedFlux<Registry> listAsync() {
5354

5455
@Override
5556
public PagedFlux<Registry> listByResourceGroupAsync(String resourceGroupName) {
57+
if (CoreUtils.isNullOrEmpty(resourceGroupName)) {
58+
return new PagedFlux<>(() -> Mono.error(
59+
new IllegalArgumentException("Parameter 'resourceGroupName' is required and cannot be null.")));
60+
}
5661
return wrapPageAsync(this.inner().listByResourceGroupAsync(resourceGroupName));
5762
}
5863

5964
@Override
6065
public PagedIterable<Registry> listByResourceGroup(String groupName) {
61-
return wrapList(this.inner().listByResourceGroup(groupName));
66+
return new PagedIterable<>(this.listByResourceGroupAsync(groupName));
6267
}
6368

6469
@Override

sdk/resourcemanager/azure-resourcemanager-containerservice/src/main/java/com/azure/resourcemanager/containerservice/implementation/KubernetesClustersImpl.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
import com.azure.core.http.rest.PagedFlux;
66
import com.azure.core.http.rest.PagedIterable;
7+
import com.azure.core.util.CoreUtils;
78
import com.azure.resourcemanager.containerservice.ContainerServiceManager;
89
import com.azure.resourcemanager.containerservice.fluent.ManagedClustersClient;
910
import com.azure.resourcemanager.containerservice.fluent.models.CredentialResultsInner;
@@ -45,11 +46,15 @@ public PagedFlux<KubernetesCluster> listAsync() {
4546

4647
@Override
4748
public PagedIterable<KubernetesCluster> listByResourceGroup(String resourceGroupName) {
48-
return wrapList(this.inner().listByResourceGroup(resourceGroupName));
49+
return new PagedIterable<>(this.listByResourceGroupAsync(resourceGroupName));
4950
}
5051

5152
@Override
5253
public PagedFlux<KubernetesCluster> listByResourceGroupAsync(String resourceGroupName) {
54+
if (CoreUtils.isNullOrEmpty(resourceGroupName)) {
55+
return new PagedFlux<>(() -> Mono.error(
56+
new IllegalArgumentException("Parameter 'resourceGroupName' is required and cannot be null.")));
57+
}
5358
return wrapPageAsync(this.inner().listByResourceGroupAsync(resourceGroupName));
5459
}
5560

sdk/resourcemanager/azure-resourcemanager-cosmos/src/main/java/com/azure/resourcemanager/cosmos/implementation/CosmosDBAccountsImpl.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
import com.azure.core.http.rest.PagedFlux;
77
import com.azure.core.http.rest.PagedIterable;
8+
import com.azure.core.util.CoreUtils;
89
import com.azure.resourcemanager.cosmos.CosmosManager;
910
import com.azure.resourcemanager.cosmos.fluent.DatabaseAccountsClient;
1011
import com.azure.resourcemanager.cosmos.fluent.models.DatabaseAccountGetResultsInner;
@@ -50,12 +51,16 @@ public PagedFlux<CosmosDBAccount> listAsync() {
5051

5152
@Override
5253
public PagedFlux<CosmosDBAccount> listByResourceGroupAsync(String resourceGroupName) {
54+
if (CoreUtils.isNullOrEmpty(resourceGroupName)) {
55+
return new PagedFlux<>(() -> Mono.error(
56+
new IllegalArgumentException("Parameter 'resourceGroupName' is required and cannot be null.")));
57+
}
5358
return wrapPageAsync(this.inner().listByResourceGroupAsync(resourceGroupName));
5459
}
5560

5661
@Override
5762
public PagedIterable<CosmosDBAccount> listByResourceGroup(String groupName) {
58-
return wrapList(this.inner().listByResourceGroup(groupName));
63+
return new PagedIterable<>(this.listByResourceGroupAsync(groupName));
5964
}
6065

6166
@Override

0 commit comments

Comments
 (0)