1 19 20 package org.netbeans.modules.tomcat5.nodes.actions; 21 22 import org.netbeans.modules.tomcat5.TomcatManager; 23 import org.netbeans.modules.tomcat5.nodes.TomcatInstanceNode; 24 import org.openide.DialogDescriptor; 25 import org.openide.DialogDisplayer; 26 import org.openide.NotifyDescriptor; 27 import org.openide.nodes.Node; 28 import org.openide.util.HelpCtx; 29 import org.openide.util.NbBundle; 30 import org.openide.util.RequestProcessor; 31 import org.openide.util.actions.NodeAction; 32 33 39 public class TerminateAction extends NodeAction { 40 41 protected void performAction(Node[] nodes) { 42 for (int i = 0; i < nodes.length; i++) { 43 TomcatInstanceNode cookie = (TomcatInstanceNode)nodes[i].getCookie(TomcatInstanceNode.class); 44 if (cookie != null) { 45 final TomcatManager tm = cookie.getTomcatManager(); 46 String name = tm.getTomcatProperties().getDisplayName(); 47 NotifyDescriptor nd = new NotifyDescriptor.Confirmation( 48 NbBundle.getMessage(TerminateAction.class, "MSG_terminate", name), 49 NotifyDescriptor.YES_NO_OPTION); 50 Object retValue = DialogDisplayer.getDefault().notify(nd); 51 if (retValue == DialogDescriptor.YES_OPTION) { 52 RequestProcessor.getDefault().post(new Runnable () { 53 public void run() { 54 tm.terminate(); 55 try { 57 Thread.sleep(500); 58 } catch (InterruptedException ie) {} 59 tm.getInstanceProperties().refreshServerInstance(); 60 } 61 }); 62 } 63 } 64 } 65 } 66 67 protected boolean enable(Node[] nodes) { 68 for (int i = 0; i < nodes.length; i++) { 69 TomcatInstanceNode cookie = (TomcatInstanceNode)nodes[i].getCookie(TomcatInstanceNode.class); 70 if (cookie == null) { 71 return false; 72 } 73 TomcatManager tm = cookie.getTomcatManager(); 74 if (tm == null || !tm.isRunning(false)) { 75 return false; 76 } 77 } 78 return true; 79 } 80 81 public String getName() { 82 return NbBundle.getMessage(TerminateAction.class, "LBL_TerminateAction"); 83 } 84 85 protected boolean asynchronous() { return false; } 86 87 public org.openide.util.HelpCtx getHelpCtx() { 88 return HelpCtx.DEFAULT_HELP; 89 } 90 } 91 | Popular Tags |