KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > icesoft > jsfmeta > eclipse > CMParserHelper


1 /*
2  * CM Parser Helper
3  */

4
5 package com.icesoft.jsfmeta.eclipse;
6
7 import java.io.File JavaDoc;
8 import java.io.IOException JavaDoc;
9 import java.util.Iterator JavaDoc;
10 import java.util.Map JavaDoc;
11 import java.util.TreeMap JavaDoc;
12 import javax.xml.parsers.DocumentBuilder JavaDoc;
13 import javax.xml.parsers.DocumentBuilderFactory JavaDoc;
14 import javax.xml.parsers.ParserConfigurationException JavaDoc;
15 import org.w3c.dom.Document JavaDoc;
16 import org.w3c.dom.Element JavaDoc;
17 import org.w3c.dom.NamedNodeMap JavaDoc;
18 import org.w3c.dom.Node JavaDoc;
19 import org.xml.sax.ErrorHandler JavaDoc;
20 import org.xml.sax.SAXException JavaDoc;
21 import org.xml.sax.SAXParseException JavaDoc;
22
23 public class CMParserHelper {
24     
25     private TreeMap JavaDoc propertyTypeTreeMap = new TreeMap JavaDoc();
26     
27     public CMParserHelper() {
28     }
29     
30     
31     public void getInfo(){
32         try {
33             
34             DocumentBuilderFactory JavaDoc documentBuilderFactory = DocumentBuilderFactory.newInstance();
35             DocumentBuilder JavaDoc documentBuilder = documentBuilderFactory.newDocumentBuilder();
36             
37             documentBuilder.setErrorHandler(new ErrorHandler JavaDoc() {
38                 public void error(SAXParseException JavaDoc e) {
39                     e.printStackTrace();
40                 }
41                 
42                 public void fatalError(SAXParseException JavaDoc e) throws SAXException JavaDoc {
43                     e.printStackTrace();
44                 }
45                 
46                 public void warning(SAXParseException JavaDoc e) {
47                     e.printStackTrace();
48                 }
49             });
50             
51             Document JavaDoc document = documentBuilder.parse(new File JavaDoc("./src/main/resources/conf/eclipse.schema/jsfhtml.xml"));
52             
53             Element JavaDoc element = document.getDocumentElement();
54             traversal(element, "\t");
55             
56             for(Iterator JavaDoc iterator = propertyTypeTreeMap.entrySet().iterator(); iterator.hasNext();){
57                 Map.Entry JavaDoc entry = (Map.Entry JavaDoc)iterator.next();
58                 System.out.println("key="+entry.getKey()+" value="+ entry.getValue());
59             }
60         } catch (SAXException JavaDoc ex) {
61             ex.printStackTrace();
62         } catch (ParserConfigurationException JavaDoc ex) {
63             ex.printStackTrace();
64         } catch (IOException JavaDoc ex) {
65             ex.printStackTrace();
66         }
67     }
68     
69     public void traversal(Element JavaDoc element, String JavaDoc indentString){
70         
71         for(Node JavaDoc firstChild = element.getFirstChild();firstChild != null;
72         firstChild = firstChild.getNextSibling()){
73             
74             int nodeType = firstChild.getNodeType();
75             switch(nodeType){
76                 case Node.ELEMENT_NODE:{
77                     NamedNodeMap JavaDoc map = firstChild.getAttributes();
78                     Object JavaDoc objectValue = map.getNamedItem("type");
79                     if(objectValue != null && objectValue instanceof Node JavaDoc){
80                         Node JavaDoc attrImpl = (Node JavaDoc)objectValue;
81                         propertyTypeTreeMap.put(attrImpl.getNodeValue(), attrImpl.getNodeValue()+"_type");
82                     }
83                     traversal((Element JavaDoc)firstChild, indentString);
84                 }
85                 case Node.TEXT_NODE:{
86                     
87                 }
88             }
89         }
90     }
91     
92 }
93
Popular Tags