1 19 20 package org.netbeans.modules.j2ee.earproject.ui.actions; 21 22 import java.util.HashSet ; 23 import java.util.Set ; 24 import org.netbeans.api.project.Project; 25 import org.netbeans.api.project.ProjectManager; 26 import org.netbeans.api.project.ant.AntArtifact; 27 import org.netbeans.api.project.ui.OpenProjects; 28 import org.netbeans.modules.j2ee.earproject.ui.ModuleNode; 29 import org.netbeans.modules.j2ee.earproject.ui.customizer.VisualClassPathItem; 30 import org.openide.nodes.Node; 31 import org.openide.util.HelpCtx; 32 import org.openide.util.NbBundle; 33 import org.openide.util.actions.CookieAction; 34 35 public class OpenModuleProjectAction extends CookieAction { 36 37 protected Class [] cookieClasses() { 38 return new Class [] { ModuleNode.class }; 39 } 40 41 protected int mode() { 42 return CookieAction.MODE_ALL; 43 } 44 45 public void performAction(Node[] nodes) { 46 Project projects[] = new Project[nodes.length]; 47 for (int i = 0; i < nodes.length; i++) { 48 VisualClassPathItem vcpi = ((ModuleNode)nodes[i].getCookie(ModuleNode.class)).getVCPI(); 49 if (VisualClassPathItem.Type.ARTIFACT == vcpi.getType()) { 50 projects[i] = ((AntArtifact) vcpi.getObject()).getProject(); 51 } else { 52 continue; 53 } 54 } 55 Set <Project> validProjects = new HashSet <Project>(); 56 for (int i = 0; i < nodes.length; i++) { 57 if (ProjectManager.getDefault().isValid(projects[i])) { 58 validProjects.add(projects[i]); 59 } } 61 if (!validProjects.isEmpty()) { 62 OpenProjects.getDefault().open(projects,false); 63 } 64 } 65 66 public HelpCtx getHelpCtx() { 67 return null; 68 } 69 70 public String getName() { 71 return NbBundle.getMessage(OpenModuleProjectAction.class, "LBL_OpenProject"); 72 } 73 74 protected boolean asynchronous() { 75 return false; 76 } 77 78 } 79 | Popular Tags |