From 1a058ca1e865efeced3c4cf91c3ee4cb773fccb2 Mon Sep 17 00:00:00 2001 From: Steinwagner Date: Tue, 10 Dec 2019 16:41:04 +0100 Subject: [PATCH] Update TamagotchiService.java --- .../tamagotchi/service/TamagotchiService.java | 35 +++++++++++++++---- 1 file changed, 29 insertions(+), 6 deletions(-) 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 ef46e91..7a69f91 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 @@ -1,20 +1,24 @@ package com.sap.tamagotchi.service; -import com.sap.tamagotchi.model.Device; -import com.sap.tamagotchi.publisher.PublisherService; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; +import java.util.Set; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; +import com.sap.tamagotchi.model.Device; +import com.sap.tamagotchi.model.IoTMessage; +import com.sap.tamagotchi.publisher.PublisherService; @Service public class TamagotchiService { private final PublisherService publisherService; - private final Map deviceRegistry = new HashMap<>(); + private final Map deviceRegistry = Collections.synchronizedMap(new HashMap<>()); @Autowired public TamagotchiService(PublisherService publisherService) { @@ -28,4 +32,23 @@ public class TamagotchiService { public Collection getDevices() { return deviceRegistry.values(); } + + public Set getDeviceIds() { + return deviceRegistry.keySet(); + } + + public void createDevice(Device device) { + deviceRegistry.put(device.getDeviceId(), device); + } + + private void processDeviceEvents() { + deviceRegistry + .values() + .parallelStream() + .filter(d -> d.hasMessages()) + .forEach(d -> { + Collection messages = d.getMessages(); + + }); + } }