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 6ca08db19 Add migration guide.
6ca08db19 is described below

commit 6ca08db1937c9227705269f62c9c10f0e1cb8ec7
Author: JamesBognar <[email protected]>
AuthorDate: Sat Oct 8 15:16:26 2022 -0400

    Add migration guide.
---
 content/site/apidocs-9.0.0/overview-summary.html | 332 +++++++++++++++--------
 1 file changed, 221 insertions(+), 111 deletions(-)

diff --git a/content/site/apidocs-9.0.0/overview-summary.html 
b/content/site/apidocs-9.0.0/overview-summary.html
index 6240e8fb1..a2249e504 100644
--- a/content/site/apidocs-9.0.0/overview-summary.html
+++ b/content/site/apidocs-9.0.0/overview-summary.html
@@ -1183,6 +1183,7 @@
       <li><p><a class='doclink' href='#Security.s.Svl'>juneau-svl</a><span 
class='update'>created: 8.2.0</span></p>
       <li><p><a class='doclink' 
href='#Security.s.Rest'>juneau-rest-server</a><span class='update'>created: 
8.2.0</span></p>
    </ol>
+   <li><p class='toc2'><a class='doclink' href='#v9.0-migration-guide'>v9.0 
Migration Guide</a></p>
 </ol>
 
 
@@ -3009,11 +3010,11 @@
                      <li class='jc'><a 
href="org/apache/juneau/marshaller/Uon.html" title="class in 
org.apache.juneau.marshaller"><code>Uon</code></a>
                      <li class='jc'><a 
href="org/apache/juneau/marshaller/UrlEncoding.html" title="class in 
org.apache.juneau.marshaller"><code>UrlEncoding</code></a>
                      <li class='jc'><a 
href="org/apache/juneau/marshaller/Xml.html" title="class in 
org.apache.juneau.marshaller"><code>Xml</code></a>
-                     <li class='jc'><code>N3</code>
-                     <li class='jc'><code>NTriple</code>
-                     <li class='jc'><code>RdfXml</code>
-                     <li class='jc'><code>RdfXmlAbbrev</code>
-                     <li class='jc'><code>Turtle</code>
+                     <li 
class='jc'><code>org.apache.juneau.marshaller.N3</code>
+                     <li 
class='jc'><code>org.apache.juneau.marshaller.NTriple</code>
+                     <li 
class='jc'><code>org.apache.juneau.marshaller.RdfXml</code>
+                     <li 
class='jc'><code>org.apache.juneau.marshaller.RdfXmlAbbrev</code>
+                     <li 
class='jc'><code>org.apache.juneau.marshaller.Turtle</code>
                   </ul>
                </ul>
             <li class='jac'><a 
href="org/apache/juneau/marshaller/StreamMarshaller.html" title="class in 
org.apache.juneau.marshaller"><code>StreamMarshaller</code></a>
@@ -3053,11 +3054,11 @@
       <li class='jc'><a href="org/apache/juneau/marshaller/Uon.html" 
title="class in org.apache.juneau.marshaller"><code>Uon</code></a>
       <li class='jc'><a href="org/apache/juneau/marshaller/UrlEncoding.html" 
title="class in org.apache.juneau.marshaller"><code>UrlEncoding</code></a>
       <li class='jc'><a href="org/apache/juneau/marshaller/Xml.html" 
title="class in org.apache.juneau.marshaller"><code>Xml</code></a>
-      <li class='jc'><code>N3</code>
-      <li class='jc'><code>NTriple</code>
-      <li class='jc'><code>RdfXml</code>
-      <li class='jc'><code>RdfXmlAbbrev</code>
-      <li class='jc'><code>Turtle</code>
+      <li class='jc'><code>org.apache.juneau.marshaller.N3</code>
+      <li class='jc'><code>org.apache.juneau.marshaller.NTriple</code>
+      <li class='jc'><code>org.apache.juneau.marshaller.RdfXml</code>
+      <li class='jc'><code>org.apache.juneau.marshaller.RdfXmlAbbrev</code>
+      <li class='jc'><code>org.apache.juneau.marshaller.Turtle</code>
    </ul>
    <p>
       Each predefined marshaller also includes static convenience from/to 
methods to make it even easier to
@@ -12790,11 +12791,11 @@
    <ul class='javatree'>
       <li class='jc'><code>org.apache.juneau.jena.RdfSerializer</code>
          <ul class='javatreec'>
