Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion sdk/containerregistry/mgmt/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@
</dependencies>
<profiles>
<profile>
<id>azure-resourcemanager-sdk-test-jar</id>
<id>azure-mgmt-sdk-test-jar</id>
<activation>
<property>
<name>!maven.test.skip</name>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -238,7 +238,7 @@ private ResourceManager(HttpPipeline httpPipeline, AzureProfile profile, SdkCont
*/
public ResourceGroups resourceGroups() {
if (resourceGroups == null) {
resourceGroups = new ResourceGroupsImpl(resourceManagementClient);
resourceGroups = new ResourceGroupsImpl(this);
}
return resourceGroups;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,13 @@

import com.azure.core.http.rest.PagedFlux;
import com.azure.core.http.rest.PagedIterable;
import com.azure.resourcemanager.resources.ResourceManager;
import com.azure.resourcemanager.resources.models.ResourceGroup;
import com.azure.resourcemanager.resources.models.ResourceGroups;
import com.azure.resourcemanager.resources.fluentcore.arm.ResourceUtils;
import com.azure.resourcemanager.resources.fluentcore.arm.collection.implementation.CreatableResourcesImpl;
import com.azure.resourcemanager.resources.fluentcore.utils.Utils;
import com.azure.resourcemanager.resources.fluent.inner.ResourceGroupInner;
import com.azure.resourcemanager.resources.fluent.ResourceGroupsClient;
import com.azure.resourcemanager.resources.ResourceManagementClient;
import reactor.core.publisher.Mono;

/**
Expand All @@ -21,42 +20,38 @@
public final class ResourceGroupsImpl
extends CreatableResourcesImpl<ResourceGroup, ResourceGroupImpl, ResourceGroupInner>
implements ResourceGroups {
private final ResourceGroupsClient client;
private final ResourceManagementClient serviceClient;

/**
* Creates an instance of the implementation.
*
* @param serviceClient the inner resource management client
*/
public ResourceGroupsImpl(final ResourceManagementClient serviceClient) {
this.serviceClient = serviceClient;
this.client = serviceClient.getResourceGroups();
private final ResourceManager resourceManager;

public ResourceGroupsImpl(final ResourceManager resourceManager) {
this.resourceManager = resourceManager;
}

@Override
public PagedIterable<ResourceGroup> list() {
return wrapList(client.list());
return wrapList(manager().inner().getResourceGroups().list());
}

@Override
public PagedIterable<ResourceGroup> listByTag(String tagName, String tagValue) {
return wrapList(client.list(Utils.createOdataFilterForTags(tagName, tagValue), null));
return wrapList(manager().inner().getResourceGroups()
.list(Utils.createOdataFilterForTags(tagName, tagValue), null));
}

@Override
public PagedFlux<ResourceGroup> listByTagAsync(String tagName, String tagValue) {
return wrapPageAsync(client.listAsync(Utils.createOdataFilterForTags(tagName, tagValue), null));
return wrapPageAsync(manager().inner().getResourceGroups()
.listAsync(Utils.createOdataFilterForTags(tagName, tagValue), null));
}

@Override
public ResourceGroupImpl getByName(String name) {
return wrapModel(client.get(name));
return wrapModel(manager().inner().getResourceGroups().get(name));
}

@Override
public Mono<ResourceGroup> getByNameAsync(String name) {
return client.getAsync(name).map(inner -> wrapModel(inner));
return manager().inner().getResourceGroups().getAsync(name).map(this::wrapModel);
}

@Override
Expand All @@ -67,7 +62,7 @@ public void deleteByName(String name) {

@Override
public Mono<Void> deleteByNameAsync(String name) {
return client.deleteAsync(name);
return manager().inner().getResourceGroups().deleteAsync(name);
}

@Override
Expand All @@ -77,20 +72,20 @@ public ResourceGroupImpl define(String name) {

@Override
public boolean contain(String name) {
return client.checkExistence(name);
return manager().inner().getResourceGroups().checkExistence(name);
}

@Override
protected ResourceGroupImpl wrapModel(String name) {
return new ResourceGroupImpl(new ResourceGroupInner(), name, serviceClient);
return new ResourceGroupImpl(new ResourceGroupInner(), name, manager().inner());
}

@Override
protected ResourceGroupImpl wrapModel(ResourceGroupInner inner) {
if (inner == null) {
return null;
}
return new ResourceGroupImpl(inner, inner.name(), serviceClient);
return new ResourceGroupImpl(inner, inner.name(), manager().inner());
}

@Override
Expand All @@ -101,7 +96,7 @@ public void beginDeleteByName(String id) {
@Override
public Mono<Void> beginDeleteByNameAsync(String name) {
// DELETE
return client.beginDeleteWithoutPollingAsync(name);
return manager().inner().getResourceGroups().beginDeleteWithoutPollingAsync(name);
}

@Override
Expand All @@ -111,6 +106,11 @@ public Mono<Void> deleteByIdAsync(String id) {

@Override
public PagedFlux<ResourceGroup> listAsync() {
return this.client.listAsync().mapPage(inner -> wrapModel(inner));
return this.manager().inner().getResourceGroups().listAsync().mapPage(inner -> wrapModel(inner));
}

@Override
public ResourceManager manager() {
return resourceManager;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@
package com.azure.resourcemanager.resources.models;

import com.azure.core.annotation.Fluent;
import com.azure.resourcemanager.resources.ResourceManager;
import com.azure.resourcemanager.resources.fluentcore.arm.collection.SupportsGettingByName;
import com.azure.resourcemanager.resources.fluentcore.arm.models.HasManager;
import com.azure.resourcemanager.resources.fluentcore.collection.SupportsBatchCreation;
import com.azure.resourcemanager.resources.fluentcore.collection.SupportsBeginDeletingByName;
import com.azure.resourcemanager.resources.fluentcore.collection.SupportsCreating;
Expand All @@ -23,7 +25,8 @@ public interface ResourceGroups extends
SupportsCreating<ResourceGroup.DefinitionStages.Blank>,
SupportsDeletingByName,
SupportsBeginDeletingByName,
SupportsBatchCreation<ResourceGroup> {
SupportsBatchCreation<ResourceGroup>,
HasManager<ResourceManager> {

/**
* Checks whether resource group exists.
Expand Down