You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2019/09/09 11:18:13 UTC
[tomcat] branch 7.0.x updated: Fix Javadoc issues preventing
release builds with newer Java versions
This is an automated email from the ASF dual-hosted git repository.
markt pushed a commit to branch 7.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/7.0.x by this push:
new 2efd3a6 Fix Javadoc issues preventing release builds with newer Java versions
2efd3a6 is described below
commit 2efd3a65929374bc9e22fc7902de1ed4af695cc5
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Fri Sep 6 16:21:18 2019 +0100
Fix Javadoc issues preventing release builds with newer Java versions
Enable release builds to be built with Java 10 onwards.
---
build.properties.default | 11 +++
build.xml | 58 +++++++++++----
java/javax/servlet/jsp/tagext/VariableInfo.java | 56 +++++++--------
.../org/apache/catalina/filters/ExpiresFilter.java | 30 ++++----
java/org/apache/catalina/tribes/package.html | 4 +-
java/org/apache/juli/logging/package.html | 2 +-
java/org/apache/tomcat/util/buf/package.html | 2 +-
.../tomcat/util/digester/SetPropertiesRule.java | 4 +-
java/org/apache/tomcat/util/digester/package.html | 84 +++++++++-------------
java/org/apache/tomcat/util/modeler/package.html | 8 +--
java/org/apache/tomcat/util/net/NioChannel.java | 10 +--
webapps/docs/changelog.xml | 5 ++
12 files changed, 152 insertions(+), 122 deletions(-)
diff --git a/build.properties.default b/build.properties.default
index 66ab7f5..f620925 100644
--- a/build.properties.default
+++ b/build.properties.default
@@ -306,3 +306,14 @@ cobertura.checksum.value=63a8c5b3f5c1226fcc52cc9c9ea2a812|705d23e5a8815aff3bc4ad
cobertura.home=${base.path}/cobertura-${cobertura.version}
cobertura.jar=${cobertura.home}/cobertura-${cobertura.version}.jar
cobertura.loc=${base-sf.loc}/cobertura/cobertura-${cobertura.version}-bin.tar.gz
+
+# ----- SAAJ API, used by Code Signing for releases -----
+# ----- No longer part of JRE from Java 11 onwards -----
+# ----- CDDL Licensed -----
+saaj-api.version=1.3.5
+saaj-api.checksum.enabled=true
+saaj-api.checksum.algorithm=MD5|SHA-1
+saaj-api.checksum.value=caae8b4bf2c551155815331e9e96256f|1c399a7fea4d0262a6a39750e419c24f0c769586
+saaj-api.home=${base.path}/saaj-api-${saaj-api.version}
+saaj-api.jar=${saaj-api.home}/saaj-api-${saaj-api.version}.jar
+saaj-api.loc=${base-maven.loc}/javax/xml/soap/saaj-api/${saaj-api.version}/saaj-api-${saaj-api.version}.jar
diff --git a/build.xml b/build.xml
index 43eab71..c2dc4e2 100644
--- a/build.xml
+++ b/build.xml
@@ -28,10 +28,10 @@
<!-- is part of the original project source code. -->
<!-- See "build.properties.default" in the top level directory for some -->
<!-- property values you may customize. -->
+ <property environment="env"/>
<property file="${user.home}/build.properties"/>
<property file="build.properties"/>
<property file="build.properties.default"/>
- <property environment="env"/>
<!-- Project Name -->
<property name="project" value="apache-tomcat" />
@@ -84,6 +84,10 @@
<property name="compile.source" value="1.6"/>
<property name="compile.target" value="1.6"/>
+ <!-- Expose commons-logging defaults so they can be orver-ridden -->
+ <property name="logging.compile.source" value="1.2" />
+ <property name="logging.compile.target" value="1.1" />
+
<!-- Locations to create the JAR artifacts -->
<!-- Standard JARs -->
<property name="bootstrap.jar" value="${tomcat.build}/bin/bootstrap.jar"/>
@@ -194,9 +198,16 @@
<defaultexcludes remove="**/.gitignore" />
<!--<defaultexcludes echo="true" />-->
+ <!-- Java 9 -->
+ <available classname="java.lang.reflect.InaccessibleObjectException"
+ property="java9.javadoc.options"
+ value="-html5"/>
+ <property name="java9.javadoc.options" value=""/>
+
<!-- Classpaths -->
<path id="compile.classpath">
<pathelement location="${jdt.jar}"/>
+ <pathelement location="${saaj-api.jar}"/>
</path>
<path id="tomcat.classpath">
@@ -573,7 +584,6 @@
<!-- Exclude simple test files -->
<exclude name="test/webapp/bug53257/**/*.txt"/>
<exclude name="test/webapp-fragments/WEB-INF/classes/*.txt"/>
- <!-- Exclude developer specific local files -->
<exclude name="build.properties" />
<exclude name="res/maven/mvn.properties" />
</fileset>
@@ -581,6 +591,8 @@
<exclude name=".*/**"/>
<exclude name="**/MANIFEST.MF"/>
<patternset refid="text.files" />
+ <!-- Exclude developer specific local files -->
+ <exclude name="build.properties" />
</fileset>
</checkstyle>
<!-- javax package checks -->
@@ -1735,7 +1747,10 @@
<ant antfile="${tomcat.extras}/logging/commons-logging-${commons-logging.version}-src/build2.xml"
dir="${tomcat.extras}/logging/commons-logging-${commons-logging.version}-src"
- inheritAll="false" target="compile" />
+ inheritAll="false" target="compile" >
+ <property name="source.version" value="${logging.compile.source}" />
+ <property name="target.version" value="${logging.compile.target}" />
+ </ant>
<jar jarfile="${tomcat-juli-extras.jar}"
manifest="${tomcat.manifests}/default.manifest">
@@ -2024,7 +2039,8 @@ Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform.
encoding="ISO-8859-1"
docencoding="ISO-8859-1"
charset="ISO-8859-1"
- additionalparam="-breakiterator -notimestamp"
+ additionalparam="-breakiterator -notimestamp ${java9.javadoc.options}"
+ source="${compile.source}"
maxmemory="512m"
failonerror="true"
executable="${java.7.home}/bin/javadoc">
@@ -2045,7 +2061,8 @@ Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform.
encoding="ISO-8859-1"
docencoding="ISO-8859-1"
charset="ISO-8859-1"
- additionalparam="-breakiterator -notimestamp"
+ additionalparam="-breakiterator -notimestamp ${java9.javadoc.options}"
+ source="${compile.source}"
maxmemory="512m"
failonerror="true"
executable="${java.7.home}/bin/javadoc">
@@ -2066,7 +2083,8 @@ Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform.
encoding="ISO-8859-1"
docencoding="ISO-8859-1"
charset="ISO-8859-1"
- additionalparam="-breakiterator -notimestamp"
+ additionalparam="-breakiterator -notimestamp ${java9.javadoc.options}"
+ source="${compile.source}"
maxmemory="512m"
failonerror="true"
executable="${java.7.home}/bin/javadoc">
@@ -2087,7 +2105,8 @@ Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform.
encoding="ISO-8859-1"
docencoding="ISO-8859-1"
charset="ISO-8859-1"
- additionalparam="-breakiterator -notimestamp"
+ additionalparam="-breakiterator -notimestamp ${java9.javadoc.options}"
+ source="${compile.source}"
maxmemory="512m"
failonerror="true"
executable="${java.7.home}/bin/javadoc">
@@ -2107,10 +2126,12 @@ Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform.
encoding="ISO-8859-1"
docencoding="ISO-8859-1"
charset="ISO-8859-1"
- additionalparam="-breakiterator -notimestamp"
+ additionalparam="-breakiterator -notimestamp ${java9.javadoc.options} -J-Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2"
+ source="${compile.source}"
maxmemory="512m"
failonerror="true"
- executable="${java.7.home}/bin/javadoc">
+ executable="${java.7.home}/bin/javadoc"
+ useexternalfile="true">
<classpath>
<path refid="compile.classpath"/>
<path refid="tomcat.webservices.classpath"/>
@@ -2120,10 +2141,13 @@ Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform.
<link href="../jspapi"/>
<link href="../elapi"/>
<link href="../websocketapi"/>
- <link href="http://docs.oracle.com/javase/7/docs/api/"/>
- <link href="http://docs.oracle.com/javaee/6/api/"/>
+ <link href="https://docs.oracle.com/javase/7/docs/api/"/>
+ <link href="https://docs.oracle.com/javaee/6/api/"/>
+ <fileset dir="${tomcat.dist}/src/java">
+ <include name="**/*.java"/>
+ <exclude name="org/apache/catalina/util/Base64.java" if="java11.present" />
+ </fileset>
<sourcepath>
- <path location="${tomcat.dist}/src/java"/>
<!--jdbc-pool src files for javadoc-->
<path location="${tomcat.dist}/src/modules/jdbc-pool/src/main/java"/>
</sourcepath>
@@ -2840,6 +2864,16 @@ skip.installer property in build.properties" />
<param name="checksum.value" value="${jdt.checksum.value}"/>
</antcall>
+ <!-- Download SAAJ API -->
+ <antcall target="downloadfile">
+ <param name="sourcefile" value="${saaj-api.loc}"/>
+ <param name="destfile" value="${saaj-api.jar}"/>
+ <param name="destdir" value="${saaj-api.home}"/>
+ <param name="checksum.enabled" value="${saaj-api.checksum.enabled}"/>
+ <param name="checksum.algorithm" value="${saaj-api.checksum.algorithm}"/>
+ <param name="checksum.value" value="${saaj-api.checksum.value}"/>
+ </antcall>
+
</target>
<target name="download-test-compile"
diff --git a/java/javax/servlet/jsp/tagext/VariableInfo.java b/java/javax/servlet/jsp/tagext/VariableInfo.java
index b7972f5..2d0cdcd 100644
--- a/java/javax/servlet/jsp/tagext/VariableInfo.java
+++ b/java/javax/servlet/jsp/tagext/VariableInfo.java
@@ -81,78 +81,78 @@ package javax.servlet.jsp.tagext;
* thus where synchronization is needed as illustrated by the table below.
* <b>Note:</b> the synchronization of the variable(s) will occur <em>after</em>
* the respective method has been called. <blockquote>
- * <table cellpadding="2" cellspacing="2" border="0" width="55%"
- * style="background-color:#999999" summary="Variable Synchronization Points">
+ * <table style="background-color:#999999">
+ * <caption>Variable Synchronization Points</caption>
* <tbody>
- * <tr align="center">
+ * <tr>
* <td valign="top" colspan="6" style="background-color:#999999">
* <u><b>Variable Synchronization Points</b></u><br>
* </td>
* </tr>
* <tr>
* <th valign="top" style="background-color:#c0c0c0"> </th>
- * <th valign="top" style="background-color:#c0c0c0" align="center">doStartTag()</th>
- * <th valign="top" style="background-color:#c0c0c0" align="center">doInitBody()</th>
- * <th valign="top" style="background-color:#c0c0c0" align="center">doAfterBody()</th>
- * <th valign="top" style="background-color:#c0c0c0" align="center">doEndTag()</th>
- * <th valign="top" style="background-color:#c0c0c0" align="center">doTag()</th>
+ * <th valign="top" style="background-color:#c0c0c0">doStartTag()</th>
+ * <th valign="top" style="background-color:#c0c0c0">doInitBody()</th>
+ * <th valign="top" style="background-color:#c0c0c0">doAfterBody()</th>
+ * <th valign="top" style="background-color:#c0c0c0">doEndTag()</th>
+ * <th valign="top" style="background-color:#c0c0c0">doTag()</th>
* </tr>
* <tr>
* <td valign="top" style="background-color:#c0c0c0"><b>Tag<br>
* </b></td>
- * <td valign="top" align="center" style="background-color:#ffffff">AT_BEGIN, NESTED<br>
+ * <td valign="top" style="background-color:#ffffff">AT_BEGIN, NESTED<br>
* </td>
- * <td valign="top" align="center" style="background-color:#ffffff"><br>
+ * <td valign="top" style="background-color:#ffffff"><br>
* </td>
- * <td valign="top" align="center" style="background-color:#ffffff"><br>
+ * <td valign="top" style="background-color:#ffffff"><br>
* </td>
- * <td valign="top" align="center" style="background-color:#ffffff">AT_BEGIN, AT_END<br>
+ * <td valign="top" style="background-color:#ffffff">AT_BEGIN, AT_END<br>
* </td>
- * <td valign="top" align="center" style="background-color:#ffffff"><br>
+ * <td valign="top" style="background-color:#ffffff"><br>
* </td>
* </tr>
* <tr>
* <td valign="top" style="background-color:#c0c0c0"><b>IterationTag<br>
* </b></td>
- * <td valign="top" align="center" style="background-color:#ffffff">AT_BEGIN, NESTED<br>
+ * <td valign="top" style="background-color:#ffffff">AT_BEGIN, NESTED<br>
* </td>
- * <td valign="top" align="center" style="background-color:#ffffff"><br>
+ * <td valign="top" style="background-color:#ffffff"><br>
* </td>
- * <td valign="top" align="center" style="background-color:#ffffff">AT_BEGIN, NESTED<br>
+ * <td valign="top" style="background-color:#ffffff">AT_BEGIN, NESTED<br>
* </td>
- * <td valign="top" align="center" style="background-color:#ffffff">AT_BEGIN, AT_END<br>
+ * <td valign="top" style="background-color:#ffffff">AT_BEGIN, AT_END<br>
* </td>
- * <td valign="top" align="center" style="background-color:#ffffff"><br>
+ * <td valign="top" style="background-color:#ffffff"><br>
* </td>
* </tr>
* <tr>
* <td valign="top" style="background-color:#c0c0c0"><b>BodyTag<br>
* </b></td>
- * <td valign="top" align="center" style="background-color:#ffffff">AT_BEGIN,
+ * <td valign="top" style="background-color:#ffffff">AT_BEGIN,
* NESTED<sup>1</sup><br>
* </td>
- * <td valign="top" align="center" style="background-color:#ffffff">AT_BEGIN,
+ * <td valign="top" style="background-color:#ffffff">AT_BEGIN,
* NESTED<sup>1</sup><br>
* </td>
- * <td valign="top" align="center" style="background-color:#ffffff">AT_BEGIN, NESTED<br>
+ * <td valign="top" style="background-color:#ffffff">AT_BEGIN, NESTED<br>
* </td>
- * <td valign="top" align="center" style="background-color:#ffffff">AT_BEGIN, AT_END<br>
+ * <td valign="top" style="background-color:#ffffff">AT_BEGIN, AT_END<br>
* </td>
- * <td valign="top" align="center" style="background-color:#ffffff"><br>
+ * <td valign="top" style="background-color:#ffffff"><br>
* </td>
* </tr>
* <tr>
* <td valign="top" style="background-color:#c0c0c0"><b>SimpleTag<br>
* </b></td>
- * <td valign="top" align="center" style="background-color:#ffffff"><br>
+ * <td valign="top" style="background-color:#ffffff"><br>
* </td>
- * <td valign="top" align="center" style="background-color:#ffffff"><br>
+ * <td valign="top" style="background-color:#ffffff"><br>
* </td>
- * <td valign="top" align="center" style="background-color:#ffffff"><br>
+ * <td valign="top" style="background-color:#ffffff"><br>
* </td>
- * <td valign="top" align="center" style="background-color:#ffffff"><br>
+ * <td valign="top" style="background-color:#ffffff"><br>
* </td>
- * <td valign="top" align="center" style="background-color:#ffffff">AT_BEGIN, AT_END<br>
+ * <td valign="top" style="background-color:#ffffff">AT_BEGIN, AT_END<br>
* </td>
* </tr>
* </tbody>
diff --git a/java/org/apache/catalina/filters/ExpiresFilter.java b/java/org/apache/catalina/filters/ExpiresFilter.java
index b4dce2e..0b9fcd4 100644
--- a/java/org/apache/catalina/filters/ExpiresFilter.java
+++ b/java/org/apache/catalina/filters/ExpiresFilter.java
@@ -56,7 +56,7 @@ import org.apache.juli.logging.LogFactory;
* Following documentation is inspired by <a
* href="https://httpd.apache.org/docs/2.2/mod/mod_expires.html">mod_expires</a>
* </p>
- * <h1>Summary</h1>
+ * <h2>Summary</h2>
* <p>
* This filter controls the setting of the {@code Expires} HTTP header and the
* {@code max-age} directive of the {@code Cache-Control} HTTP header in
@@ -77,9 +77,9 @@ import org.apache.juli.logging.LogFactory;
* href="https://httpd.apache.org/docs/2.2/mod/mod_headers.html" >Apache Httpd
* mod_headers</a> module.
* </p>
- * <h1>Filter Configuration</h1><h2>Basic configuration to add
+ * <h2>Filter Configuration</h2><h3>Basic configuration to add
* '{@code Expires}' and '{@code Cache-Control: max-age=}'
- * headers to images, css and javascript</h2>
+ * headers to images, css and javascript</h3>
*
* <pre>
* {@code
@@ -112,9 +112,9 @@ import org.apache.juli.logging.LogFactory;
* }
* </pre>
*
- * <h2>Configuration Parameters</h2>
+ * <h3>Configuration Parameters</h3>
*
- * <h3>{@code ExpiresByType <content-type>}</h3>
+ * <h4>{@code ExpiresByType <content-type>}</h4>
* <p>
* This directive defines the value of the {@code Expires} header and the
* {@code max-age} directive of the {@code Cache-Control} header generated for
@@ -171,8 +171,8 @@ import org.apache.juli.logging.LogFactory;
* You can also specify the expiration time calculation using an alternate
* syntax, described earlier in this document.
* </p>
- * <h3>
- * {@code ExpiresExcludedResponseStatusCodes}</h3>
+ * <h4>
+ * {@code ExpiresExcludedResponseStatusCodes}</h4>
* <p>
* This directive defines the http response status codes for which the
* {@code ExpiresFilter} will not generate expiration headers. By default, the
@@ -199,7 +199,7 @@ import org.apache.juli.logging.LogFactory;
* }
* </pre>
*
- * <h3>ExpiresDefault</h3>
+ * <h4>ExpiresDefault</h4>
* <p>
* This directive sets the default algorithm for calculating the expiration time
* for all documents in the affected realm. It can be overridden on a
@@ -207,7 +207,7 @@ import org.apache.juli.logging.LogFactory;
* description of that directive for details about the syntax of the argument,
* and the "alternate syntax" description as well.
* </p>
- * <h1>Alternate Syntax</h1>
+ * <h2>Alternate Syntax</h2>
* <p>
* The {@code ExpiresDefault} and {@code ExpiresByType} directives can also be
* defined in a more readable syntax of the form:
@@ -295,7 +295,7 @@ import org.apache.juli.logging.LogFactory;
* a file on disk. This is due to the fact that there is no modification time
* for such content.
* </p>
- * <h1>Expiration headers generation eligibility</h1>
+ * <h2>Expiration headers generation eligibility</h2>
* <p>
* A response is eligible to be enriched by {@code ExpiresFilter} if :
* </p>
@@ -316,7 +316,7 @@ import org.apache.juli.logging.LogFactory;
* {@code max-age}, they are concatenated with the {@code max-age} directive
* that is added by the {@code ExpiresFilter}.</li>
* </ul>
- * <h1>Expiration configuration selection</h1>
+ * <h2>Expiration configuration selection</h2>
* <p>
* The expiration configuration if elected according to the following algorithm:
* </p>
@@ -333,7 +333,7 @@ import org.apache.juli.logging.LogFactory;
* '),</li>
* <li>{@code ExpiresDefault}</li>
* </ol>
- * <h1>Implementation Details</h1><h2>When to write the expiration headers ?</h2>
+ * <h2>Implementation Details</h2><h3>When to write the expiration headers ?</h3>
* <p>
* The {@code ExpiresFilter} traps the 'on before write response
* body' event to decide whether it should generate expiration headers or
@@ -349,7 +349,7 @@ import org.apache.juli.logging.LogFactory;
* case, the {@code ExpiresFilter}, at the end of its {@code doFilter()}
* method, manually triggers the {@code onBeforeWriteResponseBody()} method.
* </p>
- * <h2>Configuration syntax</h2>
+ * <h3>Configuration syntax</h3>
* <p>
* The {@code ExpiresFilter} supports the same configuration syntax as Apache
* Httpd mod_expires.
@@ -365,7 +365,7 @@ import org.apache.juli.logging.LogFactory;
* The workaround has been to declare the content type in the
* {@code <param-name>} rather than in the {@code <param-value>}.
* </p>
- * <h2>Designed for extension : the open/close principle</h2>
+ * <h3>Designed for extension : the open/close principle</h3>
* <p>
* The {@code ExpiresFilter} has been designed for extension following the
* open/close principle.
@@ -380,7 +380,7 @@ import org.apache.juli.logging.LogFactory;
* <li>
* {@link #getExpirationDate(XHttpServletResponse)}</li>
* </ul>
- * <h1>Troubleshooting</h1>
+ * <h2>Troubleshooting</h2>
* <p>
* To troubleshoot, enable logging on the
* {@code org.apache.catalina.filters.ExpiresFilter}.
diff --git a/java/org/apache/catalina/tribes/package.html b/java/org/apache/catalina/tribes/package.html
index 8a726c4..8921117 100644
--- a/java/org/apache/catalina/tribes/package.html
+++ b/java/org/apache/catalina/tribes/package.html
@@ -16,7 +16,7 @@
-->
<body>
<head><title>Apache Tribes - The Tomcat Cluster Communication Module</title>
-<h3>QuickStart</h3>
+<h2>QuickStart</h2>
<pre><code>
//create a channel
Channel myChannel = new GroupChannel();
@@ -43,7 +43,7 @@
channel.send(group,myMsg,Channel.SEND_OPTIONS_DEFAULT);
</code></pre>
-<h3>Interfaces for the Application Developer</h3>
+<h2>Interfaces for the Application Developer</h2>
<ol>
<li><code>org.apache.catalina.tribes.Channel</code>
Main component to interact with to send messages
diff --git a/java/org/apache/juli/logging/package.html b/java/org/apache/juli/logging/package.html
index e768de7..30afa40 100644
--- a/java/org/apache/juli/logging/package.html
+++ b/java/org/apache/juli/logging/package.html
@@ -16,7 +16,7 @@
-->
<body>
-<h3>Overview</h3>
+<h2>Overview</h2>
<p>This implementation of commons-logging uses a commons-logging.jar
diff --git a/java/org/apache/tomcat/util/buf/package.html b/java/org/apache/tomcat/util/buf/package.html
index 833cffa..61f2c38 100644
--- a/java/org/apache/tomcat/util/buf/package.html
+++ b/java/org/apache/tomcat/util/buf/package.html
@@ -15,7 +15,7 @@
limitations under the License.
-->
<html><body>
-<H1>Buffers and Encodings</h1>
+<H2>Buffers and Encodings</h2>
This package contains buffers and utils to perform encoding/decoding of buffers. That includes byte to char
conversions, URL encodings, etc.
diff --git a/java/org/apache/tomcat/util/digester/SetPropertiesRule.java b/java/org/apache/tomcat/util/digester/SetPropertiesRule.java
index ac9a86e..206aa80 100644
--- a/java/org/apache/tomcat/util/digester/SetPropertiesRule.java
+++ b/java/org/apache/tomcat/util/digester/SetPropertiesRule.java
@@ -94,7 +94,7 @@ public class SetPropertiesRule extends Rule {
* <p>If a property name is null or the attribute name has no matching
* property name, then this indicates that the attribute should be ignored.</p>
*
- * <h2>Example One</h2>
+ * <h4>Example One</h4>
* <p> The following constructs a rule that maps the <code>alt-city</code>
* attribute to the <code>city</code> property and the <code>alt-state</code>
* to the <code>state</code> property.
@@ -105,7 +105,7 @@ public class SetPropertiesRule extends Rule {
* new String[] {"city", "state"});
* </pre>
*
- * <h2>Example Two</h2>
+ * <h4>Example Two</h4>
* <p> The following constructs a rule that maps the <code>class</code>
* attribute to the <code>className</code> property.
* The attribute <code>ignore-me</code> is not mapped.
diff --git a/java/org/apache/tomcat/util/digester/package.html b/java/org/apache/tomcat/util/digester/package.html
index 059cd14..6ffdf94 100644
--- a/java/org/apache/tomcat/util/digester/package.html
+++ b/java/org/apache/tomcat/util/digester/package.html
@@ -22,8 +22,7 @@
The Digester package provides for rules-based processing of arbitrary
XML documents.
<br><br>
-<a name="doc.Description"></a>
-<div align="center">
+<div>
<a href="#doc.Intro">[Introduction]</a>
<a href="#doc.Properties">[Configuration Properties]</a>
<a href="#doc.Stack">[The Object Stack]</a>
@@ -41,8 +40,7 @@ XML documents.
<a href="#doc.Limits">[Known Limitations]</a>
</div>
-<a name="doc.Intro"></a>
-<h3>Introduction</h3>
+<h2 id="doc.Intro">Introduction</h2>
<p>In many application environments that deal with XML-formatted data, it is
useful to be able to process an XML document in an "event driven" manner,
@@ -84,8 +82,7 @@ the developer to focus on the processing to be performed.</p>
<p>For example code, see <a href="#doc.Usage"> the usage
examples</a>, and <a href="#doc.FAQ.Examples"> the FAQ </a>. </p>
-<a name="doc.Properties"></a>
-<h3>Digester Configuration Properties</h3>
+<h2 id="doc.Properties">Digester Configuration Properties</h2>
<p>A <code>org.apache.commons.digester.Digester</code> instance contains several
configuration properties that can be used to customize its operation. These
@@ -191,8 +188,7 @@ or <code>java.lang.ClassLoader.getResourceAsStream()</code>. The actual DTD
resource is loaded through the same class loader that loads all of the Struts
classes -- typically from the <code>struts.jar</code> file.</p>
-<a name="doc.Stack"></a>
-<h3>The Object Stack</h3>
+<h2 id="doc.Stack">The Object Stack</h2>
<p>One very common use of <code>org.apache.commons.digester.Digester</code>
technology is to dynamically construct a tree of Java objects, whose internal
@@ -253,8 +249,7 @@ features of the Digester functionality:</p>
the parse finishes as well.</li>
</ul>
-<a name="doc.Patterns"></a>
-<h3>Element Matching Patterns</h3>
+<h2 id="doc.Patterns">Element Matching Patterns</h2>
<p>A primary feature of the <code>org.apache.commons.digester.Digester</code>
parser is that the Digester automatically navigates the element hierarchy of
@@ -313,8 +308,7 @@ order that the <code>Rules</code> where initially registered with the
<code>Digester</code>, whilst <code>end</code> method calls are execute in
reverse order. In other words - the order is first in, last out.</p>
-<a name="doc.Rules"></a>
-<h3>Processing Rules</h3>
+<h2 id="doc.Rules">Processing Rules</h2>
<p>The <a href="#doc.Patterns">previous section</a> documented how you identify
<strong>when</strong> you wish to have certain actions take place. The purpose
@@ -443,8 +437,7 @@ class. For example, the following code sequence:</p>
"com.mycompany.mypackage.MyChildClass");
</pre>
-<a name="doc.Logging"></a>
-<h3>Logging</h3>
+<h2 id="doc.Logging">Logging</h2>
<p>Logging is a vital tool for debugging Digester rulesets. Digester can log
copious amounts of debugging information. So, you need to know how logging
@@ -462,11 +455,10 @@ works before you start using Digester seriously.</p>
volume.</li>
</ul>
-<a name="doc.Usage"></a>
-<h3>Usage Examples</h3>
+<h2 id="doc.Usage">Usage Examples</h2>
-<h5>Creating a Simple Object Tree</h5>
+<h3>Creating a Simple Object Tree</h3>
<p>Let's assume that you have two simple JavaBeans, <code>Foo</code> and
<code>Bar</code>, with the following method signatures:</p>
@@ -546,7 +538,7 @@ have had its properties set, and all of its child <code>Bar</code> objects
created for you.</p>
-<h5>Processing A Struts Configuration File</h5>
+<h3>Processing A Struts Configuration File</h3>
<p>As stated earlier, the primary reason that the
<code>Digester</code> package was created is because the
@@ -639,8 +631,7 @@ information that was defined in the <code>struts-config.xml</code> file is
now represented as collections of objects cached within the Struts controller
servlet, as well as being exposed as servlet context attributes.</p>
-
-<h5>Parsing Body Text In XML Files</h5>
+<h3>Parsing Body Text In XML Files</h3>
<p>The Digester module also allows you to process the nested body text in an
XML file, not just the elements and attributes that are encountered. The
@@ -724,8 +715,7 @@ brevity in this example):</p>
</ul>
-<a name="doc.Namespace"></a>
-<h3>Namespace Aware Parsing</h3>
+<h2 id="doc.Namespace">Namespace Aware Parsing</h2>
<p>For digesting XML documents that do not use XML namespaces, the default
behavior of <code>Digester</code>, as described above, is generally sufficient.
@@ -794,7 +784,7 @@ any restrictions on what other content is present in the document.</p>
Rule Sets</a> if you wish to reuse a particular set of rules, associated
with a particular namespace, in more than one application context.</p>
-<h4>Using Namespace Prefixes In Pattern Matching</h4>
+<h3>Using Namespace Prefixes In Pattern Matching</h3>
<p>Using rules with namespaces is very useful when you have orthogonal rulesets.
One ruleset applies to a namespace and is independent of other rulesets applying
@@ -812,15 +802,14 @@ prefixes.</p>
'foo:bar'</code> will match a top level element named <code>'bar'</code> in the
namespace with (local) prefix <code>'foo'</code>.</p>
-<h4>Limitations of Digester Namespace support</h4>
+<h3>Limitations of Digester Namespace support</h3>
<p>Digester does not provide general "xpath-compliant" matching;
only the namespace attached to the <i>last</i> element in the match path
is involved in the matching process. Namespaces attached to parent
elements are ignored for matching purposes.</p>
-<a name="doc.Pluggable"></a>
-<h3>Pluggable Rules Processing</h3>
+<h2 id="doc.Pluggable">Pluggable Rules Processing</h2>
<p>By default, <code>Digester</code> selects the rules that match a particular
pattern of nested elements as described under
@@ -846,7 +835,7 @@ that:</p>
creator can use any prefix that they like).</li>
</ul>
-<h4>ExtendedBaseRules</h4>
+<h3>ExtendedBaseRules</h3>
<p><a href="ExtendedBaseRules.html">ExtendedBaseRules</a>,
adds some additional expression syntax for pattern matching
to the default mechanism, but it also executes more slowly. See the
@@ -861,7 +850,7 @@ following as part of your Digester initialization:</p>
...
</pre>
-<h4>RegexRules</h4>
+<h3>RegexRules</h3>
<p><a href="RegexRules.html">RegexRules</a> is an advanced <code>Rules</code>
implementation which does not build on the default pattern matching rules.
It uses a pluggable <a href="RegexMatcher.html">RegexMatcher</a> implementation to test
@@ -879,7 +868,7 @@ Example usage:
digester.setRules(new RegexRules(new SimpleRegexMatcher()));
...
</pre>
-<h5>RegexMatchers</h5>
+<h3>RegexMatchers</h3>
<p>
<code>Digester</code> ships only with one <code>RegexMatcher</code>
implementation: <a href='SimpleRegexMatcher.html'>SimpleRegexMatcher</a>.
@@ -934,8 +923,7 @@ when a pattern does not match any other rule, then rule alpha will be called.
<code>WithDefaultsRulesWrapper</code> follows the <em>Decorator</em> pattern.
</p>
-<a name="doc.RuleSets"></a>
-<h3>Encapsulated Rule Sets</h3>
+<h2 id="doc.RuleSets">Encapsulated Rule Sets</h2>
<p>All of the examples above have described a scenario where the rules to be
processed are registered with a <code>Digester</code> instance immediately
@@ -1001,8 +989,8 @@ public class MyRuleSet extends RuleSetBase {
the same set of nested elements at different nesting levels within an
XML document.</li>
</ul>
-<a name="doc.NamedStacks"></a>
-<h3>Using Named Stacks For Inter-Rule Communication</h3>
+
+<h2 id="doc.NamedStacks">Using Named Stacks For Inter-Rule Communication</h2>
<p>
<code>Digester</code> is based on <code>Rule</code> instances working together
to process xml. For anything other than the most trivial processing,
@@ -1043,10 +1031,10 @@ are reserved for future use by the <code>Digester</code> component. It is also r
that users choose stack names perfixed by the name of their own domain to avoid conflicts
with other <code>Rule</code> implementations.
</p>
-<a name="doc.RegisteringDTDs"></a>
-<h3>Registering DTDs</h3>
-<h4>Brief (But Still Too Long) Introduction To System and Public Identifiers</h4>
+<h2 id="doc.RegisteringDTDs">Registering DTDs</h2>
+
+<h3>Brief (But Still Too Long) Introduction To System and Public Identifiers</h3>
<p>A definition for an external entity comes in one of two forms:
</p>
<ol>
@@ -1098,7 +1086,7 @@ Only when no local copy exists is it necessary to download the document
from the internet URL. This naming scheme is recommended when using <code>Digester</code>.
</p>
-<h4>External Entity Resolution Using Digester</h4>
+<h3>External Entity Resolution Using Digester</h3>
<p>
SAX factors out the resolution of external entities into an <code>EntityResolver</code>.
<code>Digester</code> supports the use of custom <code>EntityResolver</code>
@@ -1117,9 +1105,8 @@ whenever an external entity with public id
<p><strong>Note:</strong> This is a simple (but useful) implementation.
Greater sophistication requires a custom <code>EntityResolver</code>.</p>
-<a name="doc.troubleshooting"></a>
-<h3>Troubleshooting</h3>
-<h4>Debugging Exceptions</h4>
+<h2 id="doc.troubleshooting">Troubleshooting</h2>
+<h3>Debugging Exceptions</h3>
<p>
<code>Digester</code> is based on <a href='http://www.saxproject.org'>SAX</a>.
Digestion throws two kinds of <code>Exception</code>:
@@ -1134,7 +1121,7 @@ that developers know all about. The second is thrown by SAX parsers when the pro
of the XML cannot be completed. So, to diagnose the cause a certain familiarity with
the way that SAX error handling works is very useful.
</p>
-<h5>Diagnosing SAX Exceptions</h5>
+<h3>Diagnosing SAX Exceptions</h3>
<p>
This is a short, potted guide to SAX error handling strategies. It's not intended as a
proper guide to error handling in SAX.
@@ -1157,9 +1144,9 @@ throw by <code>Digester</code> each of these will be wrapped into a
<code>SAXException</code> and rethrown. So, catch these and examine the wrapped
exception to diagnose what went wrong.
</p>
-<a name="doc.FAQ"></a>
-<h3>Frequently Asked Questions</h3>
-<p><ul>
+
+<h2 id="doc.FAQ">Frequently Asked Questions</h2>
+<ul>
<li><strong>Why do I get warnings when using a JAXP 1.1 parser?</strong>
<p>If you're using a JAXP 1.1 parser, you might see the following warning (in your log):
<code><pre>
@@ -1202,8 +1189,7 @@ Digester logs but the processing will continue. To change this behaviour, call
<code>digester.setErrorHandler</code> with a more suitable implementation.
</p>
-<li><strong>Where Can I Find Example Code?</strong>
-<a name="doc.FAQ.Examples">
+<li id="doc.FAQ.Examples"><strong>Where Can I Find Example Code?</strong>
<p>Digester ships with a sample application: a mapping for the <em>Rich Site
Summary</em> format used by many newsfeeds. Download the source distribution
to see how it works.</p>
@@ -1224,9 +1210,9 @@ commons dev mailing list</a>
</p>
</li>
</ul>
-<a name="doc.Limits"></a>
-<h3>Known Limitations</h3>
-<h4>Accessing Public Methods In A Default Access Superclass</h4>
+
+<h2 id="doc.Limits">Known Limitations</h2>
+<h3>Accessing Public Methods In A Default Access Superclass</h3>
<p>There is an issue when invoking public methods contained in a default access superclass.
Reflection locates these methods fine and correctly assigns them as public.
However, an <code>IllegalAccessException</code> is thrown if the method is invoked.</p>
diff --git a/java/org/apache/tomcat/util/modeler/package.html b/java/org/apache/tomcat/util/modeler/package.html
index d94cfb4..a64f08a 100644
--- a/java/org/apache/tomcat/util/modeler/package.html
+++ b/java/org/apache/tomcat/util/modeler/package.html
@@ -52,7 +52,7 @@ source distribution), and much more complex usage code in Tomcat 4.1 (in the
be found in Tomcat 5.
-<h3>1. Acquire a JMX Implementation</h3>
+<h2>1. Acquire a JMX Implementation</h2>
<p><em>Modeler</em> has been tested with different JMX implementations:
<ul>
@@ -71,7 +71,7 @@ compilation classpath, and in the classpath of your server application when it
is executed.</p>
-<h3>2. Create a Modeler Configuration File</h3>
+<h2>2. Create a Modeler Configuration File</h2>
<p><em>Modeler</em> requires that you construct a configuration file that
describes the metadata ultimately need to construct the
@@ -194,7 +194,7 @@ object (by name) before calling the <code>addRole</code> method on the
underlying <code>Group</code> instance within the Server.</p>
-<h3>3. Create Modeler Registry at Startup Time</h3>
+<h2>3. Create Modeler Registry at Startup Time</h2>
<p>The metadata information, and the corresponding Model MBean factory, is
represented at runtime in an instance of <a href="Registry.html">Registry</a>
@@ -224,7 +224,7 @@ ant, to determine a reasonable metadata</p>
descriptors</p>
-<h3>4. Instantiate Model MBeans As Needed</h3>
+<h2>4. Instantiate Model MBeans As Needed</h2>
<p>When your server application needs to instantiate a new MBean and register
it with the corresponding <code>MBeanServer</code>, it can execute code like
diff --git a/java/org/apache/tomcat/util/net/NioChannel.java b/java/org/apache/tomcat/util/net/NioChannel.java
index 7cc3ff5..64056ba 100644
--- a/java/org/apache/tomcat/util/net/NioChannel.java
+++ b/java/org/apache/tomcat/util/net/NioChannel.java
@@ -89,7 +89,6 @@ public class NioChannel implements ByteChannel{
* Closes this channel.
*
* @throws IOException If an I/O error occurs
- * TODO Implement this java.nio.channels.Channel method
*/
@Override
public void close() throws IOException {
@@ -104,7 +103,6 @@ public class NioChannel implements ByteChannel{
* Tells whether or not this channel is open.
*
* @return <code>true</code> if, and only if, this channel is open
- * TODO Implement this java.nio.channels.Channel method
*/
@Override
public boolean isOpen() {
@@ -117,7 +115,6 @@ public class NioChannel implements ByteChannel{
* @param src The buffer from which bytes are to be retrieved
* @return The number of bytes written, possibly zero
* @throws IOException If some other I/O error occurs
- * TODO Implement this java.nio.channels.WritableByteChannel method
*/
@Override
public int write(ByteBuffer src) throws IOException {
@@ -129,9 +126,9 @@ public class NioChannel implements ByteChannel{
* Reads a sequence of bytes from this channel into the given buffer.
*
* @param dst The buffer into which bytes are to be transferred
- * @return The number of bytes read, possibly zero, or <code>-1</code> if the channel has reached end-of-stream
+ * @return The number of bytes read, possibly zero, or <code>-1</code> if
+ * the channel has reached end-of-stream
* @throws IOException If some other I/O error occurs
- * TODO Implement this java.nio.channels.ReadableByteChannel method
*/
@Override
public int read(ByteBuffer dst) throws IOException {
@@ -149,7 +146,6 @@ public class NioChannel implements ByteChannel{
* getBufHandler
*
* @return ApplicationBufferHandler
- * TODO Implement this org.apache.tomcat.util.net.SecureNioChannel method
*/
public ApplicationBufferHandler getBufHandler() {
return bufHandler;
@@ -162,7 +158,6 @@ public class NioChannel implements ByteChannel{
* getIOChannel
*
* @return SocketChannel
- * TODO Implement this org.apache.tomcat.util.net.SecureNioChannel method
*/
public SocketChannel getIOChannel() {
return sc;
@@ -172,7 +167,6 @@ public class NioChannel implements ByteChannel{
* isClosing
*
* @return boolean
- * TODO Implement this org.apache.tomcat.util.net.SecureNioChannel method
*/
public boolean isClosing() {
return false;
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index fae50c6..6d4f8fc 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -123,6 +123,11 @@
Correct the source code links on the index page for the ROOT web
application to point to Git rather than Subversion. (markt)
</fix>
+ <fix>
+ Fix various issues with the Javadoc generated for the documentation web
+ application to enable release builds to be built with Java 10 onwards.
+ (markt)
+ </fix>
</changelog>
</subsection>
<subsection name="Other">
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org