1 19 20 package org.netbeans.modules.db.explorer.actions; 21 22 import java.text.MessageFormat ; 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 () { 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 exc) { 62 String message = MessageFormat.format(bundle().getString("ERR_UnableToAddColumn"), new String [] {exc.getMessage()}); DialogDisplayer.getDefault().notify(new NotifyDescriptor.Message(message, NotifyDescriptor.ERROR_MESSAGE)); 64 } 65 } 66 }, 0); 67 } 68 } 69 | Popular Tags |