KickJava   Java API By Example, From Geeks To Geeks.

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


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.RequestProcessor;
28
29 import org.netbeans.lib.ddl.impl.Specification;
30 import org.netbeans.modules.db.explorer.dlg.AddTableColumnDialog;
31 import org.netbeans.modules.db.explorer.infos.DatabaseNodeInfo;
32 import org.netbeans.modules.db.explorer.infos.TableNodeInfo;
33
34 public class AddColumnAction extends DatabaseAction {
35
36     static final long serialVersionUID =5894518352294344657L;
37     
38     protected boolean enable(Node[] activatedNodes) {
39         if (activatedNodes != null && activatedNodes.length == 1)
40             return true;
41         else
42             return false;
43     }
44     
45     public void performAction (Node[] activatedNodes) {
46         Node node;
47         if (activatedNodes != null && activatedNodes.length == 1)
48             node = activatedNodes[0];
49         else
50             return;
51
52         DatabaseNodeInfo info = (DatabaseNodeInfo) node.getCookie(DatabaseNodeInfo.class);
53         final TableNodeInfo nfo = (TableNodeInfo) info.getParent(nodename);
54         RequestProcessor.getDefault().post(new Runnable JavaDoc() {
55             public void run () {
56                 try {
57                     AddTableColumnDialog dlg = new AddTableColumnDialog((Specification) nfo.getSpecification(), nfo);
58                     if (dlg.run()) {
59                         nfo.addColumn(dlg.getColumnName());
60                     }
61                 } catch(Exception JavaDoc exc) {
62                     String JavaDoc message = MessageFormat.format(bundle().getString("ERR_UnableToAddColumn"), new String JavaDoc[] {exc.getMessage()}); // NOI18N
63
DialogDisplayer.getDefault().notify(new NotifyDescriptor.Message(message, NotifyDescriptor.ERROR_MESSAGE));
64                 }
65             }
66         }, 0);
67     }
68 }
69
Popular Tags