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-service-impl/src/main/java/com/megatim/fdxconsultation/service/impl/sockets/ApplicationEndpoint.java |   84 ++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 84 insertions(+), 0 deletions(-)

diff --git a/fdx-consultation/fdxconsultation-service-impl/src/main/java/com/megatim/fdxconsultation/service/impl/sockets/ApplicationEndpoint.java b/fdx-consultation/fdxconsultation-service-impl/src/main/java/com/megatim/fdxconsultation/service/impl/sockets/ApplicationEndpoint.java
new file mode 100644
index 0000000..79456ee
--- /dev/null
+++ b/fdx-consultation/fdxconsultation-service-impl/src/main/java/com/megatim/fdxconsultation/service/impl/sockets/ApplicationEndpoint.java
@@ -0,0 +1,84 @@
+/*
+ * 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.service.impl.sockets;
+
+import com.megatim.fdxconsultation.core.ifaces.administration.UserManager;
+import com.megatim.fdxconsultation.model.administration.User;
+import com.megatim.fdxconsultation.model.message.systeme.MessageDecoder;
+import com.megatim.fdxconsultation.model.message.systeme.MessageEncoder;
+import com.megatim.fdxconsultation.model.message.systeme.ApplicationData;
+import com.megatim.fdxconsultation.model.message.systeme.UserSesionApplication;
+import com.megatim.fdxconsultation.tools.context.AppCommonContext;
+import java.io.IOException;
+import javax.inject.Inject;
+import javax.websocket.EncodeException;
+import javax.websocket.OnClose;
+import javax.websocket.OnError;
+import javax.websocket.OnMessage;
+import javax.websocket.OnOpen;
+import javax.websocket.Session;
+import javax.websocket.server.PathParam;
+import javax.websocket.server.ServerEndpoint;
+
+/**
+ *
+ * @author 
+ */
+@ServerEndpoint(
+        value = "/application/{id}",
+        decoders = MessageDecoder.class,
+        encoders = MessageEncoder.class)
+public class ApplicationEndpoint {
+    
+    private final UserSesionApplication userSesion = UserSesionApplication.getInstance();
+
+    @Inject
+    private UserManager userManager;
+    
+    @OnOpen
+    public void onOpen(
+            Session session,
+            @PathParam("id") Long id) throws IOException, EncodeException {
+        
+        //Variables
+        User utilisateur = null;
+        
+        //Si id renseigné
+        if(id != null){
+            utilisateur = userManager.findById(id);
+        }
+        
+        //Si non null
+        if(utilisateur != null){
+            
+            //On conserve la session et l'utilisateur associé
+            userSesion.addSession(utilisateur, session, AppCommonContext.CODE_WEB_SOCKET_PATH_APPLICATION_MESSAGE);
+            
+        }
+        
+    }
+
+    @OnMessage
+    public void onMessage(Session session, ApplicationData message)
+            throws IOException, EncodeException {
+    }
+
+    @OnClose
+    public void onClose(Session session) throws IOException, EncodeException {
+        
+        //On supprime la session
+        userSesion.removeSession(session);
+        
+    }
+
+    @OnError
+    public void onError(Session session, Throwable throwable) {
+        
+        //On affiche le message d'erreur
+        throwable.printStackTrace();
+        
+    }
+
+}

--
Gitblit v1.10.0