1 19 20 package org.netbeans.modules.j2ee.jboss4.nodes; 21 22 import java.awt.Image ; 23 import javax.enterprise.deploy.shared.ModuleType ; 24 import org.netbeans.modules.j2ee.deployment.plugins.api.UISupport; 25 import org.netbeans.modules.j2ee.deployment.plugins.api.UISupport.ServerIcon; 26 import org.netbeans.modules.j2ee.jboss4.nodes.actions.RefreshModulesAction; 27 import org.netbeans.modules.j2ee.jboss4.nodes.actions.RefreshModulesCookie; 28 import org.netbeans.modules.j2ee.jboss4.nodes.actions.Refreshable; 29 import org.openide.filesystems.Repository; 30 import org.openide.loaders.DataFolder; 31 import org.openide.nodes.AbstractNode; 32 import org.openide.nodes.Children; 33 import org.openide.nodes.Node; 34 import org.openide.util.actions.SystemAction; 35 36 41 public class JBItemNode extends AbstractNode { 42 43 private ModuleType moduleType; 44 45 public JBItemNode(Children children, String name){ 46 super(children); 47 setDisplayName(name); 48 if(getChildren() instanceof Refreshable) 49 getCookieSet().add(new RefreshModulesCookieImpl((Refreshable)getChildren())); 50 } 51 52 public JBItemNode(Children children, String name, ModuleType moduleType) { 53 this(children, name); 54 this.moduleType = moduleType; 55 } 56 57 public Image getIcon(int type) { 58 if (ModuleType.WAR.equals(moduleType)) { 59 return UISupport.getIcon(ServerIcon.WAR_FOLDER); 60 } else if (ModuleType.EAR.equals(moduleType)) { 61 return UISupport.getIcon(ServerIcon.EAR_FOLDER); 62 } else if (ModuleType.EJB.equals(moduleType)) { 63 return UISupport.getIcon(ServerIcon.EJB_FOLDER); 64 } else { 65 return getIconDelegate().getIcon(type); 66 } 67 } 68 69 public Image getOpenedIcon(int type) { 70 if (ModuleType.WAR.equals(moduleType)) { 71 return UISupport.getIcon(ServerIcon.WAR_OPENED_FOLDER); 72 } else if (ModuleType.EAR.equals(moduleType)) { 73 return UISupport.getIcon(ServerIcon.EAR_OPENED_FOLDER); 74 } else if (ModuleType.EJB.equals(moduleType)) { 75 return UISupport.getIcon(ServerIcon.EJB_OPENED_FOLDER); 76 } else { 77 return getIconDelegate().getOpenedIcon(type); 78 } 79 } 80 81 private Node getIconDelegate() { 82 return DataFolder.findFolder(Repository.getDefault().getDefaultFileSystem().getRoot()).getNodeDelegate(); 83 } 84 85 public javax.swing.Action [] getActions(boolean context) { 86 if(getChildren() instanceof Refreshable) 87 return new SystemAction[] { 88 SystemAction.get(RefreshModulesAction.class) 89 }; 90 91 return new SystemAction[] {}; 92 } 93 94 97 private static class RefreshModulesCookieImpl implements RefreshModulesCookie { 98 Refreshable children; 99 100 public RefreshModulesCookieImpl(Refreshable children){ 101 this.children = children; 102 } 103 104 public void refresh() { 105 children.updateKeys(); 106 } 107 } 108 } | Popular Tags |