Skip to content

Commit 044e042

Browse files
committed
Upgrade to Spring Boot 2.4.1 and fix generation of HATEOAS links for Design Models
1 parent 8b81dc3 commit 044e042

File tree

2 files changed

+14
-13
lines changed

2 files changed

+14
-13
lines changed

pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>org.springframework.boot</groupId>
77
<artifactId>spring-boot-starter-parent</artifactId>
8-
<version>2.2.0.RELEASE</version>
8+
<version>2.4.1</version>
99
<relativePath/> <!-- lookup parent from repository -->
1010
</parent>
1111

@@ -16,7 +16,7 @@
1616
<properties>
1717
<java.version>1.8</java.version>
1818
<springdoc-ui.version>1.4.0</springdoc-ui.version>
19-
<spring-oauth2.version>2.1.2.RELEASE</spring-oauth2.version>
19+
<spring-oauth2.version>2.3.6.RELEASE</spring-oauth2.version>
2020
</properties>
2121

2222
<dependencies>

src/main/java/com/patternpedia/api/rest/controller/DesignModelController.java

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import org.springframework.hateoas.CollectionModel;
1414
import org.springframework.hateoas.EntityModel;
1515
import org.springframework.hateoas.Link;
16+
import org.springframework.hateoas.server.mvc.WebMvcLinkBuilder;
1617
import org.springframework.http.HttpStatus;
1718
import org.springframework.http.ResponseEntity;
1819
import org.springframework.web.bind.annotation.*;
@@ -52,24 +53,24 @@ private static List<Link> getDesignModelCollectionLinks() {
5253

5354

5455
private static List<Link> getDesignModelLinks(UUID designModelId, String selfRel) {
55-
Map<String, Object> linkMap = new HashMap<>();
56+
Map<String, WebMvcLinkBuilder> linkMap = new HashMap<>();
5657

57-
linkMap.put("designModels", methodOn(DesignModelController.class).getDesignModels());
58-
linkMap.put("designModel", methodOn(DesignModelController.class).getDesignModel(designModelId));
59-
linkMap.put("patterns", methodOn(DesignModelController.class).getDesignModelPatternInstances(designModelId));
60-
linkMap.put("edges", methodOn(DesignModelController.class).getDesignModelPatternEdges(designModelId));
61-
linkMap.put("edgeTypes", methodOn(DesignModelController.class).getDesignModelPatternEdgeTypes());
62-
linkMap.put("concreteSolutions", methodOn(DesignModelController.class).checkConcreteSolutions(designModelId));
63-
linkMap.put("aggregate", methodOn(DesignModelController.class).aggregateConcreteSolutions(designModelId, null));
58+
linkMap.put("designModels", linkTo(methodOn(DesignModelController.class).getDesignModels()));
59+
linkMap.put("designModel", linkTo(methodOn(DesignModelController.class).getDesignModel(designModelId)));
60+
linkMap.put("patterns", linkTo(methodOn(DesignModelController.class).getDesignModelPatternInstances(designModelId)));
61+
linkMap.put("edges", linkTo(methodOn(DesignModelController.class).getDesignModelPatternEdges(designModelId)));
62+
linkMap.put("edgeTypes", linkTo(methodOn(DesignModelController.class).getDesignModelPatternEdgeTypes()));
63+
linkMap.put("concreteSolutions",linkTo( methodOn(DesignModelController.class).checkConcreteSolutions(designModelId)));
64+
linkMap.put("aggregate", linkTo(methodOn(DesignModelController.class).aggregateConcreteSolutions(designModelId, null)));
6465

6566
List<Link> linkList = new ArrayList<>();
6667
if (linkMap.containsKey(selfRel)) {
67-
linkList.add(linkTo(linkMap.get(selfRel)).withSelfRel());
68+
linkList.add(linkMap.get(selfRel).withSelfRel());
6869
} else {
6970
log.error("_self link for " + selfRel + " not found in linkMap");
7071
}
71-
for (Map.Entry<String, Object> linkPair : linkMap.entrySet()) {
72-
linkList.add(linkTo(linkPair.getValue()).withRel(linkPair.getKey()));
72+
for (Map.Entry<String, WebMvcLinkBuilder> linkPair : linkMap.entrySet()) {
73+
linkList.add(linkPair.getValue().withRel(linkPair.getKey()));
7374
}
7475

7576
return linkList;

0 commit comments

Comments
 (0)