KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > j2ee > jboss4 > nodes > actions > UndeployModuleAction


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.j2ee.jboss4.nodes.actions;
21
22 import java.util.Enumeration JavaDoc;
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 /**
31  *
32  * @author Michal Mocnak
33  */

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 JavaDoc() {
47                     public void run() {
48                         t.waitFinished();
49                         if(node != null) {
50                             Node apps = node.getParentNode();
51                             if (apps != null) {
52                                 Enumeration JavaDoc 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 JavaDoc 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