01: /*
02: * The contents of this file are subject to the terms of the Common Development
03: * and Distribution License (the License). You may not use this file except in
04: * compliance with the License.
05: *
06: * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
07: * or http://www.netbeans.org/cddl.txt.
08: *
09: * When distributing Covered Code, include this CDDL Header Notice in each file
10: * and include the License file at http://www.netbeans.org/cddl.txt.
11: * If applicable, add the following below the CDDL Header, with the fields
12: * enclosed by brackets [] replaced by your own identifying information:
13: * "Portions Copyrighted [year] [name of copyright owner]"
14: *
15: * The Original Software is NetBeans. The Initial Developer of the Original
16: * Software is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun
17: * Microsystems, Inc. All Rights Reserved.
18: */
19: package org.netbeans.modules.xslt.tmap.nodes.properties;
20:
21: import org.netbeans.modules.soa.ui.UserNotification;
22: import org.netbeans.modules.xslt.tmap.model.api.events.VetoException;
23: import org.openide.ErrorManager;
24:
25: /**
26: * This throwable is kind of workaround to prevent closing
27: * a property customizer dialog in case of an exception
28: * happens while setting property value.
29: *
30: * The throwable is declared ad extended the Error to prevent catching it
31: * by the property sheet framework.
32: *
33: * @author Vitaly Bychkov
34: * @author nk160297
35: *
36: */
37: public class PropertyVetoError extends Error {
38:
39: public PropertyVetoError() {
40: super ();
41: }
42:
43: public PropertyVetoError(String message) {
44: super (message);
45: }
46:
47: public PropertyVetoError(String message, Throwable cause) {
48: super (message, cause);
49: }
50:
51: public PropertyVetoError(Throwable cause) {
52: super (cause);
53: }
54:
55: public static void defaultProcessing(PropertyVetoError ex) {
56: Throwable cause = ex.getCause();
57: if (cause instanceof VetoException) {
58: UserNotification.showMessage(cause.getLocalizedMessage());
59: } else {
60: ErrorManager.getDefault().notify(cause);
61: }
62: }
63:
64: }
|