ParsingExample { public List<Metadata> recursiveParserWrapperExample() throws IOException, SAXException, TikaException { Parser p = new AutoDetectParser(); ContentHandlerFactory factory = new BasicContentHandlerFactory( BasicContentHandlerFactory.HANDLER_TYPE.HTML, -1); RecursiveParserWrapper wrapper = new RecursiveParserWrapper(p); Metadata metadata = new Metadata(); metadata.set(TikaCoreProperties.RESOURCE_NAME_KEY, "test_recursive_embedded.docx"); ParseContext context = new ParseContext(); RecursiveParserWrapperHandler handler = new RecursiveParserWrapperHandler(factory, -1); try (InputStream stream = ParsingExample.class.getResourceAsStream("test_recursive_embedded.docx")) { wrapper.parse(stream, handler, metadata, context); } return handler.getMetadataList(); }  String parseToStringExample(); String parseExample(); String parseNoEmbeddedExample(); String parseEmbeddedExample(); List<Metadata> recursiveParserWrapperExample(); String serializedRecursiveParserWrapperExample(); List<Path> extractEmbeddedDocumentsExample(Path outputPath);  }
@Test public void testRecursiveParserWrapperExample() throws IOException, SAXException, TikaException { List<Metadata> metadataList = parsingExample.recursiveParserWrapperExample(); assertEquals("Number of embedded documents + 1 for the container document", 12, metadataList.size()); Metadata m = metadataList.get(6); assertEquals("/embed1.zip/embed2.zip/embed3.zip/embed3.txt", m.get("X-TIKA:embedded_resource_path")); assertContains("When in the Course", m.get("X-TIKA:content")); }