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/09/18 13:58:35 UTC

[juneau] branch master updated: Javadocs

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 3f6be5b2d Javadocs
3f6be5b2d is described below

commit 3f6be5b2da13e4475a1d5bebfa2328d54aff0a2f
Author: JamesBognar <ja...@salesforce.com>
AuthorDate: Sun Sep 18 09:58:14 2022 -0400

    Javadocs
---
 juneau-doc/docs/ReleaseNotes/9.0.0.html   | 93 ++++++++++++++++++++-----------
 juneau-doc/src/main/javadoc/overview.html | 93 ++++++++++++++++++++-----------
 juneau-release-env.sh                     |  2 +-
 3 files changed, 119 insertions(+), 69 deletions(-)

diff --git a/juneau-doc/docs/ReleaseNotes/9.0.0.html b/juneau-doc/docs/ReleaseNotes/9.0.0.html
index e8d49baf8..33ecb3b96 100644
--- a/juneau-doc/docs/ReleaseNotes/9.0.0.html
+++ b/juneau-doc/docs/ReleaseNotes/9.0.0.html
@@ -18,15 +18,19 @@
 <div class='topic'>
 	<p>
 		Juneau 9.0.0 is a major release.  Deprecated APIs that have been accumulating over time have been removed.
-		The underlying code has undergone significant refactoring to ease maintainability and improve overall performance.
+		
+	</p>
+	<p>
+		Major changes include:
 	</p>
-	
-	<h5 class='topic w800'>General changes</h5>
 	<ul class='spaced-list'>
 		<li>
+			The code has undergone significant refactoring to ease maintainability and improve overall performance.
 			Configuration properties have been removed entirely.  They have been replaced with a standard builder-based
 			architecture.  In addition to making the code more maintainable, it also improves performance when
 			creating new serializers/parsers/rest clients (and others).
+		<li>
+			REST servlets now seemlessly integrate with Spring Boot.  
 	</ul>
 	
 	<h5 class='topic w800'>juneau-marshall</h5>
@@ -46,24 +50,8 @@
 				|		<jk>public</jk> Object myRestMethod() { ... }
 				|	}
 			</p>
