KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > j2ee > ejbjarproject > jaxws > EjbProjectJAXWSClientSupport


1 /*
2  * The contents of this file are subject to the terms of the Common Development
3  * and Distribution License (the License). You may not use this file except in
4  * compliance with the License.
5  *
6  * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
7  * or http://www.netbeans.org/cddl.txt.
8  *
9  * When distributing Covered Code, include this CDDL Header Notice in each file
10  * and include the License file at http://www.netbeans.org/cddl.txt.
11  * If applicable, add the following below the CDDL Header, with the fields
12  * enclosed by brackets [] replaced by your own identifying information:
13  * "Portions Copyrighted [year] [name of copyright owner]"
14  *
15  * The Original Software is NetBeans. The Initial Developer of the Original
16  * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

19
20 package org.netbeans.modules.j2ee.ejbjarproject.jaxws;
21
22 import java.io.IOException JavaDoc;
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 /**
33  *
34  * @author mkuchtiak
35  */

36 public class EjbProjectJAXWSClientSupport extends ProjectJAXWSClientSupport/* implements JAXWSClientSupportImpl*/ {
37     private EjbJarProject project;
38     
39     /** Creates a new instance of WebProjectJAXWSClientSupport */
40     public EjbProjectJAXWSClientSupport(EjbJarProject project) {
41         super(project);
42         this.project=project;
43     }
44     
45     public FileObject getWsdlFolder(boolean create) throws IOException JavaDoc {
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"); //NOI18N
51
if (wsdlFo!=null) return wsdlFo;
52                 else if (create) {
53                     return metaInfFo.createFolder("wsdl"); //NOI18N
54
}
55             }
56         }
57         return null;
58     }
59
60     protected void addJaxWs20Library() throws Exception JavaDoc {
61     }
62     
63     /** return root folder for xml artifacts
64      */

65     protected FileObject getXmlArtifactsRoot() {
66         return project.getAPIEjbJar().getMetaInf();
67     }
68
69     public String JavaDoc addServiceClient(String JavaDoc clientName, String JavaDoc wsdlUrl, String JavaDoc packageName, boolean isJsr109) {
70         // create jax-ws.xml if necessary
71
FileObject fo = project.findJaxWsFileObject();
72         if (fo==null) {
73             try {
74                 project.createJaxWsFileObject();
75             } catch (IOException JavaDoc ex) {
76                 ErrorManager.getDefault().notify(ex);
77             }
78         }
79         String JavaDoc finalClientName = super.addServiceClient(clientName, wsdlUrl, packageName, isJsr109);
80         
81         // copy resources to META-INF/wsdl/client/${clientName}
82
// this will be done only for local wsdl files
83
JaxWsModel jaxWsModel = (JaxWsModel)project.getLookup().lookup(JaxWsModel.class);
84         Client client = jaxWsModel.findClientByName(finalClientName);
85         if (client!=null && client.getWsdlUrl().startsWith("file:")) //NOI18N
86
try {
87                 FileObject wsdlFolder = getWsdlFolderForClient(finalClientName);
88                 FileObject xmlResorcesFo = getLocalWsdlFolderForClient(finalClientName,false);
89                 if (xmlResorcesFo!=null) WSUtils.copyFiles(xmlResorcesFo, wsdlFolder);
90             } catch (IOException JavaDoc ex) {
91                 ErrorManager.getDefault().notify(ex);
92             }
93         return finalClientName;
94     }
95
96 }
97
Popular Tags