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

commit a50ebeb91e509763329f8bc2929f28d9e358b887
Author: JamesBognar <[email protected]>
AuthorDate: Wed Jun 22 07:43:20 2022 -0400

    Javadocs
---
 juneau-doc/src/main/javadoc/overview.html          | 223 ++++++---------------
 juneau-doc/src/main/javadoc/resources/docs.txt     |   4 -
 .../src/main/javadoc/resources/fragments/toc.html  |   6 -
 3 files changed, 61 insertions(+), 172 deletions(-)

diff --git a/juneau-doc/src/main/javadoc/overview.html 
b/juneau-doc/src/main/javadoc/overview.html
index cbb12975d..c6ebbcc38 100644
--- a/juneau-doc/src/main/javadoc/overview.html
+++ b/juneau-doc/src/main/javadoc/overview.html
@@ -131,25 +131,25 @@
 
        <tr class='dark bb'>
                <td rowspan="4" 
style='text-align:center;font-weight:bold;padding:20px;'>Examples</td>
-               <td class='code'><a class='doclink' 
href='#juneau-examples-core'>juneau-examples-core</a></td>
+               <td class='code'>juneau-examples-core</td>
                <td>
                        Juneau Core API examples.
                </td>
        </tr>
        <tr class='dark bb'>
-               <td class='code'><a class='doclink' 
href='#juneau-examples-rest'>juneau-examples-rest</a></td>
+               <td class='code'>juneau-examples-rest</td>
                <td>
                        Juneau REST API examples.
                </td>
        </tr>
        <tr class='dark bb'>
-               <td class='code'><a class='doclink' 
href='#juneau-examples-rest-jetty'>juneau-examples-rest-jetty</a></td>
+               <td class='code'>juneau-examples-rest-jetty</td>
                <td>
                        Juneau REST API examples using Jetty deployment.
                </td>
        </tr>
        <tr class='dark bb'>
-               <td class='code'><a class='doclink' 
href='#juneau-examples-rest-springboot'>juneau-examples-rest-springboot</a></td>
+               <td class='code'>juneau-examples-rest-springboot</td>
                <td>
                        Juneau REST API examples using Spring Boot deployment.
                </td>
@@ -506,12 +506,6 @@
                <li><p><a class='doclink' 
href='#my-springboot-microservice.msm.Building'>Building and Running from 
Command-Line</a><span class='update'>created: 8.0.0</span></p>
        </ol>
        <li><p class='toc2'><a class='doclink' 
href='#juneau-petstore'>juneau-pestore</a><span class='update'>created: 8.2.0, 
<b><red>todo</red></b></span></p>
-       <ol>
-               <li><p><a class='doclink' 
href='#juneau-petstore.jp.Installing'>Installing in Eclipse</a><span 
class='update'>created: 8.2.0, <b><red>todo</red></b></span></p>
-               <li><p><a class='doclink' 
href='#juneau-petstore.jp.Running'>Running Petstore manually</a><span 
class='update'>created: 8.2.0, <b><red>todo</red></b></span></p>
-               <li><p><a class='doclink' 
href='#juneau-petstore.jp.Building'>Building and Running from Command-Line 
(Using Dockerfiles)</a><span class='update'>created: 8.2.0, 
<b><red>todo</red></b></span></p>
-               <li><p><a class='doclink' href='#juneau-petstore.jp.App'>About 
Petstore App</a><span class='update'>created: 8.2.0, 
<b><red>todo</red></b></span></p>
-       </ol>
        <li><p class='toc2'><a class='doclink' 
href='#Glossaries'>Glossaries</a><span class='update'>created: 8.1.3</span></p>
        <ol>
                <li><p><a class='doclink' 
href='#Glossaries.g.LanguageSupport'>Language Support</a><span 
class='update'>created: 8.1.3</span></p>
@@ -679,7 +673,7 @@
                </tr>
                <tr class='dark bb'>
                        <td rowspan="2" 
style='text-align:center;font-weight:bold;padding:20px;' 
class='code'>juneau-examples</td>
-                       <td class='code'><a class='doclink' 
href='#juneau-examples-core'>juneau-examples-core</a></td>
+                       <td class='code'>juneau-examples-core</td>
                        <td>
                                <ul>
                                        <li>Core code examples
