Skip to content

Commit fe79d77

Browse files
author
akuksin
committed
make Car serializable.
1 parent 8080fc0 commit fe79d77

File tree

4 files changed

+16
-16
lines changed

4 files changed

+16
-16
lines changed

spring-boot/hazelcast/hazelcast-embeded-cache/src/main/java/io/refectoring/cache/embedded/HazelcastNode.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import com.hazelcast.core.Hazelcast;
66
import com.hazelcast.core.HazelcastInstance;
77
import com.hazelcast.map.IMap;
8+
import io.refectoring.cache.embedded.rest.Car;
89
import org.springframework.stereotype.Component;
910

1011
@Component
@@ -13,20 +14,21 @@ public class HazelcastNode {
1314
public static final String CARS = "cars";
1415
private final HazelcastInstance hzInstance = Hazelcast.newHazelcastInstance(createConfig());
1516

16-
public String put(String key, String value){
17+
public String put(String number, Car car){
1718
IMap<Object, Object> map = hzInstance.getMap(CARS);
18-
return (String) map.put(key, value);
19+
return (String) map.put(number, car);
1920
}
2021

21-
public String get(String key){
22+
public Car get(String key){
2223
IMap<Object, Object> map = hzInstance.getMap(CARS);
23-
return (String) map.get(key);
24+
return (Car) map.get(key);
2425
}
2526

2627
public Config createConfig() {
2728
Config config = new Config();
2829
MapConfig mapConfig = new MapConfig(CARS);
2930
mapConfig.setTimeToLiveSeconds(20);
31+
mapConfig.setMaxIdleSeconds(360);
3032
config.addMapConfig(mapConfig);
3133
return config;
3234
}

spring-boot/hazelcast/hazelcast-embeded-cache/src/main/java/io/refectoring/cache/embedded/rest/Car.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,13 @@
55
import lombok.Data;
66
import lombok.NoArgsConstructor;
77

8+
import java.io.Serializable;
9+
810
@Data
911
@Builder
1012
@NoArgsConstructor
1113
@AllArgsConstructor
12-
public class Car {
14+
public class Car implements Serializable {
1315
private String number;
1416
private String name;
1517
}

spring-boot/hazelcast/hazelcast-embeded-cache/src/main/java/io/refectoring/cache/embedded/rest/Controller.java

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,18 +16,14 @@ public Controller(HazelcastNode hazelcastNode) {
1616
this.hazelcastNode = hazelcastNode;
1717
}
1818

19-
@PostMapping(produces = MediaType.APPLICATION_JSON_VALUE)
19+
@PostMapping(path = "/{number}", produces= MediaType.APPLICATION_JSON_VALUE)
2020
@ResponseStatus(code = HttpStatus.CREATED)
21-
public String put(@RequestBody Car car){
22-
return hazelcastNode.put(car.getNumber(), car.getName());
21+
public String put(@RequestBody Car car, @PathVariable String number) {
22+
return hazelcastNode.put(number, car);
2323
}
2424

2525
@GetMapping(value = "/{number}", produces = MediaType.APPLICATION_JSON_VALUE)
26-
public Car get(@PathVariable String number){
27-
String value = hazelcastNode.get(number);
28-
return Car.builder()
29-
.number(number)
30-
.name(value)
31-
.build();
26+
public Car get(@PathVariable String number) {
27+
return hazelcastNode.get(number);
3228
}
3329
}

spring-boot/hazelcast/hazelcast-embeded-cache/src/test/java/io/refectoring/cache/embedded/rest/ControllerTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ class ControllerTest {
2727
@Test
2828
void putGet() throws Exception {
2929
// given
30-
String number = "BO 5489";
30+
String number = "BO5489";
3131
Car car = Car.builder()
3232
.number(number)
3333
.name("VW")
@@ -36,7 +36,7 @@ void putGet() throws Exception {
3636
// put
3737
String content = objectMapper.writeValueAsString(car);
3838
mockMvc.perform(
39-
post("/cars")
39+
post("/cars/" + number)
4040
.content(content)
4141
.contentType(MediaType.APPLICATION_JSON_VALUE)
4242
).andExpect(status().isCreated());

0 commit comments

Comments
 (0)