-            <li class='jc'><code>RdfXmlSerializer</code>
-            <li class='jc'><code>RdfXmlAbbrevSerializer</code>
-            <li class='jc'><code>N3Serializer</code>
-            <li class='jc'><code>NTripleSerializer</code>
-            <li class='jc'><code>TurtleSerializer</code>
+            <li class='jc'><code>org.apache.juneau.jena.RdfXmlSerializer</code>
+            <li 
class='jc'><code>org.apache.juneau.jena.RdfXmlAbbrevSerializer</code>
+            <li class='jc'><code>org.apache.juneau.jena.N3Serializer</code>
+            <li 
class='jc'><code>org.apache.juneau.jena.NTripleSerializer</code>
+            <li class='jc'><code>org.apache.juneau.jena.TurtleSerializer</code>
          </ul>
       </li>
    </ul>
@@ -12812,7 +12813,7 @@
                            <ul>
                               <li class='jac'><a 
href="org/apache/juneau/serializer/WriterSerializer.Builder.html" title="class 
in org.apache.juneau.serializer"><code>WriterSerializer.Builder</code></a>
                                  <ul>
-                                    <li 
class='jc'><code>RdfSerializer.Builder</code>
+                                    <li 
class='jc'><code>org.apache.juneau.jena.RdfSerializer.Builder</code>
                                  </ul>
                               </li>
                            </ul>
@@ -12831,29 +12832,29 @@
       The following pre-configured serializers are provided for convenience:
    </p>
    <ul class='javatree'>
-      <li class='jc'><code>RdfSerializer</code>
+      <li class='jc'><code>org.apache.juneau.jena.RdfSerializer</code>
          <ul>
-            <li class='jc'><code>RdfXmlSerializer</code>
+            <li class='jc'><code>org.apache.juneau.jena.RdfXmlSerializer</code>
                <ul>
                   <li class='jf'><code>DEFAULT</code>
                </ul>
             </li>
-            <li class='jc'><code>RdfXmlAbbrevSerializer</code>
+            <li 
class='jc'><code>org.apache.juneau.jena.RdfXmlAbbrevSerializer</code>
                <ul>
                   <li class='jf'><code>DEFAULT</code>
                </ul>
             </li>
-            <li class='jc'><code>N3Serializer</code>
+            <li class='jc'><code>org.apache.juneau.jena.N3Serializer</code>
                <ul>
                   <li class='jf'><code>DEFAULT</code>
                </ul>
             </li>
-            <li class='jc'><code>NTripleSerializer</code>
+            <li 
class='jc'><code>org.apache.juneau.jena.NTripleSerializer</code>
                <ul>
                   <li class='jf'><code>DEFAULT</code>
                </ul>
             </li>
-            <li class='jc'><code>TurtleSerializer</code>
+            <li class='jc'><code>org.apache.juneau.jena.TurtleSerializer</code>
                <ul>
                   <li class='jf'><code>DEFAULT</code>
                </ul>
@@ -12874,16 +12875,16 @@
 <div class='topic'><!-- START: 3.1.2 - 
juneau-marshall-rdf.jmr.RdfDetails.jmr.Parsers -->
 <div class='topic'>
    <p>
-      The <code>RdfParser</code> class is the top-level class for all 
Jena-based parsers.
+      The <code>org.apache.juneau.jena.RdfParser</code> class is the top-level 
class for all Jena-based parsers.
       Language-specific parsers are defined as inner subclasses of the 
<c>RdfParser</c> class:
    </p>  
    <ul class='javatree'>
-      <li class='jc'><code>RdfParser</code>
+      <li class='jc'><code>org.apache.juneau.jena.RdfParser</code>
          <ul class='javatreec'>
-            <li class='jc'><code>RdfXmlParser</code>
-            <li class='jc'><code>NTripleParser</code>
-            <li class='jc'><code>TurtleParser</code>
-            <li class='jc'><code>N3Parser</code>
+            <li class='jc'><code>org.apache.juneau.jena.RdfXmlParser</code>
+            <li class='jc'><code>org.apache.juneau.jena.NTripleParser</code>
+            <li class='jc'><code>org.apache.juneau.jena.TurtleParser</code>
+            <li class='jc'><code>org.apache.juneau.jena.N3Parser</code>
          </ul>
       </li>
    </ul>
@@ -12902,7 +12903,7 @@
                      <ul>
                         <li class='jac'><a 
href="org/apache/juneau/parser/ReaderParser.Builder.html" title="class in 
org.apache.juneau.parser"><code>ReaderParser.Builder</code></a>
                            <ul>
-                              <li class='jc'><code>RdfParser.Builder</code>
+                              <li 
class='jc'><code>org.apache.juneau.jena.RdfParser.Builder</code>
                            </ul>
                         </li>
                      </ul>
