Thrift-1465:Visibility of methods in generated java code
Client: java
Patch: Ashutosh Chauhan

Changes visibility of processor getProcessMap() and getEmptyArgs() methods


git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1236515 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/compiler/cpp/src/generate/t_java_generator.cc b/compiler/cpp/src/generate/t_java_generator.cc
index e8d321b..b76338a 100644
--- a/compiler/cpp/src/generate/t_java_generator.cc
+++ b/compiler/cpp/src/generate/t_java_generator.cc
@@ -2662,18 +2662,18 @@
   (void) tservice;
   // Open class
   indent(f_service_) <<
-    "private static class " << tfunction->get_name() << "<I extends Iface> extends org.apache.thrift.ProcessFunction<I, " << argsname << "> {" << endl;
+    "public static class " << tfunction->get_name() << "<I extends Iface> extends org.apache.thrift.ProcessFunction<I, " << argsname << "> {" << endl;
   indent_up();
 
   indent(f_service_) << "public " << tfunction->get_name() << "() {" << endl;
   indent(f_service_) << "  super(\"" << tfunction->get_name() << "\");" << endl;
   indent(f_service_) << "}" << endl << endl;
 
-  indent(f_service_) << "protected " << argsname << " getEmptyArgsInstance() {" << endl;
+  indent(f_service_) << "public " << argsname << " getEmptyArgsInstance() {" << endl;
   indent(f_service_) << "  return new " << argsname << "();" << endl;
   indent(f_service_) << "}" << endl << endl;
 
-  indent(f_service_) << "protected " << resultname << " getResult(I iface, " << argsname << " args) throws org.apache.thrift.TException {" << endl;
+  indent(f_service_) << "public " << resultname << " getResult(I iface, " << argsname << " args) throws org.apache.thrift.TException {" << endl;
   indent_up();
   if (!tfunction->is_oneway()) {
     indent(f_service_) << resultname << " result = new " << resultname << "();" << endl;
diff --git a/lib/java/src/org/apache/thrift/ProcessFunction.java b/lib/java/src/org/apache/thrift/ProcessFunction.java
index e0cdc7b..88d57a5 100644
--- a/lib/java/src/org/apache/thrift/ProcessFunction.java
+++ b/lib/java/src/org/apache/thrift/ProcessFunction.java
@@ -36,11 +36,11 @@
     oprot.getTransport().flush();
   }
 
-  protected abstract TBase getResult(I iface, T args) throws TException;
+  public abstract TBase getResult(I iface, T args) throws TException;
 
-  protected abstract T getEmptyArgsInstance();
+  public abstract T getEmptyArgsInstance();
 
   public String getMethodName() {
     return methodName;
   }
-}
\ No newline at end of file
+}
diff --git a/lib/java/src/org/apache/thrift/TBaseProcessor.java b/lib/java/src/org/apache/thrift/TBaseProcessor.java
index f93b133..f9a9a9e 100644
--- a/lib/java/src/org/apache/thrift/TBaseProcessor.java
+++ b/lib/java/src/org/apache/thrift/TBaseProcessor.java
@@ -1,5 +1,6 @@
 package org.apache.thrift;
 
+import java.util.Collections;
 import java.util.Map;
 
 import org.apache.thrift.protocol.TMessage;
@@ -17,6 +18,10 @@
     this.processMap = processFunctionMap;
   }
 
+  public Map<String,ProcessFunction<I, ? extends TBase>> getProcessMapView() {
+    return Collections.unmodifiableMap(processMap);
+  }
+
   @Override
   public boolean process(TProtocol in, TProtocol out) throws TException {
     TMessage msg = in.readMessageBegin();