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