@@ -12919,24 +12920,24 @@
       The following pre-configured parsers are provided for convenience:
    </p>
    <ul class='javatree'>
-      <li class='jc'><code>RdfParser</code>
+      <li class='jc'><code>org.apache.juneau.jena.RdfParser</code>
          <ul>
-            <li class='jc'><code>RdfXmlParser</code>
+            <li class='jc'><code>org.apache.juneau.jena.RdfXmlParser</code>
                <ul>
                   <li class='jf'><code>DEFAULT</code>
                </ul>
             </li>
-            <li class='jc'><code>N3Parser</code>
+            <li class='jc'><code>org.apache.juneau.jena.N3Parser</code>
                <ul>
                   <li class='jf'><code>DEFAULT</code>
                </ul>
             </li>
-            <li class='jc'><code>NTripleParser</code>
+            <li class='jc'><code>org.apache.juneau.jena.NTripleParser</code>
                <ul>
                   <li class='jf'><code>DEFAULT</code>
                </ul>
             </li>
-            <li class='jc'><code>TurtleParser</code>
+            <li class='jc'><code>org.apache.juneau.jena.TurtleParser</code>
                <ul>
                   <li class='jf'><code>DEFAULT</code>
                </ul>
@@ -13177,7 +13178,7 @@
       form, and in some cases it's impossible.
    </p>
    <p>
-      By default, the <code>RdfParser</code> class handles this by scanning 
all the nodes and 
+      By default, the <code>org.apache.juneau.jena.RdfParser</code> class 
handles this by scanning all the nodes and 
       identifying the nodes without incoming references.
       However, this is inefficient, especially for large models.
       And in cases where the root node is referenced by another node in the 
model by URL, it's not possible to 
@@ -15661,6 +15662,14 @@
          </ul>
       </li>
    </ul>
+   <p>
+      Assertions have 3 categories of methods:
+   </p>
+   <ul>
+      <li>Testing methods (<c>isX</c> methods)
+      <li>Transform methods (<c>asX</c> methods)
+      <li>Configuration methods (<c>setX</c> methods)
+   </ul>
    <h5 class='figure'>Examples:</h5>
    <p class='bjava'>
    <jk>import static</jk> org.apache.juneau.assertions.Assertions.*;
@@ -15698,17 +15707,8 @@
       .asMessage().is(<js>"foo"</js>);
    </p>
    <p>
-      Assertions have 3 categories of methods:
-   </p>
-   <ul>
-      <li>Testing methods.
-      <li>Transform methods.
-      <li>Configuration methods.
-   </ul>
-   <p>
-      Testing methods perform an assertion on the specified value and throws a 
<a 
href="https://docs.oracle.com/javase/8/docs/api/java/lang/AssertionError.html?is-external=true";
 title="class or interface in java.lang"><code>AssertionError</code></a> if
+      Testing methods (<c>isX</c> methods) perform an assertion on the 
specified value and throws a <a 
href="https://docs.oracle.com/javase/8/docs/api/java/lang/AssertionError.html?is-external=true";
 title="class or interface in java.lang"><code>AssertionError</code></a> if
       the test fails.  Otherwise, the method returns the original assertion 
object to allow you to chain the command.
-      Testing methods start with <c>is</c>.
    </p>
    <h5 class='figure'>Example:</h5>
    <p class='bjava'>
@@ -15718,8 +15718,8 @@
       .isNotEmpty();  <jc>// Perform test and returns original 
FluentStringAssertion.</jc>
    </p>  
    <p>
-      Transform methods allow you to convert assertions of one type to another 
type or to convert the tested value to
-      some other form wrapped in another assertion.  Transform methods start 
with <c>as</c>.
+      Transform methods (<c>asX</c> methods) allow you to convert assertions 
of one type to another type or to convert the tested value to
+      some other form wrapped in another assertion.
    </p>
    <h5 class='figure'>Example:</h5>
    <p class='bjava'>
@@ -15731,7 +15731,7 @@
          .isContains(<js>"FOO"</js>);  <jc>// Runs test and returns original 
FluentStringAssertion.</jc>
    </p>  
    <p>
-      Configuration methods allow you to tailor the behavior of assertions 
when they fail.  They always return the same assertion object.
+      Configuration methods (<c>setX</c> methods) allow you to tailor the 
behavior of assertions when they fail.  They always return the same assertion 
object.
       Transformed assertions inherit the configurations of the created-by 
assertions.  Configuration methods start with <c>set</c>.
    </p>
    <h5 class='figure'>Example:</h5>
@@ -17208,7 +17208,7 @@
       <li class='jic'><a 
