[ https://issues.apache.org/jira/browse/TIKA-1373?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14071744#comment-14071744 ]
Nick Burch commented on TIKA-1373: ---------------------------------- {quote}Yes, I saw the trouble when implementing this parser. How can we get that we are asking for text instead of HTML?{quote} It isn't up to the parser. The parser should be outputting its html as sax events to the handler. Text-only extraction happens downstream It would seem that at the moment, the parser's generated html isn't being correctly turned into / passed into sax events on the content handler > AutoDetectParser extracts no text when SourceCodeParser is selected > ------------------------------------------------------------------- > > Key: TIKA-1373 > URL: https://issues.apache.org/jira/browse/TIKA-1373 > Project: Tika > Issue Type: Bug > Affects Versions: 1.5 > Reporter: Andrés Aguilar-Umaña > > When using the AutoDetectParser in java code, and the SourceCodeParser is > selected (i.e. java files), the handler gets no text: > I have this test program: > {code} > String data = "public class HelloWorld {}"; > ByteArrayInputStream bais = new ByteArrayInputStream(data.getBytes()); > Parser autoDetectParser = new AutoDetectParser(); > autoDetectParser = new SourceCodeParser(); > BodyContentHandler bch = new BodyContentHandler(50); > ParseContext parseContext = new ParseContext(); > Metadata metadata = new Metadata(); > metadata.set(Metadata.CONTENT_TYPE, "text/x-java-source"); > try { > autoDetectParser.parse(bais, bch, metadata, parseContext); > } catch (Exception e) { > e.printStackTrace(); > } > System.out.println("Text extracted: "+bch.toString()) > {code} > It returns (using the SourceCodeParser): > {code} > Text extracted: {code} > But when I use this code: > {code} > String data = "public class HelloWorld {}"; > ByteArrayInputStream bais = new ByteArrayInputStream(data.getBytes()); > Parser autoDetectParser = new AutoDetectParser(); > autoDetectParser = new SourceCodeParser(); > BodyContentHandler bch = new BodyContentHandler(50); > ParseContext parseContext = new ParseContext(); > Metadata metadata = new Metadata(); > metadata.set(Metadata.CONTENT_TYPE, "text/plain"); > try { autoDetectParser.parse(bais, bch, metadata, parseContext); } > catch (Exception e) { e.printStackTrace(); } > System.out.println("Text extracted: "+bch.toString()) > {code} > The Text Parser is used and I get: > {code} > Text extracted: public class HelloWorld {} {code} > I have also tested this command: > {code} > > java -jar tika-app-1.5.jar -t D:\text.java > (no text) > {code} -- This message was sent by Atlassian JIRA (v6.2#6252)