Author: sergeyb Date: Tue Jan 21 10:53:50 2014 New Revision: 1559971 URL: http://svn.apache.org/r1559971 Log: [TIKA-1198] Updating JAX-RS server to accept multipart/form-data payloads at a dedicated path
Modified: 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/test/java/org/apache/tika/server/MetadataResourceTest.java tika/trunk/tika-server/src/test/java/org/apache/tika/server/TikaResourceTest.java 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=1559971&r1=1559970&r2=1559971&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 Tue Jan 21 10:53:50 2014 @@ -44,13 +44,14 @@ import org.xml.sax.helpers.DefaultHandle import au.com.bytecode.opencsv.CSVWriter; -@Path("/meta{id:(/.*)?}") +@Path("/meta") public class MetadataResource { private static final Log logger = LogFactory.getLog(MetadataResource.class); @PUT @Consumes("multipart/form-data") @Produces("text/csv") + @Path("form") public StreamingOutput getMetadataFromMultipart(Attachment att, @Context UriInfo info) throws Exception { return produceMetadata(att.getObject(InputStream.class), att.getHeaders(), info); } 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=1559971&r1=1559970&r2=1559971&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 Tue Jan 21 10:53:50 2014 @@ -66,7 +66,7 @@ import org.apache.tika.sax.ExpandedTitle import org.xml.sax.ContentHandler; import org.xml.sax.SAXException; -@Path("/tika{id:(/.*)?}") +@Path("/tika") public class TikaResource { public static final String GREETING = "This is Tika Server. Please PUT\n"; private final Log logger = LogFactory.getLog(TikaResource.class); @@ -165,6 +165,7 @@ public static void fillMetadata(AutoDete @PUT @Consumes("multipart/form-data") @Produces("text/plain") + @Path("form") public StreamingOutput getTextFromMultipart(Attachment att, @Context final UriInfo info) { return produceText(att.getObject(InputStream.class), att.getHeaders(), info); } @@ -231,6 +232,7 @@ public static void fillMetadata(AutoDete @PUT @Consumes("multipart/form-data") @Produces("text/html") + @Path("form") public StreamingOutput getHTMLFromMultipart(Attachment att, @Context final UriInfo info) { return produceOutput(att.getObject(InputStream.class), att.getHeaders(), info, "html"); } @@ -245,6 +247,7 @@ public static void fillMetadata(AutoDete @PUT @Consumes("multipart/form-data") @Produces("text/xml") + @Path("form") public StreamingOutput getXMLFromMultipart(Attachment att, @Context final UriInfo info) { return produceOutput(att.getObject(InputStream.class), att.getHeaders(), info, "xml"); } 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=1559971&r1=1559970&r2=1559971&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 Tue Jan 21 10:53:50 2014 @@ -82,8 +82,7 @@ public class MetadataResourceTest extend Reader reader = new InputStreamReader( (InputStream) response.getEntity()); - @SuppressWarnings("resource") - CSVReader csvReader = new CSVReader(reader); + CSVReader csvReader = new CSVReader(reader); Map<String, String> metadata = new HashMap<String, String>(); 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=1559971&r1=1559970&r2=1559971&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 Tue Jan 21 10:53:50 2014 @@ -89,11 +89,11 @@ public class TikaResourceTest extends CX @Test public void testApplicationWadl() throws Exception { Response response = WebClient - .create(endPoint + TIKA_PATH + "/application.wadl") + .create(endPoint + TIKA_PATH + "?_wadl") .accept("text/plain").get(); String resp = getStringFromInputStream((InputStream) response .getEntity()); - assertTrue(resp.length() > 0); + assertTrue(resp.startsWith("<application")); } @Test @@ -151,10 +151,9 @@ public class TikaResourceTest extends CX @Test public void testSimpleWordMultipartXML() throws Exception { ClassLoader.getSystemResourceAsStream(TEST_DOC); - Attachment attachmentPart = + Attachment attachmentPart = new Attachment("myworddoc", "application/msword", ClassLoader.getSystemResourceAsStream(TEST_DOC)); - WebClient webClient = WebClient.create(endPoint + TIKA_PATH); - WebClient.getConfig(webClient).getHttpConduit().getClient().setReceiveTimeout(1000000L); + WebClient webClient = WebClient.create(endPoint + TIKA_PATH + "/form"); Response response = webClient.type("multipart/form-data") .accept("text/xml") .put(attachmentPart);