KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > j2ee > persistence > wizard > library > PersistenceLibraryCustomizer


1 /*
2  * The contents of this file are subject to the terms of the Common Development
3  * and Distribution License (the License). You may not use this file except in
4  * compliance with the License.
5  *
6  * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
7  * or http://www.netbeans.org/cddl.txt.
8  *
9  * 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-2006 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

19
20 package org.netbeans.modules.j2ee.persistence.wizard.library;
21
22 import java.awt.Dialog JavaDoc;
23 import java.beans.PropertyChangeEvent JavaDoc;
24 import java.beans.PropertyChangeListener JavaDoc;
25 import org.netbeans.spi.project.libraries.LibraryImplementation;
26 import org.netbeans.spi.project.libraries.support.LibrariesSupport;
27 import org.openide.DialogDescriptor;
28 import org.openide.DialogDisplayer;
29 import org.openide.util.NbBundle;
30
31 /**
32  *
33  * @author Martin Adamek
34  */

35 public class PersistenceLibraryCustomizer {
36     
37     private PersistenceLibraryCustomizer() {
38     }
39     
40     public static boolean showCustomizer() {
41         LibraryImplementation libImpl = LibrariesSupport.createLibraryImplementation(PersistenceLibrarySupport.LIBRARY_TYPE, PersistenceLibrarySupport.VOLUME_TYPES);
42         PersistenceLibraryPanel customizer = new PersistenceLibraryPanel(libImpl);
43         final DialogDescriptor descriptor = new DialogDescriptor(customizer,NbBundle.getMessage(PersistenceLibraryCustomizer.class, "TXT_PersistenceLibrariesManager"));
44         customizer.addPropertyChangeListener(new PropertyChangeListener JavaDoc() {
45             public void propertyChange(PropertyChangeEvent JavaDoc evt) {
46                 if (evt.getPropertyName().equals(PersistenceLibraryPanel.IS_VALID)) {
47                     Object JavaDoc newvalue = evt.getNewValue();
48                     if ((newvalue != null) && (newvalue instanceof Boolean JavaDoc)) {
49                         descriptor.setValid(((Boolean JavaDoc)newvalue).booleanValue());
50                     }
51                 }
52             }
53         });
54         customizer.checkValidity();
55         Dialog JavaDoc dlg = null;
56         try {
57             dlg = DialogDisplayer.getDefault().createDialog(descriptor);
58             dlg.setVisible(true);
59             if (descriptor.getValue() == DialogDescriptor.OK_OPTION) {
60                 customizer.apply();
61                 return true;
62             }
63         } finally {
64             if (dlg != null) {
65                 dlg.dispose();
66             }
67         }
68         return false;
69     }
70     
71 }
72
Popular Tags