1 19 20 package org.netbeans.modules.j2ee.ejbjarproject.jaxws; 21 22 import java.io.IOException ; 23 import org.netbeans.modules.j2ee.api.ejbjar.EjbJar; 24 import org.netbeans.modules.j2ee.ejbjarproject.EjbJarProject; 25 import org.netbeans.modules.websvc.api.jaxws.project.WSUtils; 26 import org.netbeans.modules.websvc.api.jaxws.project.config.Client; 27 import org.netbeans.modules.websvc.api.jaxws.project.config.JaxWsModel; 28 import org.netbeans.modules.websvc.spi.jaxws.client.ProjectJAXWSClientSupport; 29 import org.openide.ErrorManager; 30 import org.openide.filesystems.FileObject; 31 32 36 public class EjbProjectJAXWSClientSupport extends ProjectJAXWSClientSupport { 37 private EjbJarProject project; 38 39 40 public EjbProjectJAXWSClientSupport(EjbJarProject project) { 41 super(project); 42 this.project=project; 43 } 44 45 public FileObject getWsdlFolder(boolean create) throws IOException { 46 EjbJar ejbModule = EjbJar.getEjbJar(project.getProjectDirectory()); 47 if (ejbModule!=null) { 48 FileObject metaInfFo = ejbModule.getMetaInf(); 49 if (metaInfFo!=null) { 50 FileObject wsdlFo = metaInfFo.getFileObject("wsdl"); if (wsdlFo!=null) return wsdlFo; 52 else if (create) { 53 return metaInfFo.createFolder("wsdl"); } 55 } 56 } 57 return null; 58 } 59 60 protected void addJaxWs20Library() throws Exception { 61 } 62 63 65 protected FileObject getXmlArtifactsRoot() { 66 return project.getAPIEjbJar().getMetaInf(); 67 } 68 69 public String addServiceClient(String clientName, String wsdlUrl, String packageName, boolean isJsr109) { 70 FileObject fo = project.findJaxWsFileObject(); 72 if (fo==null) { 73 try { 74 project.createJaxWsFileObject(); 75 } catch (IOException ex) { 76 ErrorManager.getDefault().notify(ex); 77 } 78 } 79 String finalClientName = super.addServiceClient(clientName, wsdlUrl, packageName, isJsr109); 80 81 JaxWsModel jaxWsModel = (JaxWsModel)project.getLookup().lookup(JaxWsModel.class); 84 Client client = jaxWsModel.findClientByName(finalClientName); 85 if (client!=null && client.getWsdlUrl().startsWith("file:")) try { 87 FileObject wsdlFolder = getWsdlFolderForClient(finalClientName); 88 FileObject xmlResorcesFo = getLocalWsdlFolderForClient(finalClientName,false); 89 if (xmlResorcesFo!=null) WSUtils.copyFiles(xmlResorcesFo, wsdlFolder); 90 } catch (IOException ex) { 91 ErrorManager.getDefault().notify(ex); 92 } 93 return finalClientName; 94 } 95 96 } 97 | Popular Tags |