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

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


The following commit(s) were added to refs/heads/asf-site by this push:
     new 61e10dbd2 Update about page.
61e10dbd2 is described below

commit 61e10dbd2a3fa1706987c8b84db0766b34620e23
Author: JamesBognar <[email protected]>
AuthorDate: Sat Jul 2 08:45:34 2022 -0400

    Update about page.
---
 content/about.html   | 83 ++++++++++++++++++++++++++++++++++++++++++++--------
 templates/about.html | 83 ++++++++++++++++++++++++++++++++++++++++++++--------
 2 files changed, 140 insertions(+), 26 deletions(-)

diff --git a/content/about.html b/content/about.html
index baa8ebec3..aaac328fe 100644
--- a/content/about.html
+++ b/content/about.html
@@ -42,39 +42,39 @@
                                </td>
                        </tr>
                        <tr class='dark bb'>
-                               <td class='code'><a class='doclink' 
href='http://juneau.apache.org/site/apidocs-9.0.0/overview-summary.html##juneau-marshall-rdf'>juneau-marshall-rdf</a></td>
+                               <td class='code'><a class='doclink' 
href='http://juneau.apache.org/site/apidocs-9.0.0/overview-summary.html#juneau-marshall-rdf'>juneau-marshall-rdf</a></td>
                                <td style='padding:10px;'>
                                        Extended marshalling support for 
RDF/XML, N3, N-Tuple, and Turtle.
                                </td>
                        </tr>
                        <tr class='dark bb'>
-                               <td class='code'><a class='doclink' 
href='http://juneau.apache.org/site/apidocs-9.0.0/overview-summary.html##juneau-dto'>juneau-dto</a></td>
+                               <td class='code'><a class='doclink' 
href='http://juneau.apache.org/site/apidocs-9.0.0/overview-summary.html#juneau-dto'>juneau-dto</a></td>
                                <td style='padding:10px;'>
                                        A variety of predefined DTOs for 
serializing and parsing languages such as HTML5, Swagger and ATOM.
                                </td>
                        </tr>
                        <tr class='dark bb'>
-                               <td class='code'><a class='doclink' 
href='http://juneau.apache.org/site/apidocs-9.0.0/overview-summary.html##juneau-config'>juneau-config</a></td>
+                               <td class='code'><a class='doclink' 
href='http://juneau.apache.org/site/apidocs-9.0.0/overview-summary.html#juneau-config'>juneau-config</a></td>
                                <td style='padding:10px;'>
                                        A sophisticated configuration file API.
                                </td>
                        </tr>
                        <tr class='light bb'>
                                <td rowspan="3" 
style='text-align:center;font-weight:bold;padding:20px;' 
class='code'>juneau-rest</td>
-                               <td class='code'><a class='doclink' 
href='http://juneau.apache.org/site/apidocs-9.0.0/overview-summary.html##juneau-rest-server'>juneau-rest-server</a></td>
+                               <td class='code'><a class='doclink' 
href='http://juneau.apache.org/site/apidocs-9.0.0/overview-summary.html#juneau-rest-server'>juneau-rest-server</a></td>
                                <td style='padding:10px;'>
                                        A universal REST server API for 
creating Swagger-based self-documenting REST interfaces using POJOs, simply 
deployed as 
                                        one or more top-level servlets in any 
Servlet 3.1.0+ container.
                                </td>
                        </tr>
                        <tr class='light bb'>
-                               <td class='code'><a class='doclink' 
href='http://juneau.apache.org/site/apidocs-9.0.0/overview-summary.html##juneau-rest-server-springboot'>juneau-rest-server-springboot</a></td>
+                               <td class='code'><a class='doclink' 
href='http://juneau.apache.org/site/apidocs-9.0.0/overview-summary.html#juneau-rest-server-springboot'>juneau-rest-server-springboot</a></td>
                                <td style='padding:10px;'>
                                        Spring Boot integration.
                                </td>
                        </tr>
                        <tr class='light bb'>
