/* * DrakkarKeel - An Enterprise Collaborative Search Platform * * The contents of this file are subject under the terms described in the * DRAKKARKEEL_LICENSE file included in this distribution; you may not use this * file except in compliance with the License. * * 2013-2014 DrakkarKeel Platform. */ package drakkar.prow; import drakkar.prow.communication.ProwController; import drakkar.prow.communication.NetworkController; import drakkar.prow.facade.ListenerManager; import drakkar.prow.facade.desktop.event.DefaultListenerManager; import drakkar.oar.facade.event.FacadeDesktopListener; import drakkar.oar.slice.error.RequestException; import java.io.Serializable; /** * Esta clase contiene los métodos que pueden emplear los clientes para invocar las * distintas operaciones soportadas por la aplicación servidora del Framework DrakkarKeel */ public class DrakkarProw extends ProwApplication implements Serializable{ private static final long serialVersionUID = 80000000000002L; //@TODO Parse de la versión 1.1, pendiente de eliminar private ProwAppSetting clientAppSetting; private drakkar.prow.facade.desktop.event.ListenerManager listener; /** * Constructor de la clase */ public DrakkarProw() { super(); this.listenerManager = new DefaultListenerManager(); this.netController = new ProwController((DefaultListenerManager) listenerManager); } /** * Contructor de la clase * * @param args argumentos para la incialización de la aplicación */ public DrakkarProw(String[] args) { super(args); this.listenerManager = new DefaultListenerManager(); this.netController = new ProwController((DefaultListenerManager) listenerManager); //@TODO Parse de la versión 1.1, pendiente de eliminar listener = new drakkar.prow.facade.desktop.event.ListenerManager(); } /** * Contructor de la clase * * @param cnxServer configuración del servidor */ public DrakkarProw(Connection cnxServer) { super(cnxServer); this.listenerManager = new DefaultListenerManager(); this.netController = new ProwController((DefaultListenerManager) listenerManager); //@TODO Parse de la versión 1.1, pendiente de eliminar listener = new drakkar.prow.facade.desktop.event.ListenerManager(); } /** * Contructor de la clase * * @param cnxServer configuración del servidor * @param client configuración del cliente */ public DrakkarProw(Connection cnxServer, ProwSetting client) { super(cnxServer, client); this.listenerManager = new DefaultListenerManager(); this.netController = new ProwController((DefaultListenerManager) listenerManager); //@TODO Parse de la versión 1.1, pendiente de eliminar listener = new drakkar.prow.facade.desktop.event.ListenerManager(); } /** * Contructor de la clase * * @param cnxServer configuración del servidor * @param clientSetting configuración del cliente * @param propertiesPath ubicación del fichero de propiedades */ public DrakkarProw(Connection cnxServer, ProwSetting clientSetting, String propertiesPath) { super(cnxServer, clientSetting, propertiesPath); this.listenerManager = new DefaultListenerManager(); this.netController = new ProwController((DefaultListenerManager) listenerManager); //@TODO Parse de la versión 1.1, pendiente de eliminar listener = new drakkar.prow.facade.desktop.event.ListenerManager(); } /** * Contructor de la clase * * @param cnxServer configuración del servidor * @param clientSetting configuración del cliente * @param args argumentos para la incialización de la aplicación */ public DrakkarProw(Connection cnxServer, ProwSetting clientSetting, String[] args) { super(cnxServer, clientSetting, args); this.listenerManager = new DefaultListenerManager(); this.netController = new ProwController((DefaultListenerManager) listenerManager); //@TODO Parse de la versión 1.1, pendiente de eliminar listener = new drakkar.prow.facade.desktop.event.ListenerManager(); } /** * Contructor de la clase * * @param cnxServer configuración del servidor * @param client configuración del cliente * * @deprecated As of DrakkarKeel version 1.1, replaced by * <code> DrakkarProw(Connection cnxServer, ProwSetting client)</code>. */ public DrakkarProw(Connection cnxServer, ProwAppSetting client) { super(cnxServer); this.clientSetting = new ProwSetting(client.getSeeker(), client.getPortNumber()); this.clientAppSetting = client; this.listenerManager = new DefaultListenerManager(); this.netController = new ProwController((DefaultListenerManager) listenerManager); //@TODO Parse de la versión 1.1, pendiente de eliminar listener = new drakkar.prow.facade.desktop.event.ListenerManager(); } /** * Contructor de la clase * * @param cnxServer configuración del servidor * @param client configuración del cliente * @param args argumentos para la incialización de la aplicación * * @deprecated As of DrakkarKeel version 1.1, replaced by * <code> DrakkarProw(Connection cnxServer, ProwSetting clientSetting, String[] args)</code>. */ public DrakkarProw(Connection cnxServer, ProwAppSetting client, String[] args) { super(cnxServer); this.clientSetting = new ProwSetting(client.getSeeker(), client.getPortNumber()); this.clientAppSetting = client; this.listenerManager = new DefaultListenerManager(); this.netController = new ProwController((DefaultListenerManager) listenerManager); this.args = args; this.initValues(args); //@TODO Parse de la versión 1.1, pendiente de eliminar listener = new drakkar.prow.facade.desktop.event.ListenerManager(); } @Override protected void activeCommunication() throws RequestException { //@TODO Parse de la versión 1.1, pendiente de eliminar if (listener != null) { DefaultListenerManager temp = (DefaultListenerManager)netController.getListenerManager(); temp.addFacadeListeners(listener.getFacadeDesktopListener()); } if (clientAppSetting != null) { this.clientSetting.setPortNumber(clientAppSetting.getPortNumber()); this.clientSetting.setSeeker(clientAppSetting.getSeeker()); } super.activeCommunication(); } /** * Devuelve la instancia de ListenerManager * * @return obejto listenersManager * */ public drakkar.prow.facade.desktop.event.ListenerManager getClientListenerManager() { DefaultListenerManager dfListener = (DefaultListenerManager) netController.getListenerManager(); FacadeDesktopListener[] array = dfListener.getFacadeDesktopListener(); listener.addFacadeListeners(array); return listener; } /** * Devuelve la instancia de ListenerManager * * @return obejto listenersManager * */ public ListenerManager getListenerManager() { return listenerManager; } /** * Modifica la instancia de la clase ClientAppListenerManager * * @param listenerManager * */ public void setClientListenerManager(drakkar.prow.facade.desktop.event.ListenerManager listenerManager) { this.listener = listenerManager; DefaultListenerManager temp = (DefaultListenerManager) ((ProwController) netController).getListenerManager(); temp.addFacadeListeners(listener.getFacadeDesktopListener()); } /** * Modifica la instancia de la clase ClientAppListenerManager * * @param listenerManager * */ @Override public void setListenerManager(ListenerManager listenerManager) { super.setListenerManager(listenerManager); ((ProwController) netController).setListenerManager(listenerManager); } /** * * @return instancia de la clase ProwAppSetting * */ public ProwAppSetting getClientAppSetting() { return clientAppSetting; } /** * Modifica la instancia de la clase ProwAppSetting * * @param clientAppSetting nuevo objeto * */ public void setClientAppSetting(ProwAppSetting clientAppSetting) { this.clientAppSetting = clientAppSetting; this.clientSetting.setPortNumber(clientAppSetting.getPortNumber()); this.clientSetting.setSeeker(clientAppSetting.getSeeker()); } @Override public NetworkController getNetworkController() { return netController; } }