1 19 20 package org.netbeans.modules.j2ee.ejbjarproject; 21 22 import org.netbeans.api.project.FileOwnerQuery; 23 import org.netbeans.api.project.Project; 24 import org.netbeans.modules.j2ee.api.ejbjar.EjbJar; 25 import org.netbeans.modules.j2ee.ejbjarproject.ui.customizer.EjbJarProjectProperties; 26 import org.netbeans.modules.j2ee.spi.ejbjar.EjbJarProvider; 27 import org.netbeans.modules.j2ee.spi.ejbjar.EjbJarsInProject; 28 import org.netbeans.spi.project.support.ant.AntProjectHelper; 29 import org.openide.filesystems.FileObject; 30 31 public class ProjectEjbJarProvider implements EjbJarProvider, EjbJarsInProject { 32 33 private EjbJarProject project; 34 35 public ProjectEjbJarProvider (EjbJarProject project) { 36 this.project = project; 37 } 38 39 public EjbJar findEjbJar (FileObject file) { 40 Project project = FileOwnerQuery.getOwner (file); 41 if (project != null && project instanceof EjbJarProject) { 42 return ((EjbJarProject) project).getAPIEjbJar(); 43 } 44 return null; 45 } 46 47 public EjbJar[] getEjbJars() { 48 return new EjbJar [] {project.getAPIEjbJar()}; 49 } 50 51 public void disableSunCmpMappingExclusion() { 52 EjbJarProject ejbProject = (EjbJarProject) project; 53 PropertyHelper ph = ejbProject.getPropertyHelper(); 54 55 String metaInfExcludes = ph.getProperty(AntProjectHelper.PROJECT_PROPERTIES_PATH, EjbJarProjectProperties.META_INF_EXCLUDES); 56 if (metaInfExcludes == null) { 57 return; 58 } 59 String [] tokens = metaInfExcludes.split(" |,"); 60 StringBuffer newMetaInfExcludes = new StringBuffer (); 61 for (int i = 0; i < tokens.length; i++) { 62 if (tokens[i].equals("sun-cmp-mappings.xml") || tokens[i].equals("")) { 64 continue; 65 } 66 67 newMetaInfExcludes.append(tokens[i]); 68 if (i < tokens.length - 1) { 69 newMetaInfExcludes.append(" "); } 71 } 72 ph.saveProperty(AntProjectHelper.PROJECT_PROPERTIES_PATH, EjbJarProjectProperties.META_INF_EXCLUDES, newMetaInfExcludes.toString()); 73 } 74 75 } 76 | Popular Tags |