1 3 27 28 30 package de.qfs.apps.qflog; 31 32 34 import java.rmi.RemoteException ; 35 36 import de.qfs.lib.log.Log; 37 import de.qfs.lib.log.LogLevelCallback; 38 import de.qfs.lib.log.LogLevelEvent; 39 import de.qfs.lib.log.LogLevelListener; 40 import de.qfs.lib.logrmi.RemoteLogLevelCallback; 41 import de.qfs.lib.logrmi.RemoteLogLevelListenerImplBase; 42 43 45 51 public class RemoteLogLevelCallbackAdapter 52 extends RemoteLogLevelListenerImplBase 53 implements LogLevelCallback 54 { 55 57 60 private final static int MAX_FAILURES = 3; 61 62 65 LogLevelListener listener; 66 67 70 RemoteLogLevelCallback callback; 71 72 76 private int failures; 77 78 80 82 87 public RemoteLogLevelCallbackAdapter() 88 throws RemoteException 89 { 90 } 91 92 99 public RemoteLogLevelCallbackAdapter(LogLevelListener listener) 100 throws RemoteException 101 { 102 this.listener = listener; 103 } 104 105 107 109 114 public LogLevelListener getListener() 115 { 116 return listener; 117 } 118 119 121 126 136 public Object [] getLogLevels() 137 { 138 try { 139 if (callback != null) { 140 return callback.getLogLevels(); 141 } 142 } catch (RemoteException ex) { 143 failed(); 144 } 145 return null; 146 } 147 148 151 160 public void setLogLevel(String name, int level) 161 { 162 try { 163 if (callback != null) { 164 callback.setLogLevel(name, level); 165 } 166 } catch (RemoteException ex) { 167 failed(); 168 } 169 } 170 171 174 182 public void removeLogLevel(String name) 183 { 184 try { 185 if (callback != null) { 186 callback.removeLogLevel(name); 187 } 188 } catch (RemoteException ex) { 189 failed(); 190 } 191 } 192 193 196 201 public int getOutputLevel() 202 { 203 try { 204 if (callback != null) { 205 return callback.getOutputLevel(); 206 } 207 } catch (RemoteException ex) { 208 failed(); 209 } 210 return Log.DEFAULT_OUTPUT_LEVEL; 211 } 212 213 216 221 public void setOutputLevel(int level) 222 { 223 try { 224 if (callback != null) { 225 callback.setOutputLevel(level); 226 } 227 } catch (RemoteException ex) { 228 failed(); 229 } 230 } 231 232 235 240 public int getPreQueueLevel() 241 { 242 try { 243 if (callback != null) { 244 return callback.getPreQueueLevel(); 245 } 246 } catch (RemoteException ex) { 247 failed(); 248 } 249 return Log.DEFAULT_PRE_QUEUE_LEVEL; 250 } 251 252 255 260 public void setPreQueueLevel(int level) 261 { 262 try { 263 if (callback != null) { 264 callback.setPreQueueLevel(level); 265 } 266 } catch (RemoteException ex) { 267 failed(); 268 } 269 } 270 271 274 281 public boolean isQueueing() 282 { 283 try { 284 if (callback != null) { 285 return callback.isQueueing(); 286 } 287 } catch (RemoteException ex) { 288 failed(); 289 } 290 return true; 291 } 292 293 296 303 public void setQueueing(boolean queue) 304 { 305 try { 306 if (callback != null) { 307 callback.setQueueing(queue); 308 } 309 } catch (RemoteException ex) { 310 failed(); 311 } 312 } 313 314 317 324 public int getQueueSize() 325 { 326 try { 327 if (callback != null) { 328 return callback.getQueueSize(); 329 } 330 } catch (RemoteException ex) { 331 failed(); 332 } 333 return Log.DEFAULT_QUEUE_SIZE; 334 } 335 336 339 346 public void setQueueSize(int size) 347 { 348 try { 349 if (callback != null) { 350 callback.setQueueSize(size); 351 } 352 } catch (RemoteException ex) { 353 failed(); 354 } 355 } 356 357 360 368 public boolean isDropOnOverflow() 369 { 370 try { 371 if (callback != null) { 372 return callback.isDropOnOverflow(); 373 } 374 } catch (RemoteException ex) { 375 failed(); 376 } 377 return false; 378 } 379 380 383 391 public void setDropOnOverflow(boolean drop) 392 { 393 try { 394 if (callback != null) { 395 callback.setDropOnOverflow(drop); 396 } 397 } catch (RemoteException ex) { 398 failed(); 399 } 400 } 401 402 405 410 public int getFlushBufferSize() 411 { 412 try { 413 if (callback != null) { 414 return callback.getFlushBufferSize(); 415 } 416 } catch (RemoteException ex) { 417 failed(); 418 } 419 return Log.DEFAULT_FLUSH_BUFFER_SIZE; 420 } 421 422 425 431 public void setFlushBufferSize(int size) 432 { 433 try { 434 if (callback != null) { 435 callback.setFlushBufferSize(size); 436 } 437 } catch (RemoteException ex) { 438 failed(); 439 } 440 } 441 442 445 451 public int getFlushTriggerLevel() 452 { 453 try { 454 if (callback != null) { 455 return callback.getFlushTriggerLevel(); 456 } 457 } catch (RemoteException ex) { 458 failed(); 459 } 460 return Log.DEFAULT_FLUSH_TRIGGER_LEVEL; 461 } 462 463 466 472 public void setFlushTriggerLevel(int level) 473 { 474 try { 475 if (callback != null) { 476 callback.setFlushTriggerLevel(level); 477 } 478 } catch (RemoteException ex) { 479 failed(); 480 } 481 } 482 483 486 492 public int getPostFlushSize() 493 { 494 try { 495 if (callback != null) { 496 return callback.getPostFlushSize(); 497 } 498 } catch (RemoteException ex) { 499 failed(); 500 } 501 return Log.DEFAULT_POST_FLUSH_SIZE; 502 } 503 504 507 513 public void setPostFlushSize(int size) 514 { 515 try { 516 if (callback != null) { 517 callback.setPostFlushSize(size); 518 } 519 } catch (RemoteException ex) { 520 failed(); 521 } 522 } 523 524 527 532 public void disconnect() 533 throws RemoteException 534 { 535 } 536 537 539 544 550 public void classAdded(LogLevelEvent event) 551 { 552 if (listener != null) { 553 listener.classAdded(event); 554 } 555 } 556 557 560 565 public void levelChanged(LogLevelEvent event) 566 { 567 if (listener != null) { 568 listener.levelChanged(event); 569 } 570 } 571 572 575 580 public void levelRemoved(LogLevelEvent event) 581 { 582 if (listener != null) { 583 listener.levelRemoved(event); 584 } 585 } 586 587 590 595 public void setLogLevelCallback(RemoteLogLevelCallback callback) 596 { 597 this.callback = callback; 598 if (listener != null && callback != null) { 599 listener.setLogLevelCallback(this); 600 } 601 } 602 603 605 610 613 private void failed() 614 { 615 if (++failures >= MAX_FAILURES) { 616 callback = null; 618 } 619 } 620 621 } 623 | Popular Tags |