Author: mattmann
Date: Sun May 10 20:16:59 2015
New Revision: 1678623

URL: http://svn.apache.org/r1678623
Log:
- be consistent and set language in /rmeta as well per TIKA-1625

Modified:
    
tika/trunk/tika-server/src/main/java/org/apache/tika/server/resource/RecursiveMetadataResource.java

Modified: 
tika/trunk/tika-server/src/main/java/org/apache/tika/server/resource/RecursiveMetadataResource.java
URL: 
http://svn.apache.org/viewvc/tika/trunk/tika-server/src/main/java/org/apache/tika/server/resource/RecursiveMetadataResource.java?rev=1678623&r1=1678622&r2=1678623&view=diff
==============================================================================
--- 
tika/trunk/tika-server/src/main/java/org/apache/tika/server/resource/RecursiveMetadataResource.java
 (original)
+++ 
tika/trunk/tika-server/src/main/java/org/apache/tika/server/resource/RecursiveMetadataResource.java
 Sun May 10 20:16:59 2015
@@ -34,6 +34,7 @@ import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.cxf.jaxrs.ext.multipart.Attachment;
 import org.apache.tika.config.TikaConfig;
+import org.apache.tika.language.ProfilingHandler;
 import org.apache.tika.metadata.Metadata;
 import org.apache.tika.parser.AutoDetectParser;
 import org.apache.tika.parser.ParseContext;
@@ -68,20 +69,26 @@ public class RecursiveMetadataResource {
                 parseMetadata(is, httpHeaders.getRequestHeaders(), 
info)).build();
     }
 
-    private MetadataList parseMetadata(InputStream is,
-                                       MultivaluedMap<String, String> 
httpHeaders, UriInfo info) throws Exception {
-        final Metadata metadata = new Metadata();
-        final ParseContext context = new ParseContext();
-        AutoDetectParser parser = TikaResource.createParser(tikaConfig);
-        //TODO: parameterize choice of handler and max chars?
-        BasicContentHandlerFactory.HANDLER_TYPE type = 
BasicContentHandlerFactory.HANDLER_TYPE.TEXT;
-        RecursiveParserWrapper wrapper = new RecursiveParserWrapper(parser,
-                new BasicContentHandlerFactory(type, -1));
-        TikaResource.fillMetadata(parser, metadata, context, httpHeaders);
-        //no need to add parser to parse recursively
-        TikaResource.fillParseContext(context, httpHeaders, null);
-        TikaResource.logRequest(logger, info, metadata);
-        TikaResource.parse(wrapper, logger, info.getPath(), is, new 
DefaultHandler(), metadata, context);
-        return new MetadataList(wrapper.getMetadata());
-    }
+       private MetadataList parseMetadata(InputStream is,
+                       MultivaluedMap<String, String> httpHeaders, UriInfo 
info)
+                       throws Exception {
+               final Metadata metadata = new Metadata();
+               final ParseContext context = new ParseContext();
+               AutoDetectParser parser = TikaResource.createParser(tikaConfig);
+               // TODO: parameterize choice of handler and max chars?
+               BasicContentHandlerFactory.HANDLER_TYPE type = 
BasicContentHandlerFactory.HANDLER_TYPE.TEXT;
+               RecursiveParserWrapper wrapper = new 
RecursiveParserWrapper(parser,
+                               new BasicContentHandlerFactory(type, -1));
+               TikaResource.fillMetadata(parser, metadata, context, 
httpHeaders);
+               // no need to add parser to parse recursively
+               TikaResource.fillParseContext(context, httpHeaders, null);
+               TikaResource.logRequest(logger, info, metadata);
+               TikaResource.parse(wrapper, logger, info.getPath(), is,
+                               new ProfilingHandler() {
+                                       public void endDocument() {
+                                               metadata.set("language", 
getLanguage().getLanguage());
+                                       }
+                               }, metadata, context);
+               return new MetadataList(wrapper.getMetadata());
+       }
 }


Reply via email to