protected PortalDataKey getPortalDataKey(final BufferedXMLEventReader bufferedXmlEventReader) { final StartElement rootElement = StaxUtils.getRootElement(bufferedXmlEventReader); final PortalDataKey portalDataKey = new PortalDataKey(rootElement); bufferedXmlEventReader.reset(); return portalDataKey; }
final StartElement rootElement = StaxUtils.getRootElement(bufferedXmlEventReader); portalDataKey = new PortalDataKey(rootElement); bufferedXmlEventReader.reset(); portalDataType.postProcessPortalDataKey( systemId, portalDataKey, bufferedXmlEventReader); bufferedXmlEventReader.reset(); if (postProcessedPortalDataKeys.contains(orderedPortalDataKey)) { bufferedXmlEventReader.reset(); this.importOrUpgradeData( systemId, orderedPortalDataKey, bufferedXmlEventReader);
final StartElement rootElement = StaxUtils.getRootElement(bufferedXmlEventReader); portalDataKey = new PortalDataKey(rootElement); bufferedXmlEventReader.reset(); portalDataType.postProcessPortalDataKey( systemId, portalDataKey, bufferedXmlEventReader); bufferedXmlEventReader.reset(); if (postProcessedPortalDataKeys.contains(orderedPortalDataKey)) { bufferedXmlEventReader.reset(); this.importOrUpgradeData( systemId, orderedPortalDataKey, bufferedXmlEventReader);
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); }
@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 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 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); }