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