From 8cec0fe8e10562fb3d019d21da1d5f5e9813f9f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20Pirkl?= <pirkl.theo@gmail.com> Date: Sun, 3 Feb 2019 20:21:57 +0100 Subject: [PATCH] Implements events when two people meet --- src/main/java/ch/hepia/mq/MessageManager.java | 9 ++++--- .../ch/hepia/ui/MainWindowController.java | 27 +++++++++---------- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/src/main/java/ch/hepia/mq/MessageManager.java b/src/main/java/ch/hepia/mq/MessageManager.java index 877ec3b..7102839 100644 --- a/src/main/java/ch/hepia/mq/MessageManager.java +++ b/src/main/java/ch/hepia/mq/MessageManager.java @@ -1,6 +1,9 @@ package ch.hepia.mq; -import ch.hepia.events.*; +import ch.hepia.events.ChatMessage; +import ch.hepia.events.JoinedJourney; +import ch.hepia.events.LeftJourney; +import ch.hepia.events.Meeting; import java.io.Serializable; import java.util.function.Consumer; @@ -140,8 +143,8 @@ public class MessageManager extends MessageQueue { } /** - * Send a ChatMessage event - * @param event ChatMessage event + * Send a Meeting event + * @param event Meeting event */ public void sendMeeting(Meeting event) { this.sendEvent(Message.Type.Meeting, event); diff --git a/src/main/java/ch/hepia/ui/MainWindowController.java b/src/main/java/ch/hepia/ui/MainWindowController.java index 9c84b94..8b1334c 100644 --- a/src/main/java/ch/hepia/ui/MainWindowController.java +++ b/src/main/java/ch/hepia/ui/MainWindowController.java @@ -5,10 +5,7 @@ import ch.hepia.api.transport.*; import ch.hepia.api.weather.WeatherAPI; import ch.hepia.config.AppConfig; import ch.hepia.config.AppContext; -import ch.hepia.events.ChatMessage; -import ch.hepia.events.Event; -import ch.hepia.events.JoinedJourney; -import ch.hepia.events.LeftJourney; +import ch.hepia.events.*; import ch.hepia.models.User; import javafx.animation.TranslateTransition; import javafx.application.Platform; @@ -433,15 +430,7 @@ public class MainWindowController implements Initializable { try { Section commonSection = joinedJourney.getConnection().getInCommonSection(currentJourney); if (!(commonSection.equals(Section.empty()))){ - drawMessage( - String.format( - AppConfig.COMMON_ITINERARY_TEXT, - sender.getName(), - commonSection.getDeparture().getLocation().getName() - ), - AppConfig.JOURNEY_ICON_COMMON_ITINERARY, - AppConfig.COLOR_BLUE_50_OPACITY - ); + app.getMessageManager().sendMeeting(new Meeting(sender, app.getUser().get(), commonSection)); } } catch (ParseException e) { e.printStackTrace(); @@ -461,8 +450,16 @@ public class MainWindowController implements Initializable { }), userFilter::test); app.getMessageManager().conditionalSubscribeMeeting(meeting -> Platform.runLater(() -> { - //Consumer code - }), userFilter::test); + drawMessage( + String.format( + AppConfig.COMMON_ITINERARY_TEXT, + meeting.getPartner().getName(), + meeting.getSection().getDeparture().getLocation().getName() + ), + AppConfig.JOURNEY_ICON_COMMON_ITINERARY, + AppConfig.COLOR_BLUE_50_OPACITY + ); + }), event -> userFilter.test(event) && true); } -- GitLab