From f4dc48cd8359d5b8da35f678ae6630c5c4427769 Mon Sep 17 00:00:00 2001 From: Mike Vink Date: Tue, 20 Jul 2021 22:05:13 +0200 Subject: refactor(client): typed message improvement! --- api/src/main/java/akkamon/api/MessagingEngine.java | 14 ++++++++++++-- api/src/main/java/akkamon/api/models/Event.java | 6 +++++- api/src/main/java/akkamon/api/models/EventType.java | 5 ++++- 3 files changed, 21 insertions(+), 4 deletions(-) (limited to 'api/src/main/java') diff --git a/api/src/main/java/akkamon/api/MessagingEngine.java b/api/src/main/java/akkamon/api/MessagingEngine.java index 4919b32..e888d8b 100644 --- a/api/src/main/java/akkamon/api/MessagingEngine.java +++ b/api/src/main/java/akkamon/api/MessagingEngine.java @@ -11,6 +11,7 @@ import com.google.gson.Gson; import java.util.HashMap; import java.util.Map; +import java.util.UUID; import java.util.concurrent.ScheduledThreadPoolExecutor; import java.util.concurrent.TimeUnit; @@ -59,10 +60,19 @@ public class MessagingEngine implements AkkamonMessageEngine { void incoming(AkkamonSession session, String message) { Event event = gson.fromJson(message, Event.class); + String trainerId = String.valueOf(trainerIdToAkkamonSessions.size()); + String sceneId = "akkamonStartScene"; + switch (event.type) { + case START_MOVING: + system.tell(new AkkamonNexus.RequestStartMoving( + UUID.randomUUID().getMostSignificantBits() & Long.MAX_VALUE, + "0", + event.sceneId, + event.direction + )); + break; case TRAINER_REGISTRATION: - String trainerId = String.valueOf(trainerIdToAkkamonSessions.size()); - String sceneId = "AkkamonStartScene"; system.tell(new AkkamonNexus.RequestTrainerRegistration( trainerId, diff --git a/api/src/main/java/akkamon/api/models/Event.java b/api/src/main/java/akkamon/api/models/Event.java index 8517b06..351d39f 100644 --- a/api/src/main/java/akkamon/api/models/Event.java +++ b/api/src/main/java/akkamon/api/models/Event.java @@ -1,6 +1,10 @@ package akkamon.api.models; +import akkamon.domain.Direction; + public class Event { public EventType type; - + public String trainerId; + public Direction direction; + public String sceneId; } diff --git a/api/src/main/java/akkamon/api/models/EventType.java b/api/src/main/java/akkamon/api/models/EventType.java index 1ca2ef2..ad537a5 100644 --- a/api/src/main/java/akkamon/api/models/EventType.java +++ b/api/src/main/java/akkamon/api/models/EventType.java @@ -7,5 +7,8 @@ public enum EventType { TRAINER_REGISTRATION, @SerializedName("HeartBeat") - HEART_BEAT + HEART_BEAT, + + @SerializedName("StartMoving") + START_MOVING } -- cgit v1.2.3