java/alt2xml/src/cz/frantovo/alt2xml/vstup/SuperReader.java
author František Kučera <franta-hg@frantovo.cz>
Tue, 03 Jan 2012 12:55:38 +0100
changeset 3 6c608fd8c019
parent 2 java/alt2xml/src/cz/frantovo/alt2xml/SuperReader.java@be5bfbe1f0cd
child 4 e2b2f34cdb50
permissions -rw-r--r--
Přehlednější struktura tříd/balíčků.
     1 package cz.frantovo.alt2xml.vstup;
     2 
     3 import java.io.IOException;
     4 import java.io.InputStreamReader;
     5 import java.util.logging.Level;
     6 import java.util.logging.Logger;
     7 import org.json.simple.parser.JSONParser;
     8 import org.json.simple.parser.ParseException;
     9 import org.xml.sax.ContentHandler;
    10 import org.xml.sax.DTDHandler;
    11 import org.xml.sax.EntityResolver;
    12 import org.xml.sax.ErrorHandler;
    13 import org.xml.sax.InputSource;
    14 import org.xml.sax.SAXException;
    15 import org.xml.sax.SAXNotRecognizedException;
    16 import org.xml.sax.SAXNotSupportedException;
    17 import org.xml.sax.XMLReader;
    18 
    19 /**
    20  *
    21  * @author fiki
    22  */
    23 public class SuperReader implements XMLReader {
    24 
    25 	private static final Logger log = Logger.getLogger(SuperReader.class.getName());
    26 	private ContentHandler contentHandler;
    27 
    28 	@Override
    29 	public boolean getFeature(String name) throws SAXNotRecognizedException, SAXNotSupportedException {
    30 		// TODO: dopsat
    31 		log.log(Level.FINE, "getFeature: {0}", name);
    32 		return false;
    33 	}
    34 
    35 	@Override
    36 	public void setFeature(String name, boolean value) throws SAXNotRecognizedException, SAXNotSupportedException {
    37 		// TODO: dopsat
    38 		log.log(Level.FINE, "setFeature: {0} = {1}", new Object[]{name, value});
    39 	}
    40 
    41 	@Override
    42 	public Object getProperty(String name) throws SAXNotRecognizedException, SAXNotSupportedException {
    43 		// TODO: dopsat
    44 		log.log(Level.FINE, "getProperty: {0}", name);
    45 		return null;
    46 	}
    47 
    48 	@Override
    49 	public void setProperty(String name, Object value) throws SAXNotRecognizedException, SAXNotSupportedException {
    50 		// TODO: dopsat
    51 		log.log(Level.FINE, "setProperty: {0} = {1}", new Object[]{name, value});
    52 	}
    53 
    54 	@Override
    55 	public void setEntityResolver(EntityResolver resolver) {
    56 		// TODO: dopsat
    57 		log.log(Level.FINE, "setEntityResolver: {0}", resolver);
    58 	}
    59 
    60 	@Override
    61 	public EntityResolver getEntityResolver() {
    62 		// TODO: dopsat
    63 		log.log(Level.FINE, "getEntityResolver");
    64 		return null;
    65 	}
    66 
    67 	@Override
    68 	public void setDTDHandler(DTDHandler handler) {
    69 		// TODO: dopsat
    70 		log.log(Level.FINE, "setDTDHandler: {0}", handler);
    71 	}
    72 
    73 	@Override
    74 	public DTDHandler getDTDHandler() {
    75 		// TODO: dopsat
    76 		log.log(Level.FINE, "getDTDHandler");
    77 		return null;
    78 	}
    79 
    80 	@Override
    81 	public void setContentHandler(ContentHandler handler) {
    82 		// TODO: dopsat
    83 		contentHandler = handler;
    84 	}
    85 
    86 	@Override
    87 	public ContentHandler getContentHandler() {
    88 		// TODO: dopsat
    89 		return contentHandler;
    90 	}
    91 
    92 	@Override
    93 	public void setErrorHandler(ErrorHandler handler) {
    94 		// TODO: dopsat
    95 		log.log(Level.FINE, "setErrorHandler: {0}", handler);
    96 	}
    97 
    98 	@Override
    99 	public ErrorHandler getErrorHandler() {
   100 		// TODO: dopsat
   101 		log.log(Level.FINE, "getErrorHandler");
   102 		return null;
   103 	}
   104 
   105 	@Override
   106 	public void parse(InputSource input) throws IOException, SAXException {
   107 		/**
   108 		 * TODO: rozpornat formát vstupu a podle toho delegovat
   109 		 */
   110 		
   111 		JSONParser p = new JSONParser();
   112 		InputStreamReader vstup = new InputStreamReader(input.getByteStream());
   113 		JsonSimpleContentHandler handler = new JsonSimpleContentHandler(contentHandler);
   114 
   115 		try {
   116 			p.parse(vstup, handler);
   117 		} catch (ParseException e) {
   118 			throw new SAXException("Chyba při načítání JSONu", e);
   119 		}
   120 	}
   121 
   122 	@Override
   123 	public void parse(String systemId) throws IOException, SAXException {
   124 		// TODO: dopsat
   125 		throw new UnsupportedOperationException("Zatím není podporované.");
   126 	}
   127 }