Skip to content

Commit 61c4d87

Browse files
committed
DefaultDomains: constructor takes XyzClient, not Mono<XyzClient>
1 parent b39d36e commit 61c4d87

File tree

3 files changed

+51
-73
lines changed

3 files changed

+51
-73
lines changed

cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/_DefaultCloudFoundryOperations.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,15 @@ public Buildpacks buildpacks() {
9191
@Override
9292
@Value.Derived
9393
public Domains domains() {
94-
return new DefaultDomains(getCloudFoundryClientPublisher(), getRoutingClientPublisher());
94+
CloudFoundryClient cloudFoundryClient = getCloudFoundryClient();
95+
if (cloudFoundryClient == null) {
96+
throw new IllegalStateException("CloudFoundryClient must be set");
97+
}
98+
RoutingClient routingClient = getRoutingClient();
99+
if (routingClient == null) {
100+
throw new IllegalStateException("RoutingClient must be set");
101+
}
102+
return new DefaultDomains(cloudFoundryClient, routingClient);
95103
}
96104

97105
@Override

cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/domains/DefaultDomains.java

Lines changed: 41 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -45,32 +45,32 @@
4545

4646
public final class DefaultDomains implements Domains {
4747

48-
private final Mono<CloudFoundryClient> cloudFoundryClient;
48+
private final CloudFoundryClient cloudFoundryClient;
4949

50-
private final Mono<RoutingClient> routingClient;
50+
private final RoutingClient routingClient;
5151

52-
public DefaultDomains(
53-
Mono<CloudFoundryClient> cloudFoundryClient, Mono<RoutingClient> routingClient) {
52+
public DefaultDomains(CloudFoundryClient cloudFoundryClient, RoutingClient routingClient) {
5453
this.cloudFoundryClient = cloudFoundryClient;
5554
this.routingClient = routingClient;
5655
}
5756

57+
/**
58+
* @deprecated use {@link DefaultDomains(CloudFoundryClient, RoutingClient)} instead.
59+
*/
60+
@Deprecated
61+
public DefaultDomains(
62+
Mono<CloudFoundryClient> cloudFoundryClient, Mono<RoutingClient> routingClient) {
63+
this.cloudFoundryClient = cloudFoundryClient.block();
64+
this.routingClient = routingClient.block();
65+
}
66+
5867
@Override
5968
public Mono<Void> create(CreateDomainRequest request) {
60-
return this.cloudFoundryClient
61-
.flatMap(
62-
cloudFoundryClient ->
63-
Mono.zip(
64-
Mono.just(cloudFoundryClient),
65-
getOrganizationId(
66-
cloudFoundryClient, request.getOrganization())))
69+
return getOrganizationId(cloudFoundryClient, request.getOrganization())
6770
.flatMap(
68-
function(
69-
(cloudFoundryClient, organizationId) ->
70-
requestCreateDomain(
71-
cloudFoundryClient,
72-
request.getDomain(),
73-
organizationId)))
71+
organizationId ->
72+
requestCreateDomain(
73+
cloudFoundryClient, request.getDomain(), organizationId))
7474
.then()
7575
.transform(OperationsLogging.log("Create Domain"))
7676
.checkpoint();
@@ -79,31 +79,16 @@ public Mono<Void> create(CreateDomainRequest request) {
7979
@Override
8080
public Mono<Void> createShared(CreateSharedDomainRequest request) {
8181
if (request.getRouterGroup() == null) {
82-
return this.cloudFoundryClient
83-
.flatMap(
84-
cloudFoundryClient ->
85-
requestCreateSharedDomain(
86-
cloudFoundryClient, request.getDomain(), null))
82+
return requestCreateSharedDomain(cloudFoundryClient, request.getDomain(), null)
8783
.then()
8884
.transform(OperationsLogging.log("Create Shared Domain"))
8985
.checkpoint();
9086
} else {
91-
return Mono.zip(this.cloudFoundryClient, this.routingClient)
92-
.flatMap(
93-
function(
94-
(cloudFoundryClient, routingClient) ->
95-
Mono.zip(
96-
Mono.just(cloudFoundryClient),
97-
getRouterGroupId(
98-
routingClient,
99-
request.getRouterGroup()))))
87+
return getRouterGroupId(routingClient, request.getRouterGroup())
10088
.flatMap(
101-
function(
102-
(cloudFoundryClient, routerGroupId) ->
103-
requestCreateSharedDomain(
104-
cloudFoundryClient,
105-
request.getDomain(),
106-
routerGroupId)))
89+
routerGroupId ->
90+
requestCreateSharedDomain(
91+
cloudFoundryClient, request.getDomain(), routerGroupId))
10792
.then()
10893
.transform(OperationsLogging.log("Create Shared Domain"))
10994
.checkpoint();
@@ -112,22 +97,17 @@ public Mono<Void> createShared(CreateSharedDomainRequest request) {
11297

11398
@Override
11499
public Flux<Domain> list() {
115-
return this.cloudFoundryClient
116-
.flatMapMany(
117-
cloudFoundryClient ->
118-
requestListPrivateDomains(cloudFoundryClient)
119-
.map(DefaultDomains::toDomain)
120-
.mergeWith(
121-
requestListSharedDomains(cloudFoundryClient)
122-
.map(DefaultDomains::toDomain)))
100+
return requestListPrivateDomains(cloudFoundryClient)
101+
.map(DefaultDomains::toDomain)
102+
.mergeWith(
103+
requestListSharedDomains(cloudFoundryClient).map(DefaultDomains::toDomain))
123104
.transform(OperationsLogging.log("List Domains"))
124105
.checkpoint();
125106
}
126107

127108
@Override
128109
public Flux<RouterGroup> listRouterGroups() {
129-
return this.routingClient
130-
.flatMapMany(DefaultDomains::requestListRouterGroups)
110+
return requestListRouterGroups(routingClient)
131111
.flatMapIterable(ListRouterGroupsResponse::getRouterGroups)
132112
.map(DefaultDomains::toRouterGroup)
133113
.transform(OperationsLogging.log("List Router Groups"))
@@ -136,31 +116,21 @@ public Flux<RouterGroup> listRouterGroups() {
136116

137117
@Override
138118
public Mono<Void> share(ShareDomainRequest request) {
139-
return this.cloudFoundryClient
140-
.flatMap(
141-
cloudFoundryClient ->
142-
Mono.zip(
143-
Mono.just(cloudFoundryClient),
144-
getPrivateDomainId(cloudFoundryClient, request.getDomain()),
145-
getOrganizationId(
146-
cloudFoundryClient, request.getOrganization())))
147-
.flatMap(function(DefaultDomains::requestAssociateOrganizationPrivateDomainRequest))
119+
return Mono.zip(
120+
getPrivateDomainId(cloudFoundryClient, request.getDomain()),
121+
getOrganizationId(cloudFoundryClient, request.getOrganization()))
122+
.flatMap(function(this::requestAssociateOrganizationPrivateDomainRequest))
148123
.then()
149124
.transform(OperationsLogging.log("Share Domain"))
150125
.checkpoint();
151126
}
152127

153128
@Override
154129
public Mono<Void> unshare(UnshareDomainRequest request) {
155-
return this.cloudFoundryClient
156-
.flatMap(
157-
cloudFoundryClient ->
158-
Mono.zip(
159-
Mono.just(cloudFoundryClient),
160-
getPrivateDomainId(cloudFoundryClient, request.getDomain()),
161-
getOrganizationId(
162-
cloudFoundryClient, request.getOrganization())))
163-
.flatMap(function(DefaultDomains::requestRemoveOrganizationPrivateDomainRequest))
130+
return Mono.zip(
131+
getPrivateDomainId(cloudFoundryClient, request.getDomain()),
132+
getOrganizationId(cloudFoundryClient, request.getOrganization()))
133+
.flatMap(function(this::requestRemoveOrganizationPrivateDomainRequest))
164134
.transform(OperationsLogging.log("Unshare Domain"))
165135
.checkpoint();
166136
}
@@ -205,10 +175,10 @@ private static Mono<String> getRouterGroupId(RoutingClient routingClient, String
205175
.map(org.cloudfoundry.routing.v1.routergroups.RouterGroup::getRouterGroupId);
206176
}
207177

208-
private static Mono<AssociateOrganizationPrivateDomainResponse>
178+
private Mono<AssociateOrganizationPrivateDomainResponse>
209179
requestAssociateOrganizationPrivateDomainRequest(
210-
CloudFoundryClient cloudFoundryClient, String domainId, String organizationId) {
211-
return cloudFoundryClient
180+
String domainId, String organizationId) {
181+
return this.cloudFoundryClient
212182
.organizations()
213183
.associatePrivateDomain(
214184
AssociateOrganizationPrivateDomainRequest.builder()
@@ -292,9 +262,9 @@ private static Flux<OrganizationResource> requestOrganizations(
292262
.build()));
293263
}
294264

295-
private static Mono<Void> requestRemoveOrganizationPrivateDomainRequest(
296-
CloudFoundryClient cloudFoundryClient, String domainId, String organizationId) {
297-
return cloudFoundryClient
265+
private Mono<Void> requestRemoveOrganizationPrivateDomainRequest(
266+
String domainId, String organizationId) {
267+
return this.cloudFoundryClient
298268
.organizations()
299269
.removePrivateDomain(
300270
RemoveOrganizationPrivateDomainRequest.builder()

cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/domains/DefaultDomainsTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@
4949
final class DefaultDomainsTest extends AbstractOperationsTest {
5050

5151
private final DefaultDomains domains =
52-
new DefaultDomains(Mono.just(this.cloudFoundryClient), Mono.just(this.routingClient));
52+
new DefaultDomains(this.cloudFoundryClient, this.routingClient);
5353

5454
@Test
5555
void createDomain() {

0 commit comments

Comments
 (0)