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 11704e8 Remove deprecated code.
11704e8 is described below
commit 11704e83fe498e17664461fd6c1fc77091dd699c
Author: JamesBognar <[email protected]>
AuthorDate: Tue Oct 13 15:00:42 2020 -0400
Remove deprecated code.
---
.../org/apache/juneau/rest/HtmlDocBuilder.java | 535 -------------------
.../java/org/apache/juneau/rest/RestResponse.java | 48 --
.../org/apache/juneau/rest/annotation/HtmlDoc.java | 586 ---------------------
.../apache/juneau/rest/annotation/RestMethod.java | 18 -
.../rest/annotation/RestMethodAnnotation.java | 7 -
.../rest/annotation/RestMethodConfigApply.java | 12 -
.../juneau/rest/annotation/RestResource.java | 49 --
.../rest/annotation/RestResourceConfigApply.java | 11 -
8 files changed, 1266 deletions(-)
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/HtmlDocBuilder.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/HtmlDocBuilder.java
deleted file mode 100644
index 12afa36..0000000
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/HtmlDocBuilder.java
+++ /dev/null
@@ -1,535 +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. *
-//
***************************************************************************************************************************
-package org.apache.juneau.rest;
-
-import static org.apache.juneau.html.HtmlDocSerializer.*;
-import static org.apache.juneau.internal.StringUtils.*;
-
-import java.util.regex.*;
-
-import org.apache.juneau.*;
-import org.apache.juneau.collections.*;
-import org.apache.juneau.html.*;
-import org.apache.juneau.html.annotation.*;
-import org.apache.juneau.rest.annotation.*;
-import org.apache.juneau.utils.*;
-
-/**
- * Programmatic interface for setting properties used by the HtmlDoc
serializer.
- *
- * <div class='warn'>
- * <b>Deprecated</b> - Use {@link HtmlDocConfig}
- * </div>
- *
- * <p>
- * Basically just a convenience wrapper around the servlet or method level
properties for setting properties defined
- * by the {@link HtmlDocSerializer} class.
- *
- * <p>
- * This class is instantiated through the following methods:
- * <ul>
- * <li class='jm'>{@link RestResponse#getHtmlDocBuilder()} - Set values
programmatically during a REST request.
- * </ul>
- *
- * <ul class='seealso'>
- * <li class='link'>{@doc RestHtmlDocAnnotation}
- * </ul>
- */
-@Deprecated
-public class HtmlDocBuilder {
-
- private final PropertyStoreBuilder builder;
-
- /**
- * Constructor.
- *
- * @param builder The builder object.
- */
- public HtmlDocBuilder(PropertyStoreBuilder builder) {
- this.builder = builder;
- }
-
- /**
- * Processes the contents of an {@link HtmlDoc} tag.
- *
- * @param hd The annotation to process.
- */
- public void process(HtmlDoc hd) {
- if (hd.header().length > 0)
- header((Object[])hd.header());
- if (hd.nav().length > 0)
- nav((Object[])hd.nav());
- if (hd.aside().length > 0)
- aside((Object[])hd.aside());
- if (hd.footer().length > 0)
- footer((Object[])hd.footer());
- if (hd.style().length > 0)
- style((Object[])hd.style());
- if (hd.script().length > 0)
- script((Object[])hd.script());
- if (hd.navlinks().length > 0)
- navlinks((Object[])hd.navlinks());
- if (hd.head().length > 0)
- head((Object[])hd.head());
- if (hd.stylesheet().length > 0)
- stylesheet((Object[])hd.stylesheet());
- if (! hd.noResultsMessage().isEmpty())
- noResultsMessage(hd.noResultsMessage());
- if (! hd.nowrap().isEmpty())
- nowrap(Boolean.valueOf(hd.nowrap()));
- if (hd.template() != HtmlDocTemplate.class)
- template(hd.template());
- }
-
- /**
- * Sets the HTML header section contents.
- *
- * <p>
- * The page header normally contains the title and description, but
this value can be used to override the contents
- * to be whatever you want.
- *
- * <ul class='notes'>
- * <li>
- * The format of this value is HTML.
- * <li>
- * When a value is specified, the {@link
#navlinks(Object...)} value will be ignored.
- * <li>
- * Supports {@doc RestSvlVariables}
- * (e.g. <js>"$L{my.localized.variable}"</js>).
- * <li>
- * A value of <js>"INHERIT"</js> means copy the values
from the parent.
- * <li>
- * A value of <js>"NONE"</js> can be used to force no
value.
- * <li>
- * This is the programmatic equivalent to the {@link
HtmlDoc#header() @HtmlDoc(header)} annotation.
- * </ul>
- *
- * @param value
- * The HTML header section contents.
- * Object will be converted to a string using {@link
Object#toString()}.
- * <p>
- * <div class='info'>
- * <b>Tip:</b> Use {@link StringMessage} to generate
value with delayed serialization so as not to
- * waste string concatenation cycles on non-HTML views.
- * </div>
- * @return This object (for method chaining).
- */
- public HtmlDocBuilder header(Object...value) {
- return set(HTMLDOC_header, resolveList(value,
getStringArray(HTMLDOC_header)));
- }
-
- /**
- * Sets the links in the HTML nav section.
- *
- * <p>
- * The page links are positioned immediately under the title and text.
- *
- * <ul class='notes'>
- * <li>
- * The format of this value is a lax-JSON map of key/value
pairs where the keys are the link text and the values are
- * relative (to the servlet) or absolute URLs.
- * <li>
- * Supports {@doc RestSvlVariables}
- * (e.g. <js>"$L{my.localized.variable}"</js>).
- * <li>
- * Supports {@doc MarshallingUris} (e.g.
<js>"servlet:/..."</js>, <js>"request:/..."</js>).
- * <li>
- * A value of <js>"INHERIT"</js> means copy the values
from the parent.
- * <li>
- * A value of <js>"NONE"</js> can be used to force no
value.
- * <li>
- * This is the programmatic equivalent to the {@link
HtmlDoc#navlinks() @HtmlDoc(navlinks)} annotation.
- * </ul>
- *
- * @param value
- * The HTML nav section links links.
- * <p>
- * <div class='info'>
- * <b>Tip:</b> Use {@link StringMessage} to generate
value with delayed serialization so as not to
- * waste string concatenation cycles on non-HTML
views.
- * </div>
- * @return This object (for method chaining).
- */
- public HtmlDocBuilder navlinks(Object...value) {
- return set(HTMLDOC_navlinks, resolveLinks(value,
getStringArray(HTMLDOC_navlinks)));
- }
-
- /**
- * Sets the HTML nav section contents.
- *
- * <p>
- * The nav section of the page contains the links.
- *
- * <ul class='notes'>
- * <li>
- * The format of this value is HTML.
- * <li>
- * Supports {@doc RestSvlVariables}
- * (e.g. <js>"$L{my.localized.variable}"</js>).
- * <li>
- * When a value is specified, the {@link
#navlinks(Object[])} value will be ignored.
- * <li>
- * A value of <js>"INHERIT"</js> means copy the values
from the parent.
- * <li>
- * A value of <js>"NONE"</js> can be used to force no
value.
- * <li>
- * This is the programmatic equivalent to the {@link
HtmlDoc#nav() @HtmlDoc(nav)} annotation.
- * </ul>
- *
- * @param value
- * The HTML nav section contents.
- * Object will be converted to a string using {@link
Object#toString()}.
- * <p>
- * <div class='info'>
- * <b>Tip:</b> Use {@link StringMessage} to generate
value with delayed serialization so as not to
- * waste string concatenation cycles on non-HTML
views.
- * </div>
- * @return This object (for method chaining).
- */
- public HtmlDocBuilder nav(Object...value) {
- return set(HTMLDOC_nav, resolveList(value,
getStringArray(HTMLDOC_nav)));
- }
-
- /**
- * Sets the HTML aside section contents.
- *
- * <p>
- * The aside section typically floats on the right side of the page.
- *
- * <ul class='notes'>
- * <li>
- * The format of this value is HTML.
- * <li>
- * Supports {@doc RestSvlVariables}
- * (e.g. <js>"$L{my.localized.variable}"</js>).
- * <li>
- * A value of <js>"INHERIT"</js> means copy the values
from the parent.
- * <li>
- * A value of <js>"NONE"</js> can be used to force no
value.
- * <li>
- * This is the programmatic equivalent to the {@link
HtmlDoc#aside() @HtmlDoc(aside)} annotation.
- * </ul>
- *
- * @param value
- * The HTML aside section contents.
- * Object will be converted to a string using {@link
Object#toString()}.
- * <p>
- * <div class='info'>
- * <b>Tip:</b> Use {@link StringMessage} to generate
value with delayed serialization so as not to waste
- * string concatenation cycles on non-HTML views.
- * </div>
- * @return This object (for method chaining).
- */
- public HtmlDocBuilder aside(Object...value) {
- return set(HTMLDOC_aside, resolveList(value,
getStringArray(HTMLDOC_aside)));
- }
-
- /**
- * Sets the HTML footer section contents.
- *
- * <p>
- * The footer section typically floats on the bottom of the page.
- *
- * <ul class='notes'>
- * <li>
- * The format of this value is HTML.
- * <li>
- * Supports {@doc RestSvlVariables}
- * (e.g. <js>"$L{my.localized.variable}"</js>).
- * <li>
- * A value of <js>"INHERIT"</js> means copy the values
from the parent.
- * <li>
- * A value of <js>"NONE"</js> can be used to force no
value.
- * <li>
- * This is the programmatic equivalent to the {@link
HtmlDoc#footer() @HtmlDoc(footer)} annotation.
- * </ul>
- *
- * @param value
- * The HTML footer section contents.
- * Object will be converted to a string using {@link
Object#toString()}.
- * <p>
- * <div class='info'>
- * <b>Tip:</b> Use {@link StringMessage} to generate
value with delayed serialization so as not to
- * waste string concatenation cycles on non-HTML
views.
- * </div>
- * @return This object (for method chaining).
- */
- public HtmlDocBuilder footer(Object...value) {
- return set(HTMLDOC_footer, resolveList(value,
getStringArray(HTMLDOC_footer)));
- }
-
- /**
- * Sets the HTML CSS style section contents.
- *
- * <ul class='notes'>
- * <li>
- * The format of this value is CSS.
- * <li>
- * Supports {@doc RestSvlVariables}
- * (e.g. <js>"$L{my.localized.variable}"</js>).
- * <li>
- * A value of <js>"INHERIT"</js> means copy the values
from the parent.
- * <li>
- * A value of <js>"NONE"</js> can be used to force no
value.
- * <li>
- * This is the programmatic equivalent to the {@link
HtmlDoc#style() @HtmlDoc(style)} annotation.
- * </ul>
- *
- * @param value
- * The HTML CSS style section contents.
- * Object will be converted to a string using {@link
Object#toString()}.
- * <p>
- * <div class='info'>
- * <b>Tip:</b> Use {@link StringMessage} to generate
value with delayed serialization so as not to
- * waste string concatenation cycles on non-HTML
views.
- * </div>
- * @return This object (for method chaining).
- */
- public HtmlDocBuilder style(Object...value) {
- return set(HTMLDOC_style, resolveList(value,
getStringArray(HTMLDOC_style)));
- }
-
- /**
- * Sets the CSS URL in the HTML CSS style section.
- *
- * <p>
- * Specifies the URL to the stylesheet to add as a link in the style
tag in the header.
- *
- * <ul class='notes'>
- * <li>
- * The format of this value is a comma-delimited list of
URLs.
- * <li>
- * Supports {@doc RestSvlVariables}
- * (e.g. <js>"$L{my.localized.variable}"</js>).
- * <li>
- * This is the programmatic equivalent to the {@link
HtmlDoc#stylesheet() @HtmlDoc(stylesheet)} annotation.
- * </ul>
- *
- * @param value
- * The CSS URL in the HTML CSS style section.
- * Object will be converted to a string using {@link
Object#toString()}.
- * <p>
- * <div class='info'>
- * <b>Tip:</b> Use {@link StringMessage} to generate
value with delayed serialization so as not to
- * waste string concatenation cycles on non-HTML
views.
- * </div>
- * @return This object (for method chaining).
- */
- public HtmlDocBuilder stylesheet(Object...value) {
- return set(HTMLDOC_stylesheet, resolveSet(value,
getStringArray(HTMLDOC_nav)));
- }
-
- /**
- * Sets the HTML script section contents.
- *
- * <ul class='notes'>
- * <li>
- * The format of this value is Javascript.
- * <li>
- * Supports {@doc RestSvlVariables}
- * (e.g. <js>"$L{my.localized.variable}"</js>).
- * <li>
- * A value of <js>"INHERIT"</js> means copy the values
from the parent.
- * <li>
- * A value of <js>"NONE"</js> can be used to force no
value.
- * <li>
- * This is the programmatic equivalent to the {@link
HtmlDoc#script() @HtmlDoc(script)} annotation.
- * </ul>
- *
- * @param value
- * The HTML script section contents.
- * Object will be converted to a string using {@link
Object#toString()}.
- * <p>
- * <div class='info'>
- * <b>Tip:</b> Use {@link StringMessage} to generate
value with delayed serialization so as not to
- * waste string concatenation cycles on non-HTML
views.
- * </div>
- * @return This object (for method chaining).
- */
- public HtmlDocBuilder script(Object...value) {
- return set(HTMLDOC_script, resolveList(value,
getStringArray(HTMLDOC_script)));
- }
-
- /**
- * Sets the HTML head section contents.
- *
- * <ul class='notes'>
- * <li>
- * The format of this value is HTML.
- * <li>
- * Supports {@doc RestSvlVariables}
- * (e.g. <js>"$L{my.localized.variable}"</js>).
- * <li>
- * A value of <js>"INHERIT"</js> means copy the values
from the parent.
- * <li>
- * A value of <js>"NONE"</js> can be used to force no
value.
- * <li>
- * This is the programmatic equivalent to the {@link
HtmlDoc#head() @HtmlDoc(head)} annotation.
- * </ul>
- *
- * @param value
- * The HTML head section contents.
- * <p>
- * <div class='info'>
- * <b>Tip:</b> Use {@link StringMessage} to generate
value with delayed serialization so as not to
- * waste string concatenation cycles on non-HTML
views.
- * </div>
- * @return This object (for method chaining).
- */
- public HtmlDocBuilder head(Object...value) {
- return set(HTMLDOC_head, resolveList(value,
getStringArray(HTMLDOC_head)));
- }
-
- /**
- * Shorthand method for forcing the rendered HTML content to be no-wrap.
- *
- * <ul class='notes'>
- * <li>
- * Supports {@doc RestSvlVariables}
- * (e.g. <js>"$L{my.localized.variable}"</js>).
- * <li>
- * This is the programmatic equivalent to the {@link
HtmlDoc#nowrap() @HtmlDoc(nowrap)} annotation.
- * </ul>
- *
- * @param value The new nowrap setting.
- * @return This object (for method chaining).
- */
- public HtmlDocBuilder nowrap(boolean value) {
- return set(HTMLDOC_nowrap, value);
- }
-
- /**
- * Specifies the text to display when serializing an empty array or
collection.
- *
- * <ul class='notes'>
- * <li>
- * Supports {@doc RestSvlVariables}
- * (e.g. <js>"$L{my.localized.variable}"</js>).
- * <li>
- * This is the programmatic equivalent to the {@link
HtmlDoc#noResultsMessage() @HtmlDoc(noResultsMessage)} annotation.
- * </ul>
- *
- * @param value The text to display when serializing an empty array or
collection.
- * @return This object (for method chaining).
- */
- public HtmlDocBuilder noResultsMessage(Object value) {
- return set(HTMLDOC_noResultsMessage, value);
- }
-
- /**
- * Specifies the template class to use for rendering the HTML page.
- *
- * <p>
- * By default, uses {@link BasicHtmlDocTemplate} to render the
contents, although you can provide your own custom
- * renderer or subclasses from the basic class to have full control
over how the page is rendered.
- *
- * <ul class='notes'>
- * <li>
- * Supports {@doc RestSvlVariables}
- * (e.g. <js>"$L{my.localized.variable}"</js>).
- * <li>
- * This is the programmatic equivalent to the {@link
HtmlDoc#template() @HtmlDoc(template)} annotation.
- * </ul>
- *
- * @param value The HTML page template to use to render the HTML page.
- * @return This object (for method chaining).
- */
- public HtmlDocBuilder template(Class<? extends HtmlDocTemplate> value) {
- return set(HTMLDOC_template, value);
- }
-
- /**
- * Specifies the template class to use for rendering the HTML page.
- *
- * <p>
- * By default, uses {@link BasicHtmlDocTemplate} to render the
contents, although you can provide your own custom
- * renderer or subclasses from the basic class to have full control
over how the page is rendered.
- *
- * <ul class='notes'>
- * <li>
- * Supports {@doc RestSvlVariables}
- * (e.g. <js>"$L{my.localized.variable}"</js>).
- * <li>
- * This is the programmatic equivalent to the {@link
HtmlDoc#template() @HtmlDoc(template)} annotation.
- * </ul>
- *
- * @param value The HTML page template to use to render the HTML page.
- * @return This object (for method chaining).
- */
- public HtmlDocBuilder template(HtmlDocTemplate value) {
- return set(HTMLDOC_template, value);
- }
-
- private static final Pattern INDEXED_LINK_PATTERN =
Pattern.compile("(?s)(\\S*)\\[(\\d+)\\]\\:(.*)");
-
- private static String[] resolveLinks(Object[] value, String[] prev) {
- AList<String> list = AList.of();
- for (Object v : value) {
- String s = stringify(v);
- if ("INHERIT".equals(s)) {
- list.a(prev);
- } else if (s.indexOf('[') != -1 &&
INDEXED_LINK_PATTERN.matcher(s).matches()) {
- Matcher lm = INDEXED_LINK_PATTERN.matcher(s);
- lm.matches();
- String key = lm.group(1);
- int index = Math.min(list.size(),
Integer.parseInt(lm.group(2)));
- String remainder = lm.group(3);
- list.add(index, key.isEmpty() ? remainder : key
+ ":" + remainder);
- } else {
- list.add(s);
- }
- }
- return list.asArrayOf(String.class);
- }
-
- private static String[] resolveSet(Object[] value, String[] prev) {
- ASet<String> set = ASet.of();
- for (Object v : value) {
- String s = stringify(v);
- if ("INHERIT".equals(s)) {
- if (prev != null)
- set.a(prev);
- } else if ("NONE".equals(s)) {
- return new String[0];
- } else {
- set.add(s);
- }
- }
- return set.asArrayOf(String.class);
- }
-
- private static String[] resolveList(Object[] value, String[] prev) {
- ASet<String> set = ASet.of();
- for (Object v : value) {
- String s = stringify(v);
- if ("INHERIT".equals(s)) {
- if (prev != null)
- set.a(prev);
- } else if ("NONE".equals(s)) {
- return new String[0];
- } else {
- set.add(s);
- }
- }
- return set.asArrayOf(String.class);
- }
-
- private HtmlDocBuilder set(String key, Object value) {
- builder.set(key, value);
- return this;
- }
-
- private String[] getStringArray(String name) {
- return builder.peek(String[].class, name);
- }
-}
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 ba51add..bed181d 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
@@ -23,10 +23,8 @@ import javax.servlet.*;
import javax.servlet.http.*;
import org.apache.http.*;
-import org.apache.juneau.*;
import org.apache.juneau.collections.*;
import org.apache.juneau.encoders.*;
-import org.apache.juneau.html.annotation.*;
import org.apache.juneau.http.*;
import org.apache.juneau.httppart.*;
import org.apache.juneau.httppart.bean.*;
@@ -71,8 +69,6 @@ public final class RestResponse extends
HttpServletResponseWrapper {
private ServletOutputStream sos;
private FinishableServletOutputStream os;
private FinishablePrintWriter w;
- @SuppressWarnings("deprecation")
- private HtmlDocBuilder htmlDocBuilder;
private ResponseBeanMeta responseMeta;
@@ -208,50 +204,6 @@ public final class RestResponse extends
HttpServletResponseWrapper {
}
/**
- * Returns a programmatic interface for setting properties for the HTML
doc view.
- *
- * <div class='warn'>
- * <b>Deprecated</b> - Use {@link HtmlDocConfig}
- * </div>
- *
- * <p>
- * This is the programmatic equivalent to the {@link
RestMethod#htmldoc() @RestMethod(htmldoc)} annotation.
- *
- * <h5 class='section'>Example:</h5>
- * <p class='bcode w800'>
- * <jc>// Declarative approach.</jc>
- * <ja>@HtmlDocConfig</ja>(
- * header={
- * <js>"<p>This is my REST
interface</p>"</js>
- * },
- * aside={
- * <js>"<p>Custom aside
content</p>"</js>
- * }
- * )
- * <jk>public</jk> Object doGet(RestResponse res) {
- *
- * <jc>// Equivalent programmatic approach.</jc>
- * res.getHtmlDocBuilder()
- * .header(<js>"<p>This is my REST
interface</p>"</js>)
- * .aside(<js>"<p>Custom aside
content</p>"</js>);
- * }
- * </p>
- *
- * <ul class='seealso'>
- * <li class='ja'>{@link RestMethod#htmldoc()}
- * <li class='link'>{@doc RestHtmlDocAnnotation}
- * </ul>
- *
- * @return A new programmatic interface for setting properties for the
HTML doc view.
- */
- @Deprecated
- public HtmlDocBuilder getHtmlDocBuilder() {
- if (htmlDocBuilder == null)
- htmlDocBuilder = new
HtmlDocBuilder(PropertyStore.create());
- return htmlDocBuilder;
- }
-
- /**
* Retrieve the properties active for this request.
*
* <div class='warn'>
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/HtmlDoc.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/HtmlDoc.java
deleted file mode 100644
index 95bd2de..0000000
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/HtmlDoc.java
+++ /dev/null
@@ -1,586 +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. *
-//
***************************************************************************************************************************
-package org.apache.juneau.rest.annotation;
-
-import org.apache.juneau.html.*;
-import org.apache.juneau.html.annotation.*;
-import org.apache.juneau.rest.*;
-import org.apache.juneau.rest.widget.*;
-
-/**
- * Contains all the configurable annotations for the {@link HtmlDocSerializer}.
- *
- * <div class='warn'>
- * <b>Deprecated</b> - Use {@link HtmlDocConfig}
- * </div>
- *
- * <p>
- * Used with {@link RestResource#htmldoc() @RestResource(htmldoc)} and {@link
RestMethod#htmldoc() @RestMethod(htmldoc)}
- * to customize the HTML view of serialized POJOs.
- *
- * <p>
- * All annotations specified here have no effect on any serializers other than
{@link HtmlDocSerializer} and is
- * provided as a shorthand method of for specifying configuration properties.
- *
- * <p>
- * For example, the following two methods for defining the HTML nav links are
considered equivalent:
- * <p class='bcode w800'>
- * <jc>// Defined via properties.</jc>
- * <ja>@RestResource</ja>(
- * properties={
- *
<ja>@Property</ja>(name=HtmlDocSerializer.<jsf>HTMLDOC_navlinks</jsf>,
value=<js>"{options:'servlet:/?method=OPTIONS',stats:'servlet:/stats',doc:'doc'}"</js>)
- * }
- * )
- *
- * <jc>// Defined via annotation.</jc>
- * <ja>@RestResource</ja>(
- * htmldoc=<ja>@HtmlDoc</ja>(
- * navlinks={
- * <js>"options: servlet:/?method=OPTIONS"</js>,
- * <js>"stats: servlet:/stats"</js>,
- * <js>"doc: doc"</js>
- * }
- * )
- * )
- * </p>
- *
- * <p>
- * The purpose of these annotation is to populate the HTML document view which
by default consists of the following
- * structure:
- * <p class='bcode w800'>
- * <xt><html>
- * <head>
- * <style <xa>type</xa>=<xs>'text/css'</xs>>
- * <xv>CSS styles and links to stylesheets</xv>
- * </style>
- * </head>
- * <body>
- * <header>
- * <xv>Page header</xv>
- * </header>
- * <nav>
- * <xv>Navigation links</xv>
- * </nav>
- * <aside>
- * <xv>Side-bar text</xv>
- * </aside>
- * <article>
- * <xv>Contents of serialized object</xv>
- * </article>
- * <footer>
- * <xv>Footer message</xv>
- * </footer>
- * </body>
- * </html></xt>
- * </p>
- *
- * <ul class='seealso'>
- * <li class='link'>{@doc RestHtmlDocAnnotation}
- * </ul>
- */
-@Deprecated
-public @interface HtmlDoc {
-
- /**
- * Sets the HTML aside section contents.
- *
- * <p>
- * The aside section typically floats on the right side of the page.
- *
- * <h5 class='section'>Example:</h5>
- * <p class='bcode w800'>
- * <ja>@RestResource</ja>(
- * htmldoc=<ja>@HtmlDoc</ja>(
- * aside={
- * <js>"<p>Custom aside
content</p>"</js>
- * }
- * )
- * )
- * </p>
- *
- * <ul class='notes'>
- * <li>
- * The format of this value is HTML.
- * <li>
- * Supports {@doc RestSvlVariables}
- * (e.g. <js>"$L{my.localized.variable}"</js>).
- * <li>
- * A value of <js>"NONE"</js> can be used to force no
value.
- * <li>
- * The parent value can be included by adding the literal
<js>"INHERIT"</js> as a value.
- * <li>
- * Multiple values are combined with newlines into a
single string.
- * <li>
- * On methods, this value is inherited from the
<ja>@HtmlDoc</ja> annotation on the servlet/resource class.
- * <li>
- * On servlet/resource classes, this value is inherited
from the <ja>@HtmlDoc</ja> annotation on the
- * parent class.
- * </ul>
- *
- * <ul class='seealso'>
- * <li class='jf'>{@link HtmlDocSerializer#HTMLDOC_aside}
- * <li class='jm'>{@link HtmlDocBuilder#aside(Object...)}
- * </ul>
- */
- String[] aside() default {};
-
- /**
- * Sets the HTML footer section contents.
- *
- * <p>
- * The footer section typically floats on the bottom of the page.
- *
- * <h5 class='section'>Example:</h5>
- * <p class='bcode w800'>
- * <ja>@RestResource</ja>(
- * htmldoc=<ja>@HtmlDoc</ja>(
- * footer={
- * <js>"<p>Custom footer
content</p>"</js>
- * }
- * )
- * )
- * </p>
- *
- * <ul class='notes'>
- * <li>
- * The format of this value is HTML.
- * <li>
- * Supports {@doc RestSvlVariables}
- * (e.g. <js>"$L{my.localized.variable}"</js>).
- * <li>
- * A value of <js>"NONE"</js> can be used to force no
value.
- * <li>
- * The parent value can be included by adding the literal
<js>"INHERIT"</js> as a value.
- * <li>
- * Multiple values are combined with newlines into a
single string.
- * <li>
- * On methods, this value is inherited from the
<ja>@HtmlDoc</ja> annotation on the servlet/resource class.
- * <li>
- * On servlet/resource classes, this value is inherited
from the <ja>@HtmlDoc</ja> annotation on the
- * parent class.
- * </ul>
- *
- * <ul class='seealso'>
- * <li class='jf'>{@link HtmlDocSerializer#HTMLDOC_footer}
- * <li class='jm'>{@link HtmlDocBuilder#footer(Object...)}
- * </ul>
- */
- String[] footer() default {};
-
- /**
- * Adds arbitrary content to the HTML <xt><head></xt> element on
the page.
- *
- * <h5 class='section'>Example:</h5>
- * <p class='bcode w800'>
- * <ja>@RestResource</ja>(
- * htmldoc=<ja>@HtmlDoc</ja>(
- * head={
- * <jc>// Add a shortcut link in the
browser tab</jc>
- * <js>"<link rel='icon'
href='$U{servlet:/htdocs/mypageicon.ico}'>"</js>,
- *
- * <jc>// Reload the page every 5 seconds
</jc>
- * <js>"<meta http-equiv='refresh'
content='5'>"</js>
- * }
- * )
- * )
- * </p>
- *
- * <ul class='notes'>
- * <li>
- * The format of this value is HTML.
- * <li>
- * Supports {@doc RestSvlVariables}
- * (e.g. <js>"$L{my.localized.variable}"</js>).
- * <li>
- * A value of <js>"NONE"</js> can be used to force no
value.
- * <li>
- * The head content from the parent can be included by
adding the literal <js>"INHERIT"</js> as a value.
- * <li>
- * On methods, this value is inherited from the
<ja>@HtmlDoc</ja> annotation on the servlet/resource class.
- * <li>
- * On servlet/resource classes, this value is inherited
from the <ja>@HtmlDoc</ja> annotation on the
- * parent class.
- * </ul>
- *
- * <ul class='seealso'>
- * <li class='jf'>{@link HtmlDocSerializer#HTMLDOC_head}
- * <li class='jm'>{@link HtmlDocBuilder#head(Object...)}
- * </ul>
- */
- String[] head() default {};
-
- /**
- * Sets the HTML header section contents.
- *
- * <p>
- * The page header normally contains the title and description, but
this value can be used to override the contents
- * to be whatever you want.
- *
- * <h5 class='section'>Example:</h5>
- * <p class='bcode w800'>
- * <ja>@RestResource</ja>(
- * htmldoc=<ja>@HtmlDoc</ja>(
- * header={
- * <js>"<p>This is my REST
interface</p>"</js>
- * }
- * )
- * )
- * </p>
- *
- * <ul class='notes'>
- * <li>
- * The format of this value is HTML.
- * <li>
- * A value of <js>"NONE"</js> can be used to force no
header.
- * <li>
- * The parent value can be included by adding the literal
<js>"INHERIT"</js> as a value.
- * <li>
- * Supports {@doc RestSvlVariables}
- * (e.g. <js>"$L{my.localized.variable}"</js>).
- * <li>
- * Multiple values are combined with newlines into a
single string.
- * <li>
- * On methods, this value is inherited from the
<ja>@HtmlDoc</ja> annotation on the servlet/resource class.
- * <li>
- * On servlet/resource classes, this value is inherited
from the <ja>@HtmlDoc</ja> annotation on the
- * parent class if not overridden.
- * </ul>
- *
- * <ul class='seealso'>
- * <li class='jf'>{@link HtmlDocSerializer#HTMLDOC_header}
- * <li class='jm'>{@link HtmlDocBuilder#header(Object...)}
- * </ul>
- */
- String[] header() default {};
-
- /**
- * Sets the HTML nav section contents.
- *
- * <p>
- * The nav section of the page contains the links.
- *
- * <h5 class='section'>Example:</h5>
- * <p class='bcode w800'>
- * <ja>@RestResource</ja>(
- * htmldoc=<ja>@HtmlDoc</ja>(
- * nav={
- * <js>"<h5>Custom nav
content</h5>"</js>
- * }
- * )
- * )
- * </p>
- *
- * <ul class='notes'>
- * <li>
- * The format of this value is HTML.
- * <li>
- * When {@link #navlinks()} is also specified, this
content is placed AFTER the navigation links.
- * <li>
- * Supports {@doc RestSvlVariables}
- * (e.g. <js>"$L{my.localized.variable}"</js>).
- * <li>
- * A value of <js>"NONE"</js> can be used to force no
value.
- * <li>
- * The parent value can be included by adding the literal
<js>"INHERIT"</js> as a value.
- * <li>
- * Multiple values are combined with newlines into a
single string.
- * <li>
- * On methods, this value is inherited from the
<ja>@HtmlDoc</ja> annotation on the servlet/resource class.
- * <li>
- * On servlet/resource classes, this value is inherited
from the <ja>@HtmlDoc</ja> annotation on the
- * parent class.
- * </ul>
- *
- * <ul class='seealso'>
- * <li class='jf'>{@link HtmlDocSerializer#HTMLDOC_nav}
- * <li class='jm'>{@link HtmlDocBuilder#nav(Object...)}
- * </ul>
- */
- String[] nav() default {};
-
- /**
- * Sets the links in the HTML nav section.
- *
- * <p>
- * The page links are positioned immediately under the title and text.
- *
- * <p>
- * The value is an array of strings with two possible values:
- * <ul>
- * <li>A key-value pair representing a hyperlink label and href:
- * <br><js>"google: http://google.com"</js>
- * <li>Arbitrary HTML.
- * </ul>
- *
- * <h5 class='section'>Example:</h5>
- * <p class='bcode w800'>
- * <ja>@RestResource</ja>(
- * htmldoc=<ja>@HtmlDoc</ja>(
- * navlinks={
- * <js>"up: request:/.."</js>,
- * <js>"options:
servlet:/?method=OPTIONS"</js>
- * }
- * )
- * )
- * </p>
- *
- * <ul class='notes'>
- * <li>
- * Supports {@doc RestSvlVariables}
- * (e.g. <js>"$L{my.localized.variable}"</js>).
- * <li>
- * A value of <js>"NONE"</js> can be used to force no
value.
- * <li>
- * The parent links can be included by adding the literal
<js>"INHERIT"</js> as a value.
- * <br>Use the syntax <js>"key[index]: value"</js> or
<js>"[index]: value"</js> to specify an index location
- * to place a link inside the list of parent links.
- * <li>
- * Supports {@doc MarshallingUris} (e.g.
<js>"servlet:/..."</js>, <js>"request:/..."</js>).
- * <li>
- * On methods, this value is inherited from the
<ja>@HtmlDoc</ja> annotation on the servlet/resource class.
- * <li>
- * On servlet/resource classes, this value is inherited
from the <ja>@HtmlDoc</ja> annotation on the
- * parent class.
- * </ul>
- *
- * <ul class='seealso'>
- * <li class='jf'>{@link HtmlDocSerializer#HTMLDOC_navlinks}
- * <li class='jm'>{@link HtmlDocBuilder#navlinks(Object...)}
- * </ul>
- */
- String[] navlinks() default {};
-
- /**
- * Specifies the text to display when serializing an empty array or
collection.
- *
- * <ul class='notes'>
- * <li>
- * Supports {@doc RestSvlVariables}
- * (e.g. <js>"$L{my.localized.variable}"</js>).
- * </ul>
- *
- * <ul class='seealso'>
- * <li class='jf'>{@link
HtmlDocSerializer#HTMLDOC_noResultsMessage}
- * <li class='jm'>{@link HtmlDocBuilder#noResultsMessage(Object)}
- * </ul>
- */
- String noResultsMessage() default "no results";
-
- /**
- * Shorthand method for forcing the rendered HTML content to be no-wrap.
- *
- * <p>
- * This only applies to the rendered data portion of the page.
- *
- * <ul class='seealso'>
- * <li class='jf'>{@link HtmlDocSerializer#HTMLDOC_nowrap}
- * <li class='jm'>{@link HtmlDocBuilder#nowrap(boolean)}
- * </ul>
- */
- String nowrap() default "";
-
- /**
- * Sets the HTML script section contents.
- *
- * <h5 class='section'>Example:</h5>
- * <p class='bcode w800'>
- * <ja>@RestResource</ja>(
- * htmldoc=<ja>@HtmlDoc</ja>(
- * script={
- * <js>"alert('Hello!')"</js>
- * }
- * )
- * )
- * </p>
- *
- * <ul class='notes'>
- * <li>
- * The format of this value is Javascript.
- * <li>
- * Supports {@doc RestSvlVariables}
- * (e.g. <js>"$L{my.localized.variable}"</js>).
- * <li>
- * A value of <js>"NONE"</js> can be used to force no
value.
- * <li>
- * The parent value can be included by adding the literal
<js>"INHERIT"</js> as a value.
- * <li>
- * Multiple values are combined with newlines into a
single string.
- * <li>
- * On methods, this value is inherited from the
<ja>@HtmlDoc</ja> annotation on the servlet/resource class.
- * <li>
- * On servlet/resource classes, this value is inherited
from the <ja>@HtmlDoc</ja> annotation on the
- * parent class.
- * </ul>
- *
- * <ul class='seealso'>
- * <li class='jf'>{@link HtmlDocSerializer#HTMLDOC_script}
- * <li class='jm'>{@link HtmlDocBuilder#script(Object[])}
- * </ul>
- */
- String[] script() default {};
-
- /**
- * Sets the HTML CSS style section contents.
- *
- * <h5 class='section'>Example:</h5>
- * <p class='bcode w800'>
- * <ja>@RestResource</ja>(
- * htmldoc=<ja>@HtmlDoc</ja>(
- * style={
- * <js>".red{color:red;}"</js>,
- * <js>".blue{color:blue;}"</js>
- * }
- * )
- * )
- * </p>
- *
- * <ul class='notes'>
- * <li>
- * The format of this value is CSS.
- * <li>
- * Supports {@doc RestSvlVariables}
- * (e.g. <js>"$L{my.localized.variable}"</js>).
- * <li>
- * A value of <js>"NONE"</js> can be used to force no
value.
- * <li>
- * The parent value can be included by adding the literal
<js>"INHERIT"</js> as a value.
- * <li>
- * Multiple values are combined with newlines into a
single string.
- * <li>
- * On methods, this value is inherited from the
<ja>@HtmlDoc</ja> annotation on the servlet/resource class.
- * <li>
- * On servlet/resource classes, this value is inherited
from the <ja>@HtmlDoc</ja> annotation on the
- * parent class.
- * </ul>
- *
- * <ul class='seealso'>
- * <li class='jf'>{@link HtmlDocSerializer#HTMLDOC_style}
- * <li class='jm'>{@link HtmlDocBuilder#style(Object[])}
- * </ul>
- */
- String[] style() default {};
-
- /**
- * Sets the CSS URL in the HTML CSS style section.
- *
- * <p>
- * Specifies the URL to the stylesheet to add as a link in the style
tag in the header.
- *
- * <h5 class='section'>Example:</h5>
- * <p class='bcode w800'>
- * <ja>@RestResource</ja>(
- * htmldoc=<ja>@HtmlDoc</ja>(
- *
stylesheet=<js>"http://someOtherHost/stealTheir.css"</js>
- * )
- * )
- * </p>
- *
- * <ul class='notes'>
- * <li>
- * The format of this value is a URL.
- * <li>
- * Supports {@doc RestSvlVariables}
- * (e.g. <js>"$L{my.localized.variable}"</js>).
- * <li>
- * On methods, this value is inherited from the
<ja>@HtmlDoc</ja> annotation on the servlet/resource class.
- * <li>
- * On servlet/resource classes, this value is inherited
from the <ja>@HtmlDoc</ja> annotation on the
- * parent class.
- * </ul>
- *
- * <ul class='seealso'>
- * <li class='jf'>{@link HtmlDocSerializer#HTMLDOC_stylesheet}
- * <li class='jm'>{@link HtmlDocBuilder#stylesheet(Object[])}
- * </ul>
- */
- String[] stylesheet() default {};
-
- /**
- * Specifies the template class to use for rendering the HTML page.
- *
- * <p>
- * By default, uses {@link BasicHtmlDocTemplate} to render the
contents, although you can provide your own custom
- * renderer or subclasses from the basic class to have full control
over how the page is rendered.
- *
- * <ul class='notes'>
- * <li>
- * On methods, this value is inherited from the
<ja>@HtmlDoc</ja> annotation on the servlet/resource class.
- * <li>
- * On servlet/resource classes, this value is inherited
from the <ja>@HtmlDoc</ja> annotation on the
- * parent class.
- * </ul>
- *
- * <ul class='seealso'>
- * <li class='jf'>{@link HtmlDocSerializer#HTMLDOC_template}
- * <li class='jm'>{@link HtmlDocBuilder#template(Class)}
- * <li class='jm'>{@link HtmlDocBuilder#template(HtmlDocTemplate)}
- * </ul>
- */
- Class<? extends HtmlDocTemplate> template() default
HtmlDocTemplate.class;
-
- /**
- * Configuration property: HTML Widgets.
- *
- * <p>
- * Defines widgets that can be used in conjunction with string
variables of the form <js>"$W{name}"</js>to quickly
- * generate arbitrary replacement text.
- *
- * <p>
- * Widgets resolve the following variables:
- *
- * <ul class='spaced-list'>
- * <li>
- * <js>"$W{name}"</js> - Contents returned by {@link
Widget#getHtml(RestRequest,RestResponse)}.
- * <li>
- * <js>"$W{name.script}"</js> - Contents returned by
{@link Widget#getScript(RestRequest,RestResponse)}.
- * <br>The script contents are automatically inserted into
the <xt><head/script></xt> section
- * in the HTML page.
- * <li>
- * <js>"$W{name.style}"</js> - Contents returned by {@link
Widget#getStyle(RestRequest,RestResponse)}.
- * <br>The styles contents are automatically inserted into
the <xt><head/style></xt> section
- * in the HTML page.
- * </ul>
- *
- * <p>
- * The following examples shows how to associate a widget with a REST
method and then have it rendered in the links
- * and aside section of the page:
- *
- * <p class='bcode w800'>
- * <ja>@RestMethod</ja>(
- * widgets={
- * MyWidget.<jk>class</jk>
- * }
- * htmldoc=<ja>@HtmlDoc</ja>(
- * navlinks={
- * <js>"$W{MyWidget}"</js>
- * },
- * aside={
- * <js>"Check out this widget:
$W{MyWidget}"</js>
- * }
- * )
- * )
- * </p>
- *
- * <ul class='notes'>
- * <li>
- * Widgets are inherited from parent to child, but can be
overridden by reusing the widget name.
- * <li>
- * Values are appended to the existing list.
- * </ul>
- *
- * <ul class='seealso'>
- * <li class='link'>{@doc RestHtmlWidgets}
- * </ul>
- */
- Class<? extends Widget>[] widgets() default {};
-}
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestMethod.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestMethod.java
index 82220f6..d3cfe80 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestMethod.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestMethod.java
@@ -20,7 +20,6 @@ import java.lang.annotation.*;
import org.apache.juneau.*;
import org.apache.juneau.annotation.*;
import org.apache.juneau.rest.*;
-import org.apache.juneau.html.annotation.*;
import org.apache.juneau.http.annotation.*;
import org.apache.juneau.http.remote.*;
@@ -371,23 +370,6 @@ public @interface RestMethod {
Class<? extends RestGuard>[] guards() default {};
/**
- * Provides HTML-doc-specific metadata on this method.
- *
- * <div class='warn'>
- * <b>Deprecated</b> - Use {@link HtmlDocConfig}
- * </div>
- *
- * <p>
- * Information provided here overrides information provided in the
servlet-level annotation.
- *
- * <ul class='seealso'>
- * <li class='link'>{@doc RestHtmlDocAnnotation}
- * </ul>
- */
- @Deprecated
- HtmlDoc htmldoc() default @HtmlDoc;
-
- /**
* Specifies rules on how to handle logging of HTTP requests/responses.
*
* <ul class='seealso'>
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestMethodAnnotation.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestMethodAnnotation.java
index 0bb7fd3..1bab2b9 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestMethodAnnotation.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestMethodAnnotation.java
@@ -65,7 +65,6 @@ public class RestMethodAnnotation implements RestMethod {
private Class<? extends RestConverter>[] converters = new Class[0];
private Class<? extends RestGuard>[] guards = new Class[0];
- @SuppressWarnings("deprecation") private HtmlDoc htmldoc = null;
private Logging logging = new LoggingAnnotation();
private Class<? extends RestMatcher>[] matchers = new Class[0];
private int priority = 0;
@@ -168,12 +167,6 @@ public class RestMethodAnnotation implements RestMethod {
return guards;
}
- @SuppressWarnings("deprecation")
- @Override /* RestMethod */
- public HtmlDoc htmldoc() {
- return htmldoc;
- }
-
@Override /* RestMethod */
public Logging logging() {
return logging;
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestMethodConfigApply.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestMethodConfigApply.java
index 58a00db..7394585 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestMethodConfigApply.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestMethodConfigApply.java
@@ -14,12 +14,10 @@ package org.apache.juneau.rest.annotation;
import static org.apache.juneau.BeanContext.*;
import static org.apache.juneau.internal.ArrayUtils.*;
-import static org.apache.juneau.internal.ClassUtils.*;
import static org.apache.juneau.internal.StringUtils.*;
import static org.apache.juneau.rest.RestContext.*;
import static org.apache.juneau.rest.RestMethodContext.*;
import static org.apache.juneau.rest.util.RestUtils.*;
-import static org.apache.juneau.html.HtmlDocSerializer.*;
import java.util.*;
import java.util.logging.*;
@@ -30,7 +28,6 @@ import org.apache.juneau.reflect.*;
import org.apache.juneau.rest.*;
import org.apache.juneau.rest.annotation.AnnotationUtils;
import org.apache.juneau.rest.util.*;
-import org.apache.juneau.rest.widget.*;
import org.apache.juneau.svl.*;
/**
@@ -286,15 +283,6 @@ public class RestMethodConfigApply extends
ConfigApply<RestMethod> {
psb.set(RESTMETHOD_callLoggerConfig, m);
}
-
- HtmlDoc hd = a.htmldoc();
- new HtmlDocBuilder(psb).process(hd);
- for (Class<? extends Widget> wc : hd.widgets()) {
- Widget w = castOrCreate(Widget.class, wc);
- psb.prependTo(REST_widgets, w);
- psb.prependTo(HTMLDOC_script,
"$W{"+w.getName()+".script}");
- psb.prependTo(HTMLDOC_script,
"$W{"+w.getName()+".style}");
- }
}
private Enablement enablement(String in) {
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestResource.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestResource.java
index fad124c..556195e 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestResource.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestResource.java
@@ -433,55 +433,6 @@ public @interface RestResource {
Class<? extends RestGuard>[] guards() default {};
/**
- * Provides HTML-doc-specific metadata on this method.
- *
- * <p>
- * Used to customize the output from the HTML Doc serializer.
- * <p class='bcode w800'>
- * <ja>@RestResource</ja>(
- * path=<js>"/addressBook"</js>,
- *
- * <jc>// Links on the HTML rendition page.
- * // "request:/..." URIs are relative to the request URI.
- * // "servlet:/..." URIs are relative to the servlet URI.
- * // "$C{...}" variables are pulled from the config
file.</jc>
- * htmldoc=<ja>@HtmlDoc</ja>(
- * <jc>// Widgets for $W variables.</jc>
- * widgets={
- * PoweredByJuneau.<jk>class</jk>,
- * ContentTypeLinks.<jk>class</jk>
- * }
- * navlinks={
- * <js>"up: request:/.."</js>,
- * <js>"options:
servlet:/?method=OPTIONS"</js>,
- * <js>"stats: servlet:/stats"</js>,
- * <js>"source:
$C{Source/gitHub}/org/apache/juneau/examples/rest/addressbook/AddressBookResource.java"</js>,
- * },
- * aside={
- * <js>"<div
style='max-width:400px;min-width:200px'>"</js>,
- * <js>" <p>Proof-of-concept
resource that shows off the capabilities of working with POJO
resources.</p>"</js>,
- * <js>" <p>Provides examples of:
</p>"</js>,
- * <js>" <ul>"</js>,
- * <js>" <li>XML
and RDF namespaces"</js>,
- * <js>"
<li>Swagger documentation"</js>,
- * <js>"
<li>Widgets"</js>,
- * <js>" </ul>"</js>,
- * <js>" <p
style='text-weight:bold;text-decoration:underline;'>Available Content
Types</p>"</js>,
- * <js>" $W{ContentTypeLinks}"</js>,
- * <js>"</div>"</js>
- * },
- * footer=<js>"$W{PoweredByJuneau}"</js>
- * )
- * )
- * </p>
- *
- * <ul class='seealso'>
- * <li class='link'>{@doc RestHtmlDocAnnotation}
- * </ul>
- */
- HtmlDoc htmldoc() default @HtmlDoc;
-
- /**
* Configuration property: REST info provider.
*
* <p>
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestResourceConfigApply.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestResourceConfigApply.java
index c0b0386..4d7aa20 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestResourceConfigApply.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestResourceConfigApply.java
@@ -20,7 +20,6 @@ import java.util.logging.*;
import static org.apache.juneau.internal.StringUtils.*;
import static org.apache.juneau.html.HtmlDocSerializer.*;
import static org.apache.juneau.internal.ArrayUtils.*;
-import static org.apache.juneau.internal.ClassUtils.*;
import static org.apache.juneau.parser.Parser.*;
import org.apache.juneau.*;
@@ -33,7 +32,6 @@ import org.apache.juneau.rest.*;
import org.apache.juneau.rest.annotation.AnnotationUtils;
import org.apache.juneau.rest.annotation.Logging;
import org.apache.juneau.rest.util.*;
-import org.apache.juneau.rest.widget.*;
import org.apache.juneau.serializer.*;
import org.apache.juneau.svl.*;
import org.apache.juneau.utils.*;
@@ -295,15 +293,6 @@ public class RestResourceConfigApply extends
ConfigApply<RestResource> {
if (! a.roleGuard().isEmpty())
psb.addTo(REST_roleGuard, string(a.roleGuard()));
-
- HtmlDoc hd = a.htmldoc();
- new HtmlDocBuilder(psb).process(hd);
- for (Class<? extends Widget> wc : hd.widgets()) {
- Widget w = castOrCreate(Widget.class, wc);
- psb.prependTo(REST_widgets, w);
- psb.prependTo(HTMLDOC_script,
"$W{"+w.getName()+".script}");
- psb.prependTo(HTMLDOC_script,
"$W{"+w.getName()+".style}");
- }
}
private String trimLeadingSlash(String value) {