You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tika.apache.org by ni...@apache.org on 2014/04/11 20:28:15 UTC
svn commit: r1586739 - in /tika/trunk/tika-server/src:
main/java/org/apache/tika/server/ test/java/org/apache/tika/server/
Author: nick
Date: Fri Apr 11 18:28:14 2014
New Revision: 1586739
URL: http://svn.apache.org/r1586739
Log:
TIKA-1270 Prep for new endpoints by having the existing ones use a common TikaConfig object
Modified:
tika/trunk/tika-server/src/main/java/org/apache/tika/server/MetadataEP.java
tika/trunk/tika-server/src/main/java/org/apache/tika/server/MetadataResource.java
tika/trunk/tika-server/src/main/java/org/apache/tika/server/TikaResource.java
tika/trunk/tika-server/src/main/java/org/apache/tika/server/TikaServerCli.java
tika/trunk/tika-server/src/main/java/org/apache/tika/server/TikaVersion.java
tika/trunk/tika-server/src/main/java/org/apache/tika/server/UnpackerResource.java
tika/trunk/tika-server/src/test/java/org/apache/tika/server/CXFTestBase.java
tika/trunk/tika-server/src/test/java/org/apache/tika/server/MetadataResourceTest.java
tika/trunk/tika-server/src/test/java/org/apache/tika/server/TikaResourceTest.java
tika/trunk/tika-server/src/test/java/org/apache/tika/server/TikaVersionTest.java
tika/trunk/tika-server/src/test/java/org/apache/tika/server/UnpackerResourceTest.java
Modified: tika/trunk/tika-server/src/main/java/org/apache/tika/server/MetadataEP.java
URL: http://svn.apache.org/viewvc/tika/trunk/tika-server/src/main/java/org/apache/tika/server/MetadataEP.java?rev=1586739&r1=1586738&r2=1586739&view=diff
==============================================================================
--- tika/trunk/tika-server/src/main/java/org/apache/tika/server/MetadataEP.java (original)
+++ tika/trunk/tika-server/src/main/java/org/apache/tika/server/MetadataEP.java Fri Apr 11 18:28:14 2014
@@ -32,6 +32,7 @@ import javax.ws.rs.core.UriInfo;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.apache.tika.config.TikaConfig;
import org.apache.tika.metadata.Metadata;
import org.apache.tika.parser.AutoDetectParser;
import org.xml.sax.helpers.DefaultHandler;
@@ -45,15 +46,18 @@ import org.xml.sax.helpers.DefaultHandle
@Path("/metadata")
public class MetadataEP {
private static final Log logger = LogFactory.getLog(MetadataEP.class);
-
- /** The parser to use */
+
+ private TikaConfig config;
private final AutoDetectParser parser;
/** The metdata for the request */
private final Metadata metadata = new Metadata();
public MetadataEP(@Context HttpHeaders httpHeaders, @Context UriInfo info) {
- parser = TikaResource.createParser();
+ // TODO How to get this better?
+ config = TikaConfig.getDefaultConfig();
+ parser = TikaResource.createParser(config);
+
TikaResource.fillMetadata(parser, metadata, httpHeaders.getRequestHeaders());
TikaResource.logRequest(logger, info, metadata);
}
Modified: tika/trunk/tika-server/src/main/java/org/apache/tika/server/MetadataResource.java
URL: http://svn.apache.org/viewvc/tika/trunk/tika-server/src/main/java/org/apache/tika/server/MetadataResource.java?rev=1586739&r1=1586738&r2=1586739&view=diff
==============================================================================
--- tika/trunk/tika-server/src/main/java/org/apache/tika/server/MetadataResource.java (original)
+++ tika/trunk/tika-server/src/main/java/org/apache/tika/server/MetadataResource.java Fri Apr 11 18:28:14 2014
@@ -38,6 +38,7 @@ import javax.ws.rs.core.UriInfo;
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.metadata.Metadata;
import org.apache.tika.parser.AutoDetectParser;
import org.xml.sax.helpers.DefaultHandler;
@@ -47,7 +48,12 @@ import au.com.bytecode.opencsv.CSVWriter
@Path("/meta")
public class MetadataResource {
private static final Log logger = LogFactory.getLog(MetadataResource.class);
-
+
+ private TikaConfig tikaConfig;
+ public MetadataResource(TikaConfig tikaConfig) {
+ this.tikaConfig = tikaConfig;
+ }
+
@PUT
@Consumes("multipart/form-data")
@Produces("text/csv")
@@ -64,7 +70,7 @@ public class MetadataResource {
private StreamingOutput produceMetadata(InputStream is, MultivaluedMap<String, String> httpHeaders, UriInfo info) throws Exception {
final Metadata metadata = new Metadata();
- AutoDetectParser parser = TikaResource.createParser();
+ AutoDetectParser parser = TikaResource.createParser(tikaConfig);
TikaResource.fillMetadata(parser, metadata, httpHeaders);
TikaResource.logRequest(logger, info, metadata);
Modified: tika/trunk/tika-server/src/main/java/org/apache/tika/server/TikaResource.java
URL: http://svn.apache.org/viewvc/tika/trunk/tika-server/src/main/java/org/apache/tika/server/TikaResource.java?rev=1586739&r1=1586738&r2=1586739&view=diff
==============================================================================
--- tika/trunk/tika-server/src/main/java/org/apache/tika/server/TikaResource.java (original)
+++ tika/trunk/tika-server/src/main/java/org/apache/tika/server/TikaResource.java Fri Apr 11 18:28:14 2014
@@ -50,6 +50,7 @@ import org.apache.commons.logging.LogFac
import org.apache.cxf.jaxrs.ext.multipart.Attachment;
import org.apache.poi.extractor.ExtractorFactory;
import org.apache.poi.hwpf.OldWordFileFormatException;
+import org.apache.tika.config.TikaConfig;
import org.apache.tika.detect.Detector;
import org.apache.tika.exception.EncryptedDocumentException;
import org.apache.tika.exception.TikaException;
@@ -70,11 +71,16 @@ import org.xml.sax.SAXException;
public class TikaResource {
public static final String GREETING = "This is Tika Server. Please PUT\n";
private final Log logger = LogFactory.getLog(TikaResource.class);
+
+ private TikaConfig tikaConfig;
+ public TikaResource(TikaConfig tikaConfig) {
+ this.tikaConfig = tikaConfig;
+ }
static {
ExtractorFactory.setAllThreadsPreferEventExtractors(true);
}
-
+
@GET
@Produces("text/plain")
public String getMessage() {
@@ -82,8 +88,8 @@ public class TikaResource {
}
@SuppressWarnings("serial")
- public static AutoDetectParser createParser() {
- final AutoDetectParser parser = new AutoDetectParser();
+ public static AutoDetectParser createParser(TikaConfig tikaConfig) {
+ final AutoDetectParser parser = new AutoDetectParser(tikaConfig);
Map<MediaType,Parser> parsers = parser.getParsers();
parsers.put(MediaType.APPLICATION_XML, new HtmlParser());
@@ -177,7 +183,7 @@ public static void fillMetadata(AutoDete
return produceText(is, httpHeaders.getRequestHeaders(), info);
}
public StreamingOutput produceText(final InputStream is, MultivaluedMap<String, String> httpHeaders, final UriInfo info) {
- final AutoDetectParser parser = createParser();
+ final AutoDetectParser parser = createParser(tikaConfig);
final Metadata metadata = new Metadata();
fillMetadata(parser, metadata, httpHeaders);
@@ -261,7 +267,7 @@ public static void fillMetadata(AutoDete
private StreamingOutput produceOutput(final InputStream is, final MultivaluedMap<String, String> httpHeaders,
final UriInfo info, final String format) {
- final AutoDetectParser parser = createParser();
+ final AutoDetectParser parser = createParser(tikaConfig);
final Metadata metadata = new Metadata();
fillMetadata(parser, metadata, httpHeaders);
Modified: tika/trunk/tika-server/src/main/java/org/apache/tika/server/TikaServerCli.java
URL: http://svn.apache.org/viewvc/tika/trunk/tika-server/src/main/java/org/apache/tika/server/TikaServerCli.java?rev=1586739&r1=1586738&r2=1586739&view=diff
==============================================================================
--- tika/trunk/tika-server/src/main/java/org/apache/tika/server/TikaServerCli.java (original)
+++ tika/trunk/tika-server/src/main/java/org/apache/tika/server/TikaServerCli.java Fri Apr 11 18:28:14 2014
@@ -32,8 +32,10 @@ import org.apache.commons.logging.LogFac
import org.apache.cxf.binding.BindingFactoryManager;
import org.apache.cxf.jaxrs.JAXRSBindingFactory;
import org.apache.cxf.jaxrs.JAXRSServerFactoryBean;
+import org.apache.cxf.jaxrs.lifecycle.ResourceProvider;
import org.apache.cxf.jaxrs.lifecycle.SingletonResourceProvider;
import org.apache.tika.Tika;
+import org.apache.tika.config.TikaConfig;
public class TikaServerCli {
private static final Log logger = LogFactory.getLog(TikaServerCli.class);
@@ -84,9 +86,11 @@ public class TikaServerCli {
port = Integer.valueOf(line.getOptionValue("port"));
}
+ // The Tika Configuration to use throughout
+ TikaConfig tika = TikaConfig.getDefaultConfig();
JAXRSServerFactoryBean sf = new JAXRSServerFactoryBean();
- sf.setResourceClasses(MetadataEP.class,MetadataResource.class, TikaResource.class, UnpackerResource.class, TikaVersion.class);
+ sf.setResourceClasses(MetadataEP.class, MetadataResource.class, TikaResource.class, UnpackerResource.class, TikaVersion.class);
List<Object> providers = new ArrayList<Object>();
providers.add(new TarWriter());
@@ -94,11 +98,15 @@ public class TikaServerCli {
providers.add(new CSVMessageBodyWriter());
providers.add(new JSONMessageBodyWriter());
providers.add(new TikaExceptionMapper());
- providers.add(new SingletonResourceProvider(new MetadataResource()));
- providers.add(new SingletonResourceProvider(new TikaResource()));
- providers.add(new SingletonResourceProvider(new UnpackerResource()));
- providers.add(new SingletonResourceProvider(new TikaVersion()));
sf.setProviders(providers);
+
+ List<ResourceProvider> rProviders = new ArrayList<ResourceProvider>();
+ rProviders.add(new SingletonResourceProvider(new MetadataResource(tika)));
+ rProviders.add(new SingletonResourceProvider(new TikaResource(tika)));
+ rProviders.add(new SingletonResourceProvider(new UnpackerResource(tika)));
+ rProviders.add(new SingletonResourceProvider(new TikaVersion(tika)));
+ sf.setResourceProviders(rProviders);
+
sf.setAddress("http://" + host + ":" + port + "/");
BindingFactoryManager manager = sf.getBus().getExtension(
BindingFactoryManager.class);
Modified: tika/trunk/tika-server/src/main/java/org/apache/tika/server/TikaVersion.java
URL: http://svn.apache.org/viewvc/tika/trunk/tika-server/src/main/java/org/apache/tika/server/TikaVersion.java?rev=1586739&r1=1586738&r2=1586739&view=diff
==============================================================================
--- tika/trunk/tika-server/src/main/java/org/apache/tika/server/TikaVersion.java (original)
+++ tika/trunk/tika-server/src/main/java/org/apache/tika/server/TikaVersion.java Fri Apr 11 18:28:14 2014
@@ -21,14 +21,18 @@ import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import org.apache.tika.Tika;
+import org.apache.tika.config.TikaConfig;
@Path("/version")
public class TikaVersion {
-
+ private Tika tika;
+ public TikaVersion(TikaConfig tika) {
+ this.tika = new Tika(tika);
+ }
+
@GET
@Produces("text/plain")
public String getVersion() {
- return new Tika().toString();
+ return tika.toString();
}
-
}
Modified: tika/trunk/tika-server/src/main/java/org/apache/tika/server/UnpackerResource.java
URL: http://svn.apache.org/viewvc/tika/trunk/tika-server/src/main/java/org/apache/tika/server/UnpackerResource.java?rev=1586739&r1=1586738&r2=1586739&view=diff
==============================================================================
--- tika/trunk/tika-server/src/main/java/org/apache/tika/server/UnpackerResource.java (original)
+++ tika/trunk/tika-server/src/main/java/org/apache/tika/server/UnpackerResource.java Fri Apr 11 18:28:14 2014
@@ -66,10 +66,9 @@ public class UnpackerResource {
public static final String TEXT_FILENAME = "__TEXT__";
private static final String META_FILENAME = "__METADATA__";
- private final TikaConfig tikaConfig;
-
- public UnpackerResource() {
- tikaConfig = TikaConfig.getDefaultConfig();
+ private TikaConfig tikaConfig;
+ public UnpackerResource(TikaConfig tikaConfig) {
+ this.tikaConfig = tikaConfig;
}
@Path("unpacker{id:(/.*)?}")
@@ -102,7 +101,7 @@ public class UnpackerResource {
) throws Exception {
Metadata metadata = new Metadata();
- AutoDetectParser parser = TikaResource.createParser();
+ AutoDetectParser parser = TikaResource.createParser(tikaConfig);
TikaResource.fillMetadata(parser, metadata, httpHeaders.getRequestHeaders());
TikaResource.logRequest(logger, info, metadata);
@@ -255,4 +254,4 @@ public class UnpackerResource {
}
}
}
-}
\ No newline at end of file
+}
Modified: tika/trunk/tika-server/src/test/java/org/apache/tika/server/CXFTestBase.java
URL: http://svn.apache.org/viewvc/tika/trunk/tika-server/src/test/java/org/apache/tika/server/CXFTestBase.java?rev=1586739&r1=1586738&r2=1586739&view=diff
==============================================================================
--- tika/trunk/tika-server/src/test/java/org/apache/tika/server/CXFTestBase.java (original)
+++ tika/trunk/tika-server/src/test/java/org/apache/tika/server/CXFTestBase.java Fri Apr 11 18:28:14 2014
@@ -32,9 +32,28 @@ import org.apache.commons.compress.archi
import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
import org.apache.commons.compress.archivers.zip.ZipFile;
import org.apache.commons.compress.utils.IOUtils;
+import org.apache.cxf.endpoint.Server;
import org.apache.cxf.io.CachedOutputStream;
+import org.apache.tika.config.TikaConfig;
+import org.junit.After;
+import org.junit.Before;
public class CXFTestBase {
+ protected static final String endPoint =
+ "http://localhost:" + TikaServerCli.DEFAULT_PORT;
+ protected Server server;
+ protected TikaConfig tika;
+
+ @Before
+ public void setUp() {
+ this.tika = TikaConfig.getDefaultConfig();
+ }
+
+ @After
+ public void tearDown() throws Exception {
+ server.stop();
+ server.destroy();
+ }
protected String getStringFromInputStream(InputStream in) throws Exception {
CachedOutputStream bos = new CachedOutputStream();
Modified: tika/trunk/tika-server/src/test/java/org/apache/tika/server/MetadataResourceTest.java
URL: http://svn.apache.org/viewvc/tika/trunk/tika-server/src/test/java/org/apache/tika/server/MetadataResourceTest.java?rev=1586739&r1=1586738&r2=1586739&view=diff
==============================================================================
--- tika/trunk/tika-server/src/test/java/org/apache/tika/server/MetadataResourceTest.java (original)
+++ tika/trunk/tika-server/src/test/java/org/apache/tika/server/MetadataResourceTest.java Fri Apr 11 18:28:14 2014
@@ -50,10 +50,11 @@ public class MetadataResourceTest extend
@Before
public void setUp() {
+ super.setUp();
JAXRSServerFactoryBean sf = new JAXRSServerFactoryBean();
sf.setResourceClasses(MetadataResource.class);
sf.setResourceProvider(MetadataResource.class,
- new SingletonResourceProvider(new MetadataResource()));
+ new SingletonResourceProvider(new MetadataResource(tika)));
sf.setAddress(endPoint + "/");
BindingFactoryManager manager = sf.getBus().getExtension(
BindingFactoryManager.class);
Modified: tika/trunk/tika-server/src/test/java/org/apache/tika/server/TikaResourceTest.java
URL: http://svn.apache.org/viewvc/tika/trunk/tika-server/src/test/java/org/apache/tika/server/TikaResourceTest.java?rev=1586739&r1=1586738&r2=1586739&view=diff
==============================================================================
--- tika/trunk/tika-server/src/test/java/org/apache/tika/server/TikaResourceTest.java (original)
+++ tika/trunk/tika-server/src/test/java/org/apache/tika/server/TikaResourceTest.java Fri Apr 11 18:28:14 2014
@@ -47,10 +47,11 @@ public class TikaResourceTest extends CX
@Before
public void setUp() {
+ super.setUp();
JAXRSServerFactoryBean sf = new JAXRSServerFactoryBean();
sf.setResourceClasses(TikaResource.class);
sf.setResourceProvider(TikaResource.class,
- new SingletonResourceProvider(new TikaResource()));
+ new SingletonResourceProvider(new TikaResource(tika)));
sf.setAddress(endPoint + "/");
BindingFactoryManager manager = sf.getBus().getExtension(
BindingFactoryManager.class);
Modified: tika/trunk/tika-server/src/test/java/org/apache/tika/server/TikaVersionTest.java
URL: http://svn.apache.org/viewvc/tika/trunk/tika-server/src/test/java/org/apache/tika/server/TikaVersionTest.java?rev=1586739&r1=1586738&r2=1586739&view=diff
==============================================================================
--- tika/trunk/tika-server/src/test/java/org/apache/tika/server/TikaVersionTest.java (original)
+++ tika/trunk/tika-server/src/test/java/org/apache/tika/server/TikaVersionTest.java Fri Apr 11 18:28:14 2014
@@ -35,19 +35,16 @@ import org.junit.Before;
import org.junit.Test;
public class TikaVersionTest extends CXFTestBase {
-
private static final String VERSION_PATH = "/version";
- private static final String endPoint = "http://localhost:"
- + TikaServerCli.DEFAULT_PORT;
- private Server server;
@Before
public void setUp() {
+ super.setUp();
JAXRSServerFactoryBean sf = new JAXRSServerFactoryBean();
sf.setResourceClasses(TikaVersion.class);
sf.setResourceProvider(
TikaVersion.class,
- new SingletonResourceProvider(new TikaVersion())
+ new SingletonResourceProvider(new TikaVersion(tika))
);
sf.setAddress(endPoint + "/");
Modified: tika/trunk/tika-server/src/test/java/org/apache/tika/server/UnpackerResourceTest.java
URL: http://svn.apache.org/viewvc/tika/trunk/tika-server/src/test/java/org/apache/tika/server/UnpackerResourceTest.java?rev=1586739&r1=1586738&r2=1586739&view=diff
==============================================================================
--- tika/trunk/tika-server/src/test/java/org/apache/tika/server/UnpackerResourceTest.java (original)
+++ tika/trunk/tika-server/src/test/java/org/apache/tika/server/UnpackerResourceTest.java Fri Apr 11 18:28:14 2014
@@ -75,6 +75,7 @@ public class UnpackerResourceTest extend
@Before
public void setUp() {
+ super.setUp();
JAXRSServerFactoryBean sf = new JAXRSServerFactoryBean();
List<Object> providers = new ArrayList<Object>();
providers.add(new TarWriter());
@@ -83,7 +84,7 @@ public class UnpackerResourceTest extend
sf.setProviders(providers);
sf.setResourceClasses(UnpackerResource.class);
sf.setResourceProvider(UnpackerResource.class,
- new SingletonResourceProvider(new UnpackerResource()));
+ new SingletonResourceProvider(new UnpackerResource(tika)));
sf.setAddress(endPoint + "/");
BindingFactoryManager manager = sf.getBus().getExtension(
BindingFactoryManager.class);