-		<li>
-			New shortened form {@link oaj.http.remote.RemoteOp#value()} for specifying http method name and path.
-			<p class='bcode'>
-				|	<jc>// Normal form</jc>
-				|	<ja>@RemoteOp</ja>(method=<jsf>PUT</jsf>, path=<js>"/foo"</js>)
-				|	
-				|	<jc>// Shortened form</jc>
-				|	<ja>@RemoteOp</ja>(<js>"PUT /foo"</js>)
-			</p>
-		<li>
-			New annotations:  {@link oaj.http.remote.RemoteGet}/{@link oaj.http.remote.RemotePut}/{@link oaj.http.remote.RemotePost}/{@link oaj.http.remote.RemoteDelete}
-		<li>
-			Significant refactoring of the classes in the {@link oaj.http} package and subpackages.  Attempts were made to make classes as natural
-			extensions to the Apache HttpComponents APIs.  Significant new functionality here.
 		<li>
 			New {@link oaj.annotation.Marshalled @Marshalled} annotation for non-bean classes.
-		<li>
-			New {@link oaj.annotation.Bean#example() @Bean(example)} annotation.
 		<li>
 			New {@link oaj.annotation.BeanConfig#ignoreUnknownEnumValues() @BeanConfig(ignoreUnknownEnumValues)} annotation and support for ignoring
 			unknown enum values during parsing.
@@ -71,6 +59,28 @@
 			Java Serialized Object marshalling support has been removed entirely due to security risks with usage (better safe than sorry).
 	</ul>
 	
+	<h5 class='topic w800'>juneau-rest-common</h5>
+	<p>
+		New module containing the common REST classes/annotations uses by both the client and server APIs.
+		These were previously contained within <c>juneau-marshall</c>.
+	</p>
+	<ul class='spaced-list'>
+		<li>
+			Significant refactoring of the classes in the {@link oaj.http} package and subpackages.  Attempts were made to make classes as natural
+			extensions to the Apache HttpComponents APIs.  Significant new functionality here.
+		<li>
+			<c>@RemoteMethod</c> annotation has been replaced with the following:
+			<ul class='javatreec'>
+				<li class='ja'>{@link oaj.http.remote.RemoteOp}
+				<li class='ja'>{@link oaj.http.remote.RemoteGet}
+				<li class='ja'>{@link oaj.http.remote.RemotePut}
+				<li class='ja'>{@link oaj.http.remote.RemotePatch}
+				<li class='ja'>{@link oaj.http.remote.RemotePost}
+				<li class='ja'>{@link oaj.http.remote.RemoteDelete}
+			</ul>
+		</li>
+	</ul>
+
 	<h5 class='topic w800'>juneau-rest-server</h5>
 	<ul class='spaced-list'>
 		<li>
@@ -79,7 +89,18 @@
 			processors, serializers/parsers, JSON schema generators, statistics gathering stores, and default request attributes/headers and response
 			headers.
 		<li>
-			Defining REST resources with predefined marshalling support is now much simpler.  You now extend from a basic REST servlet/object.
+			<c>@RestMethod</c> annotation has been replaced with the following:
+			<ul class='javatreec'>
+				<li class='ja'>{@link oaj.rest.annotation.RestOp}
+				<li class='ja'>{@link oaj.rest.annotation.RestGet}
+				<li class='ja'>{@link oaj.rest.annotation.RestPut}
+				<li class='ja'>{@link oaj.rest.annotation.RestPatch}
+				<li class='ja'>{@link oaj.rest.annotation.RestPost}
+				<li class='ja'>{@link oaj.rest.annotation.RestDelete}
+			</ul>
+		</li>
+		<li>
+			Defining REST resources with predefined marshalling support is now much simpler.  You can now extend from a basic REST servlet/object.
 			<p class='bcode'>
 				|	<jc>// A root resource that supports JSON/HTML marshalling.</jc>
 				|	<jk>public class</jk> MyRootResources <jk>extends</jk> BasicRestServletGroup  { ... }
@@ -87,20 +108,13 @@
 				|	<jc>// A child resource that supports all available marshalling.</jc>
 				|	<jk>public class</jk> MyChildResource <jk>extends</jk> BasicRestObject { ... }
 			</p>
-			REST servlets/objects are in the {@link oajr.servlet} package and REST configs are in the {@link oajr.config} package.
-		<li>
-			<ja>@RestMethod</ja> annotation has been replaced with 
-			{@link oaj.http.remote.RemoteGet} / {@link oaj.http.remote.RemotePut} / {@link oaj.http.remote.RemotePost} / {@link oaj.http.remote.RemoteDelete}
-			 / {@link oaj.http.remote.RemoteOp}
-		<li>
-			New shortened form {@link oajr.annotation.RestOp#value()} for specifying http method name and path.
-			<p class='bcode'>
-				|	<jc>// Normal form</jc>
-				|	<ja>@RestOp</ja>(method=<jsf>PUT</jsf>, path=<js>"/{propertyName}"</js>)
-				|	
-				|	<jc>// Shortened form</jc>
-				|	<ja>@RestOp</ja>(<js>"PUT /{propertyName}"</js>)
-			</p>
+			<ul class='javatreec'>
+				<li class='jc'>{@link oajr.servlet.BasicRestServlet}
+				<li class='jc'>{@link oajr.servlet.BasicRestServletGroup}
+				<li class='jc'>{@link oajr.servlet.BasicRestObject}
+				<li class='jc'>{@link oajr.servlet.BasicRestObjectGroup}
+			</ul>
+		</li>
 	</ul>
 	
 	<h5 class='topic w800'>juneau-dto</h5>
@@ -123,6 +137,17 @@
 		<li>
 			While the general usage pattern stays the same, the REST client code has undergone significant rewriting.  It is now more inline
 			as an extension of the Apache HttpClient library.  Much new functionality such as support for fluent assertions has been added.
+			<p class='bjava'>
+				|	<jc>// Create a basic REST client with JSON support and download a bean.</jc>
+				|	MyBean <jv>bean</jv> = RestClient.<jsm>create</jsm>()
+				|		.simpleJson()
+				|		.build()
+				|		.get(<jsf>URI</jsf>)
+				|		.run()
+				|		.assertStatus().asCode().is(200)
+				|		.assertHeader(<js>"Content-Type"</js>).matchesSimple(<js>"application/json*"</js>)
+				|		.getContent().as(MyBean.<jk>class</jk>);
+			</p>
 	</ul>
 	
 	<h5 class='topic w800'>juneau-rest-mock</h5>
diff --git a/juneau-doc/src/main/javadoc/overview.html b/juneau-doc/src/main/javadoc/overview.html
index d57e2f24e..b3c4fccfc 100644
--- a/juneau-doc/src/main/javadoc/overview.html
+++ b/juneau-doc/src/main/javadoc/overview.html
@@ -36364,15 +36364,19 @@
 <div class='topic'>
 	<p>
 		Juneau 9.0.0 is a major release.  Deprecated APIs that have been accumulating over time have been removed.
-		The underlying code has undergone significant refactoring to ease maintainability and improve overall performance.
+		
+	</p>
+	<p>
+		Major changes include:
 	</p>
-	
-	<h5 class='topic w800'>General changes</h5>
 	<ul class='spaced-list'>
 		<li>
+			The code has undergone significant refactoring to ease maintainability and improve overall performance.
 			Configuration properties have been removed entirely.  They have been replaced with a standard builder-based
 			architecture.  In addition to making the code more maintainable, it also improves performance when
 			creating new serializers/parsers/rest clients (and others).
+		<li>
+			REST servlets now seemlessly integrate with Spring Boot.  
 	</ul>
 	
 	<h5 class='topic w800'>juneau-marshall</h5>
@@ -36392,24 +36396,8 @@
 		<jk>public</jk> Object myRestMethod() { ... }
 	}
 			</p>
-		<li>
-			New shortened form {@link org.apache.juneau.http.remote.RemoteOp#value()} for specifying http method name and path.
-			<p class='bcode'>
-	<jc>// Normal form</jc>
-	<ja>@RemoteOp</ja>(method=<jsf>PUT</jsf>, path=<js>"/foo"</js>)
-	
-	<jc>// Shortened form</jc>
-	<ja>@RemoteOp</ja>(<js>"PUT /foo"</js>)
-			</p>
-		<li>
-			New annotations:  {@link org.apache.juneau.http.remote.RemoteGet}/{@link org.apache.juneau.http.remote.RemotePut}/{@link org.apache.juneau.http.remote.RemotePost}/{@link org.apache.juneau.http.remote.RemoteDelete}
-		<li>
-			Significant refactoring of the classes in the {@link org.apache.juneau.http} package and subpackages.  Attempts were made to make classes as natural
-			extensions to the Apache HttpComponents APIs.  Significant new functionality here.
 		<li>
 			New {@link org.apache.juneau.annotation.Marshalled @Marshalled} annotation for non-bean classes.
-		<li>
-			New {@link org.apache.juneau.annotation.Bean#example() @Bean(example)} annotation.
 		<li>
 			New {@link org.apache.juneau.annotation.BeanConfig#ignoreUnknownEnumValues() @BeanConfig(ignoreUnknownEnumValues)} annotation and support for ignoring
 			unknown enum values during parsing.
@@ -36417,6 +36405,28 @@
 			Java Serialized Object marshalling support has been removed entirely due to security risks with usage (better safe than sorry).
 	</ul>
 	
+	<h5 class='topic w800'>juneau-rest-common</h5>
+	<p>
+		New module containing the common REST classes/annotations uses by both the client and server APIs.
+		These were previously contained within <c>juneau-marshall</c>.
+	</p>
+	<ul class='spaced-list'>
+		<li>
+			Significant refactoring of the classes in the {@link org.apache.juneau.http} package and subpackages.  Attempts were made to make classes as natural
+			extensions to the Apache HttpComponents APIs.  Significant new functionality here.
+		<li>
+			<c>@RemoteMethod</c> annotation has been replaced with the following:
+			<ul class='javatreec'>
+				<li class='ja'>{@link org.apache.juneau.http.remote.RemoteOp}
+				<li class='ja'>{@link org.apache.juneau.http.remote.RemoteGet}
+				<li class='ja'>{@link org.apache.juneau.http.remote.RemotePut}
+				<li class='ja'>{@link org.apache.juneau.http.remote.RemotePatch}
+				<li class='ja'>{@link org.apache.juneau.http.remote.RemotePost}
+				<li class='ja'>{@link org.apache.juneau.http.remote.RemoteDelete}
+			</ul>
+		</li>
+	</ul>
+
 	<h5 class='topic w800'>juneau-rest-server</h5>
 	<ul class='spaced-list'>
 		<li>
@@ -36425,7 +36435,18 @@
 			processors, serializers/parsers, JSON schema generators, statistics gathering stores, and default request attributes/headers and response
 			headers.
 		<li>
-			Defining REST resources with predefined marshalling support is now much simpler.  You now extend from a basic REST servlet/object.
+			<c>@RestMethod</c> annotation has been replaced with the following:
+			<ul class='javatreec'>
+				<li class='ja'>{@link org.apache.juneau.rest.annotation.RestOp}
+				<li class='ja'>{@link org.apache.juneau.rest.annotation.RestGet}
+				<li class='ja'>{@link org.apache.juneau.rest.annotation.RestPut}
+				<li class='ja'>{@link org.apache.juneau.rest.annotation.RestPatch}
+				<li class='ja'>{@link org.apache.juneau.rest.annotation.RestPost}
+				<li class='ja'>{@link org.apache.juneau.rest.annotation.RestDelete}
+			</ul>
+		</li>
+		<li>
+			Defining REST resources with predefined marshalling support is now much simpler.  You can now extend from a basic REST servlet/object.
 			<p class='bcode'>
 	<jc>// A root resource that supports JSON/HTML marshalling.</jc>
 	<jk>public class</jk> MyRootResources <jk>extends</jk> BasicRestServletGroup  { ... }
@@ -36433,20 +36454,13 @@
 	<jc>// A child resource that supports all available marshalling.</jc>
 	<jk>public class</jk> MyChildResource <jk>extends</jk> BasicRestObject { ... }
 			</p>
-			REST servlets/objects are in the {@link org.apache.juneau.rest.servlet} package and REST configs are in the {@link org.apache.juneau.rest.config} package.
-		<li>
-			<ja>@RestMethod</ja> annotation has been replaced with 
-			{@link org.apache.juneau.http.remote.RemoteGet} / {@link org.apache.juneau.http.remote.RemotePut} / {@link org.apache.juneau.http.remote.RemotePost} / {@link org.apache.juneau.http.remote.RemoteDelete}
-			 / {@link org.apache.juneau.http.remote.RemoteOp}
-		<li>
-			New shortened form {@link org.apache.juneau.rest.annotation.RestOp#value()} for specifying http method name and path.
-			<p class='bcode'>
-	<jc>// Normal form</jc>
-	<ja>@RestOp</ja>(method=<jsf>PUT</jsf>, path=<js>"/{propertyName}"</js>)
-	
-	<jc>// Shortened form</jc>
-	<ja>@RestOp</ja>(<js>"PUT /{propertyName}"</js>)
-			</p>
+			<ul class='javatreec'>
+				<li class='jc'>{@link org.apache.juneau.rest.servlet.BasicRestServlet}
+				<li class='jc'>{@link org.apache.juneau.rest.servlet.BasicRestServletGroup}
+				<li class='jc'>{@link org.apache.juneau.rest.servlet.BasicRestObject}
+				<li class='jc'>{@link org.apache.juneau.rest.servlet.BasicRestObjectGroup}
+			</ul>
+		</li>
 	</ul>
 	
 	<h5 class='topic w800'>juneau-dto</h5>
@@ -36469,6 +36483,17 @@
 		<li>
 			While the general usage pattern stays the same, the REST client code has undergone significant rewriting.  It is now more inline
 			as an extension of the Apache HttpClient library.  Much new functionality such as support for fluent assertions has been added.
+			<p class='bjava'>
+	<jc>// Create a basic REST client with JSON support and download a bean.</jc>
+	MyBean <jv>bean</jv> = RestClient.<jsm>create</jsm>()
+		.simpleJson()
+		.build()
+		.get(<jsf>URI</jsf>)
+		.run()
+		.assertStatus().asCode().is(200)
+		.assertHeader(<js>"Content-Type"</js>).matchesSimple(<js>"application/json*"</js>)
+		.getContent().as(MyBean.<jk>class</jk>);
+			</p>
 	</ul>
 	
 	<h5 class='topic w800'>juneau-rest-mock</h5>
diff --git a/juneau-release-env.sh b/juneau-release-env.sh
index f166ba292..646a9aa1a 100755
--- a/juneau-release-env.sh
+++ b/juneau-release-env.sh
@@ -22,7 +22,7 @@ export X_RELEASE=juneau-9.0.0-RC1
 export X_STAGING=~/tmp/dist-release-juneau
 export X_USERNAME=jamesbognar
 export X_EMAIL=jamesbognar@apache.org
-export X_CLEANM2=N
+export X_CLEANM2=Y
 
 echo ' '
 echo --- Settings ------------------------------------------------------------------