1. Project Clover database Tue Dec 20 2016 21:24:09 CET
  2. Package org.xwiki.rendering.wikimodel.xml.sax

File WemReader.java

 

Coverage histogram

../../../../../../img/srcFileCovDistChart4.png
78% of files have more coverage

Code metrics

0
26
16
1
213
116
17
0.65
1.62
16
1.06

Classes

Class Line # Actions
WemReader 47 26 0% 17 26
0.380952438.1%
 

Contributing tests

This file is covered by 2 tests. .

Source view

1    /*
2    * See the NOTICE file distributed with this work for additional
3    * information regarding copyright ownership.
4    *
5    * This is free software; you can redistribute it and/or modify it
6    * under the terms of the GNU Lesser General Public License as
7    * published by the Free Software Foundation; either version 2.1 of
8    * the License, or (at your option) any later version.
9    *
10    * This software is distributed in the hope that it will be useful,
11    * but WITHOUT ANY WARRANTY; without even the implied warranty of
12    * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13    * Lesser General Public License for more details.
14    *
15    * You should have received a copy of the GNU Lesser General Public
16    * License along with this software; if not, write to the Free
17    * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
18    * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
19    */
20    package org.xwiki.rendering.wikimodel.xml.sax;
21   
22    import java.io.IOException;
23    import java.io.InputStream;
24    import java.io.InputStreamReader;
25    import java.io.Reader;
26    import java.net.URL;
27    import java.util.HashMap;
28    import java.util.Map;
29   
30    import org.xml.sax.ContentHandler;
31    import org.xml.sax.DTDHandler;
32    import org.xml.sax.EntityResolver;
33    import org.xml.sax.ErrorHandler;
34    import org.xml.sax.InputSource;
35    import org.xml.sax.SAXException;
36    import org.xml.sax.SAXNotRecognizedException;
37    import org.xml.sax.SAXNotSupportedException;
38    import org.xml.sax.XMLReader;
39    import org.xwiki.rendering.wikimodel.IWikiParser;
40    import org.xwiki.rendering.wikimodel.WikiParserException;
41    import org.xwiki.rendering.wikimodel.xml.WemTagNotifier;
42   
43    /**
44    * @version $Id: 619fe909c5806e7c3d4c3f10caff2ab507421d9e $
45    * @since 4.0M1
46    */
 
47    public class WemReader implements XMLReader
48    {
49    private ContentHandler fContentHandler;
50   
51    private DTDHandler fDTDHandler;
52   
53    private EntityResolver fEntityResolver;
54   
55    private ErrorHandler fErrorHandler;
56   
57    private IWikiParser fParser;
58   
59    protected Map<String, Object> fProperties = new HashMap<String, Object>();
60   
 
61  6 toggle public WemReader(IWikiParser parser)
62    {
63  6 fParser = parser;
64    }
65   
66    /**
67    * @see org.xml.sax.XMLReader#getContentHandler()
68    */
 
69  0 toggle public ContentHandler getContentHandler()
70    {
71  0 return fContentHandler;
72    }
73   
74    /**
75    * @see org.xml.sax.XMLReader#getDTDHandler()
76    */
 
77  0 toggle public DTDHandler getDTDHandler()
78    {
79  0 return fDTDHandler;
80    }
81   
82    /**
83    * @see org.xml.sax.XMLReader#getEntityResolver()
84    */
 
85  0 toggle public EntityResolver getEntityResolver()
86    {
87  0 return fEntityResolver;
88    }
89   
90    /**
91    * @see org.xml.sax.XMLReader#getErrorHandler()
92    */
 
93  0 toggle public ErrorHandler getErrorHandler()
94    {
95  0 return fErrorHandler;
96    }
97   
98    /**
99    * @see org.xml.sax.XMLReader#getFeature(java.lang.String)
100    */
 
101  0 toggle public boolean getFeature(String name)
102    throws SAXNotRecognizedException,
103    SAXNotSupportedException
104    {
105    // throw new SAXNotSupportedException();
106  0 return false;
107    }
108   
109    /**
110    * @see org.xml.sax.XMLReader#getProperty(java.lang.String)
111    */
 
112  0 toggle public Object getProperty(String name)
113    throws SAXNotRecognizedException,
114    SAXNotSupportedException
115    {
116  0 return fProperties.get(name);
117    }
118   
119    /**
120    * @see org.xml.sax.XMLReader#parse(org.xml.sax.InputSource)
121    */
 
122  6 toggle public void parse(InputSource input) throws IOException, SAXException
123    {
124  6 Reader reader = input.getCharacterStream();
125  6 parse(reader);
126    }
127   
128    /**
129    * @param reader
130    * @throws SAXException
131    * @throws IOException
132    */
 
133  6 toggle private void parse(Reader reader) throws SAXException, IOException
134    {
135  6 try {
136  6 WemToSax handler = new WemToSax(fContentHandler);
137  6 WemTagNotifier tagNotifier = new WemTagNotifier(handler);
138  6 fParser.parse(reader, tagNotifier);
139    } catch (WikiParserException e) {
140  0 throw new SAXException(e);
141    } finally {
142  6 reader.close();
143    }
144    }
145   
146    /**
147    * @see org.xml.sax.XMLReader#parse(java.lang.String)
148    */
 
149  0 toggle public void parse(String systemId) throws IOException, SAXException
150    {
151  0 URL url = new URL(systemId);
152  0 InputStream input = url.openStream();
153  0 try {
154  0 InputStreamReader reader = new InputStreamReader(input, "UTF-8");
155  0 parse(reader);
156    } finally {
157  0 input.close();
158    }
159    }
160   
161    /**
162    * @see org.xml.sax.XMLReader#setContentHandler(org.xml.sax.ContentHandler)
163    */
 
164  6 toggle public void setContentHandler(ContentHandler handler)
165    {
166  6 fContentHandler = handler;
167    }
168   
169    /**
170    * @see org.xml.sax.XMLReader#setDTDHandler(org.xml.sax.DTDHandler)
171    */
 
172  0 toggle public void setDTDHandler(DTDHandler handler)
173    {
174  0 fDTDHandler = handler;
175    }
176   
177    /**
178    * @see org.xml.sax.XMLReader#setEntityResolver(org.xml.sax.EntityResolver)
179    */
 
180  0 toggle public void setEntityResolver(EntityResolver resolver)
181    {
182  0 fEntityResolver = resolver;
183    }
184   
185    /**
186    * @see org.xml.sax.XMLReader#setErrorHandler(org.xml.sax.ErrorHandler)
187    */
 
188  0 toggle public void setErrorHandler(ErrorHandler handler)
189    {
190  0 fErrorHandler = handler;
191    }
192   
193    /**
194    * @see org.xml.sax.XMLReader#setFeature(java.lang.String, boolean)
195    */
 
196  6 toggle public void setFeature(String name, boolean value)
197    throws SAXNotRecognizedException,
198    SAXNotSupportedException
199    {
200    // FIXME:
201    }
202   
203    /**
204    * @see org.xml.sax.XMLReader#setProperty(java.lang.String,
205    * java.lang.Object)
206    */
 
207  6 toggle public void setProperty(String name, Object value)
208    throws SAXNotRecognizedException,
209    SAXNotSupportedException
210    {
211  6 fProperties.put(name, value);
212    }
213    }