KickJava   Java API By Example, From Geeks To Geeks.

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


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
31 import org.netbeans.api.db.explorer.DatabaseException;
32 import org.netbeans.modules.db.explorer.dlg.CreateTableDialog;
33 import org.netbeans.modules.db.explorer.infos.DatabaseNodeInfo;
34 import org.netbeans.modules.db.explorer.infos.TableOwnerOperations;
35
36 public class CreateTableAction extends DatabaseAction {
37     static final long serialVersionUID =-7008851466327604724L;
38     
39     public void performAction (Node[] activatedNodes) {
40         Node node;
41         if (activatedNodes != null && activatedNodes.length>0)
42             node = activatedNodes[0];
43         else
44             return;
45
46         
47         final DatabaseNodeInfo xnfo = (DatabaseNodeInfo) node.getCookie(DatabaseNodeInfo.class);
48         final String JavaDoc nodeName = node.getName();
49         RequestProcessor.getDefault().post(new Runnable JavaDoc() {
50             public void run () {
51                 try {
52                     TableOwnerOperations nfo = (TableOwnerOperations) xnfo.getParent(nodename);
53                     Specification spec = (Specification) xnfo.getSpecification();
54                     CreateTableDialog dlg = new CreateTableDialog(spec, (DatabaseNodeInfo) nfo);
55                     if (dlg.run())
56                         try {
57                             nfo.addTable(dlg.getTableName());
58                         } catch ( DatabaseException de ) {
59                             //PENDING
60
}
61                 } catch(Exception JavaDoc exc) {
62                     String JavaDoc message = MessageFormat.format(bundle().getString("EXC_UnableToCreateTable"), new String JavaDoc[] {nodeName, exc.getMessage()}); // NOI18N
63
DialogDisplayer.getDefault().notify(new NotifyDescriptor.Message(message, NotifyDescriptor.ERROR_MESSAGE));
64                 }
65             }
66         }, 0);
67     }
68 }
69
Popular Tags