-                               <td class='code'><a class='doclink' 
href='http://juneau.apache.org/site/apidocs-9.0.0/overview-summary.html##juneau-rest-client'>juneau-rest-client</a></td>
+                               <td class='code'><a class='doclink' 
href='http://juneau.apache.org/site/apidocs-9.0.0/overview-summary.html#juneau-rest-client'>juneau-rest-client</a></td>
                                <td style='padding:10px;'>
                                        A universal REST client API for 
interacting with Juneau or 3rd-party REST interfaces using POJOs and proxy 
interfaces.
                                </td>
@@ -96,6 +96,69 @@
        
        <h5 class='toc'>Features</h5>
        <div class='topic'>
+               <p>
+                       The <a class='doclink' 
href='http://juneau.apache.org/site/apidocs-9.0.0/overview-summary.html#juneau-marshall'>juneau-marshall</a>
 module
+                       provides memory-efficient POJO serializing and parsing 
for 12 languages:
+               </p>
+               <p class='bjava'>
+                       |       <jc>// A simple bean</jc>
+                       |       <jk>public class</jk> Person {
+                       |               <jk>public</jk> String <jf>name</jf> = 
<js>"John Smith"</js>;
+                       |               <jk>public int</jk> <jf>age</jf> = 21;
+                       |       }
+                       |       
+                       |       <jc>// Produces:
+                       |       // "{"name":"John Smith","age":21}"</jc>
+                       |       String <jv>json</jv> = 
Json.<jsm>of</jsm>(<jk>new</jk> Person());
+                       |
+                       |       <jc>// Parse back into a bean.</jc>
+                       |       Person <jv>person</jv> = 
Json.<jsm>from</jsm>(<jv>json</jv>, Person.<jk>class</jk>);
+               </p>
+               <p>
+                       The <a class='doclink' 
href='http://juneau.apache.org/site/apidocs-9.0.0/overview-summary.html#juneau-rest-server'>juneau-rest-server</a>
 
+                       and <a class='doclink' 
href='http://juneau.apache.org/site/apidocs-9.0.0/overview-summary.html#juneau-rest-client'>juneau-rest-client</a>
 libraries
+                       provide server and client side REST capabilities that 
can be used by themselves, or together to create
+                       simplified yet sophisticated Java-based REST 
communications layers that completely hide away the complexities
+                       of the REST protocol.
+               </p>
+               <p class='bjava'>
+                       |       <jc>// Server-side endpoint</jc>        
+                       |       <ja>@Rest</ja>(path=<js>"/petstore"</js>)
+                       |       <jk>public class</jk> PetStore {
+                       |               
+                       |               
<ja>@RestPost</ja>(path=<js>"/pets"</js>, guards=AdminGuard.<jk>class</jk>)
+                       |               <jk>public</jk> Ok addPet(
+                       |                       <ja>@Content</ja> CreatePet 
<jv>createPetBean</jv>, 
+                       |                       
<ja>@Header</ja>(<js>"E-Tag"</js>) UUID <jv>etag</jv>, 
+                       |                       
<ja>@Query</ja>(<js>"debug"</js>) <jk>boolean</jk> <jv>debug</jv>
+                       |               ) <jk>throws</jk> BadRequest, 
Unauthorized, InternalServerError {
+                       |                       <jc>// Process request.</jc>
+                       |                       <jk>return</jk> 
Ok.<jsf>OK</jsf>;  <jc>// Standard 400-OK response.</jc>
+                       |               }
+                       |       }
+                       |
+                       |       <jc>// Client-side Java interface that 
describes the REST endpoint</jc>
+                       |       <ja>@Remote</ja>(path=<js>"/petstore"</js>)
+                       |       <jk>public interface</jk> PetStoreService {
+                       |               
+                       |               <ja>@RemotePost</ja>(<js>"/pets"</js>)
+                       |               Ok addPet(
+                       |                       <ja>@Content</ja> CreatePet 
<jv>createPet</jv>, 
+                       |                       
<ja>@Header</ja>(<js>"E-Tag"</js>) UUID <jv>etag</jv>, 
+                       |                       
<ja>@Query</ja>(<js>"debug"</js>) <jk>boolean</jk> <jv>debug</jv>
+                       |               ) <jk>throws</jk> BadRequest, 
Unauthorized, InternalServerError;
+                       |       }
+                       |
+                       |       <jc>// Use a RestClient with default Simple 
JSON support and BASIC auth.</jc>
+                       |       RestClient <jv>client</jv> = 
RestClient.<jsm>create</jsm>().simpleJson().basicAuth(...).build();
+                       |       
+                       |       <jc>// Instantiate our proxy interface.</jc>
+                       |       PetStore <jv>store</jv> = 
<jv>client</jv>.getRemote(PetStore.<jk>class</jk>, 
<js>"http://localhost:10000";</js>);
+                       |       
+                       |       <jc>// Use it to create a pet.</jc>
+                       |       CreatePet <jv>createPet</jv> = <jk>new</jk> 
CreatePet(<js>"Fluffy"</js>, 9.99);
+                       |       Pet <jv>pet</jv> = 
<jv>store</jv>.addPet(<jv>createPet</jv>, UUID.<jsm>randomUUID</jsm>(), 
<jk>true</jk>);
+               </p>
                <ul class='spaced-list'>
                        <li>
                                Fast memory-efficient serialization.
