This is an automated email from the ASF dual-hosted git repository.

jamesbognar pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/juneau.git


The following commit(s) were added to refs/heads/master by this push:
     new 3d77770  Javadocs
3d77770 is described below

commit 3d777700bbeba4a1bc31794f74719727e8b9e95b
Author: JamesBognar <[email protected]>
AuthorDate: Fri May 15 09:33:26 2020 -0400

    Javadocs
---
 .../main/ConfigurablePropertyCodeGenerator.java    | 55 +++++++++++++++-------
 .../juneau/rest/client2/RestClientBuilder.java     | 37 +++++++++------
 2 files changed, 60 insertions(+), 32 deletions(-)

diff --git 
a/juneau-releng/juneau-all/src/java/main/ConfigurablePropertyCodeGenerator.java 
b/juneau-releng/juneau-all/src/java/main/ConfigurablePropertyCodeGenerator.java
index 24ae0ab..c6b85a7 100644
--- 
a/juneau-releng/juneau-all/src/java/main/ConfigurablePropertyCodeGenerator.java
+++ 
b/juneau-releng/juneau-all/src/java/main/ConfigurablePropertyCodeGenerator.java
@@ -182,6 +182,21 @@ public class ConfigurablePropertyCodeGenerator {
                        System.err.println("Processing " + f.getName());
                        String s = IOUtils.read(f);
 
+                       int i1 = s.indexOf("<CONFIGURATION-PROPERTIES>"), i2 = 
s.indexOf("</CONFIGURATION-PROPERTIES>");
+                       String cpSection = null;
+                       if (i1 != -1 && i2 != -1) {
+                               cpSection = s.substring(i1+26, i2);
+                       } else {
+                               System.err.println("...skipped " + f.getName());
+                               continue;
+                       }
+
+                       Map<String,String> docs = 
Stream.of(cpSection.split("[\n]{2,}"))
+                               .map(x -> x.trim())
+                               .filter(x -> x.startsWith("/*"))
+                               .map(x -> x.split("(?s)\\*\\/.*public"))
+                               .collect(Collectors.toMap(x -> 
("\n\tpublic"+x[1].substring(0, x[1].indexOf("\n"))), x -> ("\t"+x[0]+"*/\n")));
+
                        StringBuilder sb = new StringBuilder();
                        for (ClassInfo pc : 
ClassInfo.of(c).getParentsParentFirst()) {
                                Class<?> pcc = pc.inner();
@@ -190,8 +205,26 @@ public class ConfigurablePropertyCodeGenerator {
                                        if (ms != null) {
                                                for (Method m : ms) {
 
+                                                       StringBuilder sigLine = 
new StringBuilder();
+                                                       
sigLine.append("\n\tpublic ");
+                                                       if 
(m.getTypeParameters().length > 0)
+                                                               
sigLine.append("<").append(Arrays.asList(m.getTypeParameters()).stream().map(x 
-> x.getName()).collect(Collectors.joining(", "))).append("> ");
+                                                       
sigLine.append(c.getSimpleName()).append(" 
").append(m.getName()).append("(").append(getArgs(m)).append(") ");
+                                                       if ( 
m.getExceptionTypes().length > 0)
+                                                               
sigLine.append("throws 
").append(Arrays.asList(m.getExceptionTypes()).stream().map(x -> 
x.getSimpleName()).collect(Collectors.joining(", ")));
+                                                       sigLine.append("{");
+                                                       String sigLine2 = 
sigLine.toString();
+
+                                                       sb.append("\n\n");
+
+                                                       // Overridden javadocs
+                                                       String javadoc = 
docs.get(sigLine2);
+                                                       if (javadoc != null) {
+                                                               
sb.append(javadoc);
+                                                       }
+
                                                        // Line 1
-                                                       sb.append("\n\n\t")
+                                                       sb.append("\t")
                                                                
.append(m.getAnnotation(Deprecated.class) == null ? "" : "@Deprecated ")
                                                                
.append("@Override /* GENERATED - ").append(pcc.getSimpleName()).append(" */")
                                                        ;
@@ -206,18 +239,13 @@ public class ConfigurablePropertyCodeGenerator {
                                                        }
 
                                                        // Line 2
-                                                       sb.append("\n\tpublic 
");
-                                                       if 
(m.getTypeParameters().length > 0)
-                                                               
sb.append("<").append(Arrays.asList(m.getTypeParameters()).stream().map(x -> 
x.getName()).collect(Collectors.joining(", "))).append("> ");
-                                                       
sb.append(c.getSimpleName()).append(" 
").append(m.getName()).append("(").append(getArgs(m)).append(") ");
-                                                       if ( 
m.getExceptionTypes().length > 0)
-                                                               
sb.append("throws ").append(Arrays.asList(m.getExceptionTypes()).stream().map(x 
-> x.getSimpleName()).collect(Collectors.joining(", ")));
-                                                       sb.append("{");
+                                                       sb.append(sigLine2);
 
                                                        // Body
                                                        
sb.append("\n\t\tsuper.").append(m.getName()).append("(").append(getArgVals(m)).append(");");
                                                        sb.append("\n\t\treturn 
this;");
                                                        sb.append("\n\t}");
+
                                                }
                                        } else if (pc.isAny(Throwable.class, 
RuntimeException.class, Exception.class)) {
                                                // Ignore
@@ -227,15 +255,8 @@ public class ConfigurablePropertyCodeGenerator {
                                }
                        }
 
-                       int i1 = s.indexOf("<CONFIGURATION-PROPERTIES>"), i2 = 
s.indexOf("</CONFIGURATION-PROPERTIES>");
-                       if (i1 != -1 && i2 != -1) {
-                               s = s.substring(0, i1+26) + sb.toString() + 
"\n\n\t// " + s.substring(i2);
-                               //System.err.println(s);
-                               //throw new RuntimeException();
-                               IOUtils.write(f, new StringReader(s));
-                       } else {
-                               System.err.println("...skipped " + f.getName());
-                       }
+                       s = s.substring(0, i1+26) + sb.toString() + "\n\n\t// " 
+ s.substring(i2);
+                       IOUtils.write(f, new StringReader(s));
                }
 
                System.err.println("DONE");
diff --git 
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestClientBuilder.java
 
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestClientBuilder.java
index e8361dd..a5a0352 100644
--- 
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestClientBuilder.java
+++ 
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestClientBuilder.java
@@ -2995,6 +2995,11 @@ public class RestClientBuilder extends 
BeanContextBuilder {
         * <br>In general, unchecked recursions cause stack-overflow-errors.
         * <br>These show up as {@link BeanRecursionException 
BeanRecursionException} with the message <js>"Depth too deep.  Stack overflow 
occurred."</js>.
         *
+        * <ul class='notes'>
+        *      <li>
+        *              Checking for recursion can cause a small performance 
penalty.
+        * </ul>
+        *
         * <h5 class='section'>Example:</h5>
         * <p class='bcode w800'>
         *      <jc>// Create a JSON client that automatically checks for 
recursions.</jc>
@@ -3021,11 +3026,6 @@ public class RestClientBuilder extends 
BeanContextBuilder {
         *      }
         * </p>
         *
-        * <ul class='notes'>
-        *      <li>
-        *              Checking for recursion can cause a small performance 
penalty.
-        * </ul>
-        *
         * <ul class='seealso'>
         *      <li class='jf'>{@link 
BeanTraverseContext#BEANTRAVERSE_detectRecursions}
         * </ul>
@@ -3074,7 +3074,7 @@ public class RestClientBuilder extends BeanContextBuilder 
{
         *
         *      <jc>// Produces request body "{f:null}"</jc>
         *      client
-        *              .doPost(<js>"http://localhost:10000/foo";</js>, m)
+        *              .doPost(<js>"http://localhost:10000/foo";</js>, a)
         *              .complete();
         * </p>
         *
@@ -3108,6 +3108,11 @@ public class RestClientBuilder extends 
BeanContextBuilder {
         *              .initialDepth(2)
         *              .build();
         *
+        *      <jc>// Our bean to serialize.</jc>
+        *      <jk>public class</jk> MyBean {
+        *              <jk>public</jk> String <jf>foo</jf> = <jk>null</jk>;
+        *      }
+        *
         *      <jc>// Produces request body 
"\t\t{\n\t\t\t'foo':'bar'\n\t\t}\n"</jc>
         *      client
         *              .doPost(<js>"http://localhost:10000/foo";</js>, 
<jk>new</jk> MyBean())
@@ -3196,14 +3201,14 @@ public class RestClientBuilder extends 
BeanContextBuilder {
         *              .addBeanTypes()
         *              .build();
         *
-        *      <jc>// A map of objects we want to serialize.</jc>
+        *      <jc>// Our map of beans to serialize.</jc>
         *      <ja>@Bean</ja>(typeName=<js>"mybean"</js>)
-        *      <jk>public class</jk> MyBean {...}
-        *
-        *      Map&lt;String,Object&gt; m = new HashMap&lt;&gt;();
-        *      m.put(<js>"foo"</js>, <jk>new</jk> MyBean());
+        *      <jk>public class</jk> MyBean {
+        *              <jk>public</jk> String <jf>foo</jf> = <js>"bar"</js>;
+        *      }
+        *      OMap map = OMap.of(<js>"foo"</js>, <jk>new</jk> MyBean());
         *
-        *      <jc>// Request body will contain '_type' attribute.</jc>
+        *      <jc>// Request body will contain 
{"foo":{"_type":"mybean","foo":"bar"}}.</jc>
         *      client
         *              .doPost(<js>"http://localhost:10000/foo";</js>, m)
         *              .complete();
@@ -3250,11 +3255,13 @@ public class RestClientBuilder extends 
BeanContextBuilder {
         *              .addRootType()
         *              .build();
         *
-        *      <jc>// The bean we want to serialize.</jc>
+        *      <jc>// Our bean to serialize.</jc>
         *      <ja>@Bean</ja>(typeName=<js>"mybean"</js>)
-        *      <jk>public class</jk> MyBean {...}
+        *      <jk>public class</jk> MyBean {
+        *              <jk>public</jk> String <jf>foo</jf> = <js>"bar"</js>;
+        *      }
         *
-        *      <jc>// Request body will contain '_type' attribute.</jc>
+        *      <jc>// Request body will contain 
{"_type":"mybean","foo":"bar"}.</jc>
         *      client
         *              .doPost(<js>"http://localhost:10000/foo";</js>, m)
         *              .complete();

Reply via email to