package com.megatim.fdxconsultation.service.impl.sockets; import com.megatim.fdxconsultation.core.ifaces.referentiel.TypeFichierManager; import com.megatim.fdxconsultation.service.impl.sockets.encoders.ParticipantToFichiersDecoder; import com.megatim.fdxconsultation.service.impl.sockets.encoders.ParticipantToFichiersEncoder; import java.io.IOException; import java.util.List; import java.util.Map; import java.util.logging.Level; import java.util.logging.Logger; 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 lenovo */ @ServerEndpoint(value = "/fichiers/{username}", encoders = {ParticipantToFichiersEncoder.class}, decoders = {ParticipantToFichiersDecoder.class} ) public class FichiersEndpoint { @Inject private TypeFichierManager manager; @OnOpen public void onOpen(Session session, @PathParam("username") String username) { try { session.getBasicRemote().sendObject(manager.particpantToFichierDto(username)); } catch (IOException | EncodeException ex) { Logger.getLogger(FichiersEndpoint.class.getName()).log(Level.SEVERE, null, ex); } } @OnMessage public void onMessage(Map> message, Session session) { } @OnClose public void onClose(Session session) { } @OnError public void onError(Session session, Throwable throwable) { } }