package util; import manager.DataSourceManager; import manager.ExcelManager; import manager.SQLRequestManager; import merapi.Bridge; import merapi.messages.IMessage; import merapi.messages.IMessageHandler; import merapi.messages.Message; public class Messenger implements IMessageHandler { private DataSourceManager dsm = new DataSourceManager(); private SQLRequestManager sqlm = new SQLRequestManager(); private ExcelManager xlm = new ExcelManager(); // Envoie un message sans devoir d�tenir un objet public static void sendMessage(String type,Object message) throws Exception{ try { Bridge.getInstance().sendMessage(new Message(type, message)); } catch (Exception e) { throw(e); } } // Prends en charge tous les messages pour les types enregistr�s public void handleMessage(IMessage message) { String type = message.getType(); System.out.println(type); if(type.compareTo(ApplicationConstants.DATA_SOURCE)==0){ dsm.process((String)((Message) message).getData()); } else if(type.compareTo(ApplicationConstants.GET_DB_SQLSERVER)==0){ dsm.getDbSqlServer((String)((Message) message).getData()); } else if(type.compareTo(ApplicationConstants.GET_DB_MYSQL)==0){ dsm.getDbMySql((String)((Message) message).getData()); } else if(type.compareTo(ApplicationConstants.GET_DB_POSTGRESQL)==0){ dsm.getDbPostGre((String)((Message) message).getData()); } else if (type.compareTo(ApplicationConstants.REQUEST)==0){ sqlm.process((String)((Message) message).getData()); } else if (type.compareTo(ApplicationConstants.CANCEL_QUERY)==0){ sqlm.stopThread(); } else if (type.compareTo(ApplicationConstants.GET_NAME_SHEETS)==0){ xlm.getNbSheets((String)((Message) message).getData()); } else if(type.compareTo(ApplicationConstants.GET_EXCEL_DATA)==0){ xlm.process((String)((Message) message).getData()); } } // Enregistre cet objet comme recepteur de message de type "type' public void registerHandler (String type){ Bridge.getInstance().registerMessageHandler(type, this); } }