You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tika.apache.org by ju...@apache.org on 2011/01/18 16:22:19 UTC

svn commit: r1060414 - in /tika/trunk/tika-core/src/main/java/org/apache/tika/fork: ForkClient.java ForkServer.java

Author: jukka
Date: Tue Jan 18 15:22:19 2011
New Revision: 1060414

URL: http://svn.apache.org/viewvc?rev=1060414&view=rev
Log:
TIKA-416: Out-of-process text extraction

Minor improvements

Modified:
    tika/trunk/tika-core/src/main/java/org/apache/tika/fork/ForkClient.java
    tika/trunk/tika-core/src/main/java/org/apache/tika/fork/ForkServer.java

Modified: tika/trunk/tika-core/src/main/java/org/apache/tika/fork/ForkClient.java
URL: http://svn.apache.org/viewvc/tika/trunk/tika-core/src/main/java/org/apache/tika/fork/ForkClient.java?rev=1060414&r1=1060413&r2=1060414&view=diff
==============================================================================
--- tika/trunk/tika-core/src/main/java/org/apache/tika/fork/ForkClient.java (original)
+++ tika/trunk/tika-core/src/main/java/org/apache/tika/fork/ForkClient.java Tue Jan 18 15:22:19 2011
@@ -76,7 +76,8 @@ class ForkClient {
     public synchronized void call(String method, Object... args)
             throws IOException {
         List<ForkResource> r = new ArrayList<ForkResource>(resources);
-        output.writeUTF("parse");
+        output.writeByte(ForkServer.CALL);
+        output.writeUTF(method);
         for (int i = 0; i < args.length; i++) {
             sendObject(args[i], r);
         }

Modified: tika/trunk/tika-core/src/main/java/org/apache/tika/fork/ForkServer.java
URL: http://svn.apache.org/viewvc/tika/trunk/tika-core/src/main/java/org/apache/tika/fork/ForkServer.java?rev=1060414&r1=1060413&r2=1060414&view=diff
==============================================================================
--- tika/trunk/tika-core/src/main/java/org/apache/tika/fork/ForkServer.java (original)
+++ tika/trunk/tika-core/src/main/java/org/apache/tika/fork/ForkServer.java Tue Jan 18 15:22:19 2011
@@ -106,18 +106,21 @@ class ForkServer implements Runnable, Ch
             Object object = readObject(loader);
             while (true) {
                 int request = input.read();
-                if (request == CALL) {
+                if (request == -1) {
+                    break;
+                } else if (request == CALL) {
                     Method method = getMethod(object, input.readUTF());
-                    Object[] args = new Object[method.getParameterTypes().length];
+                    Object[] args =
+                        new Object[method.getParameterTypes().length];
                     for (int i = 0; i < args.length; i++) {
                         args[i] = readObject(loader);
                     }
                     method.invoke(object, args);
-                } else if (request != PING) {
-                    
+                    output.write(DONE);
+                    output.flush();
+                } else {
+                    throw new IllegalStateException("Unexpected request");
                 }
-                output.write(DONE);
-                output.flush();
             }
         } catch (Throwable t) {
             t.printStackTrace();