KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > xml > wsdl > model > extensions > Util


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-2007 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

19
20 package org.netbeans.modules.xml.wsdl.model.extensions;
21
22 import java.io.BufferedInputStream JavaDoc;
23 import java.io.BufferedOutputStream JavaDoc;
24 import java.io.BufferedReader JavaDoc;
25 import java.io.File JavaDoc;
26 import java.io.FileInputStream JavaDoc;
27 import java.io.FileOutputStream JavaDoc;
28 import java.io.InputStream JavaDoc;
29 import java.io.InputStreamReader JavaDoc;
30 import java.io.OutputStream JavaDoc;
31 import java.io.PrintWriter JavaDoc;
32 import java.net.URI JavaDoc;
33 import java.util.Collection JavaDoc;
34 import javax.swing.text.Document JavaDoc;
35 import org.netbeans.modules.xml.schema.model.GlobalSimpleType;
36 import org.netbeans.modules.xml.schema.model.ReferenceableSchemaComponent;
37 import org.netbeans.modules.xml.schema.model.Schema;
38 import org.netbeans.modules.xml.schema.model.SchemaModel;
39 import org.netbeans.modules.xml.wsdl.model.WSDLModel;
40 import org.netbeans.modules.xml.schema.model.SchemaModelFactory;
41 import org.netbeans.modules.xml.xam.dom.AbstractDocumentModel;
42 import org.openide.filesystems.FileLock;
43 import org.openide.filesystems.FileObject;
44 import org.openide.filesystems.FileUtil;
45
46 /**
47  *
48  * @author nn136682
49  */

