1 19 20 package org.netbeans.modules.web.project.jaxws; 21 22 import org.netbeans.api.java.classpath.ClassPath; 23 import org.netbeans.modules.j2ee.metadata.ClassPathSupport; 24 import org.netbeans.modules.j2ee.metadata.JAXWSMetadataProvider; 25 import org.netbeans.modules.j2ee.metadata.MetadataUnit; 26 import org.netbeans.modules.web.project.WebProject; 27 import org.netbeans.modules.web.project.classpath.ClassPathProviderImpl; 28 import org.openide.filesystems.FileObject; 29 30 34 public class WebJAXWSMetadataFinder implements JAXWSMetadataProvider { 35 36 private final WebProject project; 37 38 private MetadataUnit jaxWSMetadata; 39 private ClassPath projectSourcesClassPath; 40 41 public WebJAXWSMetadataFinder(WebProject project) { 42 this.project = project; 43 } 44 45 public MetadataUnit getJAXWSMetadata() { 46 synchronized (this) { 47 if (jaxWSMetadata != null) { 48 return jaxWSMetadata; 49 } 50 jaxWSMetadata = new JAXWSMetadataUnitImpl(); 51 return jaxWSMetadata; 52 } 53 } 54 55 private ClassPath getProjectSourcesClassPath() { 56 synchronized (this) { 57 if (projectSourcesClassPath == null) { 58 ClassPathProviderImpl cpProvider = (ClassPathProviderImpl)project.getLookup().lookup(ClassPathProviderImpl.class); 59 projectSourcesClassPath = ClassPathSupport.createWeakProxyClassPath(new ClassPath[] { 60 cpProvider.getProjectSourcesClassPath(ClassPath.SOURCE), 61 cpProvider.getProjectSourcesClassPath(ClassPath.COMPILE), 62 }); 63 } 64 return projectSourcesClassPath; 65 } 66 } 67 68 private class JAXWSMetadataUnitImpl implements MetadataUnit { 69 70 public ClassPath getClassPath() { 71 return getProjectSourcesClassPath(); 72 } 73 74 public FileObject getDeploymentDescriptor() { 75 return null; 76 } 77 } 78 } 79 | Popular Tags |