KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > sample > registry > model > Util


1 /*
2  * Util.java
3  *
4  * Created on October 4, 2005, 7:48 PM
5  *
6  * To change this template, choose Tools | Template Manager
7  * and open the template in the editor.
8  */

9
10 package org.sample.registry.model;
11
12 import java.io.BufferedInputStream JavaDoc;
13 import java.io.BufferedOutputStream JavaDoc;
14 import java.io.BufferedReader JavaDoc;
15 import java.io.File JavaDoc;
16 import java.io.FileInputStream JavaDoc;
17 import java.io.FileOutputStream JavaDoc;
18 import java.io.IOException JavaDoc;
19 import java.io.InputStream JavaDoc;
20 import java.io.InputStreamReader JavaDoc;
21 import java.io.OutputStream JavaDoc;
22 import java.io.PrintWriter JavaDoc;
23 import java.net.URI JavaDoc;
24 import javax.swing.text.Document JavaDoc;
25 import org.netbeans.modules.xml.xam.ModelSource;
26 import org.netbeans.modules.xml.xam.dom.AbstractDocumentModel;
27 import org.netbeans.modules.xml.xam.dom.DocumentModel;
28 import org.openide.filesystems.FileObject;
29 import org.openide.filesystems.Repository;
30
31 /**
32  *
33  * @author nn136682
34  */

