[ 
https://issues.apache.org/jira/browse/TIKA-1373?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tyler Palsulich updated TIKA-1373:
----------------------------------

    Description: 
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}


  was:
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:

    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())

It returns (using the SourceCodeParser): 
    > Text extracted: 

But when I use this 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())






The Text Parser is used and I get:

> Text extracted: public class HelloWorld {}


I have also tested this command: 

> java -jar tika-app-1.5.jar -t D:\text.java
  (no text)
> 



> 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)

Reply via email to