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);
+    }
 }


Reply via email to