@Override public void init(final ContentHandlerAdapterController contentHandlerAdapter) { this.contentHandlerAdapter = contentHandlerAdapter; this.getDelegate().init(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 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 init(final ContentHandlerAdapterController contentHandlerAdapter) { this.contentHandlerAdapter = contentHandlerAdapter; this.getDelegate().init(this); }
@Override public void startElement(final StartElementEvent event) { final TreeElement treeElement = new TreeElement(event, this.stack.peek()); this.stack.push(treeElement); this.getDelegate().startElement(treeElement); }
@Override public void startElement(final StartElementEvent event) { final TreeElement treeElement = new TreeElement(event, this.stack.peek()); this.stack.push(treeElement); this.getDelegate().startElement(treeElement); }
@Override public void endElement(final EndElementEvent event) { if (this.stack.isEmpty()) { throw new IllegalStateException("Got closing event " + event + " but stack is empty"); } final TreeElement topElement = this.stack.peek(); if (!topElement.getElement().getName().equals(event.getName())) { throw new IllegalStateException("Top stack element is " + topElement.getElement() + " but got end event for " + event); } final TreeElement closedElement = this.stack.pop(); this.getDelegate().endElement(closedElement); }
@Override public void endElement(final EndElementEvent event) { if (this.stack.isEmpty()) { throw new IllegalStateException("Got closing event " + event + " but stack is empty"); } final TreeElement topElement = this.stack.peek(); if (!topElement.getElement().getName().equals(event.getName())) { throw new IllegalStateException("Top stack element is " + topElement.getElement() + " but got end event for " + event); } final TreeElement closedElement = this.stack.pop(); this.getDelegate().endElement(closedElement); }