THRIFT-2469 "java:fullcamel" option to automatically camel-case underscored attribute names

Client: Java
Patch: Tom Lee
diff --git a/lib/java/README.md b/lib/java/README.md
index 12b3afe..66bcfa5 100644
--- a/lib/java/README.md
+++ b/lib/java/README.md
@@ -29,7 +29,7 @@
 
 To compile the Java Thrift libraries, simply do the following:
 
-ant
+    ant
 
 Yep, that's easy. Look for libthrift.jar in the base directory.
 
@@ -39,11 +39,11 @@
 
 Build Thrift behind a proxy:
 
-ant -Dproxy.enabled=1 -Dproxy.host=myproxyhost -Dproxy.user=thriftuser -Dproxy.pass=topsecret
+    ant -Dproxy.enabled=1 -Dproxy.host=myproxyhost -Dproxy.user=thriftuser -Dproxy.pass=topsecret
 
 or via
 
-./configure --with-java ANT_FLAGS='-Dproxy.enabled=1 -Dproxy.host=myproxyhost -Dproxy.user=thriftuser -Dproxy.pass=topsecret'
+    ./configure --with-java ANT_FLAGS='-Dproxy.enabled=1 -Dproxy.host=myproxyhost -Dproxy.user=thriftuser -Dproxy.pass=topsecret'
 
 
 Dependencies
diff --git a/lib/java/build.xml b/lib/java/build.xml
index bfc619a..f8afed2 100755
--- a/lib/java/build.xml
+++ b/lib/java/build.xml
@@ -48,6 +48,7 @@
   <property name="gen" location="gen-java"/>
   <property name="genbean" location="gen-javabean"/>
   <property name="genreuse" location="gen-javareuse"/>
+  <property name="genfullcamel" location="gen-fullcamel"/>
 
   <property name="jar.file" location="${build.dir}/${final.name}.jar"/>
   <property name="test.jar.file" location="${build.dir}/${final.name}-test.jar"/>
@@ -167,6 +168,7 @@
     <delete dir="${gen}"/>
     <delete dir="${genbean}"/>
     <delete dir="${genreuse}"/>
+    <delete dir="${genfullcamel}"/>
   </target>
 
   <target name="optional-generate" unless="no-gen-thrift"> 
@@ -187,6 +189,10 @@
       <compilerarg value="-Xlint:deprecation"/>
       <!--<compilerarg value="-Xlint:unchecked"/>-->
     </javac>
+    <javac debug="true" srcdir="${genfullcamel}" destdir="${build.test.dir}" classpathref="test.classpath" includeantruntime="false" encoding="UTF-8">
+      <compilerarg value="-Xlint:deprecation"/>
+      <!--<compilerarg value="-Xlint:unchecked"/>-->
+    </javac>
     <javac debug="true" srcdir="${src.test}" destdir="${build.test.dir}" classpathref="test.classpath" includeantruntime="false" encoding="UTF-8">
       <compilerarg value="-Xlint:deprecation"/>
       <!--<compilerarg value="-Xlint:unchecked"/>-->
@@ -279,6 +285,12 @@
       <arg line="--gen java:hashcode ${test.thrift.home}/ManyOptionals.thrift"/>
     </exec>
     <exec executable="mkdir" failonerror="true">
+      <arg line="-p ${genfullcamel}"/>
+    </exec>
+    <exec executable="../../compiler/cpp/thrift" failonerror="true">
+      <arg line="--gen java:hashcode,fullcamel -out ${genfullcamel} ${test.thrift.home}/DenseLinkingTest.thrift"/>
+    </exec>
+    <exec executable="mkdir" failonerror="true">
       <arg line="-p ${genreuse}"/>
     </exec>
     <exec executable="../../compiler/cpp/thrift" failonerror="true">