/** * Inicializa la comunicación con el servidor. * * @throws RequestException es lanzada cuando no se puede establecer la comunicación el servidor */ protected void activeCommunication() throws RequestException { try { OutputMonitor.printLine("Initialize communication", OutputMonitor.INFORMATION_MESSAGE); // iniciar el entorno de ejecución de ICE if (communication.isInitialize()) { communication.reset(); } else { communication.initialize(this.args); } SettingProperties.loadSettingProperies(); ApplicationContext.initContext(); String host = cnxServer.getServerHost(); int serverPort = cnxServer.getServerPort(); int clientPort = clientSetting.getPortNumber(); OutputMonitor.printLine("Server host: " + host, OutputMonitor.INFORMATION_MESSAGE); OutputMonitor.printLine("Server port: " + serverPort, OutputMonitor.INFORMATION_MESSAGE); OutputMonitor.printLine( "Server name: " + cnxServer.getServerName(), OutputMonitor.INFORMATION_MESSAGE); OutputMonitor.printLine( "Container name: " + cnxServer.getContainerName(), OutputMonitor.INFORMATION_MESSAGE); OutputMonitor.printLine( "Session name: " + cnxServer.getSessionName(), OutputMonitor.INFORMATION_MESSAGE); OutputMonitor.printLine( "File store name: " + cnxServer.getFileStoreName(), OutputMonitor.INFORMATION_MESSAGE); if (clientPort <= 0) { clientPort = (clientPort <= 0) ? Utilities.getAvailablePort() : clientPort; clientSetting.setPortNumber(clientPort); } this.appManager = new ApplicationManager(communication, netController, clientPort); this.appManager.activate(); this.server = new DelegateServerManager(communication, cnxServer.getServerName(), host, serverPort); this.server.create(); // se establece la comunicación con el proxy del servidor this.container = server.getDlgSessionContainer(cnxServer.getContainerName()); this.session = container.getNoPersistentSessionByName( cnxServer.getSessionName(), Invocation.SYNCHRONOUS_METHOD_INVOCATION); this.session.setCommunication(container.getCommunication()); this.fileStore = new DelegateFileStore(communication, cnxServer.getFileStoreName(), host, serverPort); this.fileStore.create(); this.startedCommunication = true; OutputMonitor.printLine("Initialized communication", OutputMonitor.INFORMATION_MESSAGE); } catch (Exception ex) { throw new RequestException(ex.getMessage()); } }
/** * Registra la entrada del usuario en la sesión de comunicación del servidor * * @param user usuario * @param password contraseña * @throws RequestException si ocurre alguna error durante el proceso de la solicitud */ public void login(String user, String password) throws RequestException { activeCommunication(); this.rqsDispatcher = new RequestDispatcher(communication.getCommunicator()); Seeker seeker = session.login(user, DrakkarSecurity.SHA(password)); if (seeker == null) { listenerManager.notifyFailedConnection(); return; } this.clientSetting.setSeeker(seeker); this.dRole = session.getDlgRole(); seeker.setState(Seeker.STATE_ONLINE); seeker.setRole(Seeker.ROLE_POTENTIAL_MEMBER); // ImageIcon fromDB = seeker.getAvatar(); // this.icon32 = fromDB; // if (fromDB.getIconHeight() != 16 && fromDB.getIconWidth() != 16) { // BufferedImage resized = // ImageUtil.getFasterScaledInstance(ImageUtil.makeBufferedImage(fromDB.getImage()), 16, 16, // java.awt.RenderingHints.VALUE_INTERPOLATION_BILINEAR, false); // this.icon16 = new ImageIcon(resized); // seeker.setAvatar(icon16); // } this.dRole.login(seeker, appManager, rqsDispatcher); }
/** * Registra la entrada del usuario en la sesión de comunicación del servidor sin autenticación. * Tomando el nombre de usuario del sistema operativo, más un ID generado automáticamente por * sistema, para identificar al seeker en el servidor. Solo para ejemplos demostrativos. * * @throws RequestException si ocurre alguna error durante el proceso de la solicitud */ public void login() throws RequestException { activeCommunication(); Seeker seeker = clientSetting.getSeeker(); String user = seeker.getUser() + session.getSeekerID(); seeker.setUser(user); seeker.setState(Seeker.STATE_ONLINE); seeker.setRole(Seeker.ROLE_POTENTIAL_MEMBER); // ImageIcon fromDB = seeker.getAvatar(); // this.icon32 = fromDB; this.dRole = session.getDlgRole(); this.rqsDispatcher = new RequestDispatcher(communication.getCommunicator()); this.dRole.login(seeker, appManager, rqsDispatcher); }
/** * Registra la entrada del usuario en la sesión de comunicación del servidor sin autenticación. * * @param seeker * @throws RequestException si ocurre alguna error durante el proceso de la solicitud */ public void login(Seeker seeker) throws RequestException { activeCommunication(); this.rqsDispatcher = new RequestDispatcher(communication.getCommunicator()); clientSetting.setSeeker(seeker); this.dRole = session.getDlgRole(); seeker.setState(Seeker.STATE_ONLINE); // ImageIcon fromDB = seeker.getAvatar(); // this.icon32 = fromDB; // BufferedImage resized = // ImageUtil.getFasterScaledInstance(ImageUtil.makeBufferedImage(fromDB.getImage()), 16, 16, // java.awt.RenderingHints.VALUE_INTERPOLATION_BILINEAR, false); seeker.setRole(Seeker.ROLE_POTENTIAL_MEMBER); // seeker.setAvatar(new ImageIcon(resized)); this.dRole.login(seeker, appManager, rqsDispatcher); }
/** * Registra la entrada del usuario en la sesión de comunicación del servidor sin autenticación y * al mismo tiempo entra en una sesión de búsqueda colaborativa por defecto. Tomando el nombre de * usuario del sistema operativo, más un ID generado automáticamente por sistema, para identificar * al seeker en el servidor. Solo para ejemplos demostrativos. * * @param seeker * @throws RequestException si ocurre alguna error durante el proceso de la solicitud */ public void loginSearchCollabSession(Seeker seeker) throws RequestException { activeCommunication(); this.rqsDispatcher = new RequestDispatcher(communication.getCommunicator()); clientSetting.setSeeker(seeker); this.dRole = session.getDlgRole(); // ImageIcon fromDB = seeker.getAvatar(); // this.icon32 = fromDB; seeker.setState(Seeker.STATE_ONLINE); seeker.setRole(Seeker.ROLE_CHAIRMAN); OutputMonitor.printLine("Request connection...", OutputMonitor.INFORMATION_MESSAGE); this.dRole.login(seeker, appManager, rqsDispatcher); String chairman = session.getChairmanName("DefaultSCS"); if (!chairman.equals(seeker.getUser())) { seeker.setRole(Seeker.ROLE_MEMBER); } }