1 19 20 package org.netbeans.modules.j2ee.jboss4.nodes.actions; 21 22 import java.util.Enumeration ; 23 import org.openide.nodes.Node; 24 import org.openide.util.HelpCtx; 25 import org.openide.util.NbBundle; 26 import org.openide.util.RequestProcessor; 27 import org.openide.util.RequestProcessor.Task; 28 import org.openide.util.actions.NodeAction; 29 30 34 public class UndeployModuleAction extends NodeAction { 35 36 protected void performAction(Node[] nodes) { 37 if( (nodes == null) || (nodes.length < 1) ) 38 return; 39 40 for (int i = 0; i < nodes.length; i++) { 41 UndeployModuleCookie uCookie = (UndeployModuleCookie)nodes[i].getCookie(UndeployModuleCookie.class); 42 if (uCookie != null) { 43 final Task t = uCookie.undeploy(); 44 final Node node = nodes[i].getParentNode(); 45 46 RequestProcessor.getDefault().post(new Runnable () { 47 public void run() { 48 t.waitFinished(); 49 if(node != null) { 50 Node apps = node.getParentNode(); 51 if (apps != null) { 52 Enumeration appTypes = apps.getChildren().nodes(); 53 while (appTypes.hasMoreElements()) { 54 Node appType = (Node)appTypes.nextElement(); 55 RefreshModulesCookie cookie = (RefreshModulesCookie)appType.getCookie(RefreshModulesCookie.class); 56 if (cookie != null) { 57 cookie.refresh(); 58 } 59 } 60 } 61 } 62 } 63 }); 64 } 65 } 66 } 67 68 protected boolean enable(Node[] nodes) { 69 UndeployModuleCookie cookie; 70 for (int i=0; i<nodes.length; i++) { 71 cookie = (UndeployModuleCookie)nodes[i].getCookie(UndeployModuleCookie.class); 72 if (cookie == null || cookie.isRunning()) 73 return false; 74 } 75 76 return true; 77 } 78 79 public String getName() { 80 return NbBundle.getMessage(UndeployModuleAction.class, "LBL_UndeployAction"); 81 } 82 83 protected boolean asynchronous() { return false; } 84 85 public org.openide.util.HelpCtx getHelpCtx() { 86 return HelpCtx.DEFAULT_HELP; 87 } 88 } | Popular Tags |