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