Author: mattmann
Date: Sun Mar 8 06:14:05 2015
New Revision: 1664948
URL: http://svn.apache.org/r1664948
Log:
Fix for TIKA-1567 WelcomeResource in TikaServer doesn't print PathParam prefix.
This closes #33.
Modified:
tika/trunk/CHANGES.txt
tika/trunk/tika-server/src/main/java/org/apache/tika/server/TikaWelcome.java
tika/trunk/tika-server/src/test/java/org/apache/tika/server/TikaWelcomeTest.java
Modified: tika/trunk/CHANGES.txt
URL:
http://svn.apache.org/viewvc/tika/trunk/CHANGES.txt?rev=1664948&r1=1664947&r2=1664948&view=diff
==============================================================================
--- tika/trunk/CHANGES.txt (original)
+++ tika/trunk/CHANGES.txt Sun Mar 8 06:14:05 2015
@@ -1,5 +1,7 @@
Release 1.8 - Current Development
+ * Fix Paths in Tika server welcome page (TIKA-1567).
+
* Fixed infinite recursion while parsing some PDFs (TIKA-1038).
* XHTMLContentHandler now properly passes along body attributes,
Modified:
tika/trunk/tika-server/src/main/java/org/apache/tika/server/TikaWelcome.java
URL:
http://svn.apache.org/viewvc/tika/trunk/tika-server/src/main/java/org/apache/tika/server/TikaWelcome.java?rev=1664948&r1=1664947&r2=1664948&view=diff
==============================================================================
---
tika/trunk/tika-server/src/main/java/org/apache/tika/server/TikaWelcome.java
(original)
+++
tika/trunk/tika-server/src/main/java/org/apache/tika/server/TikaWelcome.java
Sun Mar 8 06:14:05 2015
@@ -79,7 +79,7 @@ public class TikaWelcome {
Path p = endpoint.getAnnotation(Path.class);
String basePath = null;
if (p != null)
- basePath = p.value();
+ basePath = p.value().endsWith("/") ? p.value().substring(0,
p.value().length()-2):p.value();
for (Method m : endpoint.getMethods()) {
String httpMethod = null;
@@ -106,7 +106,12 @@ public class TikaWelcome {
mPath = "";
}
if (methodPath != null) {
- mPath += methodPath;
+ if(methodPath.startsWith("/")){
+ mPath += methodPath;
+ }
+ else{
+ mPath += "/"+ methodPath;
+ }
}
if (produces == null) {
produces = new String[0];
Modified:
tika/trunk/tika-server/src/test/java/org/apache/tika/server/TikaWelcomeTest.java
URL:
http://svn.apache.org/viewvc/tika/trunk/tika-server/src/test/java/org/apache/tika/server/TikaWelcomeTest.java?rev=1664948&r1=1664947&r2=1664948&view=diff
==============================================================================
---
tika/trunk/tika-server/src/test/java/org/apache/tika/server/TikaWelcomeTest.java
(original)
+++
tika/trunk/tika-server/src/test/java/org/apache/tika/server/TikaWelcomeTest.java
Sun Mar 8 06:14:05 2015
@@ -34,11 +34,16 @@ import org.junit.Test;
public class TikaWelcomeTest extends CXFTestBase {
protected static final String WELCOME_PATH = "/";
private static final String VERSION_PATH = TikaVersionTest.VERSION_PATH;
+ protected static final String PATH_RESOURCE = "/detect/stream"; //
TIKA-1567
+ protected static final String PATH_RESOURCE_2 = "/meta/form"; //TIKA-1567
@Override
protected void setUpResources(JAXRSServerFactoryBean sf) {
List<ResourceProvider> rpsCore =
- Collections.<ResourceProvider>singletonList(new
SingletonResourceProvider(new TikaVersion(tika)));
+ new ArrayList<ResourceProvider>();
+ rpsCore.add(new SingletonResourceProvider(new TikaVersion(tika)));
+ rpsCore.add(new SingletonResourceProvider(new DetectorResource(tika)));
+ rpsCore.add(new SingletonResourceProvider(new MetadataResource(tika)));
List<ResourceProvider> all = new ArrayList<ResourceProvider>(rpsCore);
all.add(new SingletonResourceProvider(new TikaWelcome(tika, rpsCore)));
sf.setResourceProviders(all);
@@ -50,13 +55,12 @@ public class TikaWelcomeTest extends CXF
@Test
public void testGetHTMLWelcome() throws Exception {
- Response response = WebClient
+ String html = WebClient
.create(endPoint + WELCOME_PATH)
.type("text/html")
.accept("text/html")
- .get();
+ .get(String.class);
- String html = getStringFromInputStream((InputStream)
response.getEntity());
assertContains(new Tika().toString(), html);
assertContains("href=\"http", html);
@@ -88,4 +92,18 @@ public class TikaWelcomeTest extends CXF
// Check that the Tika Version details come through too
assertContains("GET " + VERSION_PATH, text);
}
+
+
+ @Test
+ public void testProperPathWelcome() throws Exception{
+ Response response = WebClient
+ .create(endPoint + WELCOME_PATH)
+ .type("text/html")
+ .accept("text/html")
+ .get();
+
+ String html = getStringFromInputStream((InputStream)
response.getEntity());
+ assertContains(PATH_RESOURCE, html);
+ assertContains(PATH_RESOURCE_2, html);
+ }
}