KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > db > explorer > actions > RefreshChildrenAction


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.explorer.actions;
21
22 import java.text.MessageFormat JavaDoc;
23
24 import org.openide.DialogDisplayer;
25 import org.openide.NotifyDescriptor;
26 import org.openide.nodes.Node;
27 import org.openide.util.NbBundle;
28 import org.openide.util.RequestProcessor;
29
30 import org.netbeans.modules.db.explorer.infos.DatabaseNodeInfo;
31
32 public class RefreshChildrenAction extends DatabaseAction {
33     static final long serialVersionUID =-2858583720506557569L;
34
35     protected boolean enable(Node[] activatedNodes) {
36         if (activatedNodes != null && activatedNodes.length == 1)
37             if (activatedNodes[0].getChildren().getNodesCount() == 1 && activatedNodes[0].getChildren().getNodes()[0].getName().equals(NbBundle.getBundle("org.netbeans.modules.db.resources.Bundle").getString("WaitNode"))) //NOI18N
38
return false;
39             else
40                 return true;
41         
42         return false;
43     }
44     
45     public void performAction (Node[] activatedNodes) {
46         final Node node;
47         if (activatedNodes != null && activatedNodes.length == 1)
48             node = activatedNodes[0];
49         else
50             return;
51
52         RequestProcessor.getDefault().post(new Runnable JavaDoc() {
53             public void run () {
54                 try {
55                     DatabaseNodeInfo nfo = (DatabaseNodeInfo) node.getCookie(DatabaseNodeInfo.class);
56                     if (nfo != null)
57                         nfo.refreshChildren();
58                 } catch(Exception JavaDoc exc) {
59                     String JavaDoc message = bundle().getString("RefreshChildrenErrorPrefix") + " " + MessageFormat.format(bundle().getString("EXC_ConnectionError"), new String JavaDoc[] {exc.getMessage()}); // NOI18N
60
DialogDisplayer.getDefault().notify(new NotifyDescriptor.Message(message, NotifyDescriptor.ERROR_MESSAGE));
61                 }
62             }
63         }, 0);
64     }
65 }
66
Popular Tags