1 33 34 38 39 package com.icesoft.jsfmeta.util; 40 41 import java.io.File ; 42 import java.io.IOException ; 43 import java.net.URL ; 44 45 import javax.faces.render.RenderKitFactory; 46 import javax.xml.parsers.DocumentBuilder ; 47 import javax.xml.parsers.DocumentBuilderFactory ; 48 import javax.xml.parsers.ParserConfigurationException ; 49 50 import org.xml.sax.ErrorHandler ; 51 import org.xml.sax.SAXException ; 52 import org.xml.sax.SAXParseException ; 53 54 import com.icesoft.jsfmeta.MetadataXmlParser; 55 import com.sun.rave.jsfmeta.beans.FacesConfigBean; 56 import com.sun.rave.jsfmeta.beans.RenderKitBean; 57 import com.sun.rave.jsfmeta.beans.RendererBean; 58 59 public class FacesConfigParserHelper { 60 61 private String fileName; 62 63 public FacesConfigParserHelper(String file){ 64 fileName = file; 65 } 66 67 public static void main(String [] args){ 68 String tmp = "./src/main/resources/conf/webui-faces-config.xml"; 69 FacesConfigParserHelper helper = new FacesConfigParserHelper(tmp); 70 helper.getRendererBeans(); 71 72 } 73 74 public static void validate(String filePath) { 75 76 DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory 77 .newInstance(); 78 documentBuilderFactory.setValidating(true); 79 80 DocumentBuilder documentBuilder = null; 81 try { 82 documentBuilder = documentBuilderFactory.newDocumentBuilder(); 83 } catch (ParserConfigurationException e) { 84 e.printStackTrace(); 85 } 86 87 documentBuilder.setErrorHandler(new ErrorHandler () { 88 public void error(SAXParseException e) { 89 e.printStackTrace(); 90 } 91 92 public void fatalError(SAXParseException e) throws SAXException { 93 e.printStackTrace(); 94 } 95 96 public void warning(SAXParseException e) { 97 e.printStackTrace(); 98 } 99 }); 100 101 try { 102 documentBuilder.parse(new File (filePath)); 103 } catch (IOException e) { 104 105 e.printStackTrace(); 106 } catch (SAXException e) { 107 e.printStackTrace(); 108 109 } 110 } 111 112 113 114 public RendererBean[] getRendererBeans() { 115 116 RendererBean[] rd = null; 117 MetadataXmlParser metadataParser = new MetadataXmlParser(); 118 metadataParser.setDesign(false); 119 120 try { 121 122 File file = new File (fileName); 123 FacesConfigBean facesConfigBean = metadataParser.parse(file); 124 RenderKitBean renderKitBean = facesConfigBean.getRenderKit(RenderKitFactory.HTML_BASIC_RENDER_KIT); 125 rd = renderKitBean.getRenderers(); 126 127 } catch (IOException e) { 128 e.printStackTrace(); 129 } catch (SAXException e) { 130 e.printStackTrace(); 131 } 132 133 return rd; 134 } 135 136 } 137 | Popular Tags |