KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > db > DatabaseModule


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.db;
21
22 import org.netbeans.lib.ddl.DBConnection;
23 import org.netbeans.modules.db.explorer.ConnectionList;
24 import org.netbeans.modules.db.explorer.DatabaseConnection;
25 import org.netbeans.modules.db.explorer.DatabaseNodeChildren;
26 import org.netbeans.modules.db.explorer.nodes.RootNode;
27 import org.netbeans.modules.db.runtime.DatabaseRuntimeManager;
28 import org.netbeans.spi.db.explorer.DatabaseRuntime;
29 import org.openide.ErrorManager;
30 import org.openide.modules.ModuleInstall;
31
32 public class DatabaseModule extends ModuleInstall {
33     
34     public void close () {
35         // XXX this method is called in the event thread and could take long
36
// to execute
37

38         // disconnect all connected connections
39
// but try to not initialize the nodes if they haven't been initialized yet
40
DatabaseNodeChildren rootNodeChildren = (DatabaseNodeChildren)RootNode.getInstance().getChildren();
41         if (rootNodeChildren.getChildrenInitialized()) {
42             DBConnection[] conns = ConnectionList.getDefault().getConnections();
43             for (int i = 0; i < conns.length; i++) {
44                 try {
45                     ((DatabaseConnection)conns[i]).disconnect();
46                 } catch (Exception JavaDoc e) {
47                     // cf. issue 64185 exceptions should only be logged
48
ErrorManager.getDefault().notify(ErrorManager.INFORMATIONAL, e);
49                 }
50             }
51         }
52         
53         // stop all running runtimes
54
DatabaseRuntime[] runtimes = DatabaseRuntimeManager.getDefault().getRuntimes();
55         for (int i = 0; i < runtimes.length; i++) {
56             if (runtimes[i].isRunning()) {
57                 try {
58                     runtimes[i].stop();
59                 } catch (Exception JavaDoc e) {
60                     // cf. issue 64185 exceptions should only be logged
61
ErrorManager.getDefault().notify(ErrorManager.INFORMATIONAL, e);
62                 }
63             }
64         }
65     }
66 }
67
Popular Tags