@@ -112,13 +175,7 @@
                        <li>
                                Lots of up-to-date documentation and examples
                        <li>
-                               Minimal library dependencies: 
-                               <ul>
-                                       <li><b>juneau-marshall</b>, 
<b>juneau-dto</b>, <b>juneau-svl</b>, <b>juneau-config</b> - No external 
dependencies.  Entirely self-contained.
-                                       <li><b>juneau-marshall-rdf</b> - 
Optional RDF support.  Requires Apache Jena 2.7.1+.
-                                       <li><b>juneau-rest-server</b> - Any 
Servlet 3.1.0+ container.
-                                       <li><b>juneau-rest-client</b> - Apache 
HttpClient 4.5+.
-                               </ul>
+                               Minimal library dependencies making them 
optimal for uber-jars 
                        <li>
                                Built on top of Servlet and Apache HttpClient 
APIs that allow you to use the newest HTTP/2 features
                                such as request/response multiplexing and 
server push.
diff --git a/templates/about.html b/templates/about.html
index 38ef2e86a..cf6bfb868 100644
--- a/templates/about.html
+++ b/templates/about.html
@@ -42,39 +42,39 @@
                                </td>
                        </tr>
                        <tr class='dark bb'>
-                               <td class='code'><a class='doclink' 
href='http://juneau.apache.org/site/apidocs-{@property 
juneauVersion}/overview-summary.html##juneau-marshall-rdf'>juneau-marshall-rdf</a></td>
+                               <td class='code'><a class='doclink' 
href='http://juneau.apache.org/site/apidocs-{@property 
juneauVersion}/overview-summary.html#juneau-marshall-rdf'>juneau-marshall-rdf</a></td>
                                <td style='padding:10px;'>
                                        Extended marshalling support for 
RDF/XML, N3, N-Tuple, and Turtle.
                                </td>
                        </tr>
                        <tr class='dark bb'>
-                               <td class='code'><a class='doclink' 
href='http://juneau.apache.org/site/apidocs-{@property 
juneauVersion}/overview-summary.html##juneau-dto'>juneau-dto</a></td>
+                               <td class='code'><a class='doclink' 
href='http://juneau.apache.org/site/apidocs-{@property 
juneauVersion}/overview-summary.html#juneau-dto'>juneau-dto</a></td>
                                <td style='padding:10px;'>
                                        A variety of predefined DTOs for 
serializing and parsing languages such as HTML5, Swagger and ATOM.
                                </td>
                        </tr>
                        <tr class='dark bb'>
-                               <td class='code'><a class='doclink' 
href='http://juneau.apache.org/site/apidocs-{@property 
juneauVersion}/overview-summary.html##juneau-config'>juneau-config</a></td>
+                               <td class='code'><a class='doclink' 
href='http://juneau.apache.org/site/apidocs-{@property 
juneauVersion}/overview-summary.html#juneau-config'>juneau-config</a></td>
                                <td style='padding:10px;'>
                                        A sophisticated configuration file API.
                                </td>
                        </tr>
                        <tr class='light bb'>
                                <td rowspan="3" 
