01: /*
02: * The contents of this file are subject to the Sapient Public License
03: * Version 1.0 (the "License"); you may not use this file except in compliance
04: * with the License. You may obtain a copy of the License at
05: * http://carbon.sf.net/License.html.
06: *
07: * Software distributed under the License is distributed on an "AS IS" basis,
08: * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
09: * the specific language governing rights and limitations under the License.
10: *
11: * The Original Code is The Carbon Component Framework.
12: *
13: * The Initial Developer of the Original Code is Sapient Corporation
14: *
15: * Copyright (C) 2003 Sapient Corporation. All Rights Reserved.
16: */
17:
18: package org.sape.carbon.services.exception;
19:
20: import org.sape.carbon.core.exception.DefaultExceptionDelegateImpl;
21: import org.sape.carbon.core.util.classify.SeverityEnum;
22:
23: /**
24: * <p>This is the template for singleton implementations.</p>
25: *
26: * Copyright 2002 Sapient
27: * @since carbon 1.0
28: * @author Greg Hinkle, January 2002
29: * @version $Revision: 1.7 $($Author: dvoet $ / $Date: 2003/05/05 21:21:25 $)
30: * @stereotype singleton
31: */
32: public class GUIExceptionDelegate extends DefaultExceptionDelegateImpl {
33:
34: /**
35: * A local reference to the standard exception viewer. There is only
36: * one viewer used through this static reference and many exceptions are
37: * added to it.
38: */
39: static ExceptionViewer exceptionViewer = null;
40:
41: /**
42: * <p>This is a singleton so we have a private constructor to prevent
43: * impropper instantiation.</p>
44: */
45: public GUIExceptionDelegate() {
46:
47: }
48:
49: /**
50: * @inherit
51: */
52: public void handleException() {
53: if ((super .getSeverity() == SeverityEnum.FATAL)
54: || (super .getSeverity() == SeverityEnum.ERROR)
55: || (super .getSeverity() == SeverityEnum.WARN)
56: || (super .getSeverity() == SeverityEnum.INFO)) {
57:
58: super .handleException();
59:
60: if (GUIExceptionDelegate.exceptionViewer == null) {
61: GUIExceptionDelegate.exceptionViewer = new ExceptionViewer();
62: GUIExceptionDelegate.exceptionViewer.setSize(500, 450);
63: GUIExceptionDelegate.exceptionViewer.setVisible(true);
64: } else {
65: GUIExceptionDelegate.exceptionViewer.setVisible(true);
66: }
67: GUIExceptionDelegate.exceptionViewer.addException(super
68: .getDelegatee());
69:
70: } else {
71: super.handleException();
72: }
73: }
74: }
|