Skip to content

Commit 1eab6ac

Browse files
committed
Apply review feedback
1 parent 6346e75 commit 1eab6ac

File tree

16 files changed

+251
-228
lines changed

16 files changed

+251
-228
lines changed

.idea/encodings.xml

Lines changed: 9 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/AbstractClientV3Operations.java

Lines changed: 25 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,16 @@ protected AbstractClientV3Operations(ConnectionContext connectionContext, Mono<S
5151
super(connectionContext, root, tokenProvider, requestTags);
5252
}
5353

54+
protected static String extractJobId(HttpClientResponse response) {
55+
String locationHeader = response.responseHeaders().get(HttpHeaderNames.LOCATION);
56+
if (locationHeader == null) {
57+
return null;
58+
}
59+
60+
List<String> pathSegments = UriComponentsBuilder.fromUriString(locationHeader).build().getPathSegments();
61+
return pathSegments.get(pathSegments.size() - 1);
62+
}
63+
5464
@Override
5565
protected Mono<Operator> createOperator() {
5666
return super.createOperator().map(this::attachErrorPayloadMapper);
@@ -66,23 +76,23 @@ protected final Mono<String> delete(Object requestPayload, Function<UriComponent
6676
.flatMap(response -> Mono.justOrEmpty(extractJobId(response)));
6777
}
6878

69-
protected final <T> Mono<HttpClientResponseWithParsedBody<T>> deleteWithResponse(Object requestPayload, Class<T> responseType,
70-
Function<UriComponentsBuilder, UriComponentsBuilder> uriTransformer) {
79+
protected final <T> Mono<T> delete(Object requestPayload, Class<T> responseType, Function<UriComponentsBuilder, UriComponentsBuilder> uriTransformer) {
7180
return createOperator()
7281
.flatMap(operator -> operator.delete()
7382
.uri(queryTransformer(requestPayload).andThen(uriTransformer))
7483
.send(requestPayload)
7584
.response()
76-
.parseBodyWithResponse(responseType));
85+
.parseBody(responseType));
7786
}
7887

79-
protected final <T> Mono<T> delete(Object requestPayload, Class<T> responseType, Function<UriComponentsBuilder, UriComponentsBuilder> uriTransformer) {
88+
protected final <T> Mono<HttpClientResponseWithParsedBody<T>> deleteWithResponse(Object requestPayload, Class<T> responseType,
89+
Function<UriComponentsBuilder, UriComponentsBuilder> uriTransformer) {
8090
return createOperator()
8191
.flatMap(operator -> operator.delete()
8292
.uri(queryTransformer(requestPayload).andThen(uriTransformer))
8393
.send(requestPayload)
8494
.response()
85-
.parseBody(responseType));
95+
.parseBodyWithResponse(responseType));
8696
}
8797

8898
protected final <T> Flux<T> get(Object requestPayload, Function<UriComponentsBuilder, UriComponentsBuilder> uriTransformer, Function<ByteBufFlux, Flux<T>> bodyTransformer) {
@@ -112,7 +122,7 @@ protected final <T> Mono<T> patch(Object requestPayload, Class<T> responseType,
112122
}
113123

114124
protected final <T> Mono<HttpClientResponseWithParsedBody<T>> patchWithResponse(Object requestPayload, Class<T> responseType,
115-
Function<UriComponentsBuilder, UriComponentsBuilder> uriTransformer) {
125+
Function<UriComponentsBuilder, UriComponentsBuilder> uriTransformer) {
116126
return createOperator()
117127
.flatMap(operator -> operator.patch()
118128
.uri(queryTransformer(requestPayload).andThen(uriTransformer))
@@ -141,16 +151,18 @@ protected <T> Mono<T> post(Object requestPayload, Class<T> responseType, Functio
141151
.parseBody(responseType));
142152
}
143153

144-
protected final <T> Mono<HttpClientResponseWithParsedBody<T>> postWithResponse(Object requestPayload, Class<T> responseType,
145-
Function<UriComponentsBuilder, UriComponentsBuilder> uriTransformer) {
154+
protected final Mono<String> post(Object requestPayload, Function<UriComponentsBuilder, UriComponentsBuilder> uriTransformer) {
146155
return createOperator()
147156
.flatMap(operator -> operator.post()
148157
.uri(queryTransformer(requestPayload).andThen(uriTransformer))
149158
.send(requestPayload)
150159
.response()
151-
.parseBodyWithResponse(responseType));
160+
.get())
161+
.flatMap(response -> Mono.justOrEmpty(extractJobId(response)));
152162
}
153-
protected <T> Mono<HttpClientResponseWithParsedBody<T>> postRawWithResponse(byte[] requestPayload, String contentType, Class<T> responseType, Function<UriComponentsBuilder, UriComponentsBuilder> uriTransformer) {
163+
164+
protected <T> Mono<HttpClientResponseWithParsedBody<T>> postRawWithResponse(byte[] requestPayload, String contentType, Class<T> responseType, Function<UriComponentsBuilder,
165+
UriComponentsBuilder> uriTransformer) {
154166
return createOperator()
155167
.flatMap(operator -> operator.post()
156168
.uri(queryTransformer(requestPayload).andThen(uriTransformer))
@@ -166,14 +178,14 @@ protected <T> Mono<HttpClientResponseWithParsedBody<T>> postRawWithResponse(byte
166178
.parseBodyWithResponse(responseType));
167179
}
168180

169-
protected final Mono<String> post(Object requestPayload, Function<UriComponentsBuilder, UriComponentsBuilder> uriTransformer) {
181+
protected final <T> Mono<HttpClientResponseWithParsedBody<T>> postWithResponse(Object requestPayload, Class<T> responseType,
182+
Function<UriComponentsBuilder, UriComponentsBuilder> uriTransformer) {
170183
return createOperator()
171184
.flatMap(operator -> operator.post()
172185
.uri(queryTransformer(requestPayload).andThen(uriTransformer))
173186
.send(requestPayload)
174187
.response()
175-
.get())
176-
.flatMap(response -> Mono.justOrEmpty(extractJobId(response)));
188+
.parseBodyWithResponse(responseType));
177189
}
178190

179191
protected final <T> Mono<T> put(Object requestPayload, Class<T> responseType, Function<UriComponentsBuilder, UriComponentsBuilder> uriTransformer) {
@@ -185,16 +197,6 @@ protected final <T> Mono<T> put(Object requestPayload, Class<T> responseType, Fu
185197
.parseBody(responseType));
186198
}
187199

188-
protected static String extractJobId(HttpClientResponse response) {
189-
String locationHeader = response.responseHeaders().get(HttpHeaderNames.LOCATION);
190-
if (locationHeader == null) {
191-
return null;
192-
}
193-
194-
List<String> pathSegments = UriComponentsBuilder.fromUriString(locationHeader).build().getPathSegments();
195-
return pathSegments.get(pathSegments.size() - 1);
196-
}
197-
198200
private Operator attachErrorPayloadMapper(Operator operator) {
199201
return operator.withErrorPayloadMapper(ErrorPayloadMappers.clientV3(this.connectionContext.getObjectMapper()));
200202
}

cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/spaces/ReactorSpacesV3.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616

1717
package org.cloudfoundry.reactor.client.v3.spaces;
1818

19-
import org.cloudfoundry.client.v3.servicebrokers.UpdateServiceBrokerResponse;
2019
import org.cloudfoundry.client.v3.spaces.ApplyManifestRequest;
2120
import org.cloudfoundry.client.v3.spaces.ApplyManifestResponse;
2221
import org.cloudfoundry.client.v3.spaces.AssignSpaceIsolationSegmentRequest;
@@ -59,6 +58,16 @@ public ReactorSpacesV3(ConnectionContext connectionContext, Mono<String> root, T
5958
super(connectionContext, root, tokenProvider, requestTags);
6059
}
6160

61+
@Override
62+
public Mono<ApplyManifestResponse> applyManifest(ApplyManifestRequest request) {
63+
return postRawWithResponse(request.getManifest(), "application/x-yaml", ApplyManifestResponse.class, builder -> builder.pathSegment("spaces", request.getSpaceId(), "actions",
64+
"apply_manifest"))
65+
.map(responseTuple -> ApplyManifestResponse.builder()
66+
.jobId(Optional.ofNullable(
67+
extractJobId(responseTuple.getResponse())))
68+
.build());
69+
}
70+
6271
@Override
6372
public Mono<AssignSpaceIsolationSegmentResponse> assignIsolationSegment(AssignSpaceIsolationSegmentRequest request) {
6473
return patch(request, AssignSpaceIsolationSegmentResponse.class, builder -> builder.pathSegment("spaces", request.getSpaceId(), "relationships", "isolation_segment"))
@@ -106,13 +115,4 @@ public Mono<UpdateSpaceResponse> update(UpdateSpaceRequest request) {
106115
return patch(request, UpdateSpaceResponse.class, builder -> builder.pathSegment("spaces", request.getSpaceId()))
107116
.checkpoint();
108117
}
109-
110-
@Override
111-
public Mono<ApplyManifestResponse> applyManifest(ApplyManifestRequest request) {
112-
return postRawWithResponse(request.manifest(), "application/x-yaml", ApplyManifestResponse.class, builder -> builder.pathSegment("spaces", request.getSpaceId(), "actions", "apply_manifest"))
113-
.map(responseTuple -> ApplyManifestResponse.builder()
114-
.jobId(Optional.ofNullable(
115-
extractJobId(responseTuple.getResponse())))
116-
.build());
117-
}
118118
}

cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/applications/ApplicationsV3.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,14 @@ public interface ApplicationsV3 {
183183
*/
184184
Mono<ListApplicationTasksResponse> listTasks(ListApplicationTasksRequest request);
185185

186+
/**
187+
* Makes the Restart Application request
188+
*
189+
* @param request the Restart Application request
190+
* @return the response from the Restart Application request
191+
*/
192+
Mono<RestartApplicationResponse> restart(RestartApplicationRequest request);
193+
186194
/**
187195
* Makes the <a href="https://v3-apidocs.cloudfoundry.org/version/3.27.0/#scale-a-process">Scale Application</a> request
188196
*
@@ -207,14 +215,6 @@ public interface ApplicationsV3 {
207215
*/
208216
Mono<StartApplicationResponse> start(StartApplicationRequest request);
209217

210-
/**
211-
* Makes the Restart Application request
212-
*
213-
* @param request the Restart Application request
214-
* @return the response from the Restart Application request
215-
*/
216-
Mono<RestartApplicationResponse> restart(RestartApplicationRequest request);
217-
218218
/**
219219
* Makes the <a href="https://v3-apidocs.cloudfoundry.org/version/3.27.0/index.html#stop-an-app">Stop Application</a> request
220220
*

cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/resourcematch/_MatchedResource.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -45,16 +45,16 @@ abstract class _MatchedResource {
4545
abstract String getMode();
4646

4747
/**
48-
* The size
48+
* The path relative to app root
4949
*/
50-
@JsonProperty("size_in_bytes")
50+
@JsonProperty("path")
5151
@Nullable
52-
abstract Integer getSize();
52+
abstract String getPath();
5353

5454
/**
55-
* The path relative to app root
55+
* The size
5656
*/
57-
@JsonProperty("path")
57+
@JsonProperty("size_in_bytes")
5858
@Nullable
59-
abstract String getPath();
59+
abstract Integer getSize();
6060
}

cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/spaces/_ApplyManifestRequest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ abstract class _ApplyManifestRequest {
3030
* The manifest to apply
3131
*/
3232
@JsonIgnore
33-
abstract byte[] manifest();
33+
abstract byte[] getManifest();
3434

3535
/**
3636
* The space id

cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/spaces/_ApplyManifestResponse.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,5 +31,5 @@ abstract class _ApplyManifestResponse {
3131
/**
3232
* The Job ID
3333
*/
34-
public abstract Optional<String> jobId();
34+
public abstract Optional<String> getJobId();
3535
}

cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/applications/Applications.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,12 @@ public interface Applications {
138138
*/
139139
Mono<Void> pushManifest(PushApplicationManifestRequest request);
140140

141+
/**
142+
* Push a manifest using the V3 API
143+
*
144+
* @param request the push manifest V3 request
145+
* @return a completion indicator
146+
*/
141147
Mono<Void> pushManifestV3(PushManifestV3Request request);
142148

143149
/**

0 commit comments

Comments
 (0)