style='text-align:center;font-weight:bold;padding:20px;' 
class='code'>juneau-rest</td>
-                               <td class='code'><a class='doclink' 
href='http://juneau.apache.org/site/apidocs-{@property 
juneauVersion}/overview-summary.html##juneau-rest-server'>juneau-rest-server</a></td>
+                               <td class='code'><a class='doclink' 
href='http://juneau.apache.org/site/apidocs-{@property 
juneauVersion}/overview-summary.html#juneau-rest-server'>juneau-rest-server</a></td>
                                <td style='padding:10px;'>
                                        A universal REST server API for 
creating Swagger-based self-documenting REST interfaces using POJOs, simply 
deployed as 
                                        one or more top-level servlets in any 
Servlet 3.1.0+ container.
                                </td>
                        </tr>
                        <tr class='light bb'>
-                               <td class='code'><a class='doclink' 
href='http://juneau.apache.org/site/apidocs-{@property 
juneauVersion}/overview-summary.html##juneau-rest-server-springboot'>juneau-rest-server-springboot</a></td>
+                               <td class='code'><a class='doclink' 
href='http://juneau.apache.org/site/apidocs-{@property 
juneauVersion}/overview-summary.html#juneau-rest-server-springboot'>juneau-rest-server-springboot</a></td>
                                <td style='padding:10px;'>
                                        Spring Boot integration.
                                </td>
                        </tr>
                        <tr class='light bb'>
-                               <td class='code'><a class='doclink' 
href='http://juneau.apache.org/site/apidocs-{@property 
juneauVersion}/overview-summary.html##juneau-rest-client'>juneau-rest-client</a></td>
+                               <td class='code'><a class='doclink' 
href='http://juneau.apache.org/site/apidocs-{@property 
juneauVersion}/overview-summary.html#juneau-rest-client'>juneau-rest-client</a></td>
                                <td style='padding:10px;'>
                                        A universal REST client API for 
interacting with Juneau or 3rd-party REST interfaces using POJOs and proxy 
interfaces.
                                </td>
@@ -96,6 +96,69 @@
        
        <h5 class='toc'>Features</h5>
        <div class='topic'>