href="org/apache/juneau/rest/config/BasicSimpleJsonConfig.html" 
title="interface in 
org.apache.juneau.rest.config"><code>BasicSimpleJsonConfig</code></a>
       <li class='jic'><a 
href="org/apache/juneau/rest/config/BasicOpenApiConfig.html" title="interface 
in org.apache.juneau.rest.config"><code>BasicOpenApiConfig</code></a>
       <li class='jic'><a 
href="org/apache/juneau/rest/config/BasicUniversalConfig.html" title="interface 
in org.apache.juneau.rest.config"><code>BasicUniversalConfig</code></a>
-      <li class='jic'><code>BasicUniversalJenaConfig</code>
+      <li 
class='jic'><code>org.apache.juneau.rest.config.BasicUniversalJenaConfig</code>
    </ul>
    <p>
       For example, if you want to provide a resource that supports all 
languages in Juneau, 
@@ -19275,7 +19275,7 @@
             <li class='jic'><a 
href="org/apache/juneau/rest/config/BasicSimpleJsonConfig.html" 
title="interface in 
org.apache.juneau.rest.config"><code>BasicSimpleJsonConfig</code></a>
             <li class='jic'><a 
href="org/apache/juneau/rest/config/BasicOpenApiConfig.html" title="interface 
in org.apache.juneau.rest.config"><code>BasicOpenApiConfig</code></a>
             <li class='jic'><a 
href="org/apache/juneau/rest/config/BasicUniversalConfig.html" title="interface 
in org.apache.juneau.rest.config"><code>BasicUniversalConfig</code></a>
-            <li class='jic'><code>BasicUniversalJenaConfig</code>
+            <li 
class='jic'><code>org.apache.juneau.rest.config.BasicUniversalJenaConfig</code>
          </ul>
       </li>
    </ul>
@@ -29107,16 +29107,16 @@
       </tr>
       <tr>
          <td><c>text/n3</c></td>
-         <td><ul><li class='jc'><code>N3Serializer</code></ul></td>
-         <td><ul><li class='jc'><code>N3Parser</code></ul></td>
-         <td><ul><li class='jc'><code>N3</code></ul></td>
+         <td><ul><li 
class='jc'><code>org.apache.juneau.jena.N3Serializer</code></ul></td>
+         <td><ul><li 
class='jc'><code>org.apache.juneau.jena.N3Parser</code></ul></td>
+         <td><ul><li 
class='jc'><code>org.apache.juneau.marshaller.N3</code></ul></td>
          <td><a class='doclink' 
href='#juneau-marshall-rdf'>juneau-marshall-rdf</a></td>
       </tr>
       <tr>
          <td><c>text/n-triple</c></td>
-         <td><ul><li class='jc'><code>NTripleSerializer</code></ul></td>
-         <td><ul><li class='jc'><code>NTripleParser</code></ul></td>
-         <td><ul><li class='jc'><code>NTriple</code></ul></td>
+         <td><ul><li 
class='jc'><code>org.apache.juneau.jena.NTripleSerializer</code></ul></td>
+         <td><ul><li 
class='jc'><code>org.apache.juneau.jena.NTripleParser</code></ul></td>
+         <td><ul><li 
class='jc'><code>org.apache.juneau.marshaller.NTriple</code></ul></td>
          <td><a class='doclink' 
href='#juneau-marshall-rdf'>juneau-marshall-rdf</a></td>
       </tr>
       <tr>
@@ -29135,16 +29135,16 @@
       </tr>
       <tr>
          <td><c>text/xml+rdf<c></td>
-         <td><ul><li class='jc'><code>RdfXmlSerializer</code></ul></td>
-         <td><ul><li class='jc'><code>RdfXmlParser</code></ul></td>
-         <td><ul><li class='jc'><code>RdfXml</code></ul></td>
+         <td><ul><li 
class='jc'><code>org.apache.juneau.jena.RdfXmlSerializer</code></ul></td>
+         <td><ul><li 
class='jc'><code>org.apache.juneau.jena.RdfXmlParser</code></ul></td>
+         <td><ul><li 
class='jc'><code>org.apache.juneau.marshaller.RdfXml</code></ul></td>
          <td><a class='doclink' 
href='#juneau-marshall-rdf'>juneau-marshall-rdf</a></td>
       </tr>
       <tr>
          <td><c>text/xml+rdf+abbrev</c></td>
