1 3 27 28 30 package de.qfs.apps.qflog; 31 32 34 import java.rmi.RemoteException ; 35 import java.rmi.server.UnicastRemoteObject ; 36 37 import java.util.Hashtable ; 38 39 import de.qfs.lib.log.Log; 40 import de.qfs.lib.log.Logger; 41 import de.qfs.lib.logrmi.LogListener; 42 import de.qfs.lib.logrmi.RemoteLogLevelListener; 43 import de.qfs.lib.logrmi.LogServerImplBase; 44 45 import de.qfs.apps.qflog.logview.LogLevelTreeModel; 46 47 49 58 public class LogServerImpl 59 extends LogServerImplBase 60 { 61 63 66 private final static Logger logger = new Logger (LogServerImpl.class); 67 68 70 72 77 public LogServerImpl () 78 throws RemoteException 79 { 80 if (logger.level >= Log.MTD) { 81 logger.log(Log.MTD, "LogServerImpl()", ""); 82 } 83 } 84 85 87 92 99 public int getId(String clientName) 100 throws RemoteException 101 { 102 if (logger.level >= Log.MTD) { 103 logger.log(Log.MTD, "getId(String)", 104 logger.level < Log.MTDDETAIL ? "" : 105 "clientName: " + clientName); 106 } 107 return Model.instance().getNewId(clientName); 108 } 109 110 113 123 public LogListener getLogListener (int id) 124 throws RemoteException 125 { 126 if (logger.level >= Log.MTD) { 127 logger.log(Log.MTD, "getLogListener(int)", 128 logger.level < Log.MTDDETAIL ? "" : 129 "id: " + id); 130 } 131 132 LogListenerImpl listener = Model.instance().getListener(id); 133 if (listener == null) { 134 listener = new LogListenerImpl (id); 135 Model.instance().setListener(id, listener); 136 } 137 return listener; 138 } 139 140 143 153 public RemoteLogLevelListener getLogLevelListener (int id) 154 throws RemoteException 155 { 156 if (logger.level >= Log.MTD) { 157 logger.log(Log.MTD, "getLogLevelListener(int)", 158 logger.level < Log.MTDDETAIL ? "" : 159 "id: " + id); 160 } 161 162 try { 163 LogLevelTreeModel levels = new LogLevelTreeModel (); 164 RemoteLogLevelCallbackAdapter adapter = 165 new RemoteLogLevelCallbackAdapter (levels); 166 Model.instance().setLogLevelListener(id, adapter); 167 return adapter; 168 } catch (Exception ex) { 169 if (logger.level >= Log.ERR) { 170 logger.log("getLogListener(int)", ex); 171 } 172 return null; 173 } 174 } 175 176 179 187 public void disconnect(int id) 188 throws RemoteException 189 { 190 if (logger.level >= Log.MTD) { 191 logger.log(Log.MTD, "disconnect(int)", 192 logger.level < Log.MTDDETAIL ? "" : 193 "id: " + id); 194 } 195 LogListener logListener = Model.instance().getListener(id); 196 if (logListener != null) { 197 logListener.disconnect(); 198 } 199 200 RemoteLogLevelListener logLevelListener = 201 Model.instance().getLogLevelListener(id); 202 if (logLevelListener != null) { 203 logLevelListener.disconnect(); 204 } 205 } 206 207 } 209 210 | Popular Tags |