THRIFT-969 Java Tutorial broken, move CalculatorHandler to a separate file


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1028079 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/tutorial/java/src/CalculatorHandler.java b/tutorial/java/src/CalculatorHandler.java
new file mode 100644
index 0000000..4216be5
--- /dev/null
+++ b/tutorial/java/src/CalculatorHandler.java
@@ -0,0 +1,92 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.thrift.TException;
+
+// Generated code
+import tutorial.*;
+import shared.*;
+
+import java.util.HashMap;
+
+public class CalculatorHandler implements Calculator.Iface {
+
+  private HashMap<Integer,SharedStruct> log;
+
+  public CalculatorHandler() {
+    log = new HashMap<Integer, SharedStruct>();
+  }
+
+  public void ping() {
+    System.out.println("ping()");
+  }
+
+  public int add(int n1, int n2) {
+    System.out.println("add(" + n1 + "," + n2 + ")");
+    return n1 + n2;
+  }
+
+  public int calculate(int logid, Work work) throws InvalidOperation {
+    System.out.println("calculate(" + logid + ", {" + work.op + "," + work.num1 + "," + work.num2 + "})");
+    int val = 0;
+    switch (work.op) {
+    case ADD:
+      val = work.num1 + work.num2;
+      break;
+    case SUBTRACT:
+      val = work.num1 - work.num2;
+      break;
+    case MULTIPLY:
+      val = work.num1 * work.num2;
+      break;
+    case DIVIDE:
+      if (work.num2 == 0) {
+        InvalidOperation io = new InvalidOperation();
+        io.what = work.op.getValue();
+        io.why = "Cannot divide by 0";
+        throw io;
+      }
+      val = work.num1 / work.num2;
+      break;
+    default:
+      InvalidOperation io = new InvalidOperation();
+      io.what = work.op.getValue();
+      io.why = "Unknown operation";
+      throw io;
+    }
+
+    SharedStruct entry = new SharedStruct();
+    entry.key = logid;
+    entry.value = Integer.toString(val);
+    log.put(logid, entry);
+
+    return val;
+  }
+
+  public SharedStruct getStruct(int key) {
+    System.out.println("getStruct(" + key + ")");
+    return log.get(key);
+  }
+
+  public void zip() {
+    System.out.println("zip()");
+  }
+
+}
+
diff --git a/tutorial/java/src/JavaServer.java b/tutorial/java/src/JavaServer.java
index 29c4d58..788473a 100644
--- a/tutorial/java/src/JavaServer.java
+++ b/tutorial/java/src/JavaServer.java
@@ -18,7 +18,9 @@
  */
 
 import org.apache.thrift.server.TServer;
+import org.apache.thrift.server.TServer.Args;
 import org.apache.thrift.server.TSimpleServer;
+import org.apache.thrift.server.TThreadPoolServer;
 import org.apache.thrift.transport.TSSLTransportFactory;
 import org.apache.thrift.transport.TServerSocket;
 import org.apache.thrift.transport.TServerTransport;
@@ -32,76 +34,13 @@
 
 public class JavaServer {
 
-  public static class CalculatorHandler implements Calculator.Iface {
-
-    private HashMap<Integer,SharedStruct> log;
-
-    public CalculatorHandler() {
-      log = new HashMap<Integer, SharedStruct>();
-    }
-
-    public void ping() {
-      System.out.println("ping()");
-    }
-
-    public int add(int n1, int n2) {
-      System.out.println("add(" + n1 + "," + n2 + ")");
-      return n1 + n2;
-    }
-
-    public int calculate(int logid, Work work) throws InvalidOperation {
-      System.out.println("calculate(" + logid + ", {" + work.op + "," + work.num1 + "," + work.num2 + "})");
-      int val = 0;
-      switch (work.op) {
-        case ADD:
-          val = work.num1 + work.num2;
-          break;
-        case SUBTRACT:
-          val = work.num1 - work.num2;
-          break;
-        case MULTIPLY:
-          val = work.num1 * work.num2;
-          break;
-        case DIVIDE:
-          if (work.num2 == 0) {
-            InvalidOperation io = new InvalidOperation();
-            io.what = work.op.getValue();
-            io.why = "Cannot divide by 0";
-            throw io;
-          }
-          val = work.num1 / work.num2;
-          break;
-        default:
-          InvalidOperation io = new InvalidOperation();
-          io.what = work.op.getValue();
-          io.why = "Unknown operation";
-          throw io;
-      }
-
-      SharedStruct entry = new SharedStruct();
-      entry.key = logid;
-      entry.value = Integer.toString(val);
-      log.put(logid, entry);
-
-      return val;
-    }
-
-    public SharedStruct getStruct(int key) {
-      System.out.println("getStruct(" + key + ")");
-      return log.get(key);
-    }
-
-    public void zip() {
-      System.out.println("zip()");
-    }
-
-  }
+  public static CalculatorHandler handler;
 
   public static Calculator.Processor processor;
 
   public static void main(String [] args) {
     try {
-      CalculatorHandler handler = new CalculatorHandler();
+      handler = new CalculatorHandler();
       processor = new Calculator.Processor(handler);
 
       Runnable simple = new Runnable() {
@@ -125,10 +64,10 @@
   public static void simple(Calculator.Processor processor) {
     try {
       TServerTransport serverTransport = new TServerSocket(9090);
-      TServer server = new TSimpleServer(processor, serverTransport);
+      TServer server = new TSimpleServer(new Args(serverTransport).processor(processor));
 
       // Use this for a multithreaded server
-      // server = new TThreadPoolServer(processor, serverTransport);
+      // TServer server = new TThreadPoolServer(new TThreadPoolServer.Args(serverTransport).processor(processor));
 
       System.out.println("Starting the simple server...");
       server.serve();
@@ -157,10 +96,10 @@
        * from the factory class. 
        */
       TServerTransport serverTransport = TSSLTransportFactory.getServerSocket(9091, 0, null, params);
-      TServer server = new TSimpleServer(processor, serverTransport);
+      TServer server = new TSimpleServer(new Args(serverTransport).processor(processor));
 
       // Use this for a multi threaded server
-      // server = new TThreadPoolServer(processor, serverTransport);
+      // TServer server = new TThreadPoolServer(new TThreadPoolServer.Args(serverTransport).processor(processor));
 
       System.out.println("Starting the secure server...");
       server.serve();