KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > web > jsf > xdm > 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.netbeans.modules.web.jsf.xdm.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.web.jsf.api.facesmodel.JSFConfigModel;
26 import org.netbeans.modules.web.jsf.api.facesmodel.JSFConfigModelFactory;
27 import org.netbeans.modules.xml.xam.ModelSource;
28 import org.netbeans.modules.xml.xam.dom.AbstractDocumentModel;
29 import org.netbeans.modules.xml.xam.dom.DocumentModel;
30 import org.openide.filesystems.FileObject;
31 import org.openide.filesystems.Repository;
32
33 /**
34  *
35  * @author nn136682
36  */

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