From 23a46b4be35277e06ec89f48730eeb694e686be8 Mon Sep 17 00:00:00 2001
From: Kenmegne <stephanie.kenmegne@gmail.com>
Date: Thu, 18 Jun 2026 15:40:06 +0000
Subject: [PATCH] add fdx-commons and fdx-consultation

---
 fdx-consultation/fdxconsultation-model/src/main/java/com/megatim/fdxconsultation/model/message/systeme/UserSesionApplication.java |  100 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 100 insertions(+), 0 deletions(-)

diff --git a/fdx-consultation/fdxconsultation-model/src/main/java/com/megatim/fdxconsultation/model/message/systeme/UserSesionApplication.java b/fdx-consultation/fdxconsultation-model/src/main/java/com/megatim/fdxconsultation/model/message/systeme/UserSesionApplication.java
new file mode 100644
index 0000000..dc464fb
--- /dev/null
+++ b/fdx-consultation/fdxconsultation-model/src/main/java/com/megatim/fdxconsultation/model/message/systeme/UserSesionApplication.java
@@ -0,0 +1,100 @@
+/*
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
+ */
+package com.megatim.fdxconsultation.model.message.systeme;
+
+import com.megatim.fdxconsultation.model.administration.User;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import javax.websocket.EncodeException;
+import javax.websocket.Session;
+
+/**
+ *
+ * @author Lenovo P53
+ */
+public class UserSesionApplication {
+
+    private static UserSesionApplication userSesion;
+    private static HashMap<String, UserWebSocket> users;
+
+    public static UserSesionApplication getInstance() {
+        if (userSesion == null) {
+            userSesion = new UserSesionApplication();
+            users = new HashMap<String, UserWebSocket>();
+        }
+        return userSesion;
+    }
+
+    public synchronized static HashMap<String, UserWebSocket> getUsers() {
+        return users;
+    }
+
+    public static void setUsers(HashMap<String, UserWebSocket> users) {
+        UserSesionApplication.users = users;
+    }
+
+    public void addSession(User utilidateur, Session session, String type) {
+        this.users.put(session.getId(), new UserWebSocket(session, utilidateur, type));
+    }
+
+    public void removeSession(Session session) {
+        this.users.remove(session.getId());
+    }
+
+    public void send(Session session, ApplicationData message) throws IOException, EncodeException {
+        session.getBasicRemote().sendObject(message);
+    }
+    
+    public static boolean siUtilisateurConnecte(User user) {
+        boolean etat = false;        
+        UserWebSocket userSession = null;
+        Iterator<String> iterator = UserSesionApplication.getInstance().getUsers().keySet().iterator();
+        while(iterator.hasNext()){
+            userSession = UserSesionApplication.getInstance().getUsers().get(iterator.next());
+            if((userSession != null && userSession.getUtilisateur() != null)
+                    && user != null
+                    && userSession.getUtilisateur().getId() == user.getId()){
+                etat = true;
+                break;
+            }
+        }
+        return etat;
+    }
+    
+    public void removeAllSessionsForUser(User user) {
+        
+        //Variables
+        List<String> sessionsId = new ArrayList();
+        
+        //On parcourt la liste des sessions
+        UserSesionApplication.getInstance().getUsers().forEach((sessionId, userSession) -> {
+            
+            //Si l'utilisateur non null
+            if((userSession != null && userSession.getUtilisateur() != null)
+                    && user != null
+                    && userSession.getUtilisateur().getId() == user.getId()){
+                
+                //On recuoère les sessions de l'utilisateur
+                sessionsId.add(sessionId);
+                
+            }
+        });
+        
+        //On retire les sessions de l'utilisateur
+        for(String sessionId : sessionsId){
+            
+            //On retire la session
+            this.users.remove(sessionId);
+            
+            System.out.println("=============================removeAllSessionsForUser=====================================>");
+            
+        }
+        
+    }
+
+}

--
Gitblit v1.10.0