+               <p>
+                       The <a class='doclink' 
href='http://juneau.apache.org/site/apidocs-{@property 
juneauVersion}/overview-summary.html#juneau-marshall'>juneau-marshall</a> module
+                       provides memory-efficient POJO serializing and parsing 
for 12 languages:
+               </p>
+               <p class='bjava'>
+                       |       <jc>// A simple bean</jc>
+                       |       <jk>public class</jk> Person {
+                       |               <jk>public</jk> String <jf>name</jf> = 
<js>"John Smith"</js>;
+                       |               <jk>public int</jk> <jf>age</jf> = 21;
+                       |       }
+                       |       
+                       |       <jc>// Produces:
+                       |       // "{"name":"John Smith","age":21}"</jc>
+                       |       String <jv>json</jv> = 
Json.<jsm>of</jsm>(<jk>new</jk> Person());
+                       |
+                       |       <jc>// Parse back into a bean.</jc>
+                       |       Person <jv>person</jv> = 
Json.<jsm>from</jsm>(<jv>json</jv>, Person.<jk>class</jk>);
+               </p>
+               <p>
+                       The <a class='doclink' 
href='http://juneau.apache.org/site/apidocs-{@property 
juneauVersion}/overview-summary.html#juneau-rest-server'>juneau-rest-server</a> 
+                       and <a class='doclink' 
href='http://juneau.apache.org/site/apidocs-{@property 
juneauVersion}/overview-summary.html#juneau-rest-client'>juneau-rest-client</a> 
libraries
+                       provide server and client side REST capabilities that 
can be used by themselves, or together to create
+                       simplified yet sophisticated Java-based REST 
communications layers that completely hide away the complexities
+                       of the REST protocol.
+               </p>
+               <p class='bjava'>
+                       |       <jc>// Server-side endpoint</jc>        
+                       |       <ja>@Rest</ja>(path=<js>"/petstore"</js>)
+                       |       <jk>public class</jk> PetStore {
+                       |               
+                       |               
<ja>@RestPost</ja>(path=<js>"/pets"</js>, guards=AdminGuard.<jk>class</jk>)
+                       |               <jk>public</jk> Ok addPet(
+                       |                       <ja>@Content</ja> CreatePet 
<jv>createPetBean</jv>, 
+                       |                       
<ja>@Header</ja>(<js>"E-Tag"</js>) UUID <jv>etag</jv>, 
+                       |                       
<ja>@Query</ja>(<js>"debug"</js>) <jk>boolean</jk> <jv>debug</jv>
+                       |               ) <jk>throws</jk> BadRequest, 
Unauthorized, InternalServerError {
+                       |                       <jc>// Process request.</jc>
+                       |                       <jk>return</jk> 
Ok.<jsf>OK</jsf>;  <jc>// Standard 400-OK response.</jc>
+                       |               }
+                       |       }
+                       |
+                       |       <jc>// Client-side Java interface that 
describes the REST endpoint</jc>
+                       |       <ja>@Remote</ja>(path=<js>"/petstore"</js>)
+                       |       <jk>public interface</jk> PetStoreService {
+                       |               
+                       |               <ja>@RemotePost</ja>(<js>"/pets"</js>)
+                       |               Ok addPet(
+                       |                       <ja>@Content</ja> CreatePet 
<jv>createPet</jv>, 
+                       |                       
<ja>@Header</ja>(<js>"E-Tag"</js>) UUID <jv>etag</jv>, 
+                       |                       
<ja>@Query</ja>(<js>"debug"</js>) <jk>boolean</jk> <jv>debug</jv>
+                       |               ) <jk>throws</jk> BadRequest, 
Unauthorized, InternalServerError;
+                       |       }
+                       |
+                       |       <jc>// Use a RestClient with default Simple 
JSON support and BASIC auth.</jc>
+                       |       RestClient <jv>client</jv> = 
RestClient.<jsm>create</jsm>().simpleJson().basicAuth(...).build();
+                       |       
+                       |       <jc>// Instantiate our proxy interface.</jc>
+                       |       PetStore <jv>store</jv> = 
<jv>client</jv>.getRemote(PetStore.<jk>class</jk>, 
<js>"http://localhost:10000";</js>);
+                       |       
+                       |       <jc>// Use it to create a pet.</jc>
+                       |       CreatePet <jv>createPet</jv> = <jk>new</jk> 
CreatePet(<js>"Fluffy"</js>, 9.99);
+                       |       Pet <jv>pet</jv> = 
<jv>store</jv>.addPet(<jv>createPet</jv>, UUID.<jsm>randomUUID</jsm>(), 
<jk>true</jk>);
+               </p>
                <ul class='spaced-list'>
                        <li>
                                Fast memory-efficient serialization.
@@ -112,13 +175,7 @@
                        <li>
                                Lots of up-to-date documentation and examples
                        <li>
-                               Minimal library dependencies: 
-                               <ul>
-                                       <li><b>juneau-marshall</b>, 
<b>juneau-dto</b>, <b>juneau-svl</b>, <b>juneau-config</b> - No external 
dependencies.  Entirely self-contained.
-                                       <li><b>juneau-marshall-rdf</b> - 
Optional RDF support.  Requires Apache Jena 2.7.1+.
-                                       <li><b>juneau-rest-server</b> - Any 
Servlet 3.1.0+ container.
-                                       <li><b>juneau-rest-client</b> - Apache 
HttpClient 4.5+.
-                               </ul>
+                               Minimal library dependencies making them 
optimal for uber-jars 
                        <li>
                                Built on top of Servlet and Apache HttpClient 
APIs that allow you to use the newest HTTP/2 features
                                such as request/response multiplexing and 
server push.

Reply via email to