Author: sergeyb
Date: Thu Dec 5 13:14:08 2013
New Revision: 1548125
URL: http://svn.apache.org/r1548125
Log:
[TIKA-1196] Adding a host option currently set to localhost by default, thanks
to Rian Stockbower for driving the discussion and patches, also doing few minor
updates to minimise a number of warnings
Modified:
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/test/java/org/apache/tika/server/MetadataEPTest.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/UnpackerResourceTest.java
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=1548125&r1=1548124&r2=1548125&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
Thu Dec 5 13:14:08 2013
@@ -17,6 +17,34 @@
package org.apache.tika.server;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.OutputStreamWriter;
+import java.io.Writer;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import javax.mail.internet.ContentDisposition;
+import javax.mail.internet.ParseException;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.GET;
+import javax.ws.rs.PUT;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+import javax.ws.rs.WebApplicationException;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.HttpHeaders;
+import javax.ws.rs.core.Response;
+import javax.ws.rs.core.StreamingOutput;
+import javax.ws.rs.core.UriInfo;
+import javax.xml.transform.OutputKeys;
+import javax.xml.transform.TransformerConfigurationException;
+import javax.xml.transform.sax.SAXTransformerFactory;
+import javax.xml.transform.sax.TransformerHandler;
+import javax.xml.transform.stream.StreamResult;
+
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.poi.extractor.ExtractorFactory;
@@ -37,21 +65,6 @@ import org.apache.tika.sax.ExpandedTitle
import org.xml.sax.ContentHandler;
import org.xml.sax.SAXException;
-import javax.mail.internet.ContentDisposition;
-import javax.mail.internet.ParseException;
-import javax.ws.rs.*;
-import javax.ws.rs.core.*;
-import javax.xml.transform.OutputKeys;
-import javax.xml.transform.TransformerConfigurationException;
-import javax.xml.transform.sax.SAXTransformerFactory;
-import javax.xml.transform.sax.TransformerHandler;
-import javax.xml.transform.stream.StreamResult;
-
-import java.io.*;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
@Path("/tika{id:(/.*)?}")
public class TikaResource {
public static final String GREETING = "This is Tika Server. Please PUT\n";
@@ -61,13 +74,13 @@ public class TikaResource {
ExtractorFactory.setAllThreadsPreferEventExtractors(true);
}
- @SuppressWarnings({"SameReturnValue"})
@GET
@Produces("text/plain")
public String getMessage() {
return GREETING;
}
+ @SuppressWarnings("serial")
public static AutoDetectParser createParser() {
final AutoDetectParser parser = new AutoDetectParser();
@@ -115,7 +128,8 @@ public class TikaResource {
return null;
}
- public static void fillMetadata(AutoDetectParser parser, Metadata metadata,
HttpHeaders httpHeaders) {
+ @SuppressWarnings("serial")
+public static void fillMetadata(AutoDetectParser parser, Metadata metadata,
HttpHeaders httpHeaders) {
String fileName = detectFilename(httpHeaders);
if (fileName != null) {
metadata.set(TikaMetadataKeys.RESOURCE_NAME_KEY, fileName);
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=1548125&r1=1548124&r2=1548125&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
Thu Dec 5 13:14:08 2013
@@ -17,28 +17,33 @@
package org.apache.tika.server;
-import org.apache.commons.cli.*;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Properties;
+
+import org.apache.commons.cli.CommandLine;
+import org.apache.commons.cli.CommandLineParser;
+import org.apache.commons.cli.GnuParser;
+import org.apache.commons.cli.HelpFormatter;
+import org.apache.commons.cli.Options;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.cxf.binding.BindingFactoryManager;
-import org.apache.cxf.endpoint.Server;
import org.apache.cxf.jaxrs.JAXRSBindingFactory;
import org.apache.cxf.jaxrs.JAXRSServerFactoryBean;
import org.apache.cxf.jaxrs.lifecycle.SingletonResourceProvider;
import org.apache.tika.Tika;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Properties;
-
public class TikaServerCli {
private static final Log logger = LogFactory.getLog(TikaServerCli.class);
public static final int DEFAULT_PORT = 9998;
+ public static final String DEFAULT_HOST = "localhost";
private static Options getOptions() {
Options options = new Options();
- options.addOption("p", "port", true, "listen port (default =
"+DEFAULT_PORT+ ')');
+ options.addOption("h", "host", true, "host name (default = " +
DEFAULT_HOST + ')');
+ options.addOption("p", "port", true, "listen port (default = " +
DEFAULT_PORT + ')');
options.addOption("h", "help", false, "this help message");
return options;
@@ -61,21 +66,29 @@ public class TikaServerCli {
CommandLineParser cliParser = new GnuParser();
CommandLine line = cliParser.parse(options, args);
+ if (line.hasOption("help")) {
+ HelpFormatter helpFormatter = new HelpFormatter();
+ helpFormatter.printHelp("tikaserver", options);
+ System.exit(-1);
+ }
+
+ String host = DEFAULT_HOST;
+
+ if (line.hasOption("host")) {
+ host = line.getOptionValue("host");
+ }
+
int port = DEFAULT_PORT;
if (line.hasOption("port")) {
port = Integer.valueOf(line.getOptionValue("port"));
}
- if (line.hasOption("help")) {
- HelpFormatter helpFormatter = new HelpFormatter();
- helpFormatter.printHelp("tikaserver", options);
- System.exit(-1);
- }
+
JAXRSServerFactoryBean sf = new JAXRSServerFactoryBean();
sf.setResourceClasses(MetadataEP.class,MetadataResource.class,
TikaResource.class, UnpackerResource.class, TikaVersion.class);
- List providers = new ArrayList();
+ List<Object> providers = new ArrayList<Object>();
providers.add(new TarWriter());
providers.add(new ZipWriter());
providers.add(new CSVMessageBodyWriter());
@@ -86,14 +99,14 @@ public class TikaServerCli {
providers.add(new SingletonResourceProvider(new UnpackerResource()));
providers.add(new SingletonResourceProvider(new TikaVersion()));
sf.setProviders(providers);
- sf.setAddress("http://localhost:" + TikaServerCli.DEFAULT_PORT + "/");
+ sf.setAddress("http://" + host + ":" + port + "/");
BindingFactoryManager manager = sf.getBus().getExtension(
BindingFactoryManager.class);
JAXRSBindingFactory factory = new JAXRSBindingFactory();
factory.setBus(sf.getBus());
manager.registerBindingFactory(JAXRSBindingFactory.JAXRS_BINDING_ID,
factory);
- Server server = sf.create();
+ sf.create();
logger.info("Started");
} catch (Exception ex) {
logger.fatal("Can't start", ex);
Modified:
tika/trunk/tika-server/src/test/java/org/apache/tika/server/MetadataEPTest.java
URL:
http://svn.apache.org/viewvc/tika/trunk/tika-server/src/test/java/org/apache/tika/server/MetadataEPTest.java?rev=1548125&r1=1548124&r2=1548125&view=diff
==============================================================================
---
tika/trunk/tika-server/src/test/java/org/apache/tika/server/MetadataEPTest.java
(original)
+++
tika/trunk/tika-server/src/test/java/org/apache/tika/server/MetadataEPTest.java
Thu Dec 5 13:14:08 2013
@@ -17,6 +17,22 @@ package org.apache.tika.server;
* limitations under the License.
*/
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.io.StringWriter;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+import javax.ws.rs.core.Response.Status;
+
import org.apache.cxf.binding.BindingFactoryManager;
import org.apache.cxf.endpoint.Server;
import org.apache.cxf.jaxrs.JAXRSBindingFactory;
@@ -27,16 +43,6 @@ import org.eclipse.jetty.util.ajax.JSON;
import org.junit.Assert;
import org.junit.Test;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
-
-import java.io.*;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
import au.com.bytecode.opencsv.CSVReader;
public class MetadataEPTest extends CXFTestBase {
@@ -69,7 +75,7 @@ public class MetadataEPTest extends CXFT
protected void setUp() throws Exception {
JAXRSServerFactoryBean sf = new JAXRSServerFactoryBean();
sf.setResourceClasses(MetadataEP.class);
- List providers = new ArrayList();
+ List<Object> providers = new ArrayList<Object>();
providers.add(new CSVMessageBodyWriter());
providers.add(new JSONMessageBodyWriter());
sf.setProviders(providers);
@@ -121,7 +127,7 @@ public class MetadataEPTest extends CXFT
Assert.assertEquals(Status.OK.getStatusCode(), response.getStatus());
Reader reader = new InputStreamReader((InputStream) response.getEntity());
- Map metadata = (Map) JSON.parse(reader);
+ Map<?, ?> metadata = (Map<?, ?>) JSON.parse(reader);
assertNotNull(metadata.get("Author"));
assertEquals("Maxim Valyanskiy", metadata.get("Author"));
@@ -145,7 +151,7 @@ public class MetadataEPTest extends CXFT
Assert.assertEquals(Status.OK.getStatusCode(), response.getStatus());
Reader reader = new InputStreamReader((InputStream) response.getEntity());
- Map metadata = (Map) JSON.parse(reader);
+ Map<?, ?> metadata = (Map<?, ?>) JSON.parse(reader);
assertNotNull(metadata.get("Author"));
assertEquals("Maxim Valyanskiy", metadata.get("Author"));
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=1548125&r1=1548124&r2=1548125&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
Thu Dec 5 13:14:08 2013
@@ -20,6 +20,7 @@ package org.apache.tika.server;
import java.io.InputStream;
import javax.ws.rs.core.Response;
+
import org.apache.cxf.binding.BindingFactoryManager;
import org.apache.cxf.endpoint.Server;
import org.apache.cxf.jaxrs.JAXRSBindingFactory;
@@ -35,8 +36,7 @@ public class TikaResourceTest extends CX
private static final int UNPROCESSEABLE = 422;
private static final String endPoint = "http://localhost:"
+ TikaServerCli.DEFAULT_PORT;
- private static final String WADL_MEDIA_TYPE =
"application/vnd.sun.wadl+xml";
-
+
private Server server;
/*
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=1548125&r1=1548124&r2=1548125&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
Thu Dec 5 13:14:08 2013
@@ -75,7 +75,7 @@ public class UnpackerResourceTest extend
@Override
protected void setUp() throws Exception {
JAXRSServerFactoryBean sf = new JAXRSServerFactoryBean();
- List providers = new ArrayList();
+ List<Object> providers = new ArrayList<Object>();
providers.add(new TarWriter());
providers.add(new ZipWriter());
providers.add(new TikaExceptionMapper());