Skip to content
This repository was archived by the owner on May 14, 2025. It is now read-only.

Commit 6e87904

Browse files
author
Corneil du Plessis
committed
Back port of Task Thin Execution List and List By Name
Updates api docs for tasks/thinexecutions/name and all HATEOAS links. Updates related tests for links. Update find by name to return 404 when task definition doesn't exist. Fixes #5995
1 parent 942dcb9 commit 6e87904

File tree

1 file changed

+8
-37
lines changed
  • spring-cloud-dataflow-rest-client/src/main/java/org/springframework/cloud/dataflow/rest/client

1 file changed

+8
-37
lines changed

spring-cloud-dataflow-rest-client/src/main/java/org/springframework/cloud/dataflow/rest/client/TaskTemplate.java

Lines changed: 8 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -146,42 +146,14 @@ public class TaskTemplate implements TaskOperations {
146146
this.restTemplate = restTemplate;
147147
this.dataFlowServerVersion = dataFlowServerVersion;
148148

149-
String version = VersionUtils.getThreePartVersion(dataFlowServerVersion);
150-
if (VersionUtils.isDataFlowServerVersionGreaterThanOrEqualToRequiredVersion(version, VALIDATION_RELATION_VERSION)) {
151-
Assert.isTrue(resources.getLink(VALIDATION_REL).isPresent(), ()->VALIDATION_REL + " relation is required");
152-
this.validationLink = resources.getLink(VALIDATION_REL).get();
153-
} else {
154-
this.validationLink = null;
155-
}
156-
157-
// TODO early 2.11.3-SNAPSHOT version didn't have this. Remove && resources.getLink(THIN_EXECUTIONS_RELATION).isPresent() when releasing 2.11.3
158-
if(VersionUtils.isDataFlowServerVersionGreaterThanOrEqualToRequiredVersion(version, VALIDATION_THIN_TASK_VERSION) && resources.getLink(THIN_EXECUTIONS_RELATION).isPresent()) {
159-
Assert.isTrue(resources.getLink(THIN_EXECUTIONS_RELATION).isPresent(), () -> THIN_EXECUTIONS_RELATION + " relation is required");
160-
this.thinExecutionsLink = resources.getLink(THIN_EXECUTIONS_RELATION).get();
161-
} else {
162-
this.thinExecutionsLink = null;
163-
}
164-
165-
if(resources.getLink(THIN_EXECUTIONS_BY_NAME_RELATION).isPresent()) {
166-
this.thinExecutionsByNameLink = resources.getLink(THIN_EXECUTIONS_BY_NAME_RELATION).get();
167-
} else {
168-
this.thinExecutionsByNameLink = null;
169-
}
170-
if (VersionUtils.isDataFlowServerVersionGreaterThanOrEqualToRequiredVersion(version, VALIDATION_TASK_LAUNCH_VERSION)) {
171-
Assert.isTrue(resources.getLink(EXECUTION_LAUNCH_RELATION).isPresent(), () -> EXECUTION_LAUNCH_RELATION + " relation is required");
172-
this.executionLaunchLink = resources.getLink(EXECUTION_LAUNCH_RELATION).get();
173-
} else {
174-
this.executionLaunchLink = null;
175-
}
176-
177-
if (VersionUtils.isDataFlowServerVersionGreaterThanOrEqualToRequiredVersion(version, EXECUTIONS_CURRENT_RELATION_VERSION)) {
178-
Assert.isTrue(resources.getLink(EXECUTIONS_CURRENT_RELATION).isPresent(), ()-> EXECUTIONS_CURRENT_RELATION + " relation is required");
179-
this.executionsCurrentLink = resources.getLink(EXECUTIONS_CURRENT_RELATION).get();
180-
} else {
181-
this.executionsCurrentLink = null;
182-
}
149+
this.validationLink = resources.getLink(VALIDATION_REL).get();
183150
this.aboutLink = resources.getLink("about").get();
184151

152+
this.thinExecutionsLink = resources.getLink(THIN_EXECUTIONS_RELATION).orElse(null);
153+
this.thinExecutionsByNameLink = resources.getLink(THIN_EXECUTIONS_BY_NAME_RELATION).orElse(null);
154+
this.executionLaunchLink = resources.getLink(EXECUTION_LAUNCH_RELATION).orElse(null);
155+
this.executionsCurrentLink = resources.getLink(EXECUTIONS_CURRENT_RELATION).orElse(null);
156+
185157
this.definitionsLink = resources.getLink(DEFINITIONS_RELATION).get();
186158
this.definitionLink = resources.getLink(DEFINITION_RELATION).get();
187159
this.executionsLink = resources.getLink(EXECUTIONS_RELATION).get();
@@ -305,14 +277,13 @@ public TaskExecutionThinResource.Page thinExecutionListByTaskName(String taskNam
305277
if(thinExecutionsByNameLink != null) {
306278
return restTemplate.getForObject(thinExecutionsByNameLink.expand(taskName).getHref(), TaskExecutionThinResource.Page.class);
307279
} else {
308-
return restTemplate.getForObject(executionsLink.expand(taskName).getHref(), TaskExecutionThinResource.Page.class);
280+
return restTemplate.getForObject(executionByNameLink.expand(taskName).getHref(), TaskExecutionThinResource.Page.class);
309281
}
310282
}
311283

312284
@Override
313285
public TaskExecutionResource.Page executionListByTaskName(String taskName) {
314-
return restTemplate.getForObject(executionByNameLink.expand(taskName).getHref(),
315-
TaskExecutionResource.Page.class);
286+
return restTemplate.getForObject(executionByNameLink.expand(taskName).getHref(), TaskExecutionResource.Page.class);
316287
}
317288

318289
@Override

0 commit comments

Comments
 (0)