-         <td><ul><li class='jc'><code>RdfXmlAbbrevSerializer</code></ul></td>
-         <td><ul><li class='jc'><code>RdfXmlParser</code></ul></td>
-         <td><ul><li class='jc'><code>RdfXmlAbbrev</code></ul></td>
+         <td><ul><li 
class='jc'><code>org.apache.juneau.jena.RdfXmlAbbrevSerializer</code></ul></td>
+         <td><ul><li 
class='jc'><code>org.apache.juneau.jena.RdfXmlParser</code></ul></td>
+         <td><ul><li 
class='jc'><code>org.apache.juneau.marshaller.RdfXmlAbbrev</code></ul></td>
          <td><a class='doclink' 
href='#juneau-marshall-rdf'>juneau-marshall-rdf</a></td>
       </tr>
       <tr>
@@ -29156,9 +29156,9 @@
       </tr>
       <tr>
          <td><c>text/turtle</c></td>
-         <td><ul><li class='jc'><code>TurtleSerializer</code></ul></td>
-         <td><ul><li class='jc'><code>TurtleParser</code></ul></td>
-         <td><ul><li class='jc'><code>Turtle</code></ul></td>
+         <td><ul><li 
class='jc'><code>org.apache.juneau.jena.TurtleSerializer</code></ul></td>
+         <td><ul><li 
class='jc'><code>org.apache.juneau.jena.TurtleParser</code></ul></td>
+         <td><ul><li 
class='jc'><code>org.apache.juneau.marshaller.Turtle</code></ul></td>
          <td><a class='doclink' 
href='#juneau-marshall-rdf'>juneau-marshall-rdf</a></td>
       </tr>
       <tr>
@@ -29673,6 +29673,91 @@
 </div><!-- END: 18.3 - Security.s.Rest -->
 </div><!-- END: 18 - Security -->
 
+<!-- 
====================================================================================================
 -->
+
+<h2 class='topic' onclick='toggle(this)'><a href='#v9.0-migration-guide' 
id='v9.0-migration-guide'>19 - v9.0 Migration Guide</a></h2>
+<div class='topic'><!-- START: 19 - v9.0-migration-guide -->
+<div class='topic'>
+   <p>
+      The following guide can be used to help migrate your code to v9.0.  Note 
that you can also refer to the <a href='#9.0.0'>Release Notes</a> for
+      changes as well.
+   </p>
+   <table class='styled w900'>
+      <tr>
+         <th>
+            Old
+         </th>
+         <th>
+            New
+         </th>
+      </tr>
+      <tr>
+         <td>
+            <ja>@RestMethod</ja> annotation.
+         </td>
+         <td>
+            Has been replaced with <a 
href="org/apache/juneau/rest/annotation/RestOp.html" title="annotation in 
org.apache.juneau.rest.annotation"><code>RestOp</code></a>, <a 
href="org/apache/juneau/rest/annotation/RestGet.html" title="annotation in 
org.apache.juneau.rest.annotation"><code>RestGet</code></a>, <a 
href="org/apache/juneau/rest/annotation/RestPut.html" title="annotation in 
org.apache.juneau.rest.annotation"><code>RestPut</code></a>, <a 
href="org/apache/juneau/rest/annotation [...]
+         </td>
+      </tr>
+      <tr>
+         <td>
+            <ja>@RemoteMethod</ja> annotation.
+         </td>
+         <td>
+            Has been replaced with <a 
href="org/apache/juneau/http/remote/RemoteOp.html" title="annotation in 
org.apache.juneau.http.remote"><code>RemoteOp</code></a>, <a 
href="org/apache/juneau/http/remote/RemoteGet.html" title="annotation in 
org.apache.juneau.http.remote"><code>RemoteGet</code></a>, <a 
href="org/apache/juneau/http/remote/RemotePut.html" title="annotation in 
org.apache.juneau.http.remote"><code>RemotePut</code></a>, <a 
href="org/apache/juneau/http/remote/RemotePost.html [...]
+         </td>
+      </tr>
+      <tr>
+         <td>
+            <c>BasicRestServletJena</c>, <c>BasicRestServletJenaGroup</c> 
classes.
+         </td>
+         <td>
+            These have been removed in 9.0 due to the removal of the Jena 
packages (due to security issues).  Replace
+            with <a 
href="org/apache/juneau/rest/servlet/BasicRestServlet.html" title="class in 
org.apache.juneau.rest.servlet"><code>BasicRestServlet</code></a> and <a 
href="org/apache/juneau/rest/servlet/BasicRestServletGroup.html" title="class 
in org.apache.juneau.rest.servlet"><code>BasicRestServletGroup</code></a>.
+         </td>
+      </tr>
+      <tr>
+         <td>
+            <ja>@Body</ja> annotation.
+         </td>
+         <td>
+            Has been renamed to <ja>@Content</ja> (to better match HTTP naming 
conventions such as Content-Type/Content-Encoding headers).
+         </td>
+      </tr>
+      <tr>
+         <td>
+            <c><ja>@Query</ja>(_default)</c>, 
<c><ja>@FormData</ja>(_default)</c>.
+         </td>
+         <td>
+            Has been renamed to <a 
href="org/apache/juneau/http/annotation/Query.html#def--"><code>Query.def()</code></a>
 / <a 