@@ -688,7 +682,7 @@
                        <td></td>
                </tr>
                <tr class='dark bb'>
-                       <td class='code'><a class='doclink' 
href='#juneau-examples-rest'>juneau-examples-rest</a></td>
+                       <td class='code'>juneau-examples-rest</td>
                        <td>
                                <ul>
                                        <li>REST code examples
@@ -27651,134 +27645,6 @@
                TODO
        </p>
 </div>
-
-<!-- 
====================================================================================================
 -->
-
-<h3 class='topic' onclick='toggle(this)'><a 
href='#juneau-petstore.jp.Installing' id='juneau-petstore.jp.Installing'>16.1 - 
Installing in Eclipse</a><span class='update'>created: 8.2.0, 
<b><red>todo</red></b></span></h3>
-<div class='topic'><!-- START: 16.1 - juneau-petstore.jp.Installing -->
-<div class='topic'>
-       <p>
-               How to import Petstore to Eclipse or Spring Tool Suite: <br><br>
-               <ol>
-                       <li>File --> </li>
-                       <li>Import --> </li>
-                       <li>Existing Maven Projects--></li>
-                       <li>Browse existing projects--> juneau-petstore</li>
-               </ol>
-       </p>            
-</div>
-</div><!-- END: 16.1 - juneau-petstore.jp.Installing -->
-
-<!-- 
====================================================================================================
 -->
-
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-petstore.jp.Running' 
id='juneau-petstore.jp.Running'>16.2 - Running Petstore manually</a><span 
class='update'>created: 8.2.0, <b><red>todo</red></b></span></h3>
-<div class='topic'><!-- START: 16.2 - juneau-petstore.jp.Running -->
-<div class='topic'>
-       <p>
-                       How to run Petstore --Java Backend-- in Eclipse or 
Spring Tool Suite: <br><br>
-               <ol>
-                       <li>App.java --> Run as Spring Boot App </li>
-                       <li>Main.java --> Run as Spring Boot App </li>
-               </ol>
-       </p>
-       <p>
-                       How to run Petstore --React Frontend-- with npm: 
<br><br>
-               <ol>
-                       <li>Install latest node.js </li>
-                       <li>Inside folder "Pets" run command: npm install </li>
-                       <li>Inside folder "Pets" run command: npm start  </li>
-               </ol>
-       </p>
-</div>
-</div><!-- END: 16.2 - juneau-petstore.jp.Running -->
-
-<!-- 
====================================================================================================
 -->
-
-<h3 class='topic' onclick='toggle(this)'><a 
href='#juneau-petstore.jp.Building' id='juneau-petstore.jp.Building'>16.3 - 
Building and Running from Command-Line (Using Dockerfiles)</a><span 
class='update'>created: 8.2.0, <b><red>todo</red></b></span></h3>
-<div class='topic'><!-- START: 16.3 - juneau-petstore.jp.Building -->
-<div class='topic'>
-       <p>
-                       How to build and run Petstore using Docker: <br>
-               <ol>
-               <li>Go to the folder "juneau-petstore" and run this command: 
-                               <br> 
-                       docker build . -t petstore && docker run -p 5000:5000 
petstore</li>
-               <br>
-               <li>Go to the folder "pets" and run this command:  
-                               <br>
-                       docker run --rm -it -p 3000:3000 -v $(pwd):/usr/src/app 
pets </li>
-               </ol>
-       </p>
-</div>
-</div><!-- END: 16.3 - juneau-petstore.jp.Building -->
-
-<!-- 
====================================================================================================
 -->
