public void testOptimizedUnmarshal() throws Exception { if (null != XML_INPUT_FACTORY) { InputStream instream = ClassLoader.getSystemResourceAsStream(XML_RESOURCE); XMLStreamReader xmlStreamReader = XML_INPUT_FACTORY.createXMLStreamReader(instream); XMLReader xmlReader = new LargeInlineBinaryDataXMLStreamReaderReader(); InputSource inputSource = new XMLStreamReaderInputSource(xmlStreamReader); SAXSource saxSource = new SAXSource(xmlReader, inputSource); JAXBContext jc = JAXBContextFactory.createContext(new Class[] {LargeInlineBinaryRoot.class}, null); Unmarshaller unmarshaller = jc.createUnmarshaller(); LargeInlineBinaryRoot root = (LargeInlineBinaryRoot) unmarshaller.unmarshal(saxSource); assertSame(LargeInlineBinaryDataXMLStreamReaderReader.DATA_HANDLER, root.getDataHandler()); assertSame(LargeInlineBinaryDataXMLStreamReaderReader.IMAGE, root.getImage()); assertSame(LargeInlineBinaryDataXMLStreamReaderReader.SOURCE, root.getSource()); assertSame( LargeInlineBinaryDataXMLStreamReaderReader.MIME_MULTIPART, root.getMimeMultipart()); assertSame( LargeInlineBinaryDataXMLStreamReaderReader.DATA_HANDLER, root.getDataHandlerList().get(0)); assertSame(LargeInlineBinaryDataXMLStreamReaderReader.IMAGE, root.getImageList().get(0)); assertSame(LargeInlineBinaryDataXMLStreamReaderReader.SOURCE, root.getSourceList().get(0)); assertSame( LargeInlineBinaryDataXMLStreamReaderReader.MIME_MULTIPART, root.getMimeMultipartList().get(0)); } }
public void testXMLToObjectFromXMLEventReader() throws Exception { if (null != XML_INPUT_FACTORY) { InputStream instream = ClassLoader.getSystemResourceAsStream(resourceName); XMLEventReader xmlEventReader = XML_INPUT_FACTORY.createXMLEventReader(instream); Object testObject = jaxbUnmarshaller.unmarshal(xmlEventReader, Object.class); instream.close(); xmlToObjectTest(testObject); } }
private XMLStreamReader createXMLStreamReader(InputStream stream) { try { if (null == XML_INPUT_FACTORY) { return null; } XMLStreamReader xmlStreamReader = XML_INPUT_FACTORY.createXMLStreamReader(stream); return xmlStreamReader; } catch (XMLStreamException e) { return null; } }
public void testXMLToObjectFromXMLEventReader() throws Exception { if (null != XML_INPUT_FACTORY && isUnmarshalTest()) { InputStream instream = ClassLoader.getSystemResourceAsStream(resourceName); XMLEventReader xmlEventReader = XML_INPUT_FACTORY.createXMLEventReader(instream); jaxbUnmarshaller.setProperty(UnmarshallerProperties.MEDIA_TYPE, getXMLUnmarshalMediaType()); Object testObject = null; if (getUnmarshalClass() != null) { testObject = jaxbUnmarshaller.unmarshal(xmlEventReader, getUnmarshalClass()); } else { testObject = jaxbUnmarshaller.unmarshal(xmlEventReader); } instream.close(); xmlToObjectTest(testObject); } }
public void testXMLToObjectFromXMLStreamReaderEx() throws Exception { if (null != XML_INPUT_FACTORY) { InputStream instream = ClassLoader.getSystemResourceAsStream(resourceName); XMLStreamReader xmlStreamReader = XML_INPUT_FACTORY.createXMLStreamReader(instream); ExtendedXMLStreamReaderReader xmlStreamReaderReaderEx = new ExtendedXMLStreamReaderReader(); XMLStreamReaderInputSource xmlStreamReaderInputSource = new XMLStreamReaderInputSource(xmlStreamReader); SAXSource saxSource = new SAXSource(xmlStreamReaderReaderEx, xmlStreamReaderInputSource); Object testObject = jaxbUnmarshaller.unmarshal(saxSource, Object.class); instream.close(); xmlToObjectTest(testObject); } }
public void run() { try { ArrayList<Byte> bytes = new ArrayList<>(); for (; ; ) { for (; ; ) { int readByte = inputStream.read(); if (readByte == -1) { if (logger.isInfoEnabled()) logger.info("Read -1!!"); return; } byte current = (byte) readByte; if (current == 0) { break; } bytes.add(current); } if (bytes.size() > 0) { byte[] ba = new byte[bytes.size()]; for (int i = 0; i < bytes.size(); i++) { ba[i] = bytes.get(i); } bytes.clear(); String str = new String(ba, StandardCharsets.UTF_8); if (logger.isDebugEnabled()) logger.debug("Read: {}", str); StringReader strr = new StringReader(str); XMLStreamReader reader = XML_INPUT_FACTORY.createXMLStreamReader(strr); LoggingEvent event = loggingEventReader.read(reader); addEvent(event); } else { if (logger.isDebugEnabled()) logger.debug("bytes.size()==0!!"); } } } catch (Throwable e) { if (logger.isDebugEnabled()) logger.debug( "Exception ({}: '{}') while reading events. Adding eventWrapper with empty event and stopping...", e.getClass().getName(), e.getMessage(), e); addEvent(null); IOUtilities.interruptIfNecessary(e); } finally { close(); } }
public void testXMLToObjectFromXMLStreamReaderEx() throws Exception { if (null != XML_INPUT_FACTORY && isUnmarshalTest()) { InputStream instream = ClassLoader.getSystemResourceAsStream(resourceName); XMLStreamReader xmlStreamReader = XML_INPUT_FACTORY.createXMLStreamReader(instream); ExtendedXMLStreamReaderReader xmlStreamReaderReaderEx = new ExtendedXMLStreamReaderReader(); xmlStreamReaderReaderEx.setErrorHandler( ((JAXBUnmarshaller) jaxbUnmarshaller).getXMLUnmarshaller().getErrorHandler()); XMLStreamReaderInputSource xmlStreamReaderInputSource = new XMLStreamReaderInputSource(xmlStreamReader); SAXSource saxSource = new SAXSource(xmlStreamReaderReaderEx, xmlStreamReaderInputSource); jaxbUnmarshaller.setProperty(UnmarshallerProperties.MEDIA_TYPE, getXMLUnmarshalMediaType()); Object testObject = null; if (getUnmarshalClass() != null) { testObject = jaxbUnmarshaller.unmarshal(saxSource, getUnmarshalClass()); } else { testObject = jaxbUnmarshaller.unmarshal(saxSource); } instream.close(); xmlToObjectTest(testObject); } }