diff --git a/src/tamagotchi-service/src/main/java/com/sap/tamagotchi/controller/DeviceController.java b/src/tamagotchi-service/src/main/java/com/sap/tamagotchi/controller/DeviceController.java index 08a44fc..aa5086d 100644 --- a/src/tamagotchi-service/src/main/java/com/sap/tamagotchi/controller/DeviceController.java +++ b/src/tamagotchi-service/src/main/java/com/sap/tamagotchi/controller/DeviceController.java @@ -1,5 +1,8 @@ package com.sap.tamagotchi.controller; +import static com.sap.tamagotchi.model.Color.BLUE; +import static com.sap.tamagotchi.model.Color.PINK; +import static com.sap.tamagotchi.model.Color.PURPLE; import static com.sap.tamagotchi.model.Color.RED; import static com.sap.tamagotchi.model.Color.YELLOW; import static org.springframework.http.ResponseEntity.ok; @@ -32,8 +35,18 @@ public class DeviceController { private static Color mapColor(String productId) { switch (productId) { - case "66VCHSJNUP": + case "0000000001": + return BLUE; + case "0000000002": return RED; + case "0000000003": + return YELLOW; + case "0000000004": + return BLUE; + case "0000000005": + return PURPLE; + case "0000000006": + return PINK; default: return YELLOW; } @@ -53,7 +66,7 @@ public class DeviceController { public ResponseEntity createDevice(@RequestBody Collection payload) { List devices = new ArrayList<>(); for (CreateDevicePayload p : payload) { - devices.add(tamagotchiService.createDevice(new Device(p.getOwner(), mapColor(p.getProductId())))); + devices.add(tamagotchiService.createDevice(new Device(p.getProductId(), p.getOwner(), mapColor(p.getProductId())))); } return ok(devices); } diff --git a/src/tamagotchi-service/src/main/java/com/sap/tamagotchi/model/Color.java b/src/tamagotchi-service/src/main/java/com/sap/tamagotchi/model/Color.java index 82a9c2f..a7a2db3 100644 --- a/src/tamagotchi-service/src/main/java/com/sap/tamagotchi/model/Color.java +++ b/src/tamagotchi-service/src/main/java/com/sap/tamagotchi/model/Color.java @@ -1,5 +1,5 @@ package com.sap.tamagotchi.model; public enum Color { - RED, YELLOW, BLUE, GREEN + RED, YELLOW, BLUE, GREEN, PURPLE, PINK } diff --git a/src/tamagotchi-service/src/main/java/com/sap/tamagotchi/model/Device.java b/src/tamagotchi-service/src/main/java/com/sap/tamagotchi/model/Device.java index 58226ca..999e62c 100644 --- a/src/tamagotchi-service/src/main/java/com/sap/tamagotchi/model/Device.java +++ b/src/tamagotchi-service/src/main/java/com/sap/tamagotchi/model/Device.java @@ -14,6 +14,8 @@ public class Device { @JsonProperty("id") private final String id = UUID.randomUUID().toString(); + @JsonProperty("productId") + private final String productId; @JsonProperty("owner") private final String owner; @JsonProperty("color") @@ -24,7 +26,8 @@ public class Device { private int healthScore = 100; private final Queue messages = new ConcurrentLinkedQueue<>(); - public Device(String owner, Color color) { + public Device(String productId, String owner, Color color) { + this.productId = productId; this.owner = owner; this.color = color; } @@ -34,6 +37,11 @@ public class Device { return id; } + @JsonProperty("productId") + public String getProductId() { + return productId; + } + @JsonProperty("owner") public String getOwner() { return owner; @@ -70,9 +78,9 @@ public class Device { if (healthScore < 1) { healthScore = 0; - messages.add(new DeviceEvent(id, owner, color, born, healthScore, oldScore, Instant.now())); + messages.add(new DeviceEvent(id, productId, owner, color, born, healthScore, oldScore, Instant.now())); } else - messages.add(new DeviceEvent(id, owner, color, born, healthScore, null, Instant.now())); + messages.add(new DeviceEvent(id, productId, owner, color, born, healthScore, null, Instant.now())); } @JsonIgnore diff --git a/src/tamagotchi-service/src/main/java/com/sap/tamagotchi/model/DeviceEvent.java b/src/tamagotchi-service/src/main/java/com/sap/tamagotchi/model/DeviceEvent.java index d757795..ff8ea4b 100644 --- a/src/tamagotchi-service/src/main/java/com/sap/tamagotchi/model/DeviceEvent.java +++ b/src/tamagotchi-service/src/main/java/com/sap/tamagotchi/model/DeviceEvent.java @@ -11,6 +11,8 @@ public class DeviceEvent implements IoTMessage { @JsonProperty("id") private final String id; + @JsonProperty("productId") + private final String productId; @JsonProperty("owner") private final String owner; @JsonProperty("color") @@ -24,8 +26,9 @@ public class DeviceEvent implements IoTMessage { @JsonProperty("eventTime") private final Instant eventTime; - public DeviceEvent(String id, String owner, Color color, Instant born, Integer healthScore, Integer lastHealthScore, Instant eventTime) { + public DeviceEvent(String id, String productId, String owner, Color color, Instant born, Integer healthScore, Integer lastHealthScore, Instant eventTime) { this.id = id; + this.productId = productId; this.owner = owner; this.color = color; this.born = born; @@ -39,6 +42,11 @@ public class DeviceEvent implements IoTMessage { return id; } + @JsonProperty("productId") + public String getProductId() { + return productId; + } + @JsonProperty("owner") public String getOwner() { return owner; diff --git a/src/tamagotchi-service/src/main/java/com/sap/tamagotchi/service/TamagotchiService.java b/src/tamagotchi-service/src/main/java/com/sap/tamagotchi/service/TamagotchiService.java index 5f609de..ec61eca 100644 --- a/src/tamagotchi-service/src/main/java/com/sap/tamagotchi/service/TamagotchiService.java +++ b/src/tamagotchi-service/src/main/java/com/sap/tamagotchi/service/TamagotchiService.java @@ -92,7 +92,7 @@ public class TamagotchiService { private void sendTamagotchiDefunctNotifiction(String id) { - Device device = deviceRegistry.get(id); +_ Device device = deviceRegistry.get(id); if (device == null || device.getId() == null || device.getOwner() == null) { return; } diff --git a/src/tamagotchi-service/src/test/java/com/sap/tamagotchi/model/OwnerTest.java b/src/tamagotchi-service/src/test/java/com/sap/tamagotchi/model/OwnerTest.java index 35e2820..6852ece 100644 --- a/src/tamagotchi-service/src/test/java/com/sap/tamagotchi/model/OwnerTest.java +++ b/src/tamagotchi-service/src/test/java/com/sap/tamagotchi/model/OwnerTest.java @@ -1,40 +1,5 @@ -/** - * Copyright (c) 2019, SAP SE, All rights reserved. - */ package com.sap.tamagotchi.model; -import static java.util.Arrays.asList; -import static org.mockito.Mockito.when; -import java.util.Collection; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.boot.test.mock.mockito.MockBean; -import org.springframework.test.context.junit4.SpringRunner; -import com.sap.tamagotchi.service.TamagotchiService;; - -@RunWith(SpringRunner.class) -@SpringBootTest public class OwnerTest { - @Autowired - Owner owner; - - @MockBean - TamagotchiService tamagotchiService; - - Collection mockDevices; - - // @Before - // public void init() { - // MockitoAnnotations.initMocks(this); - // } - - @Test - public void testIt() { - when(tamagotchiService.getDevices()).thenReturn(asList(new Device("elisa@sap.com", Color.BLUE))); - owner.setData(); - - } }