-
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-petstore.jp.App' 
id='juneau-petstore.jp.App'>16.4 - About Petstore App</a><span 
class='update'>created: 8.2.0, <b><red>todo</red></b></span></h3>
-<div class='topic'><!-- START: 16.4 - juneau-petstore.jp.App -->
-<div class='topic'>
-       <div style="width: 70%;">
-           <h3 style="color: blue;">
-               What is the Petstore app?
-           </h3>
-           <p>
-       
-               Petstore is a simple CRUD (Create, Read, Update and Delete) 
application,
-               which is meant to demonstrate the advantages of the Apache 
Juneau library.
-               It is a live example showing how any JAVA back-end developer 
can use Juneau for parsing,
-               POJO serialization and sending different types of serialized 
POJOs over REST.
-       
-           </p>
-           <h3>What's the project layout?</h3>
-           <p> Petstore application consists of three main parts, which are 
connected over REST:
-               <ul>
-                   <li>Database: Apache Derby.</li>
-                   <li>Server: Java Spring Boot. </li>
-                   <li>Client: Java Spring Boot or React.</li>
-               </ul>
-           </p>
-       
-           <p> Java back-end and front-end runs on: http://localhost:5000;
-               <br>React front-end runs on: http://localhost:3000.
-           </p>
-       
-           <p> Project is based on a standard Spring Boot project structure. 
There are Models, Repositories, Services.
-               <br>The main difference here - no Controller classes or 
@RestController annotations.
-               Instead of it, we use PetStore.java interface class where REST 
calls are mapped with different methods.
-           </p>
-           <p>Petstore has three types of DTO objects (database entities): 
Pets, Orders and Users. </p>
-           <p>All methods for creating, reading, updating or deleting database 
entities (pets, orders or users) are provided in
-               PetStoreService.java class. </p>
-           <p> Example Pet, Order and User objects are created at program
-               startup and saved in the database using JPA (Java Persistence 
API) and PetStoreService methods.</p>
-       
-           <h3>How does it work ?</h3>
-           <p>
-               <ul>
-       
-                   <li>To get the data which should be displayed, Petstore app 
client
-                       sends http request GET to the back-end server. The 
response data goes
-                       over the REST connection where POJOs get serialized.
-                       Petstore client can get and display different types of 
the same POJO:
-                       simple (standard) json format and other (not standard) 
formats.
-       
-                   <li>Response data (array of objects) in standard JSON 
format here is used to generate table content
-                       (for example, all Pets in Store).</li>
-       
-                   <li>Other types of these objects are displayed in the page 
section "Content types".
-                       Here you can get the same POJOs displayed in different 
formats: json simple, json schema,
-                       www form urlencoded, octal/msg, html, html schema, html 
stripped, openapi, plain text, uon, xml, xml
-                       schema, xml soap.
-                   </li>
-                   <li>All readable table content and visual representation of 
the different content types are generated from
-                       the response data.</li>
-               </ul>
-       
-           </p>
-       
-       </div>
-</div>
-</div><!-- END: 16.4 - juneau-petstore.jp.App -->
 </div><!-- END: 16 - juneau-petstore -->
 
 <!-- 
====================================================================================================
 -->
@@ -35862,27 +35728,20 @@
 <div class='topic'><!-- START: 9.0.0 -->
 <div class='topic'>
        <p>
-               Juneau 9.0.0 is a major release. 
+               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>
        
        <h5 class='topic w800'>General changes</h5>
        <ul class='spaced-list'>
-               <li>Configuration property names that are enabled by default 
have been replaced with disabler properties.
-                       <br>For example, <jsf>BEAN_useInterfaceProxies</jsf> 
which was enabled by default has been replaced with 
<jsf>BEAN_disableUseInterfaceProxies</jsf>.
+               <li>
+                       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).
        </ul>
        
        <h5 class='topic w800'>juneau-marshall</h5>
        <ul class='spaced-list'>
