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 fdeefcc56 Javadocs
fdeefcc56 is described below
commit fdeefcc569543916106216551b0168095fc66ee7
Author: JamesBognar <[email protected]>
AuthorDate: Sat Jun 18 05:50:39 2022 -0400
Javadocs
---
.../plaintext/PlainTextSerializerSession.java | 1 -
.../06.juneau-rest-server/05.jrs.Marshalling.html | 2 +-
.../24.jrs.ResponseProcessors.html | 66 +++++-
.../06.juneau-rest-server/25.jrs.RestRpc.html | 2 +-
.../27.jrs.FluentAssertions.html | 22 --
....UtilityBeans.html => 27.jrs.UtilityBeans.html} | 0
...29.jrs.HtmlBeans.html => 28.jrs.HtmlBeans.html} | 0
....jrs.OtherNotes.html => 29.jrs.OtherNotes.html} | 0
...10.jmc.Listeners.html => 09.jmc.Listeners.html} | 0
.../09.jmc.Logging.html | 162 -------------
juneau-doc/src/main/javadoc/overview.html | 260 +++++++--------------
juneau-doc/src/main/javadoc/resources/docs.txt | 2 -
.../src/main/javadoc/resources/fragments/toc.html | 4 +-
.../juneau-examples-rest-jetty.cfg | 67 ------
.../examples/rest/springboot/RootResources.java | 4 +-
.../juneau-microservice-test.cfg | 18 --
.../juneau-microservice-ftest/logs/.gitignore | 1 +
.../juneau-microservice-ftest/logs/empty.txt | 0
.../my-jetty-microservice.cfg | 66 ------
.../java/org/apache/juneau/rest/RestContext.java | 2 +-
.../java/org/apache/juneau/rest/RestOpContext.java | 6 +-
.../java/org/apache/juneau/rest/RestOpSession.java | 1 -
.../org/apache/juneau/rest/RestOperations.java | 1 -
.../java/org/apache/juneau/rest/RestRequest.java | 1 -
.../java/org/apache/juneau/rest/RestResponse.java | 1 -
.../java/org/apache/juneau/rest/RestSession.java | 1 -
.../org/apache/juneau/rest/annotation/Rest.java | 4 -
.../assertions/FluentProtocolVersionAssertion.java | 1 -
.../assertions/FluentRequestBodyAssertion.java | 1 -
.../FluentRequestFormParamAssertion.java | 1 -
.../assertions/FluentRequestHeaderAssertion.java | 1 -
.../assertions/FluentRequestLineAssertion.java | 1 -
.../FluentRequestQueryParamAssertion.java | 1 -
.../juneau-sc-server/juneau-server-config.cfg | 67 ------
pom.xml | 2 +-
35 files changed, 153 insertions(+), 616 deletions(-)
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextSerializerSession.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextSerializerSession.java
index 35ae733b9..51a95dbe1 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextSerializerSession.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextSerializerSession.java
@@ -33,7 +33,6 @@ import org.apache.juneau.svl.*;
* </ul>
*
* <ul class='seealso'>
- * <li class='link'>{@doc jm.PlainTextDdetails}
* <li class='extlink'>{@source}
* </ul>
*/
diff --git
a/juneau-doc/docs/Topics/06.juneau-rest-server/05.jrs.Marshalling.html
b/juneau-doc/docs/Topics/06.juneau-rest-server/05.jrs.Marshalling.html
index 4a5498b13..ffe692605 100644
--- a/juneau-doc/docs/Topics/06.juneau-rest-server/05.jrs.Marshalling.html
+++ b/juneau-doc/docs/Topics/06.juneau-rest-server/05.jrs.Marshalling.html
@@ -99,7 +99,7 @@
| }
</p>
<p>
- They can also be defined through {@doc
jrs.CustomRestContextsAndBuilders custom REST context and builders}.
+ They can also be defined through {@doc jrs.RestContext custom
REST context and builders}.
</p>
<p>
diff --git
a/juneau-doc/docs/Topics/06.juneau-rest-server/24.jrs.ResponseProcessors.html
b/juneau-doc/docs/Topics/06.juneau-rest-server/24.jrs.ResponseProcessors.html
index 51549bff6..22649edc9 100644
---
a/juneau-doc/docs/Topics/06.juneau-rest-server/24.jrs.ResponseProcessors.html
+++
b/juneau-doc/docs/Topics/06.juneau-rest-server/24.jrs.ResponseProcessors.html
@@ -13,10 +13,72 @@
***************************************************************************************************************************/
-->
-{title:'Response Processors', created:'9.0.0', flags:'TODO'}
+{title:'Response Processors', created:'9.0.0'}
<div class='topic'>
<p>
- TODO
+ The REST Server API uses the concept of registered response
processors for converting objects returned by REST
+ methods or set through {@link
oajr.RestResponse#setContent(Object)} into appropriate HTTP responses.
+ </p>
+ <p>
+ By default, REST resource classes are registered with the
following response processors:
+ </p>
+ <ul class='javatree'>
+ <li class='jc'>{@link oajr.processor.HttpEntityProcessor}
+ <li class='jc'>{@link oajr.processor.HttpResourceProcessor}
+ <li class='jc'>{@link oajr.processor.HttpResponseProcessor}
+ <li class='jc'>{@link oajr.processor.InputStreamProcessor}
+ <li class='jc'>{@link oajr.processor.PlainTextPojoProcessor}
+ <li class='jc'>{@link oajr.processor.ReaderProcessor}
+ <li class='jc'>{@link oajr.processor.ResponseBeanProcessor}
+ <li class='jc'>{@link oajr.processor.SerializedPojoProcessor}
+ <li class='jc'>{@link oajr.processor.ThrowableProcessor}
+ </ul>
+ <p>
+ Custom response processors can be associated with REST
resources via the following:
+ </p>
+ <ul>
+ <li class='ja'>{@link oajr.annotation.Rest#responseProcessors}
+ <li class='jm'>{@link
org.apache.juneau.rest.RestContext.Builder#responseProcessors()}
+ </ul>
+
+ <p>
+ Response processors can be used to process POJOs that cannot
normally be handled through Juneau serializers, or
+ because it's simply easier to define response processors for
special cases.
+ </p>
+ <p>
+ The following example shows how to create a response processor
to handle special <c>Foo</c> objects outside the
+ normal Juneau architecture.
+ </p>
+ <p class='bjava'>
+ <ja>@Rest</ja>(
+ path=<js>"/example"</js>,
+ responseProcessors=FooProcessor.<jk>class</jk>
+ )
+ <jk>public class</jk> Example <jk>extends</jk> BasicRestServlet
<jk>implements</jk> BasicUniversalConfig {
+
+ <ja>@RestGet</ja>(<js>"/"</js>)
+ <jk>public</jk> Foo test1() {
+ <jk>return new</jk> Foo(<js>"123"</js>);
+ }
+
+ <jk>public static class</jk> FooProcessor
<jk>implements</jk> ResponseProcessor {
+ <ja>@Override</ja>
+ <jk>public int</jk> process(RestOpSession
<jv>opSession</jv>) {
+
+ RestResponse <jv>res</jv> =
<jv>opSession</jv>.getRestResponse();
+ Foo <jv>foo</jv> =
<jv>res</jv>.getOutput(Foo.<jk>class</jk>);
+
+ <jk>if</jk> (<jv>foo</jv> ==
<jk>null</jk>)
+ <jk>return</jk>
<jsf>NEXT</jsf>; <jc>// Let the next processor handle it.</jc>
+
+ <jc>// Set some headers and body
content.</jc>
+
<jv>res</jv>.setHeader(<js>"Foo-ID"</js>, <jv>foo</jv>.getId());
+
<jv>res</jv>.getWriter().write(<js>"foo.id="</js> + <jv>foo</jv>.getId());
+
+ <jk>return</jk> <jsf>FINISHED</jsf>;
<jc>// We handled it.</jc>
+ }
+ }
+ }
</p>
</div>
\ No newline at end of file
diff --git a/juneau-doc/docs/Topics/06.juneau-rest-server/25.jrs.RestRpc.html
b/juneau-doc/docs/Topics/06.juneau-rest-server/25.jrs.RestRpc.html
index 175e0f9cb..f6eadcdf1 100644
--- a/juneau-doc/docs/Topics/06.juneau-rest-server/25.jrs.RestRpc.html
+++ b/juneau-doc/docs/Topics/06.juneau-rest-server/25.jrs.RestRpc.html
@@ -21,7 +21,7 @@
</p>
<ul>
<li class='note'>
- This is not to be confused with {@doc jrs.Proxies REST
Proxies} which are entirely client-side driven Java interfaces
+ This is not to be confused with {@doc
juneau-rest-server-springboot REST Proxies} which are entirely client-side
driven Java interfaces
against arbitrary backend REST interfaces.
</ul>
diff --git
a/juneau-doc/docs/Topics/06.juneau-rest-server/27.jrs.FluentAssertions.html
b/juneau-doc/docs/Topics/06.juneau-rest-server/27.jrs.FluentAssertions.html
deleted file mode 100644
index a9d310390..000000000
--- a/juneau-doc/docs/Topics/06.juneau-rest-server/27.jrs.FluentAssertions.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!--
-/***************************************************************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file
- * distributed with this work for additional information regarding copyright
ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
or implied. See the License for the
- * specific language governing permissions and limitations under the License.
-
***************************************************************************************************************************/
- -->
-
-{title:'Fluent Assertions', created:'9.0.0', flags:'TODO'}
-
-<div class='topic'>
- <p>
- TODO
- </p>
-</div>
\ No newline at end of file
diff --git
a/juneau-doc/docs/Topics/06.juneau-rest-server/28.jrs.UtilityBeans.html
b/juneau-doc/docs/Topics/06.juneau-rest-server/27.jrs.UtilityBeans.html
similarity index 100%
rename from
juneau-doc/docs/Topics/06.juneau-rest-server/28.jrs.UtilityBeans.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/27.jrs.UtilityBeans.html
diff --git a/juneau-doc/docs/Topics/06.juneau-rest-server/29.jrs.HtmlBeans.html
b/juneau-doc/docs/Topics/06.juneau-rest-server/28.jrs.HtmlBeans.html
similarity index 100%
rename from juneau-doc/docs/Topics/06.juneau-rest-server/29.jrs.HtmlBeans.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/28.jrs.HtmlBeans.html
diff --git
a/juneau-doc/docs/Topics/06.juneau-rest-server/30.jrs.OtherNotes.html
b/juneau-doc/docs/Topics/06.juneau-rest-server/29.jrs.OtherNotes.html
similarity index 100%
rename from juneau-doc/docs/Topics/06.juneau-rest-server/30.jrs.OtherNotes.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/29.jrs.OtherNotes.html
diff --git
a/juneau-doc/docs/Topics/12.juneau-microservice-core/10.jmc.Listeners.html
b/juneau-doc/docs/Topics/12.juneau-microservice-core/09.jmc.Listeners.html
similarity index 100%
rename from
juneau-doc/docs/Topics/12.juneau-microservice-core/10.jmc.Listeners.html
rename to
juneau-doc/docs/Topics/12.juneau-microservice-core/09.jmc.Listeners.html
diff --git
a/juneau-doc/docs/Topics/12.juneau-microservice-core/09.jmc.Logging.html
b/juneau-doc/docs/Topics/12.juneau-microservice-core/09.jmc.Logging.html
deleted file mode 100644
index 7ca7e36de..000000000
--- a/juneau-doc/docs/Topics/12.juneau-microservice-core/09.jmc.Logging.html
+++ /dev/null
@@ -1,162 +0,0 @@
-<!--
-/***************************************************************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file
- * distributed with this work for additional information regarding copyright
ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
or implied. See the License for the
- * specific language governing permissions and limitations under the License.
-
***************************************************************************************************************************/
- -->
-
-{title:'Logging', created:'8.0.0', deprecated:'8.1.2'}
-
-<div class='topic'>
- <p>
- The Microservice API provides build-in but configurable and
overridable support for logging.
- </p>
- <p>
- The method for configuring logging is as follows:
- </p>
- <ul class='javatree'>
- <li class='jc'>{@link oaj.microservice.Microservice.Builder}
- <ul class='javatreec'>
- <li class='jm'>{@link
oaj.microservice.Microservice.Builder#logConfig(LogConfig)
logConfig(LogConfig)}
- <li class='jm'>{@link
oaj.microservice.Microservice.Builder#logger(Logger) logger(Logger)}
- </ul>
- </li>
- </ul>
- <p>
- If not specified, the logging configuration is pulled in from
the configuration file:
- </p>
- <p class='bini'>
- |
<jc>#=======================================================================================================================
- | # Logger settings
- |
#-----------------------------------------------------------------------------------------------------------------------
- | # See FileHandler Java class for details.
- |
#=======================================================================================================================</jc>
- | <cs>[Logging]</cs>
- |
- | <jc># The directory where to create the log file.
- | # Default is "."</jc>
- | <ck>logDir</ck> = <cv>logs</cv>
- |
- | <jc># The name of the log file to create for the main
logger.
- | # The logDir and logFile make up the pattern that's
passed to the FileHandler
- | # constructor.
- | # If value is not specified, then logging to a file
will not be set up.</jc>
- | <ck>logFile</ck> = <cv>microservice.%g.log</cv>
- |
- | <jc># Whether to append to the existing log file or
create a new one.</jc>
- | <ck>append</ck> = <cv>false</cv>
- |
- | <jc># The SimpleDateFormat format to use for dates.</jc>
- | <ck>dateFormat</ck> = <cv>yyyy.MM.dd hh:mm:ss</cv>
- |
- | <jc># The log message format.
- | # The value can contain any of the following variables:
- | # {date} - The date, formatted per dateFormat.
- | # {class} - The class name.
- | # {method} - The method name.
- | # {logger} - The logger name.
- | # {level} - The log level name.
- | # {msg} - The log message.
- | # {threadid} - The thread ID.
- | # {exception} - The localized exception
message.</jc>
- | <ck>format</ck> = <cv>[{date} {level}] {msg}%n</cv>
- |
- | <jc># The maximum log file size.
- | # Suffixes available for numbers.
- | # See Config.getInt(String,int) for details.</jc>
- | <ck>limit</ck> = <cv>1M</cv>
- |
- | <jc># Max number of log files.</jc>
- | <ck>count</ck> = <cv>5</cv>
- |
- | <jc># Default log levels.
- | # Format is lax-JSON.
- | # Keys are logger names.
- | # Values are serialized Level POJOs (SEVERE, WARNING,
INFO, CONFIG, FINE, FINER, FINEST)</jc>
- | <ck>levels</ck> =
- | <cv>{
- | '': 'WARNING',
- | org.apache.juneau: 'WARNING',
- | org.eclipse.jetty: 'WARNING'
- | }</cv>
- |
- | <jc># Only print unique stack traces once and then
refer to them by a simple 8 character hash identifier.
- | # Useful for preventing log files from filling up with
duplicate stack traces.</jc>
- | <ck>useStackTraceHashes</ck> = <cv>true</cv>
- |
- | <jc># The default level for the console logger.
- | # Values are serialized Level POJOs (SEVERE, WARNING,
INFO, CONFIG, FINE, FINER, FINEST)</jc>
- | <ck>consoleLevel</ck> = <cv>WARNING</cv>
- |
- | <jc># The default level for the file logger.
- | # Values are serialized Level POJOs (SEVERE, WARNING,
INFO, CONFIG, FINE, FINER, FINEST)</jc>
- | <ck>fileLevel</ck> = <cv>INFO</cv>
- </p>
- <p>
- The logging configuration can also be defined programmatically
through the following API:
- </p>
- <ul class='javatree'>
- <li class='jc'>{@link oaj.microservice.LogConfig}
- <ul class='javatreec'>
- <li class='jm'>{@link
oaj.microservice.LogConfig#create() create()}
- <li class='jm'>{@link
oaj.microservice.LogConfig#append() append()}
- <li class='jm'>{@link
oaj.microservice.LogConfig#consoleLevel(Level) consoleLevel(Level)}
- <li class='jm'>{@link
oaj.microservice.LogConfig#count(int) count(int)}
- <li class='jm'>{@link
oaj.microservice.LogConfig#fileLevel(Level) fileLevel(Level)}
- <li class='jm'>{@link
oaj.microservice.LogConfig#formatter(Formatter) formatter(Formatter)}
- <li class='jm'>{@link
oaj.microservice.LogConfig#level(String,Level) level(String,Level)}
- <li class='jm'>{@link
oaj.microservice.LogConfig#levels(Map) levels(Map)}
- <li class='jm'>{@link
oaj.microservice.LogConfig#limit(int) limit(int)}
- <li class='jm'>{@link
oaj.microservice.LogConfig#logDir(String) logDir(String)}
- <li class='jm'>{@link
oaj.microservice.LogConfig#logFile(String) logFile(String)}
- </ul>
- </li>
- </ul>
- <h5 class='figure'>Example:</h5>
- <p class='bjava'>
- | <jk>public static void</jk> main(String[]
<jv>args</jv>) {
- |
- | LogConfig <jv>logConfig</jv> = LogConfig
- | .<jsm>create</jsm>()
- | .append(<jk>true</jk>)
- | .consoleLevel(<jsf>FINE</jsf>)
- | .level(<js>"org.mylogger"</js>,
<jsf>FINER</jsf>)
- | .logDir(<js>"my-log-files"</js>);
- |
- | Microservice
- | .<jsm>create</jsm>()
- | .args(<jv>args</jv>)
- | .logConfig(<jv>logConfig</jv>)
- | .build()
- | .start()
- | .join()
- | ;
- | }
- </p>
- <p>
- If you wish to bypass the default logging configuration
entirely, you can pass in your own logger via
- the {@link
oaj.microservice.Microservice.Builder#logger(Logger)} method.
- </p>
- <p>
- In addition to configuring the built-in Java logging framework,
the following convenience methods are also
- provided on the {@link oaj.microservice.Microservice} class for
logging.
- </p>
-
- <ul class='javatree'>
- <li class='jc'>{@link oaj.microservice.Microservice}
- <ul class='javatreec'>
- <li class='jm'>{@link
oaj.microservice.Microservice#getLogger() getLogger()}
- <li class='jm'>{@link
oaj.microservice.Microservice#out(Messages,String,Object...)
out(Messages,String,Object...)}
- <li class='jm'>{@link
oaj.microservice.Microservice#err(Messages,String,Object...)
err(Messages,String,Object...)}
- </ul>
- </li>
- </ul>
-</div>
\ No newline at end of file
diff --git a/juneau-doc/src/main/javadoc/overview.html
b/juneau-doc/src/main/javadoc/overview.html
index f35674cbc..1219cb777 100644
--- a/juneau-doc/src/main/javadoc/overview.html
+++ b/juneau-doc/src/main/javadoc/overview.html
@@ -417,10 +417,9 @@
<li><p><a class='doclink'
href='#juneau-rest-server.jrs.UsingWithOsgi'>Using with OSGi</a></p>
<li><p><a class='doclink'
href='#juneau-rest-server.jrs.RestContext'>RestContext</a><span
class='update'>created: <b>9.0.0</b></span></p>
<li><p><a class='doclink'
href='#juneau-rest-server.jrs.RestOpContext'>RestOpContext</a><span
class='update'>created: <b>9.0.0</b></span></p>
- <li><p><a class='doclink'
href='#juneau-rest-server.jrs.ResponseProcessors'>Response Processors</a><span
class='update'>created: <b>9.0.0</b>, <b><red>TODO</red></b></span></p>
+ <li><p><a class='doclink'
href='#juneau-rest-server.jrs.ResponseProcessors'>Response Processors</a><span
class='update'>created: <b>9.0.0</b></span></p>
<li><p><a class='doclink'
href='#juneau-rest-server.jrs.RestRpc'>REST/RPC</a><span
class='update'>updated: 8.0.0,<b>9.0.0</b></span></p>
<li><p><a class='doclink'
href='#juneau-rest-server.jrs.SerializingUris'>Serializing URIs</a><span
class='update'>updated: <b>9.0.0</b></span></p>
- <li><p><a class='doclink'
href='#juneau-rest-server.jrs.FluentAssertions'>Fluent Assertions</a><span
class='update'>created: <b>9.0.0</b>, <b><red>TODO</red></b></span></p>
<li><p><a class='doclink'
href='#juneau-rest-server.jrs.UtilityBeans'>Utility Beans</a><span
class='update'>created: <b>9.0.0</b></span></p>
<li><p><a class='doclink'
href='#juneau-rest-server.jrs.HtmlBeans'>Using with HTML Beans</a><span
class='update'>created: <b>9.0.0</b></span></p>
<li><p><a class='doclink'
href='#juneau-rest-server.jrs.OtherNotes'>Other Notes</a></p>
@@ -484,7 +483,6 @@
<li><p><a class='doclink'
href='#juneau-microservice-core.jmc.SystemProperties'>System
properties</a><span class='update'>created: 8.0.0, deprecated: 8.1.2</span></p>
<li><p><a class='doclink'
href='#juneau-microservice-core.jmc.VarResolver'>VarResolver</a><span
class='update'>created: 8.0.0, deprecated: 8.1.2</span></p>
<li><p><a class='doclink'
href='#juneau-microservice-core.jmc.ConsoleCommands'>Console Commands</a><span
class='update'>created: 8.0.0, deprecated: 8.1.2</span></p>
- <li><p><a class='doclink'
href='#juneau-microservice-core.jmc.Logging'>Logging</a><span
class='update'>created: 8.0.0, deprecated: 8.1.2</span></p>
<li><p><a class='doclink'
href='#juneau-microservice-core.jmc.Listeners'>Listeners</a><span
class='update'>created: 8.0.0, deprecated: 8.1.2</span></p>
</ol>
<li><p class='toc2'><a class='doclink'
href='#juneau-microservice-jetty'>juneau-microservice-jetty</a><span
class='update'>created: 8.1.0, deprecated: 8.1.2</span></p>
@@ -18381,7 +18379,7 @@
}
</p>
<p>
- They can also be defined through {@doc
jrs.CustomRestContextsAndBuilders custom REST context and builders}.
+ They can also be defined through {@doc jrs.RestContext custom
REST context and builders}.
</p>
<p>
@@ -21651,11 +21649,73 @@
<!--
====================================================================================================
-->
-<h3 class='topic' onclick='toggle(this)'><a
href='#juneau-rest-server.jrs.ResponseProcessors'
id='juneau-rest-server.jrs.ResponseProcessors'>6.24 - Response
Processors</a><span class='update'>created: <b>9.0.0</b>,
<b><red>TODO</red></b></span></h3>
+<h3 class='topic' onclick='toggle(this)'><a
href='#juneau-rest-server.jrs.ResponseProcessors'
id='juneau-rest-server.jrs.ResponseProcessors'>6.24 - Response
Processors</a><span class='update'>created: <b>9.0.0</b></span></h3>
<div class='topic'><!-- START: 6.24 -
juneau-rest-server.jrs.ResponseProcessors -->
<div class='topic'>
<p>
- TODO
+ The REST Server API uses the concept of registered response
processors for converting objects returned by REST
+ methods or set through {@link
org.apache.juneau.rest.RestResponse#setContent(Object)} into appropriate HTTP
responses.
+ </p>
+ <p>
+ By default, REST resource classes are registered with the
following response processors:
+ </p>
+ <ul class='javatree'>
+ <li class='jc'>{@link
org.apache.juneau.rest.processor.HttpEntityProcessor}
+ <li class='jc'>{@link
org.apache.juneau.rest.processor.HttpResourceProcessor}
+ <li class='jc'>{@link
org.apache.juneau.rest.processor.HttpResponseProcessor}
+ <li class='jc'>{@link
org.apache.juneau.rest.processor.InputStreamProcessor}
+ <li class='jc'>{@link
org.apache.juneau.rest.processor.PlainTextPojoProcessor}
+ <li class='jc'>{@link
org.apache.juneau.rest.processor.ReaderProcessor}
+ <li class='jc'>{@link
org.apache.juneau.rest.processor.ResponseBeanProcessor}
+ <li class='jc'>{@link
org.apache.juneau.rest.processor.SerializedPojoProcessor}
+ <li class='jc'>{@link
org.apache.juneau.rest.processor.ThrowableProcessor}
+ </ul>
+ <p>
+ Custom response processors can be associated with REST
resources via the following:
+ </p>
+ <ul>
+ <li class='ja'>{@link
org.apache.juneau.rest.annotation.Rest#responseProcessors}
+ <li class='jm'>{@link
org.apache.juneau.rest.RestContext.Builder#responseProcessors()}
+ </ul>
+
+ <p>
+ Response processors can be used to process POJOs that cannot
normally be handled through Juneau serializers, or
+ because it's simply easier to define response processors for
special cases.
+ </p>
+ <p>
+ The following example shows how to create a response processor
to handle special <c>Foo</c> objects outside the
+ normal Juneau architecture.
+ </p>
+ <p class='bjava'>
+ <ja>@Rest</ja>(
+ path=<js>"/example"</js>,
+ responseProcessors=FooProcessor.<jk>class</jk>
+ )
+ <jk>public class</jk> Example <jk>extends</jk> BasicRestServlet
<jk>implements</jk> BasicUniversalConfig {
+
+ <ja>@RestGet</ja>(<js>"/"</js>)
+ <jk>public</jk> Foo test1() {
+ <jk>return new</jk> Foo(<js>"123"</js>);
+ }
+
+ <jk>public static class</jk> FooProcessor
<jk>implements</jk> ResponseProcessor {
+ <ja>@Override</ja>
+ <jk>public int</jk> process(RestOpSession
<jv>opSession</jv>) {
+
+ RestResponse <jv>res</jv> =
<jv>opSession</jv>.getRestResponse();
+ Foo <jv>foo</jv> =
<jv>res</jv>.getOutput(Foo.<jk>class</jk>);
+
+ <jk>if</jk> (<jv>foo</jv> ==
<jk>null</jk>)
+ <jk>return</jk>
<jsf>NEXT</jsf>; <jc>// Let the next processor handle it.</jc>
+
+ <jc>// Set some headers and body
content.</jc>
+
<jv>res</jv>.setHeader(<js>"Foo-ID"</js>, <jv>foo</jv>.getId());
+
<jv>res</jv>.getWriter().write(<js>"foo.id="</js> + <jv>foo</jv>.getId());
+
+ <jk>return</jk> <jsf>FINISHED</jsf>;
<jc>// We handled it.</jc>
+ }
+ }
+ }
</p>
</div>
</div><!-- END: 6.24 - juneau-rest-server.jrs.ResponseProcessors -->
@@ -21670,7 +21730,7 @@
</p>
<ul>
<li class='note'>
- This is not to be confused with {@doc jrs.Proxies REST
Proxies} which are entirely client-side driven Java interfaces
+ This is not to be confused with {@doc
juneau-rest-server-springboot REST Proxies} which are entirely client-side
driven Java interfaces
against arbitrary backend REST interfaces.
</ul>
@@ -22082,19 +22142,8 @@
<!--
====================================================================================================
-->
-<h3 class='topic' onclick='toggle(this)'><a
href='#juneau-rest-server.jrs.FluentAssertions'
id='juneau-rest-server.jrs.FluentAssertions'>6.27 - Fluent Assertions</a><span
class='update'>created: <b>9.0.0</b>, <b><red>TODO</red></b></span></h3>
-<div class='topic'><!-- START: 6.27 - juneau-rest-server.jrs.FluentAssertions
-->
-<div class='topic'>
- <p>
- TODO
- </p>
-</div>
-</div><!-- END: 6.27 - juneau-rest-server.jrs.FluentAssertions -->
-
-<!--
====================================================================================================
-->
-
-<h3 class='topic' onclick='toggle(this)'><a
href='#juneau-rest-server.jrs.UtilityBeans'
id='juneau-rest-server.jrs.UtilityBeans'>6.28 - Utility Beans</a><span
class='update'>created: <b>9.0.0</b></span></h3>
-<div class='topic'><!-- START: 6.28 - juneau-rest-server.jrs.UtilityBeans -->
+<h3 class='topic' onclick='toggle(this)'><a
href='#juneau-rest-server.jrs.UtilityBeans'
id='juneau-rest-server.jrs.UtilityBeans'>6.27 - Utility Beans</a><span
class='update'>created: <b>9.0.0</b></span></h3>
+<div class='topic'><!-- START: 6.27 - juneau-rest-server.jrs.UtilityBeans -->
<div class='topic'>
<p>
The {@link org.apache.juneau.rest.beans} package contains a set
of reusable utility beans meant to help with putting together
@@ -22208,12 +22257,12 @@
</p>
</div>
-</div><!-- END: 6.28 - juneau-rest-server.jrs.UtilityBeans -->
+</div><!-- END: 6.27 - juneau-rest-server.jrs.UtilityBeans -->
<!--
====================================================================================================
-->
-<h3 class='topic' onclick='toggle(this)'><a
href='#juneau-rest-server.jrs.HtmlBeans'
id='juneau-rest-server.jrs.HtmlBeans'>6.29 - Using with HTML Beans</a><span
class='update'>created: <b>9.0.0</b></span></h3>
-<div class='topic'><!-- START: 6.29 - juneau-rest-server.jrs.HtmlBeans -->
+<h3 class='topic' onclick='toggle(this)'><a
href='#juneau-rest-server.jrs.HtmlBeans'
id='juneau-rest-server.jrs.HtmlBeans'>6.28 - Using with HTML Beans</a><span
class='update'>created: <b>9.0.0</b></span></h3>
+<div class='topic'><!-- START: 6.28 - juneau-rest-server.jrs.HtmlBeans -->
<div class='topic'>
<p>
The {@link org.apache.juneau.examples.rest.HtmlBeansResource}
class shows how {@link org.apache.juneau.dto.html5 HTML5 beans} can be
@@ -22323,12 +22372,12 @@
<img class='bordered w800' src='doc-files/jrs.HtmlBeans.form.json.png'>
</div>
-</div><!-- END: 6.29 - juneau-rest-server.jrs.HtmlBeans -->
+</div><!-- END: 6.28 - juneau-rest-server.jrs.HtmlBeans -->
<!--
====================================================================================================
-->
-<h3 class='topic' onclick='toggle(this)'><a
href='#juneau-rest-server.jrs.OtherNotes'
id='juneau-rest-server.jrs.OtherNotes'>6.30 - Other Notes</a></h3>
-<div class='topic'><!-- START: 6.30 - juneau-rest-server.jrs.OtherNotes -->
+<h3 class='topic' onclick='toggle(this)'><a
href='#juneau-rest-server.jrs.OtherNotes'
id='juneau-rest-server.jrs.OtherNotes'>6.29 - Other Notes</a></h3>
+<div class='topic'><!-- START: 6.29 - juneau-rest-server.jrs.OtherNotes -->
<div class='topic'>
<ul class='notes'>
<li class='note'>
@@ -22341,7 +22390,7 @@
parameter can be specified:
<l>"/sample?X-Response-Headers={Refresh=1}"</l>
</ul>
</div>
-</div><!-- END: 6.30 - juneau-rest-server.jrs.OtherNotes -->
+</div><!-- END: 6.29 - juneau-rest-server.jrs.OtherNotes -->
</div><!-- END: 6 - juneau-rest-server -->
<!--
====================================================================================================
-->
@@ -26216,159 +26265,8 @@
<!--
====================================================================================================
-->
-<h3 class='topic' onclick='toggle(this)'><a
href='#juneau-microservice-core.jmc.Logging'
id='juneau-microservice-core.jmc.Logging'>12.9 - Logging</a><span
class='update'>created: 8.0.0, deprecated: 8.1.2</span></h3>
-<div class='topic'><!-- START: 12.9 - juneau-microservice-core.jmc.Logging -->
-<div class='topic'>
- <p>
- The Microservice API provides build-in but configurable and
overridable support for logging.
- </p>
- <p>
- The method for configuring logging is as follows:
- </p>
- <ul class='javatree'>
- <li class='jc'>{@link
org.apache.juneau.microservice.Microservice.Builder}
- <ul class='javatreec'>
- <li class='jm'>{@link
org.apache.juneau.microservice.Microservice.Builder#logConfig(LogConfig)
logConfig(LogConfig)}
- <li class='jm'>{@link
org.apache.juneau.microservice.Microservice.Builder#logger(Logger)
logger(Logger)}
- </ul>
- </li>
- </ul>
- <p>
- If not specified, the logging configuration is pulled in from
the configuration file:
- </p>
- <p class='bini'>
-
<jc>#=======================================================================================================================
- # Logger settings
-
#-----------------------------------------------------------------------------------------------------------------------
- # See FileHandler Java class for details.
-
#=======================================================================================================================</jc>
- <cs>[Logging]</cs>
-
- <jc># The directory where to create the log file.
- # Default is "."</jc>
- <ck>logDir</ck> = <cv>logs</cv>
-
- <jc># The name of the log file to create for the main logger.
- # The logDir and logFile make up the pattern that's passed to the
FileHandler
- # constructor.
- # If value is not specified, then logging to a file will not be set
up.</jc>
- <ck>logFile</ck> = <cv>microservice.%g.log</cv>
-
- <jc># Whether to append to the existing log file or create a new
one.</jc>
- <ck>append</ck> = <cv>false</cv>
-
- <jc># The SimpleDateFormat format to use for dates.</jc>
- <ck>dateFormat</ck> = <cv>yyyy.MM.dd hh:mm:ss</cv>
-
- <jc># The log message format.
- # The value can contain any of the following variables:
- # {date} - The date, formatted per dateFormat.
- # {class} - The class name.
- # {method} - The method name.
- # {logger} - The logger name.
- # {level} - The log level name.
- # {msg} - The log message.
- # {threadid} - The thread ID.
- # {exception} - The localized exception message.</jc>
- <ck>format</ck> = <cv>[{date} {level}] {msg}%n</cv>
-
- <jc># The maximum log file size.
- # Suffixes available for numbers.
- # See Config.getInt(String,int) for details.</jc>
- <ck>limit</ck> = <cv>1M</cv>
-
- <jc># Max number of log files.</jc>
- <ck>count</ck> = <cv>5</cv>
-
- <jc># Default log levels.
- # Format is lax-JSON.
- # Keys are logger names.
- # Values are serialized Level POJOs (SEVERE, WARNING, INFO, CONFIG,
FINE, FINER, FINEST)</jc>
- <ck>levels</ck> =
- <cv>{
- '': 'WARNING',
- org.apache.juneau: 'WARNING',
- org.eclipse.jetty: 'WARNING'
- }</cv>
-
- <jc># Only print unique stack traces once and then refer to them by a
simple 8 character hash identifier.
- # Useful for preventing log files from filling up with duplicate stack
traces.</jc>
- <ck>useStackTraceHashes</ck> = <cv>true</cv>
-
- <jc># The default level for the console logger.
- # Values are serialized Level POJOs (SEVERE, WARNING, INFO, CONFIG,
FINE, FINER, FINEST)</jc>
- <ck>consoleLevel</ck> = <cv>WARNING</cv>
-
- <jc># The default level for the file logger.
- # Values are serialized Level POJOs (SEVERE, WARNING, INFO, CONFIG,
FINE, FINER, FINEST)</jc>
- <ck>fileLevel</ck> = <cv>INFO</cv>
- </p>
- <p>
- The logging configuration can also be defined programmatically
through the following API:
- </p>
- <ul class='javatree'>
- <li class='jc'>{@link org.apache.juneau.microservice.LogConfig}
- <ul class='javatreec'>
- <li class='jm'>{@link
org.apache.juneau.microservice.LogConfig#create() create()}
- <li class='jm'>{@link
org.apache.juneau.microservice.LogConfig#append() append()}
- <li class='jm'>{@link
org.apache.juneau.microservice.LogConfig#consoleLevel(Level)
consoleLevel(Level)}
- <li class='jm'>{@link
org.apache.juneau.microservice.LogConfig#count(int) count(int)}
- <li class='jm'>{@link
org.apache.juneau.microservice.LogConfig#fileLevel(Level) fileLevel(Level)}
- <li class='jm'>{@link
org.apache.juneau.microservice.LogConfig#formatter(Formatter)
formatter(Formatter)}
- <li class='jm'>{@link
org.apache.juneau.microservice.LogConfig#level(String,Level)
level(String,Level)}
- <li class='jm'>{@link
org.apache.juneau.microservice.LogConfig#levels(Map) levels(Map)}
- <li class='jm'>{@link
org.apache.juneau.microservice.LogConfig#limit(int) limit(int)}
- <li class='jm'>{@link
org.apache.juneau.microservice.LogConfig#logDir(String) logDir(String)}
- <li class='jm'>{@link
org.apache.juneau.microservice.LogConfig#logFile(String) logFile(String)}
- </ul>
- </li>
- </ul>
- <h5 class='figure'>Example:</h5>
- <p class='bjava'>
- <jk>public static void</jk> main(String[] <jv>args</jv>) {
-
- LogConfig <jv>logConfig</jv> = LogConfig
- .<jsm>create</jsm>()
- .append(<jk>true</jk>)
- .consoleLevel(<jsf>FINE</jsf>)
- .level(<js>"org.mylogger"</js>, <jsf>FINER</jsf>)
- .logDir(<js>"my-log-files"</js>);
-
- Microservice
- .<jsm>create</jsm>()
- .args(<jv>args</jv>)
- .logConfig(<jv>logConfig</jv>)
- .build()
- .start()
- .join()
- ;
- }
- </p>
- <p>
- If you wish to bypass the default logging configuration
entirely, you can pass in your own logger via
- the {@link
org.apache.juneau.microservice.Microservice.Builder#logger(Logger)} method.
- </p>
- <p>
- In addition to configuring the built-in Java logging framework,
the following convenience methods are also
- provided on the {@link
org.apache.juneau.microservice.Microservice} class for logging.
- </p>
-
- <ul class='javatree'>
- <li class='jc'>{@link
org.apache.juneau.microservice.Microservice}
- <ul class='javatreec'>
- <li class='jm'>{@link
org.apache.juneau.microservice.Microservice#getLogger() getLogger()}
- <li class='jm'>{@link
org.apache.juneau.microservice.Microservice#out(Messages,String,Object...)
out(Messages,String,Object...)}
- <li class='jm'>{@link
org.apache.juneau.microservice.Microservice#err(Messages,String,Object...)
err(Messages,String,Object...)}
- </ul>
- </li>
- </ul>
-</div>
-</div><!-- END: 12.9 - juneau-microservice-core.jmc.Logging -->
-
-<!--
====================================================================================================
-->
-
-<h3 class='topic' onclick='toggle(this)'><a
href='#juneau-microservice-core.jmc.Listeners'
id='juneau-microservice-core.jmc.Listeners'>12.10 - Listeners</a><span
class='update'>created: 8.0.0, deprecated: 8.1.2</span></h3>
-<div class='topic'><!-- START: 12.10 - juneau-microservice-core.jmc.Listeners
-->
+<h3 class='topic' onclick='toggle(this)'><a
href='#juneau-microservice-core.jmc.Listeners'
id='juneau-microservice-core.jmc.Listeners'>12.9 - Listeners</a><span
class='update'>created: 8.0.0, deprecated: 8.1.2</span></h3>
+<div class='topic'><!-- START: 12.9 - juneau-microservice-core.jmc.Listeners
-->
<div class='topic'>
<p>
As mentioned previously, the lifecycle methods for the {@link
org.apache.juneau.microservice.Microservice} class are explicitly
@@ -26424,7 +26322,7 @@
}
</p>
</div>
-</div><!-- END: 12.10 - juneau-microservice-core.jmc.Listeners -->
+</div><!-- END: 12.9 - juneau-microservice-core.jmc.Listeners -->
</div><!-- END: 12 - juneau-microservice-core -->
<!--
====================================================================================================
-->
diff --git a/juneau-doc/src/main/javadoc/resources/docs.txt
b/juneau-doc/src/main/javadoc/resources/docs.txt
index 0840e28f6..dd9600d7c 100644
--- a/juneau-doc/src/main/javadoc/resources/docs.txt
+++ b/juneau-doc/src/main/javadoc/resources/docs.txt
@@ -198,7 +198,6 @@ jmc.Config = #juneau-microservice-core.jmc.Config, Overview
> juneau-microservic
jmc.ConsoleCommands = #juneau-microservice-core.jmc.ConsoleCommands, Overview
> juneau-microservice-core > Console Commands
jmc.LifecycleMethods = #juneau-microservice-core.jmc.LifecycleMethods,
Overview > juneau-microservice-core > Lifecycle Methods
jmc.Listeners = #juneau-microservice-core.jmc.Listeners, Overview >
juneau-microservice-core > Listeners
-jmc.Logging = #juneau-microservice-core.jmc.Logging, Overview >
juneau-microservice-core > Logging
jmc.Manifest = #juneau-microservice-core.jmc.Manifest, Overview >
juneau-microservice-core > Manifest
jmc.Overview = #juneau-microservice-core.jmc.Overview, Overview >
juneau-microservice-core > Microservice Overview
jmc.SystemProperties = #juneau-microservice-core.jmc.SystemProperties,
Overview > juneau-microservice-core > System properties
@@ -265,7 +264,6 @@ jrs.DefaultParts =
#juneau-rest-server.jrs.HttpParts.jrs.DefaultParts, Overview
jrs.Deployment = #juneau-rest-server.jrs.AnnotatedClasses.jrs.Deployment,
Overview > juneau-rest-server > @Rest-Annotated Classes > Deployment
jrs.Encoders = #juneau-rest-server.jrs.Encoders, Overview > juneau-rest-server
> Encoders
jrs.ExecutionStatistics = #juneau-rest-server.jrs.ExecutionStatistics,
Overview > juneau-rest-server > REST method execution statistics
-jrs.FluentAssertions = #juneau-rest-server.jrs.FluentAssertions, Overview >
juneau-rest-server > Fluent Assertions
jrs.Guards = #juneau-rest-server.jrs.Guards, Overview > juneau-rest-server >
Guards
jrs.HandlingFormPosts = #juneau-rest-server.jrs.HandlingFormPosts, Overview >
juneau-rest-server > Form Posts
jrs.HelloWorldExample = #juneau-rest-server.jrs.HelloWorldExample, Overview >
juneau-rest-server > Hello World Example
diff --git a/juneau-doc/src/main/javadoc/resources/fragments/toc.html
b/juneau-doc/src/main/javadoc/resources/fragments/toc.html
index e98ecb301..67294f527 100644
--- a/juneau-doc/src/main/javadoc/resources/fragments/toc.html
+++ b/juneau-doc/src/main/javadoc/resources/fragments/toc.html
@@ -271,10 +271,9 @@
<li><p><a class='doclink'
href='{OVERVIEW_URL}#juneau-rest-server.jrs.UsingWithOsgi'>Using with
OSGi</a></p>
<li><p><a class='doclink'
href='{OVERVIEW_URL}#juneau-rest-server.jrs.RestContext'>RestContext</a><span
class='update'>created: <b>9.0.0</b></span></p>
<li><p><a class='doclink'
href='{OVERVIEW_URL}#juneau-rest-server.jrs.RestOpContext'>RestOpContext</a><span
class='update'>created: <b>9.0.0</b></span></p>
- <li><p><a class='doclink'
href='{OVERVIEW_URL}#juneau-rest-server.jrs.ResponseProcessors'>Response
Processors</a><span class='update'>created: <b>9.0.0</b>,
<b><red>TODO</red></b></span></p>
+ <li><p><a class='doclink'
href='{OVERVIEW_URL}#juneau-rest-server.jrs.ResponseProcessors'>Response
Processors</a><span class='update'>created: <b>9.0.0</b></span></p>
<li><p><a class='doclink'
href='{OVERVIEW_URL}#juneau-rest-server.jrs.RestRpc'>REST/RPC</a><span
class='update'>updated: 8.0.0,<b>9.0.0</b></span></p>
<li><p><a class='doclink'
href='{OVERVIEW_URL}#juneau-rest-server.jrs.SerializingUris'>Serializing
URIs</a><span class='update'>updated: <b>9.0.0</b></span></p>
- <li><p><a class='doclink'
href='{OVERVIEW_URL}#juneau-rest-server.jrs.FluentAssertions'>Fluent
Assertions</a><span class='update'>created: <b>9.0.0</b>,
<b><red>TODO</red></b></span></p>
<li><p><a class='doclink'
href='{OVERVIEW_URL}#juneau-rest-server.jrs.UtilityBeans'>Utility
Beans</a><span class='update'>created: <b>9.0.0</b></span></p>
<li><p><a class='doclink'
href='{OVERVIEW_URL}#juneau-rest-server.jrs.HtmlBeans'>Using with HTML
Beans</a><span class='update'>created: <b>9.0.0</b></span></p>
<li><p><a class='doclink'
href='{OVERVIEW_URL}#juneau-rest-server.jrs.OtherNotes'>Other Notes</a></p>
@@ -338,7 +337,6 @@
<li><p><a class='doclink'
href='{OVERVIEW_URL}#juneau-microservice-core.jmc.SystemProperties'>System
properties</a><span class='update'>created: 8.0.0, deprecated: 8.1.2</span></p>
<li><p><a class='doclink'
href='{OVERVIEW_URL}#juneau-microservice-core.jmc.VarResolver'>VarResolver</a><span
class='update'>created: 8.0.0, deprecated: 8.1.2</span></p>
<li><p><a class='doclink'
href='{OVERVIEW_URL}#juneau-microservice-core.jmc.ConsoleCommands'>Console
Commands</a><span class='update'>created: 8.0.0, deprecated: 8.1.2</span></p>
- <li><p><a class='doclink'
href='{OVERVIEW_URL}#juneau-microservice-core.jmc.Logging'>Logging</a><span
class='update'>created: 8.0.0, deprecated: 8.1.2</span></p>
<li><p><a class='doclink'
href='{OVERVIEW_URL}#juneau-microservice-core.jmc.Listeners'>Listeners</a><span
class='update'>created: 8.0.0, deprecated: 8.1.2</span></p>
</ol>
<li><p class='toc2'><a class='doclink'
href='{OVERVIEW_URL}#juneau-microservice-jetty'>juneau-microservice-jetty</a><span
class='update'>created: 8.1.0, deprecated: 8.1.2</span></p>
diff --git
a/juneau-examples/juneau-examples-rest-jetty/juneau-examples-rest-jetty.cfg
b/juneau-examples/juneau-examples-rest-jetty/juneau-examples-rest-jetty.cfg
index e09a2d53b..f11c0cd1b 100755
--- a/juneau-examples/juneau-examples-rest-jetty/juneau-examples-rest-jetty.cfg
+++ b/juneau-examples/juneau-examples-rest-jetty/juneau-examples-rest-jetty.cfg
@@ -89,73 +89,6 @@ commands =
org.apache.juneau.microservice.console.ConfigCommand,
org.apache.juneau.examples.rest.command.EchoCommand
-#=======================================================================================================================
-# Logger settings
-#-----------------------------------------------------------------------------------------------------------------------
-# See FileHandler Java class for details.
-#=======================================================================================================================
-[Logging]
-
-# The directory where to create the log file.
-# Default is "."
-logDir = ./target/logs
-
-# The name of the log file to create for the main logger.
-# The logDir and logFile make up the pattern that's passed to the FileHandler
-# constructor.
-# If value is not specified, then logging to a file will not be set up.
-logFile = microservice.%g.log
-
-# Whether to append to the existing log file or create a new one.
-append = false
-
-# The SimpleDateFormat format to use for dates.
-dateFormat = yyyy.MM.dd hh:mm:ss
-
-# The log message format.
-# The value can contain any of the following variables:
-# {date} - The date, formatted per dateFormat.
-# {class} - The class name.
-# {method} - The method name.
-# {logger} - The logger name.
-# {level} - The log level name.
-# {msg} - The log message.
-# {threadid} - The thread ID.
-# {exception} - The localized exception message.
-format = [{date} {level}] {msg}%n
-
-# The maximum log file size.
-# Suffixes available for numbers.
-# See Config.getInt(String,int) for details.
-limit = 1M
-
-# Max number of log files.
-count = 5
-
-# Default log levels.
-# Format is lax-JSON.
-# Keys are logger names.
-# Values are serialized Level POJOs (SEVERE, WARNING, INFO, CONFIG, FINE,
FINER, FINEST)
-levels =
- {
- '': 'WARNING',
- org.apache.juneau: 'WARNING',
- org.eclipse.jetty: 'WARNING'
- }
-
-# Only print unique stack traces once and then refer to them by a simple 8
character hash identifier.
-# Useful for preventing log files from filling up with duplicate stack traces.
-useStackTraceHashes = true
-
-# The default level for the console logger.
-# Values are serialized Level POJOs (SEVERE, WARNING, INFO, CONFIG, FINE,
FINER, FINEST)
-consoleLevel = WARNING
-
-# The default level for the file logger.
-# Values are serialized Level POJOs (SEVERE, WARNING, INFO, CONFIG, FINE,
FINER, FINEST)
-# Default is INFO.
-fileLevel = INFO
-
#=======================================================================================================================
# System properties
#-----------------------------------------------------------------------------------------------------------------------
diff --git
a/juneau-examples/juneau-examples-rest-springboot/src/main/java/org/apache/juneau/examples/rest/springboot/RootResources.java
b/juneau-examples/juneau-examples-rest-springboot/src/main/java/org/apache/juneau/examples/rest/springboot/RootResources.java
index dc6f6bd2c..8eec9d63c 100644
---
a/juneau-examples/juneau-examples-rest-springboot/src/main/java/org/apache/juneau/examples/rest/springboot/RootResources.java
+++
b/juneau-examples/juneau-examples-rest-springboot/src/main/java/org/apache/juneau/examples/rest/springboot/RootResources.java
@@ -44,14 +44,12 @@ import org.apache.juneau.serializer.annotation.*;
)
@HtmlDocConfig(
widgets={
- ContentTypeMenuItem.class,
- ThemeMenuItem.class
+ ContentTypeMenuItem.class
},
navlinks={
"api: servlet:/api",
"stats: servlet:/stats",
"$W{ContentTypeMenuItem}",
- "$W{ThemeMenuItem}",
"source:
$C{Source/gitHub}/org/apache/juneau/examples/rest/$R{servletClassSimple}.java"
},
aside={
diff --git
a/juneau-microservice/juneau-microservice-ftest/juneau-microservice-test.cfg
b/juneau-microservice/juneau-microservice-ftest/juneau-microservice-test.cfg
index 5cabc0720..3157fdaff 100644
--- a/juneau-microservice/juneau-microservice-ftest/juneau-microservice-test.cfg
+++ b/juneau-microservice/juneau-microservice-ftest/juneau-microservice-test.cfg
@@ -22,24 +22,6 @@ port = 10001,0,0,0
staticFiles = htdocs:htdocs
-[Logging]
-logDir = $S{user.dir}/target/logs
-logFile = test.%g.log
-dateFormat = yyyy.MM.dd hh:mm:ss
-format = [{date} {level}] {msg}%n
-append = false
-limit = 10M
-count = 5
-levels =
- {
- '':'WARNING',
- org.apache.juneau: 'WARNING',
- org.eclipse.jetty: 'FINEST'
- }
-useStackTraceHashes = true
-consoleLevel = WARNING
-fileLevel = FINEST
-
[Test]
int1 = 1
int2 = [1,2,3]
diff --git a/juneau-microservice/juneau-microservice-ftest/logs/.gitignore
b/juneau-microservice/juneau-microservice-ftest/logs/.gitignore
new file mode 100644
index 000000000..bd317cc13
--- /dev/null
+++ b/juneau-microservice/juneau-microservice-ftest/logs/.gitignore
@@ -0,0 +1 @@
+/*log*
diff --git a/juneau-microservice/juneau-microservice-ftest/logs/empty.txt
b/juneau-microservice/juneau-microservice-ftest/logs/empty.txt
new file mode 100644
index 000000000..e69de29bb
diff --git
a/juneau-microservice/juneau-my-jetty-microservice/my-jetty-microservice.cfg
b/juneau-microservice/juneau-my-jetty-microservice/my-jetty-microservice.cfg
index 19709a5ef..020cc323c 100755
--- a/juneau-microservice/juneau-my-jetty-microservice/my-jetty-microservice.cfg
+++ b/juneau-microservice/juneau-my-jetty-microservice/my-jetty-microservice.cfg
@@ -90,72 +90,6 @@ commands =
org.apache.juneau.microservice.console.HelpCommand,
org.apache.juneau.microservice.console.ConfigCommand
-#=======================================================================================================================
-# Logger settings
-#-----------------------------------------------------------------------------------------------------------------------
-# See FileHandler Java class for details.
-#=======================================================================================================================
-[Logging]
-
-# The directory where to create the log file.
-# Default is "."
-logDir = logs
-
-# The name of the log file to create for the main logger.
-# The logDir and logFile make up the pattern that's passed to the FileHandler
-# constructor.
-# If value is not specified, then logging to a file will not be set up.
-logFile = microservice.%g.log
-
-# Whether to append to the existing log file or create a new one.
-append = false
-
-# The SimpleDateFormat format to use for dates.
-dateFormat = yyyy.MM.dd hh:mm:ss
-
-# The log message format.
-# The value can contain any of the following variables:
-# {date} - The date, formatted per dateFormat.
-# {class} - The class name.
-# {method} - The method name.
-# {logger} - The logger name.
-# {level} - The log level name.
-# {msg} - The log message.
-# {threadid} - The thread ID.
-# {exception} - The localized exception message.
-format = [{date} {level}] {msg}%n
-
-# The maximum log file size.
-# Suffixes available for numbers.
-# See Config.getInt(String,int) for details.
-limit = 1M
-
-# Max number of log files.
-count = 5
-
-# Default log levels.
-# Format is lax-JSON.
-# Keys are logger names.
-# Values are serialized Level POJOs (SEVERE, WARNING, INFO, CONFIG, FINE,
FINER, FINEST)
-levels =
- {
- '': 'WARNING',
- org.apache.juneau: 'WARNING',
- org.eclipse.jetty: 'WARNING'
- }
-
-# Only print unique stack traces once and then refer to them by a simple 8
character hash identifier.
-# Useful for preventing log files from filling up with duplicate stack traces.
-useStackTraceHashes = true
-
-# The default level for the console logger.
-# Values are serialized Level POJOs (SEVERE, WARNING, INFO, CONFIG, FINE,
FINER, FINEST)
-consoleLevel = WARNING
-
-# The default level for the file logger.
-# Values are serialized Level POJOs (SEVERE, WARNING, INFO, CONFIG, FINE,
FINER, FINEST)
-fileLevel = INFO
-
#=======================================================================================================================
# System properties
#-----------------------------------------------------------------------------------------------------------------------
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java
index 53d594b7b..06c986cc2 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java
@@ -2539,7 +2539,7 @@ public class RestContext extends Context {
* <li>{@link FileFinder} - The file finder that would
have been returned by this method.
* <li>{@link RestContext} - This REST context.
* <li>{@link BeanStore} - The bean store of this REST
context.
- * <li>Any {@doc jrs.Injection injected bean} types. Use
{@link Optional} arguments for beans that may not exist.
+ * <li>Any {@doc juneau-rest-server-springboot injected
bean} types. Use {@link Optional} arguments for beans that may not exist.
* </ul>
*
* @param beanStore
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOpContext.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOpContext.java
index d66ac6616..59f8d7a96 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOpContext.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOpContext.java
@@ -71,7 +71,7 @@ import org.apache.juneau.svl.*;
* </ul>
*
* <ul class='seealso'>
- * <li class='link'>{@doc jrs.Overview}
+ * <li class='link'>{@doc jrs.RestOpContext}
* <li class='extlink'>{@source}
* </ul>
*/
@@ -983,7 +983,7 @@ public class RestOpContext extends Context implements
Comparable<RestOpContext>
* <li>{@link Method} - The Java method
this context belongs to.
* <li>{@link RestContext}
* <li>{@link BeanStore}
- * <li>Any {@doc jrs.Injection injected
beans}.
+ * <li>Any {@doc
juneau-rest-server-springboot injected beans}.
* </ul>
* <li>Resolves it via the bean store registered in this
context.
* <li>Instantiates a <c>RestGuard[0]</c>.
@@ -1126,7 +1126,7 @@ public class RestOpContext extends Context implements
Comparable<RestOpContext>
* <li>{@link java.lang.reflect.Method} -
The Java method this context belongs to.
* <li>{@link RestContext}
* <li>{@link BeanStore}
- * <li>Any {@doc jrs.Injection injected
beans}.
+ * <li>Any {@doc
juneau-rest-server-springboot injected beans}.
* </ul>
* <li>Resolves it via the bean store registered in this
context.
* <li>Instantiates a <c>RestMatcher[0]</c>.
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOpSession.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOpSession.java
index 612caf872..ee2bcf402 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOpSession.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOpSession.java
@@ -33,7 +33,6 @@ import org.apache.juneau.rest.logging.*;
* </ul>
*
* <ul class='seealso'>
- * <li class='link'>{@doc jrs.Overview}
* <li class='extlink'>{@source}
* </ul>
*/
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOperations.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOperations.java
index 0ab060ec7..93af2b210 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOperations.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOperations.java
@@ -27,7 +27,6 @@ import org.apache.juneau.rest.annotation.*;
* Encapsulates the set of {@link RestOp}-annotated methods within a single
{@link Rest}-annotated object.
*
* <ul class='seealso'>
- * <li class='link'>{@doc jrs.Overview}
* <li class='extlink'>{@source}
* </ul>
*/
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestRequest.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestRequest.java
index 334e8c80a..d6d58825b 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestRequest.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestRequest.java
@@ -195,7 +195,6 @@ import org.apache.juneau.utils.*;
* </ul>
*
* <ul class='seealso'>
- * <li class='link'>{@doc jrs.Overview}
* <li class='extlink'>{@source}
* </ul>
*/
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestResponse.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestResponse.java
index 14155f48c..a9f560e8f 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestResponse.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestResponse.java
@@ -102,7 +102,6 @@ import org.apache.juneau.serializer.*;
* </ul>
*
* <ul class='seealso'>
- * <li class='link'>{@doc jrs.Overview}
* <li class='extlink'>{@source}
* </ul>
*/
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestSession.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestSession.java
index d1b8c37f5..890ba9efd 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestSession.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestSession.java
@@ -35,7 +35,6 @@ import org.apache.juneau.rest.util.*;
* </ul>
*
* <ul class='seealso'>
- * <li class='link'>{@doc jrs.Overview}
* <li class='extlink'>{@source}
* </ul>
*/
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/Rest.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/Rest.java
index c2461a82f..fbc28b53e 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/Rest.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/Rest.java
@@ -238,10 +238,6 @@ public @interface Rest {
* Note that the <c>SpringRestServlet</c> classes uses the
<c>SpringBeanStore</c> class to allow for any
* Spring beans to be injected into your REST resources.
*
- * <ul class='seealso'>
- * <li class='link'>{@doc jrs.Injection}
- * </ul>
- *
* @return The annotation value.
*/
Class<? extends BeanStore> beanStore() default BeanStore.Void.class;
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/assertions/FluentProtocolVersionAssertion.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/assertions/FluentProtocolVersionAssertion.java
index f59c73dfd..21327f2e3 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/assertions/FluentProtocolVersionAssertion.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/assertions/FluentProtocolVersionAssertion.java
@@ -83,7 +83,6 @@ import org.apache.juneau.serializer.*;
* </ul>
* <ul class='seealso'>
* <li class='link'>{@doc jm.FluentAssertions}
- * <li class='link'>{@doc jrs.FluentAssertions}
* <li class='extlink'>{@source}
* </ul>
*
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/assertions/FluentRequestBodyAssertion.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/assertions/FluentRequestBodyAssertion.java
index 1c22344f9..3fd87d6e7 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/assertions/FluentRequestBodyAssertion.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/assertions/FluentRequestBodyAssertion.java
@@ -94,7 +94,6 @@ import org.apache.juneau.serializer.*;
*
* <ul class='seealso'>
* <li class='link'>{@doc jm.FluentAssertions}
- * <li class='link'>{@doc jrs.FluentAssertions}
* <li class='extlink'>{@source}
* </ul>
*
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/assertions/FluentRequestFormParamAssertion.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/assertions/FluentRequestFormParamAssertion.java
index 5e652d755..5dcd30de2 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/assertions/FluentRequestFormParamAssertion.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/assertions/FluentRequestFormParamAssertion.java
@@ -122,7 +122,6 @@ import org.apache.juneau.serializer.*;
*
* <ul class='seealso'>
* <li class='link'>{@doc jm.FluentAssertions}
- * <li class='link'>{@doc jrs.FluentAssertions}
* <li class='extlink'>{@source}
* </ul>
*
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/assertions/FluentRequestHeaderAssertion.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/assertions/FluentRequestHeaderAssertion.java
index 2a01addff..15ec3af56 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/assertions/FluentRequestHeaderAssertion.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/assertions/FluentRequestHeaderAssertion.java
@@ -121,7 +121,6 @@ import org.apache.juneau.serializer.*;
*
* <ul class='seealso'>
* <li class='link'>{@doc jm.FluentAssertions}
- * <li class='link'>{@doc jrs.FluentAssertions}
* <li class='extlink'>{@source}
* </ul>
*
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/assertions/FluentRequestLineAssertion.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/assertions/FluentRequestLineAssertion.java
index e91776d00..ad28f745f 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/assertions/FluentRequestLineAssertion.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/assertions/FluentRequestLineAssertion.java
@@ -84,7 +84,6 @@ import org.apache.juneau.serializer.*;
*
* <ul class='seealso'>
* <li class='link'>{@doc jm.FluentAssertions}
- * <li class='link'>{@doc jrs.FluentAssertions}
* <li class='extlink'>{@source}
* </ul>
*
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/assertions/FluentRequestQueryParamAssertion.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/assertions/FluentRequestQueryParamAssertion.java
index bb42a4227..1dc696cdf 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/assertions/FluentRequestQueryParamAssertion.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/assertions/FluentRequestQueryParamAssertion.java
@@ -122,7 +122,6 @@ import org.apache.juneau.serializer.*;
*
* <ul class='seealso'>
* <li class='link'>{@doc jm.FluentAssertions}
- * <li class='link'>{@doc jrs.FluentAssertions}
* <li class='extlink'>{@source}
* </ul>
*
diff --git a/juneau-sc/juneau-sc-server/juneau-server-config.cfg
b/juneau-sc/juneau-sc-server/juneau-server-config.cfg
index 954d59db7..857778be5 100755
--- a/juneau-sc/juneau-sc-server/juneau-server-config.cfg
+++ b/juneau-sc/juneau-sc-server/juneau-server-config.cfg
@@ -88,73 +88,6 @@ commands =
org.apache.juneau.microservice.console.ConfigCommand,
org.apache.juneau.examples.rest.command.EchoCommand
-#=======================================================================================================================
-# Logger settings
-#-----------------------------------------------------------------------------------------------------------------------
-# See FileHandler Java class for details.
-#=======================================================================================================================
-[Logging]
-
-# The directory where to create the log file.
-# Default is "."
-logDir = ./target/logs
-
-# The name of the log file to create for the main logger.
-# The logDir and logFile make up the pattern that's passed to the FileHandler
-# constructor.
-# If value is not specified, then logging to a file will not be set up.
-logFile = microservice.%g.log
-
-# Whether to append to the existing log file or create a new one.
-append = false
-
-# The SimpleDateFormat format to use for dates.
-dateFormat = yyyy.MM.dd hh:mm:ss
-
-# The log message format.
-# The value can contain any of the following variables:
-# {date} - The date, formatted per dateFormat.
-# {class} - The class name.
-# {method} - The method name.
-# {logger} - The logger name.
-# {level} - The log level name.
-# {msg} - The log message.
-# {threadid} - The thread ID.
-# {exception} - The localized exception message.
-format = [{date} {level}] {msg}%n
-
-# The maximum log file size.
-# Suffixes available for numbers.
-# See Config.getInt(String,int) for details.
-limit = 1M
-
-# Max number of log files.
-count = 5
-
-# Default log levels.
-# Format is lax-JSON.
-# Keys are logger names.
-# Values are serialized Level POJOs (SEVERE, WARNING, INFO, CONFIG, FINE,
FINER, FINEST)
-levels =
- {
- '': 'WARNING',
- org.apache.juneau: 'WARNING',
- org.eclipse.jetty: 'WARNING'
- }
-
-# Only print unique stack traces once and then refer to them by a simple 8
character hash identifier.
-# Useful for preventing log files from filling up with duplicate stack traces.
-useStackTraceHashes = true
-
-# The default level for the console logger.
-# Values are serialized Level POJOs (SEVERE, WARNING, INFO, CONFIG, FINE,
FINER, FINEST)
-consoleLevel = WARNING
-
-# The default level for the file logger.
-# Values are serialized Level POJOs (SEVERE, WARNING, INFO, CONFIG, FINE,
FINER, FINEST)
-# Default is INFO.
-fileLevel = INFO
-
#=======================================================================================================================
# System properties
#-----------------------------------------------------------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index d35bd162f..b11ee4a89 100644
--- a/pom.xml
+++ b/pom.xml
@@ -223,7 +223,7 @@
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.0.1</version>
<configuration>
-
<doclint>missing,reference,syntax</doclint>
+
<doclint>reference,syntax</doclint>
<sourcetab>3</sourcetab>
<notimestamp>true</notimestamp>
<verbose>true</verbose>