public SpecobjectImporterFactory() { super("(?i).*\\.(xml|oreqm)"); this.saxParserFactory = SaxParserConfigurator.createSaxParserFactory(); }
@Override public void stopParsing() { this.contentHandlerAdapter.parsingFinished(); } }
@Override public void endElement(final String uri, final String localName, final String qName) throws SAXException { LOG.finest( () -> "End element: uri=" + uri + ", localName=" + localName + ", qName=" + qName); final EndElementEvent event = EndElementEvent.create(uri, localName, qName, getCurrentLocation()); this.delegate.endElement(event); }
@Override public void runImport() { try (Reader reader = this.file.createReader()) { final XMLReader xmlReader = this.saxParserFactory.newSAXParser().getXMLReader(); xmlReader.setEntityResolver(new IgnoringEntityResolver()); final SpecDocumentHandlerBuilder config = new SpecDocumentHandlerBuilder(this.file, this.listener); final TreeContentHandler treeContentHandler = config.build(); new ContentHandlerAdapter(this.file.getPath(), xmlReader, new TreeBuildingContentHandler(treeContentHandler)).registerListener(); final InputSource input = new InputSource(reader); xmlReader.parse(input); } catch (SAXException | ParserConfigurationException | IOException exception) { throw new ImporterException("Error reading \"" + this.file + "\"", exception); } } }
@Override public void startElement(final String uri, final String localName, final String qName, final Attributes attributes) throws SAXException { LOG.finest(() -> "Start element: uri=" + uri + ", localName=" + localName + ", qName=" + qName); final StartElementEvent event = StartElementEvent.create(uri, localName, qName, attributes, getCurrentLocation()); this.delegate.startElement(event); }
@Override public void characters(final char[] ch, final int start, final int length) { this.delegate.characters(new String(ch, start, length)); }
public void registerListener() { if (this.originalContentHandler != null) { throw new IllegalStateException("Already registered as listener"); } this.originalContentHandler = this.xmlReader.getContentHandler(); this.delegate.init(this); this.xmlReader.setContentHandler(this); }
@Override public void runImport() { try (Reader reader = this.file.createReader()) { final XMLReader xmlReader = this.saxParserFactory.newSAXParser().getXMLReader(); xmlReader.setEntityResolver(new IgnoringEntityResolver()); final SpecDocumentHandlerBuilder config = new SpecDocumentHandlerBuilder(this.file, this.listener); final TreeContentHandler treeContentHandler = config.build(); new ContentHandlerAdapter(this.file.getPath(), xmlReader, new TreeBuildingContentHandler(treeContentHandler)).registerListener(); final InputSource input = new InputSource(reader); xmlReader.parse(input); } catch (SAXException | ParserConfigurationException | IOException exception) { throw new ImporterException("Error reading \"" + this.file + "\"", exception); } } }
@Override public void endElement(final String uri, final String localName, final String qName) throws SAXException { LOG.finest( () -> "End element: uri=" + uri + ", localName=" + localName + ", qName=" + qName); final EndElementEvent event = EndElementEvent.create(uri, localName, qName, getCurrentLocation()); this.delegate.endElement(event); }
@Override public void startElement(final String uri, final String localName, final String qName, final Attributes attributes) throws SAXException { LOG.finest(() -> "Start element: uri=" + uri + ", localName=" + localName + ", qName=" + qName); final StartElementEvent event = StartElementEvent.create(uri, localName, qName, attributes, getCurrentLocation()); this.delegate.startElement(event); }
public SpecobjectImporterFactory() { super("(?i).*\\.(xml|oreqm)"); this.saxParserFactory = SaxParserConfigurator.createSaxParserFactory(); }
@Override public void stopParsing() { this.contentHandlerAdapter.parsingFinished(); } }
@Override public void characters(final char[] ch, final int start, final int length) { this.delegate.characters(new String(ch, start, length)); }
public void registerListener() { if (this.originalContentHandler != null) { throw new IllegalStateException("Already registered as listener"); } this.originalContentHandler = this.xmlReader.getContentHandler(); this.delegate.init(this); this.xmlReader.setContentHandler(this); }