href="org/apache/juneau/http/annotation/FormData.html#def--"><code>FormData.def()</code></a>.
  Note however that <ja>@RestOp</ja>-annotated parameters
+            now also support use of Optional parameters which simplifies the 
coding of default values.
+         </td>
+      </tr>
+      <tr>
+         <td>
+            <c><ja>@Rest</ja>(reqHeaders)</c>.
+         </td>
+         <td>
+            Has been renamed to <a 
href="org/apache/juneau/rest/annotation/Rest.html#defaultRequestHeaders--"><code>Rest.defaultRequestHeaders()</code></a>
 and added <a 
href="org/apache/juneau/rest/annotation/Rest.html#defaultResponseHeaders--"><code>Rest.defaultResponseHeaders()</code></a>.
+         </td>
+      </tr>
+      <tr>
+         <td>
+            <ja>@Rest(staticFiles)</ja>.
+         </td>
+         <td>
+            Changed from a string array to a <c>Class&lt;? <jk>extends</jk> 
StaticFiles&gt;</c>.  If you're extending from 
+            <a href="org/apache/juneau/rest/servlet/BasicRestServlet.html" 
title="class in 
org.apache.juneau.rest.servlet"><code>BasicRestServlet</code></a>/<a 
href="org/apache/juneau/rest/servlet/BasicRestObject.html" title="class in 
org.apache.juneau.rest.servlet"><code>BasicRestObject</code></a>, the <a 
href="org/apache/juneau/rest/servlet/BasicRestOperations.html#getHtdoc-java.lang.String-java.util.Locale-"><code>BasicRestOperations.getHtdoc(String,Locale)</code></a>
+            is already implemented for you to provide static files under the 
sub-URI <js>/htdocs/*</js>.  The default implementation for finding
+            static files is <a 
href="org/apache/juneau/rest/staticfile/BasicStaticFiles.html" title="class in 
org.apache.juneau.rest.staticfile"><code>BasicStaticFiles</code></a> which 
provides basic out-of-the-box functionality, so you can usually
+            just remove the previous <c><ja>@Rest</ja>(staticFiles)</c> value.
+         </td>
+      </tr>
+   </table>
+   
+</div>
+</div><!-- END: 19 - v9.0-migration-guide -->
+
 
 <h2 class='topic' onclick='toggle(this)'><a href='#ReleaseNotes' 
id='ReleaseNotes'>Release Notes</a></h2>
 <div class='topic'>
@@ -30569,7 +30654,7 @@
       Juno 5.0.0.18 is a moderate update.
    </p>
    <p>
-      The biggest change is the introduction of the <code>RdfSerializer</code> 
class that uses Jena to generate RDF/XML, RDF/XML-ABBREV, N-Tuple, N3, and 
Turtle output.
+      The biggest change is the introduction of the 
<code>org.apache.juneau.jena.RdfSerializer</code> class that uses Jena to 
generate RDF/XML, RDF/XML-ABBREV, N-Tuple, N3, and Turtle output.
    </p>
    <p>
       This code should be considered prototype-quality, and subject to change 
in the future.<br>  
@@ -30625,11 +30710,11 @@
    <h5 class='topic w800'>Core API changes</h5>
    <ul class='spaced-list'>
       <li>
-         New Jena-based <code>RdfSerializer</code> for serializing POJOs to 
RDF/XML, RDF/XML-ABBREV, N-Triple, Turtle, and N3.<br>
+         New Jena-based <code>org.apache.juneau.jena.RdfSerializer</code> for 
serializing POJOs to RDF/XML, RDF/XML-ABBREV, N-Triple, Turtle, and N3.<br>
          Serializes ANY POJOs to RDF, even simple objects and primitives.
       </li>
       <li>
-         New Jena-based <code>RdfParser</code> for parsing RDF/XML, 
RDF/XML-ABBREV, N3, Turtle, and N-Triple back into POJOs.
+         New Jena-based <code>org.apache.juneau.jena.RdfParser</code> for 
parsing RDF/XML, RDF/XML-ABBREV, N3, Turtle, and N-Triple back into POJOs.
       </li>
       <li>
          <dc>XmlSerializerContext.XML_autoDetectNamespaces</dc> default 
changed to <jk>true</jk>.<br>
@@ -35395,15 +35480,15 @@
       <li>
          RDF serializer subclasses have been moved into top-level classes:
          <ul>
-            <li><c>RdfSerializer.Xml</c> -> <code>RdfXmlSerializer</code>
-            <li><c>RdfSerializer.XmlAbbrev</c> -> 
<code>RdfXmlAbbrevSerializer</code>
-            <li><c>RdfSerializer.N3</c> -> <code>N3Serializer</code>
-            <li><c>RdfSerializer.NTriple</c> -> <code>NTripleSerializer</code>
-            <li><c>RdfSerializer.Turtle</c> -> <code>TurtleSerializer</code>
-            <li><c>RdfParser.Xml</c> -> <code>RdfXmlParser</code>
-            <li><c>RdfParser.N3</c> -> <code>N3Parser</code>
-            <li><c>RdfParser.NTriple</c> -> <code>NTripleParser</code>
-            <li><c>RdfParser.Turtle</c> -> <code>TurtleParser</code>
+            <li><c>RdfSerializer.Xml</c> -> 
<code>org.apache.juneau.jena.RdfXmlSerializer</code>
+            <li><c>RdfSerializer.XmlAbbrev</c> -> 
<code>org.apache.juneau.jena.RdfXmlAbbrevSerializer</code>
+            <li><c>RdfSerializer.N3</c> -> 
<code>org.apache.juneau.jena.N3Serializer</code>
+            <li><c>RdfSerializer.NTriple</c> -> 
<code>org.apache.juneau.jena.NTripleSerializer</code>
+            <li><c>RdfSerializer.Turtle</c> -> 
<code>org.apache.juneau.jena.TurtleSerializer</code>
+            <li><c>RdfParser.Xml</c> -> 
<code>org.apache.juneau.jena.RdfXmlParser</code>
+            <li><c>RdfParser.N3</c> -> 
<code>org.apache.juneau.jena.N3Parser</code>
+            <li><c>RdfParser.NTriple</c> -> 
<code>org.apache.juneau.jena.NTripleParser</code>
+            <li><c>RdfParser.Turtle</c> -> 
<code>org.apache.juneau.jena.TurtleParser</code>
          </ul>
       <li>
          New API for pairing serializers and parsers for simplified syntax:
@@ -37120,15 +37205,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>
@@ -37148,24 +37237,8 @@
       <jk>public</jk> Object myRestMethod() { ... }
    }
          </p>
-      <li>
-         New shortened form <a 
href="org/apache/juneau/http/remote/RemoteOp.html#value--"><code>RemoteOp.value()</code></a>
 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:  <a 
href="org/apache/juneau/http/remote/RemoteGet.html" title="annotation in 
org.apache.juneau.http.remote"><code>RemoteGet</code></a>/<a 
href="org/apache/juneau/http/remote/RemotePut.html" title="annotation in 
org.apache.juneau.http.remote"><code>RemotePut</code></a>/<a 
href="org/apache/juneau/http/remote/RemotePost.html" title="annotation in 
org.apache.juneau.http.remote"><code>RemotePost</code></a>/<a 
href="org/apache/juneau/http/remote/RemoteDelete.html" tit [...]
-      <li>
-         Significant refactoring of the classes in the <a 
href="org/apache/juneau/http/package-summary.html"><code>org.apache.juneau.http</code></a>
 package and subpackages.  Attempts were made to make classes as natural
-         extensions to the Apache HttpComponents APIs.  Significant new 
functionality here.
       <li>
          New <a href="org/apache/juneau/annotation/Marshalled.html" 
title="annotation in org.apache.juneau.annotation"><code>@Marshalled</code></a> 
annotation for non-bean classes.
-      <li>
-         New <a 
href="org/apache/juneau/annotation/Bean.html#example--"><code>@Bean(example)</code></a>
 annotation.
       <li>
          New <a 
href="org/apache/juneau/annotation/BeanConfig.html#ignoreUnknownEnumValues--"><code>@BeanConfig(ignoreUnknownEnumValues)</code></a>
 annotation and support for ignoring
          unknown enum values during parsing.
@@ -37173,6 +37246,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 <a 
href="org/apache/juneau/http/package-summary.html"><code>org.apache.juneau.http</code></a>
 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'><a 
href="org/apache/juneau/http/remote/RemoteOp.html" title="annotation in 
org.apache.juneau.http.remote"><code>RemoteOp</code></a>
+            <li class='ja'><a 
href="org/apache/juneau/http/remote/RemoteGet.html" title="annotation in 
org.apache.juneau.http.remote"><code>RemoteGet</code></a>
+            <li class='ja'><a 
href="org/apache/juneau/http/remote/RemotePut.html" title="annotation in 
org.apache.juneau.http.remote"><code>RemotePut</code></a>
+            <li class='ja'><a 
href="org/apache/juneau/http/remote/RemotePatch.html" title="annotation in 
org.apache.juneau.http.remote"><code>RemotePatch</code></a>
+            <li class='ja'><a 
href="org/apache/juneau/http/remote/RemotePost.html" title="annotation in 
org.apache.juneau.http.remote"><code>RemotePost</code></a>
+            <li class='ja'><a 
href="org/apache/juneau/http/remote/RemoteDelete.html" title="annotation in 
org.apache.juneau.http.remote"><code>RemoteDelete</code></a>
+         </ul>
+      </li>
+   </ul>
+
    <h5 class='topic w800'>juneau-rest-server</h5>
    <ul class='spaced-list'>
       <li>
@@ -37181,7 +37276,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'><a 
href="org/apache/juneau/rest/annotation/RestOp.html" title="annotation in 
org.apache.juneau.rest.annotation"><code>RestOp</code></a>
+            <li class='ja'><a 
href="org/apache/juneau/rest/annotation/RestGet.html" title="annotation in 
org.apache.juneau.rest.annotation"><code>RestGet</code></a>
+            <li class='ja'><a 
href="org/apache/juneau/rest/annotation/RestPut.html" title="annotation in 
org.apache.juneau.rest.annotation"><code>RestPut</code></a>
+            <li class='ja'><a 
href="org/apache/juneau/rest/annotation/RestPatch.html" title="annotation in 
org.apache.juneau.rest.annotation"><code>RestPatch</code></a>
+            <li class='ja'><a 
href="org/apache/juneau/rest/annotation/RestPost.html" title="annotation in 
org.apache.juneau.rest.annotation"><code>RestPost</code></a>
+            <li class='ja'><a 
href="org/apache/juneau/rest/annotation/RestDelete.html" title="annotation in 
org.apache.juneau.rest.annotation"><code>RestDelete</code></a>
+         </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  { ... }
@@ -37189,20 +37295,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 <a 
href="org/apache/juneau/rest/servlet/package-summary.html"><code>org.apache.juneau.rest.servlet</code></a>
 package and REST configs are in the <a 
href="org/apache/juneau/rest/config/package-summary.html"><code>org.apache.juneau.rest.config</code></a>
 package.
-      <li>
-         <ja>@RestMethod</ja> annotation has been replaced with 
-         <a href="org/apache/juneau/http/remote/RemoteGet.html" 
title="annotation in org.apache.juneau.http.remote"><code>RemoteGet</code></a> 
/ <a href="org/apache/juneau/http/remote/RemotePut.html" title="annotation in 
org.apache.juneau.http.remote"><code>RemotePut</code></a> / <a 
href="org/apache/juneau/http/remote/RemotePost.html" title="annotation in 
org.apache.juneau.http.remote"><code>RemotePost</code></a> / <a 
href="org/apache/juneau/http/remote/RemoteDelete.html" title="annotati [...]
-          / <a href="org/apache/juneau/http/remote/RemoteOp.html" 
title="annotation in org.apache.juneau.http.remote"><code>RemoteOp</code></a>
-      <li>
-         New shortened form <a 
href="org/apache/juneau/rest/annotation/RestOp.html#value--"><code>RestOp.value()</code></a>
 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'><a 
href="org/apache/juneau/rest/servlet/BasicRestServlet.html" title="class in 
org.apache.juneau.rest.servlet"><code>BasicRestServlet</code></a>
+            <li class='jc'><a 
href="org/apache/juneau/rest/servlet/BasicRestServletGroup.html" title="class 
in org.apache.juneau.rest.servlet"><code>BasicRestServletGroup</code></a>
+            <li class='jc'><a 
href="org/apache/juneau/rest/servlet/BasicRestObject.html" title="class in 
org.apache.juneau.rest.servlet"><code>BasicRestObject</code></a>
+            <li class='jc'><a 
href="org/apache/juneau/rest/servlet/BasicRestObjectGroup.html" title="class in 
org.apache.juneau.rest.servlet"><code>BasicRestObjectGroup</code></a>
+         </ul>
+      </li>
    </ul>
    
    <h5 class='topic w800'>juneau-dto</h5>
@@ -37225,6 +37324,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>


Reply via email to