50 public class Util {
51     public static final String JavaDoc EMPTY_XSD = "resources/Empty.wsdl";
52     
53     public static Document JavaDoc getResourceAsDocument(String JavaDoc path) throws Exception JavaDoc {
54         InputStream JavaDoc in = Util.class.getResourceAsStream(path);
55         return loadDocument(in);
56     }
57     
58     public static Document JavaDoc loadDocument(InputStream JavaDoc in) throws Exception JavaDoc {
59     Document JavaDoc sd = new org.netbeans.editor.BaseDocument(
60             org.netbeans.modules.xml.text.syntax.XMLKit.class, false);
61         BufferedReader JavaDoc br = new BufferedReader JavaDoc(new InputStreamReader JavaDoc(in));
62         StringBuffer JavaDoc sbuf = new StringBuffer JavaDoc();
63         try {
64             String JavaDoc line = null;
65             while ((line = br.readLine()) != null) {
66                 sbuf.append(line);
67                 sbuf.append(System.getProperty("line.separator"));
68             }
69         } finally {
70             br.close();
71         }
72         sd.insertString(0,sbuf.toString(),null);
73         return sd;
74     }
75     
76     public static int count = 0;
77     public static WSDLModel loadWSDLModel(String JavaDoc resourcePath) throws Exception JavaDoc {
78         NamespaceLocation nl = NamespaceLocation.valueFromResourcePath(resourcePath);
79         if (nl != null) {
80             return TestCatalogModel.getDefault().getWSDLModel(nl);
81         }
82         String JavaDoc location = resourcePath.substring(resourcePath.lastIndexOf('/')+1);
83         URI JavaDoc locationURI = new URI JavaDoc(location);
84         TestCatalogModel.getDefault().addURI(locationURI, getResourceURI(resourcePath));
85         return TestCatalogModel.getDefault().getWSDLModel(locationURI);
86     }
87     
88     public static WSDLModel createEmptyWSDLModel() throws Exception JavaDoc {
89         return loadWSDLModel(EMPTY_XSD);
90     }
91     
92     /*public static WSDLModel loadWSDLModel(Document doc) throws Exception {
93         return WSDLModelFactory.getDefault().getModel(doc);
94     }*/

95     
96     public static void dumpToStream(Document JavaDoc doc, OutputStream JavaDoc out) throws Exception JavaDoc{
97         PrintWriter JavaDoc w = new PrintWriter JavaDoc(out);
98         w.print(doc.getText(0, doc.getLength()));
99         w.close();
100         out.close();
101     }
102     
103     public static void dumpToFile(Document JavaDoc doc, File JavaDoc f) throws Exception JavaDoc {
104         if (! f.exists()) {
105             f.createNewFile();
106         }
107         OutputStream JavaDoc out = new BufferedOutputStream JavaDoc(new FileOutputStream JavaDoc(f));
108         PrintWriter JavaDoc w = new PrintWriter JavaDoc(out);
109         w.print(doc.getText(0, doc.getLength()));
110         w.close();
111         out.close();
112     }
113     
114     public static File JavaDoc dumpToTempFile(Document JavaDoc doc) throws Exception JavaDoc {
115         File JavaDoc f = File.createTempFile("xsm", "xsd");
116         dumpToFile(doc, f);
117         return f;
118     }
119     
120     public static WSDLModel dumpAndReloadModel(Document JavaDoc doc) throws Exception JavaDoc {
121         File JavaDoc f = dumpToTempFile(doc);
122         URI JavaDoc dumpURI = new URI JavaDoc("dummyDump" + count++);
123         TestCatalogModel.getDefault().addURI(dumpURI, f.toURI());
124         return TestCatalogModel.getDefault().getWSDLModel(dumpURI);
125     }
126     
127     public static Document JavaDoc loadDocument(File JavaDoc f) throws Exception JavaDoc {
128         InputStream JavaDoc in = new BufferedInputStream JavaDoc(new FileInputStream JavaDoc(f));
129         return loadDocument(in);
130     }
131     
132     public static URI JavaDoc getResourceURI(String JavaDoc path) throws RuntimeException JavaDoc {
133         try {
134             return Util.class.getResource(path).toURI();
135         } catch (Exception JavaDoc ex) {
136             throw new RuntimeException JavaDoc(ex);
137         }
138     }
139     
140     public static File JavaDoc getTempDir(String JavaDoc path) throws Exception JavaDoc {
141         File JavaDoc tempdir = new File JavaDoc(System.getProperty("java.io.tmpdir"), path);
142         tempdir.mkdirs();
143         return tempdir;
144     }
145
146     public static GlobalSimpleType getPrimitiveType(String JavaDoc typeName){
147         SchemaModel primitiveModel = SchemaModelFactory.getDefault().getPrimitiveTypesModel();
148         Collection JavaDoc<GlobalSimpleType> primitives = primitiveModel.getSchema().getSimpleTypes();
149         for(GlobalSimpleType ptype: primitives){
150             if(ptype.getName().equals(typeName)){
151                 return ptype;
152             }
153         }
154         return null;
155     }
156
157     public static Document JavaDoc setDocumentContentTo(Document JavaDoc doc, InputStream JavaDoc in) throws Exception JavaDoc {
158         BufferedReader JavaDoc br = new BufferedReader JavaDoc(new InputStreamReader JavaDoc(in));
159         StringBuffer JavaDoc sbuf = new StringBuffer JavaDoc();
160         try {
161             String JavaDoc line = null;
162             while ((line = br.readLine()) != null) {
163                 sbuf.append(line);
164                 sbuf.append(System.getProperty("line.separator"));
165             }
166         } finally {
167             br.close();
168         }
169         doc.remove(0, doc.getLength());
170         doc.insertString(0,sbuf.toString(),null);
171         return doc;
172     }
173     
174     public static Document JavaDoc setDocumentContentTo(Document JavaDoc doc, String JavaDoc resourcePath) throws Exception JavaDoc {
175         return setDocumentContentTo(doc, Util.class.getResourceAsStream(resourcePath));
176     }
177
178     public static void setDocumentContentTo(WSDLModel model, String JavaDoc resourcePath) throws Exception JavaDoc {
179         Document JavaDoc doc = ((AbstractDocumentModel)model).getBaseDocument();
180         setDocumentContentTo(doc, Util.class.getResourceAsStream(resourcePath));
181     }
182
183     public static FileObject copyResource(String JavaDoc path, FileObject destFolder) throws Exception JavaDoc {
184         String JavaDoc filename = getFileName(path);
185         
186         FileObject dest = destFolder.getFileObject(filename);
187         if (dest == null) {
188             dest = destFolder.createData(filename);
189         }
190         FileLock lock = dest.lock();
191         OutputStream JavaDoc out = dest.getOutputStream(lock);
192         InputStream JavaDoc in = Util.class.getResourceAsStream(path);
193         try {
194             FileUtil.copy(in, out);
195         } finally {
196             out.close();
197             in.close();
198             if (lock != null) lock.releaseLock();
199         }
200         return dest;
201     }
202     
203     public static String JavaDoc getFileName(String JavaDoc path) {
204         int i = path.lastIndexOf('/');
205         if (i > -1) {
206             return path.substring(i+1);
207         } else {
208             return path;
209         }
210     }
211    
212     public static ReferenceableSchemaComponent findGlobalComponentByName(Schema schema, String JavaDoc name) {
213         for (ReferenceableSchemaComponent t : schema.getChildren(ReferenceableSchemaComponent.class)) {
214             if (t.getName().equals(name)) {
215                 return t;
216             }
217         }
218         return null;
219     }
220     
221 }
222
Popular Tags