You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juneau.apache.org by ja...@apache.org on 2022/07/02 12:45:53 UTC

[juneau-website] branch asf-site updated: Update about page.

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 <ja...@salesforce.com>
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.