protected BufferedXMLEventReader createSourceXmlEventReader(MultipartFile multipartFile) throws IOException { final InputStream inputStream = multipartFile.getInputStream(); final String name = multipartFile.getOriginalFilename(); final XMLInputFactory xmlInputFactory = this.xmlUtilities.getXmlInputFactory(); final XMLEventReader xmlEventReader; try { xmlEventReader = xmlInputFactory.createXMLEventReader(name, inputStream); } catch (XMLStreamException e) { throw new RuntimeException("Failed to create XML Event Reader for data Source", e); } return new BufferedXMLEventReader(xmlEventReader, -1); }
private BufferedXMLEventReader createSourceXmlEventReader(final Source source) { // If it is a StAXSource see if we can do better handling of it if (source instanceof StAXSource) { final StAXSource staxSource = (StAXSource) source; XMLEventReader xmlEventReader = staxSource.getXMLEventReader(); if (xmlEventReader != null) { if (xmlEventReader instanceof BufferedXMLEventReader) { final BufferedXMLEventReader bufferedXMLEventReader = (BufferedXMLEventReader) xmlEventReader; bufferedXMLEventReader.reset(); bufferedXMLEventReader.mark(-1); return bufferedXMLEventReader; } return new BufferedXMLEventReader(xmlEventReader, -1); } } final XMLInputFactory xmlInputFactory = this.xmlUtilities.getXmlInputFactory(); final XMLEventReader xmlEventReader; try { xmlEventReader = xmlInputFactory.createXMLEventReader(source); } catch (XMLStreamException e) { throw new RuntimeException("Failed to create XML Event Reader for data Source", e); } return new BufferedXMLEventReader(xmlEventReader, -1); }
private BufferedXMLEventReader createSourceXmlEventReader(final Source source) { // If it is a StAXSource see if we can do better handling of it if (source instanceof StAXSource) { final StAXSource staxSource = (StAXSource) source; XMLEventReader xmlEventReader = staxSource.getXMLEventReader(); if (xmlEventReader != null) { if (xmlEventReader instanceof BufferedXMLEventReader) { final BufferedXMLEventReader bufferedXMLEventReader = (BufferedXMLEventReader) xmlEventReader; bufferedXMLEventReader.reset(); bufferedXMLEventReader.mark(-1); return bufferedXMLEventReader; } return new BufferedXMLEventReader(xmlEventReader, -1); } } final XMLInputFactory xmlInputFactory = this.xmlUtilities.getXmlInputFactory(); final XMLEventReader xmlEventReader; try { xmlEventReader = xmlInputFactory.createXMLEventReader(source); } catch (XMLStreamException e) { throw new RuntimeException("Failed to create XML Event Reader for data Source", e); } return new BufferedXMLEventReader(xmlEventReader, -1); }
try { xmlEventReader = new BufferedXMLEventReader(this.xmlInputFactory.createXMLEventReader(fis), -1);
try { xmlEventReader = new BufferedXMLEventReader(this.xmlInputFactory.createXMLEventReader(fis), -1);
@Test public void testBufferNoEvents() throws Exception { final XMLInputFactory xmlInputFactory = XMLInputFactory.newFactory(); final InputStream xmlStream = this.getClass().getResourceAsStream("document.xml"); final XMLEventReader xmlEventReader = xmlInputFactory.createXMLEventReader(xmlStream); final BufferedXMLEventReader reader = new BufferedXMLEventReader(xmlEventReader); int eventCount = 0; while (reader.hasNext()) { reader.nextEvent(); eventCount++; } assertEquals(122, eventCount); reader.reset(); while (reader.hasNext()) { reader.nextEvent(); eventCount++; } assertEquals(122, eventCount); }
@Test public void testBufferSomeEvents() throws Exception { final XMLInputFactory xmlInputFactory = XMLInputFactory.newFactory(); final InputStream xmlStream = this.getClass().getResourceAsStream("document.xml"); final XMLEventReader xmlEventReader = xmlInputFactory.createXMLEventReader(xmlStream); final BufferedXMLEventReader reader = new BufferedXMLEventReader(xmlEventReader, 10); int eventCount = 0; while (reader.hasNext()) { reader.nextEvent(); eventCount++; } assertEquals(122, eventCount); reader.reset(); while (reader.hasNext()) { reader.nextEvent(); eventCount++; } assertEquals(132, eventCount); } }
@Test public void testBufferAllEvents() throws Exception { final XMLInputFactory xmlInputFactory = XMLInputFactory.newFactory(); final InputStream xmlStream = this.getClass().getResourceAsStream("document.xml"); final XMLEventReader xmlEventReader = xmlInputFactory.createXMLEventReader(xmlStream); final BufferedXMLEventReader reader = new BufferedXMLEventReader(xmlEventReader, -1); final XMLEvent firstEvent = reader.peek(); int eventCount = 0; while (reader.hasNext()) { reader.nextEvent(); eventCount++; } assertEquals(122, eventCount); reader.reset(); final XMLEvent firstEventAgain = reader.peek(); assertEquals(firstEvent, firstEventAgain); while (reader.hasNext()) { reader.nextEvent(); eventCount++; } assertEquals(244, eventCount); }