-               <li>
-                       New {@del org.apache.juneau.annotation.Marshalled 
@Marshalled} annotation for non-bean classes.
-               <li>
-                       New {@link org.apache.juneau.annotation.Bean#example() 
@Bean(example)} annotation.
-               <li>
-                       Changes to {@link org.apache.juneau.annotation.Bean 
@Bean} annotation.
-                       <ul>
-                               <li><c>@Bean(bpi|bpx|bpro|bpwo)</c> replaced 
with 
<c>@Bean(properties|propertiesExclude|propertiesReadOnly|propertiesWriteOnly|p|xp|ro|o)</c>
-                               <li>New {@link 
org.apache.juneau.annotation.Bean#example() @Bean(example)} annotation.
-                       </ul>
                <li>
                        Eliminated the various 
<c><ja>@XConfig</ja>(applyX={...})</c> annotations and replaced them with the 
ability
                        to apply targeted annotations directly to configuration 
classes and methods (such as REST classes/methods).
@@ -35892,7 +35751,7 @@
        
<ja>@UrlEncoding</ja>(onClass=MyList.<jk>class</jk>,expandedParams=<jk>true</jk>)
        <jk>public class</jk> MyRestClass {
                
-               <ja>@RestMethod</ja>(...)
+               <ja>@RestOp</ja>(...)
                
<ja>@Bean</ja>(on=<js>"MyBean1,MyBean2"</js>,sort=<jk>false</jk>)
                
<ja>@UrlEncoding</ja>(onClass=MyList.<jk>class</jk>,expandedParams=<jk>false</jk>)
                <jk>public</jk> Object myRestMethod() { ... }
@@ -35907,41 +35766,81 @@
        <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.
+               <li>
+                       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-server</h5>
        <ul class='spaced-list'>
                <li>
-                       Removed deprecated APIs.
+                       Significant refactoring done to allow for many 
extensible aspects of the API to be performed through injected beans
+                       in Spring.  These include logging, debugging, REST 
method arg types, static files, file finders, swagger creators, thrown stores, 
response
+                       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
+                       class and then include an interface with predefined 
common annotations.
+                       <p class='bcode'>
+       <jc>// A root resource that supports JSON/HTML marshalling.</jc>
+       <jk>public class</jk> MyRootResources <jk>extends</jk> 
BasicRestServletGroup <jk>implements</jk> BasicJsonHtmlConfig { ... }
+       
+       <jc>// A child resource that supports all available marshalling.</jc>
+       <jk>public class</jk> MyChildResource <jk>extends</jk> BasicRestObject 
<jk>implements</jk> BasicUniversalConfig { ... }
+                       </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>
-                       Removed the <c><ja>@RestMethod</ja>(name)</c> 
annotation.  Use <c><ja>@RestMethod</ja>(method)</c> instead.
+                       <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 {@del 
org.apache.juneau.rest.annotation.RestMethod#value()} for specifying http 
method name and path.
+                       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>@RestMethod</ja>(method=<jsf>PUT</jsf>, 
path=<js>"/{propertyName}"</js>)
+       <ja>@RestOp</ja>(method=<jsf>PUT</jsf>, path=<js>"/{propertyName}"</js>)
        
        <jc>// Shortened form</jc>
-       <ja>@RestMethod</ja>(<js>"PUT /{propertyName}"</js>)
+       <ja>@RestOp</ja>(<js>"PUT /{propertyName}"</js>)
                        </p>
+       </ul>
+       
+       <h5 class='topic w800'>juneau-dto</h5>
+       <ul class='spaced-list'>
                <li>
-                       <c><ja>@RestMethod</ja>(name)</c> annotation.  Use 
<c><ja>@RestMethod</ja>(method)</c> instead.
+                       Addition of OpenAPI 3.0 ({@link 
org.apache.juneau.dto.openapi3} package).
        </ul>
        
        <h5 class='topic w800'>juneau-rest-server-springboot</h5>
        <ul class='spaced-list'>
+               <li>
+                       The requirement for using <c>JuneauRestInitializer</c> 
during App initialization to use bean injection has been eliminated.
+                       Instead, root resources should simply extend from 
{@link org.apache.juneau.rest.springboot.BasicSpringRestServlet} and {@link 
org.apache.juneau.rest.springboot.BasicSpringRestServletGroup}.
+                       These will automatically hook into the Spring Boot 
framework for resolution of REST children and various extension beans added
+                       to the REST API framework.
        </ul>
        
        <h5 class='topic w800'>juneau-rest-client</h5>
        <ul class='spaced-list'>
                <li>
-                       Replaced deprecated APIs with new RestClient API 
introduced in 8.2.0.
+                       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.
        </ul>
        
        <h5 class='topic w800'>juneau-rest-mock</h5>
        <ul class='spaced-list'>
                <li>
-                       Replaced deprecated APIs with new RestClient API 
introduced in 8.2.0.
+                       Entirely rewritten.  Changes too many to list.
        </ul>
 </div>
 </div><!-- END: 9.0.0 -->
diff --git a/juneau-doc/src/main/javadoc/resources/docs.txt 
b/juneau-doc/src/main/javadoc/resources/docs.txt
index 17f2de699..dc3e8e5ca 100644
--- a/juneau-doc/src/main/javadoc/resources/docs.txt
+++ b/juneau-doc/src/main/javadoc/resources/docs.txt
@@ -204,10 +204,6 @@ jmr.RootProperty = 
#juneau-marshall-rdf.jmr.RdfDetails.jmr.RootProperty, Overvie
 jmr.Serializers = #juneau-marshall-rdf.jmr.RdfDetails.jmr.Serializers, 
Overview > juneau-marshall-rdf > RDF Details > RDF Serializers
 jmr.TypedLiterals = #juneau-marshall-rdf.jmr.RdfDetails.jmr.TypedLiterals, 
Overview > juneau-marshall-rdf > RDF Details > Typed Literals
 jmr.UriProperties = #juneau-marshall-rdf.jmr.RdfDetails.jmr.UriProperties, 
Overview > juneau-marshall-rdf > RDF Details > URI Properties
-jp.App = #juneau-petstore.jp.App, Overview > juneau-pestore > About Petstore 
App
-jp.Building = #juneau-petstore.jp.Building, Overview > juneau-pestore > 
Building and Running from Command-Line (Using Dockerfiles)
-jp.Installing = #juneau-petstore.jp.Installing, Overview > juneau-pestore > 
Installing in Eclipse
-jp.Running = #juneau-petstore.jp.Running, Overview > juneau-pestore > Running 
Petstore manually
 jrc.Authentication = #juneau-rest-client.jrc.Authentication, Overview > 
juneau-rest-client > Authentication
 jrc.AuthenticationBASIC = 
#juneau-rest-client.jrc.Authentication.jrc.AuthenticationBASIC, Overview > 
juneau-rest-client > Authentication > BASIC Authentication
 jrc.AuthenticationForm = 
#juneau-rest-client.jrc.Authentication.jrc.AuthenticationForm, Overview > 
juneau-rest-client > Authentication > FORM-based Authentication
diff --git a/juneau-doc/src/main/javadoc/resources/fragments/toc.html 
b/juneau-doc/src/main/javadoc/resources/fragments/toc.html
index b507228ef..73bdb79c4 100644
--- a/juneau-doc/src/main/javadoc/resources/fragments/toc.html
+++ b/juneau-doc/src/main/javadoc/resources/fragments/toc.html
@@ -360,12 +360,6 @@
                <li><p><a class='doclink' 
href='{OVERVIEW_URL}#my-springboot-microservice.msm.Building'>Building and 
Running from Command-Line</a><span class='update'>created: 8.0.0</span></p>
        </ol>
        <li><p class='toc2'><a class='doclink' 
href='{OVERVIEW_URL}#juneau-petstore'>juneau-pestore</a><span 
class='update'>created: 8.2.0, <b><red>todo</red></b></span></p>
-       <ol>
-               <li><p><a class='doclink' 
href='{OVERVIEW_URL}#juneau-petstore.jp.Installing'>Installing in 
Eclipse</a><span class='update'>created: 8.2.0, 
<b><red>todo</red></b></span></p>
-               <li><p><a class='doclink' 
href='{OVERVIEW_URL}#juneau-petstore.jp.Running'>Running Petstore 
manually</a><span class='update'>created: 8.2.0, 
<b><red>todo</red></b></span></p>
-               <li><p><a class='doclink' 
href='{OVERVIEW_URL}#juneau-petstore.jp.Building'>Building and Running from 
Command-Line (Using Dockerfiles)</a><span class='update'>created: 8.2.0, 
<b><red>todo</red></b></span></p>
-               <li><p><a class='doclink' 
href='{OVERVIEW_URL}#juneau-petstore.jp.App'>About Petstore App</a><span 
class='update'>created: 8.2.0, <b><red>todo</red></b></span></p>
-       </ol>
        <li><p class='toc2'><a class='doclink' 
href='{OVERVIEW_URL}#Glossaries'>Glossaries</a><span class='update'>created: 
8.1.3</span></p>
        <ol>
                <li><p><a class='doclink' 
href='{OVERVIEW_URL}#Glossaries.g.LanguageSupport'>Language Support</a><span 
class='update'>created: 8.1.3</span></p>

Reply via email to