35 public class Util {
36     static {
37         //JEditorPane.registerEditorKitForContentType(SchemaDataLoader.MIME_TYPE, XMLKit.class.getName());
38
registerXMLKit();
39     }
40     
41     public static void registerXMLKit() {
42         String JavaDoc[] path = new String JavaDoc[] { "Editors", "text", "x-xml" };
43         FileObject target = Repository.getDefault().getDefaultFileSystem().getRoot();
44         try {
45             for (int i=0; i<path.length; i++) {
46                 FileObject f = target.getFileObject(path[i]);
47                 if (f == null) {
48                     f = target.createFolder(path[i]);
49                 }
50                 target = f;
51             }
52             String JavaDoc name = "EditorKit.instance";
53             if (target.getFileObject(name) == null) {
54                 FileObject f = target.createData(name);
55                 f.setAttribute("instanceClass", "org.netbeans.modules.xml.text.syntax.XMLKit");
56             }
57         } catch(IOException JavaDoc ioe) {
58             ioe.printStackTrace();
59         }
60     }
61
62     public static Document JavaDoc getResourceAsDocument(String JavaDoc path) throws Exception JavaDoc {
63         InputStream JavaDoc in = Util.class.getResourceAsStream(path);
64         return loadDocument(in);
65     }
66
67     public static Document JavaDoc loadDocument(InputStream JavaDoc in) throws Exception JavaDoc {
68 // Document sd = new PlainDocument();
69
Document JavaDoc sd = new org.netbeans.editor.BaseDocument(
70                 org.netbeans.modules.xml.text.syntax.XMLKit.class, false);
71         return setDocumentContentTo(sd, in);
72     }
73     
74     public static Document JavaDoc setDocumentContentTo(Document JavaDoc doc, InputStream JavaDoc in) throws Exception JavaDoc {
75         BufferedReader JavaDoc br = new BufferedReader JavaDoc(new InputStreamReader JavaDoc(in));
76         StringBuffer JavaDoc sbuf = new StringBuffer JavaDoc();
77         try {
78             String JavaDoc line = null;
79             while ((line = br.readLine()) != null) {
80                 sbuf.append(line);
81                 sbuf.append(System.getProperty("line.separator"));
82             }
83         } finally {
84             br.close();
85         }
86         doc.remove(0, doc.getLength());
87         doc.insertString(0,sbuf.toString(),null);
88         return doc;
89     }
90     
91     public static Document JavaDoc setDocumentContentTo(Document JavaDoc doc, String JavaDoc resourcePath) throws Exception JavaDoc {
92         return setDocumentContentTo(doc, Util.class.getResourceAsStream(resourcePath));
93     }
94
95     public static void setDocumentContentTo(DocumentModel model, String JavaDoc resourcePath) throws Exception JavaDoc {
96         setDocumentContentTo(((AbstractDocumentModel)model).getBaseDocument(), resourcePath);
97         model.sync();
98     }
99     
100     public static int count = 0;
101     public static RegistryModel loadRegistryModel(String JavaDoc resourcePath) throws Exception JavaDoc {
102         URI JavaDoc locationURI = new URI JavaDoc(resourcePath);
103         TestCatalogModel.getDefault().addURI(locationURI, getResourceURI(resourcePath));
104         ModelSource ms = TestCatalogModel.getDefault().getModelSource(locationURI);
105         return RegistryModelFactory.getInstance().getModel(ms);
106     }
107     
108     public static RegistryModel loadRegistryModel(File JavaDoc schemaFile) throws Exception JavaDoc {
109         URI JavaDoc locationURI = new URI JavaDoc(schemaFile.getName());
110         TestCatalogModel.getDefault().addURI(locationURI, schemaFile.toURI());
111         ModelSource ms = TestCatalogModel.getDefault().getModelSource(locationURI);
112         return RegistryModelFactory.getInstance().getModel(ms);
113     }
114     
115     public static void dumpToStream(Document JavaDoc doc, OutputStream JavaDoc out) throws Exception JavaDoc{
116         PrintWriter JavaDoc w = new PrintWriter JavaDoc(out);
117         w.print(doc.getText(0, doc.getLength()));
118         w.close();
119         out.close();
120     }
121     
122     public static void dumpToFile(DocumentModel model, File JavaDoc f) throws Exception JavaDoc {
123         dumpToFile(((AbstractDocumentModel)model).getBaseDocument(), f);
124     }
125     
126     public static void dumpToFile(Document JavaDoc doc, File JavaDoc f) throws Exception JavaDoc {
127         OutputStream JavaDoc out = new BufferedOutputStream JavaDoc(new FileOutputStream JavaDoc(f));
128         PrintWriter JavaDoc w = new PrintWriter JavaDoc(out);
129         w.print(doc.getText(0, doc.getLength()));
130         w.close();
131         out.close();
132     }
133     
134     public static RegistryModel dumpAndReloadModel(RegistryModel sm) throws Exception JavaDoc {
135         return dumpAndReloadModel((Document JavaDoc) sm.getModelSource().getLookup().lookup(Document JavaDoc.class));
136     }
137     
138     public static File JavaDoc dumpToTempFile(Document JavaDoc doc) throws Exception JavaDoc {
139         File JavaDoc f = File.createTempFile("reg", "xml");
140         dumpToFile(doc, f);
141         return f;
142     }
143     
144     public static RegistryModel dumpAndReloadModel(Document JavaDoc doc) throws Exception JavaDoc {
145         File JavaDoc f = dumpToTempFile(doc);
146         URI JavaDoc dumpURI = new URI JavaDoc("dummyDump" + count++);
147         TestCatalogModel.getDefault().addURI(dumpURI, f.toURI());
148         ModelSource ms = TestCatalogModel.getDefault().getModelSource(dumpURI);
149         return RegistryModelFactory.getInstance().getModel(ms);
150     }
151     
152     public static Document JavaDoc loadDocument(File JavaDoc f) throws Exception JavaDoc {
153         InputStream JavaDoc in = new BufferedInputStream JavaDoc(new FileInputStream JavaDoc(f));
154         return loadDocument(in);
155     }
156         
157     public static URI JavaDoc getResourceURI(String JavaDoc path) throws RuntimeException JavaDoc {
158         try {
159             return Util.class.getResource(path).toURI();
160         } catch (Exception JavaDoc ex) {
161             throw new RuntimeException JavaDoc(ex);
162         }
163     }
164     
165     public static File JavaDoc getTempDir(String JavaDoc path) throws Exception JavaDoc {
166         File JavaDoc tempdir = new File JavaDoc(System.getProperty("java.io.tmpdir"), path);
167         tempdir.mkdirs();
168         return tempdir;
169     }
170 }
171
Popular Tags