Skip to content

Commit

Permalink
Fix links in Javadoc and reference docs
Browse files Browse the repository at this point in the history
- Fix broken links (by using a new URL, an alternative URL, or a
  Wayback Machine link)

- Use HTTPS where possible

- Remove https://issuetracker.springsource.com/browse/EBR-349: this
  link is dead and is also mentioned in
  https://jira.spring.io/browse/SPR-8093

- Clean up nohttp allowlist.lines

Closes gh-28876
  • Loading branch information
marcwrobel authored and sbrannen committed Sep 14, 2022
1 parent 62a0ab3 commit ce49068
Show file tree
Hide file tree
Showing 28 changed files with 40 additions and 63 deletions.
2 changes: 1 addition & 1 deletion gradle/docs.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@ asciidoctorPdf {
task docsZip(type: Zip, dependsOn: ['api', 'asciidoctor', 'asciidoctorPdf', 'dokkaHtmlMultiModule']) {
group = "Distribution"
description = "Builds -${archiveClassifier} archive containing api and reference " +
"for deployment at https://docs.spring.io/spring-framework/docs."
"for deployment at https://docs.spring.io/spring-framework/docs/."

archiveBaseName.set("spring-framework")
archiveClassifier.set("docs")
Expand Down
2 changes: 1 addition & 1 deletion import-into-idea.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,6 @@ You'll notice these files are already intentionally in .gitignore. The same poli

## FAQ

Q. What about IntelliJ IDEA's own [Gradle support](https://confluence.jetbrains.net/display/IDEADEV/Gradle+integration)?
Q. What about IntelliJ IDEA's own [Gradle support](https://www.jetbrains.com/help/idea/gradle.html)?

A. Keep an eye on https://youtrack.jetbrains.com/issue/IDEA-53476
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ video/x-msvideo avi
################################################################################
#
# Additional file types adapted from
# http://sites.utoronto.ca/webdocs/HTMLdocs/Book/Book-3ed/appb/mimetype.html
# https://web.archive.org/web/20220119153325/http%3A//sites.utoronto.ca/webdocs/HTMLdocs/Book/Book-3ed/appb/mimetype.html
# kindly re-licensed to Apache Software License 2.0 by Ian Graham.
#
################################################################################
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/**
* Package providing integration of
* <a href="http://www.beanshell.org">BeanShell</a>
* <a href="https://beanshell.github.io/">BeanShell</a>
* (and <a href="https://code.google.com/p/beanshell2/">BeanShell2</a>)
* into Spring's scripting infrastructure.
*/
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/**
* Package providing integration of
* <a href="http://www.groovy-lang.org/">Groovy</a>
* <a href="https://www.groovy-lang.org/">Groovy</a>
* into Spring's scripting infrastructure.
*/
@NonNullApi
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,11 +46,7 @@
* {@code jmxremote_optional.jar} into your classpath, for example in the {@code lib/ext}
* folder of your JVM.
*
* <p>See also:
* <ul>
* <li><a href="https://jira.spring.io/browse/SPR-8093">SPR-8093</a></li>
* <li><a href="https://issuetracker.springsource.com/browse/EBR-349">EBR-349</a></li>
* </ul>
* <p>See also: <a href="https://jira.spring.io/browse/SPR-8093">SPR-8093</a>
*
* @author Rob Harrop
* @author Juergen Hoeller
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -226,7 +226,7 @@ private static Method searchForMatch(Class<?> type, Method bridgeMethod) {
/**
* Compare the signatures of the bridge method and the method which it bridges. If
* the parameter and return types are the same, it is a 'visibility' bridge method
* introduced in Java 6 to fix https://bugs.java.com/view_bug.do?bug_id=6342411.
* introduced in Java 6 to fix https://bugs.openjdk.org/browse/JDK-6342411.
* See also https://stas-blogspot.blogspot.com/2010/03/java-bridge-methods-explained.html
* @return whether signatures match as described
*/
Expand Down
4 changes: 2 additions & 2 deletions spring-expression/readme.txt
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,10 @@ Syntax
- Need to agree on a standard date format for 'default' processing of dates. Currently it is:
formatter = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss z", Locale.UK);
// this is something of this format: "Wed, 4 Jul 2001 12:08:56 GMT"
// https://java.sun.com/j2se/1.4.2/docs/api/java/text/SimpleDateFormat.html
// https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html
- See LiteralTests for Date (4,5,6) - should date take an expression rather than be hardcoded in the grammar
to take 2 strings only?
- when doing arithmetic, eg. 8.4 / 4 and the user asks for an Integer return type - do we silently coerce or
say we cannot as it won't fit into an int? (see OperatorTests.testMathOperatorDivide04)
- Is $index within projection/selection useful or just cute?
- All reals are represented as Doubles (so 1.25f is held internally as a double, can be converted to float when required though) - is that ok?
- All reals are represented as Doubles (so 1.25f is held internally as a double, can be converted to float when required though) - is that ok?
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@

///CLOVER:OFF
/**
* Spring Security scenarios from https://wiki.springsource.com/display/SECURITY/Spring+Security+Expression-based+Authorization
* Spring Security scenarios from https://docs.spring.io/spring-security/reference/servlet/authorization/expression-based.html
*
* @author Andy Clement
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
*/
public enum EmbeddedDatabaseType {

/** The <a href="http://hsqldb.org">Hypersonic</a> Embedded Java SQL Database. */
/** The <a href="https://hsqldb.org">Hypersonic</a> Embedded Java SQL Database. */
HSQL,

/** The <a href="https://h2database.com">H2</a> Embedded Java SQL Database Engine. */
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@

/**
* Implementation of {@link MessageConverter} that can read and write JSON
* using the <a href="http://json-b.net/">JSON Binding API</a>.
* using the <a href="https://javaee.github.io/jsonb-spec/">JSON Binding API</a>.
*
* @author Juergen Hoeller
* @since 5.3
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -255,7 +255,7 @@ else if (expected instanceof String) {
* two are "similar" - i.e. they contain the same elements and attributes
* regardless of order.
* <p>Use of this matcher assumes the
* <a href="http://xmlunit.sourceforge.net/">XMLUnit</a> library is available.
* <a href="https://www.xmlunit.org/">XMLUnit</a> library is available.
* @param expectedXmlContent the expected XML content
*/
public RequestMatcher xml(String expectedXmlContent) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@
/**
* {@code MockMvcWebConnection} enables {@link MockMvc} to transform a
* {@link WebRequest} into a {@link WebResponse}.
* <p>This is the core integration with <a href="http://htmlunit.sourceforge.net/">HtmlUnit</a>.
* <p>This is the core integration with <a href="https://htmlunit.sourceforge.io/">HtmlUnit</a>.
* <p>Example usage can be seen below.
*
* <pre class="code">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@ public ResultMatcher bytes(byte[] expectedContent) {
* are "similar" - i.e. they contain the same elements and attributes
* regardless of order.
* <p>Use of this matcher requires the <a
* href="http://xmlunit.sourceforge.net/">XMLUnit</a> library.
* href="https://www.xmlunit.org/">XMLUnit</a> library.
* @param xmlContent the expected XML content
* @see MockMvcResultMatchers#xpath(String, Object...)
* @see MockMvcResultMatchers#xpath(String, Map, Object...)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
/**
* Implementation of {@link org.springframework.http.converter.HttpMessageConverter}
* that can read and write JSON using the
* <a href="http://json-b.net/">JSON Binding API</a>.
* <a href="https://javaee.github.io/jsonb-spec/">JSON Binding API</a>.
*
* <p>This converter can be used to bind to typed beans or untyped {@code HashMap}s.
* By default, it supports {@code application/json} and {@code application/*+json} with
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
* Escapes based on the JavaScript 1.5 recommendation.
*
* <p>Reference:
* <a href="https://developer.mozilla.org/en-US/docs/JavaScript/Guide/Values,_variables,_and_literals#String_literals">
* <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Grammar_and_types#string_literals">
* JavaScript Guide</a> on Mozilla Developer Network.
*
* @author Juergen Hoeller
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@
* @author Rossen Stoyanchev
* @since 4.1
* @see GroovyMarkupView
* @see <a href="http://groovy-lang.org/templating.html#_the_markuptemplateengine">
* @see <a href="https://groovy-lang.org/templating.html#_the_markuptemplateengine">
* Groovy Markup Template engine documentation</a>
*/
public class GroovyMarkupConfigurer extends TemplateConfiguration
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@
* @since 4.1
* @see GroovyMarkupViewResolver
* @see GroovyMarkupConfigurer
* @see <a href="http://groovy-lang.org/templating.html#_the_markuptemplateengine">
* @see <a href="https://groovy-lang.org/templating.html#_the_markuptemplateengine">
* Groovy Markup Template engine documentation</a>
*/
public class GroovyMarkupView extends AbstractTemplateView {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/**
* Support classes for the integration of
* <a href="http://docs.groovy-lang.org/docs/next/html/documentation/template-engines.html#_the_markuptemplateengine">
* <a href="https://groovy-lang.org/templating.html#_the_markuptemplateengine">
* Groovy Templates</a> as Spring web view technology.
* Contains a View implementation for Groovy templates.
*/
Expand Down
4 changes: 2 additions & 2 deletions src/docs/asciidoc/core/core-expressions.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -1677,7 +1677,7 @@ ternary operator.
=== The Elvis Operator

The Elvis operator is a shortening of the ternary operator syntax and is used in the
http://www.groovy-lang.org/operators.html#_elvis_operator[Groovy] language.
https://www.groovy-lang.org/operators.html#_elvis_operator[Groovy] language.
With the ternary operator syntax, you usually have to repeat a variable twice, as the
following example shows:

Expand Down Expand Up @@ -1756,7 +1756,7 @@ This will inject a system property `pop3.port` if it is defined or 25 if not.
=== Safe Navigation Operator

The safe navigation operator is used to avoid a `NullPointerException` and comes from
the http://www.groovy-lang.org/operators.html#_safe_navigation_operator[Groovy]
the https://www.groovy-lang.org/operators.html#_safe_navigation_operator[Groovy]
language. Typically, when you have a reference to an object, you might need to verify that
it is not null before accessing methods or properties of the object. To avoid this, the
safe navigation operator returns null instead of throwing an exception. The following
Expand Down
6 changes: 3 additions & 3 deletions src/docs/asciidoc/data-access.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ Typically, you need an application server's JTA capability only if your applicat
to handle transactions across multiple resources, which is not a requirement for many
applications. Many high-end applications use a single, highly scalable database (such as
Oracle RAC) instead. Stand-alone transaction managers (such as
https://www.atomikos.com/[Atomikos Transactions] and http://jotm.objectweb.org/[JOTM])
https://www.atomikos.com/[Atomikos Transactions] and https://jotm.ow2.org/[JOTM])
are other options. Of course, you may need other application server capabilities, such as
Java Message Service (JMS) and Java EE Connector Architecture (JCA).
Expand Down Expand Up @@ -2875,7 +2875,7 @@ treats them as errors.

For more information about the Spring Framework's transaction support, see:

* https://www.javaworld.com/javaworld/jw-01-2009/jw-01-spring-transactions.html[Distributed
* https://www.infoworld.com/article/2077963/distributed-transactions-in-spring--with-and-without-xa.html[Distributed
transactions in Spring, with and without XA] is a JavaWorld presentation in which
Spring's David Syer guides you through seven patterns for distributed
transactions in Spring applications, three of them with XA and four without.
Expand Down Expand Up @@ -6224,7 +6224,7 @@ it with values from the Java `ARRAY`, as the following example shows:
=== Embedded Database Support

The `org.springframework.jdbc.datasource.embedded` package provides support for embedded
Java database engines. Support for http://www.hsqldb.org[HSQL],
Java database engines. Support for https://www.hsqldb.org[HSQL],
https://www.h2database.com[H2], and https://db.apache.org/derby[Derby] is provided
natively. You can also use an extensible API to plug in new embedded database types and
`DataSource` implementations.
Expand Down
2 changes: 1 addition & 1 deletion src/docs/asciidoc/rsocket.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ through RSocket across the network.
=== The Protocol

One of the benefits of RSocket is that it has well defined behavior on the wire and an
easy to read https://rsocket.io/about/Protocol[specification] along with some protocol
easy to read https://rsocket.io/about/protocol[specification] along with some protocol
{gh-rsocket}/rsocket/tree/master/Extensions[extensions]. Therefore it is
a good idea to read the spec, independent of language implementations and higher level
framework APIs. This section provides a succinct overview to establish some context.
Expand Down
18 changes: 9 additions & 9 deletions src/docs/asciidoc/testing.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ parties such as https://github.com/h-thurow/Simple-JNDI[Simple-JNDI].
The `org.springframework.mock.web` package contains a comprehensive set of Servlet API
mock objects that are useful for testing web contexts, controllers, and filters. These
mock objects are targeted at usage with Spring's Web MVC framework and are generally more
convenient to use than dynamic mock objects (such as http://easymock.org/[EasyMock])
convenient to use than dynamic mock objects (such as https://easymock.org/[EasyMock])
or alternative Servlet API mock objects (such as http://www.mockobjects.com[MockObjects]).

TIP: Since Spring Framework 5.0, the mock objects in `org.springframework.mock.web` are
Expand Down Expand Up @@ -7729,13 +7729,13 @@ WebTestClient]. Browse these examples for further ideas.
==== HtmlUnit Integration

Spring provides integration between <<spring-mvc-test-server, MockMvc>> and
http://htmlunit.sourceforge.net/[HtmlUnit]. This simplifies performing end-to-end testing
https://htmlunit.sourceforge.io/[HtmlUnit]. This simplifies performing end-to-end testing
when using HTML-based views. This integration lets you:

* Easily test HTML pages by using tools such as
http://htmlunit.sourceforge.net/[HtmlUnit],
https://htmlunit.sourceforge.io/[HtmlUnit],
https://www.seleniumhq.org[WebDriver], and
http://www.gebish.org/manual/current/#spock-junit-testng[Geb] without the need to
https://www.gebish.org/manual/current/#spock-junit-testng[Geb] without the need to
deploy to a Servlet container.
* Test JavaScript within pages.
* Optionally, test using mock services to speed up testing.
Expand Down Expand Up @@ -8062,11 +8062,11 @@ First, we no longer have to explicitly verify our form and then create a request
looks like the form. Instead, we request the form, fill it out, and submit it, thereby
significantly reducing the overhead.

Another important factor is that http://htmlunit.sourceforge.net/javascript.html[HtmlUnit
Another important factor is that https://htmlunit.sourceforge.io/javascript.html[HtmlUnit
uses the Mozilla Rhino engine] to evaluate JavaScript. This means that we can also test
the behavior of JavaScript within our pages.

See the http://htmlunit.sourceforge.net/gettingStarted.html[HtmlUnit documentation] for
See the https://htmlunit.sourceforge.io/gettingStarted.html[HtmlUnit documentation] for
additional information about using HtmlUnit.

[[spring-mvc-test-server-htmlunit-mah-advanced-builder]]
Expand Down Expand Up @@ -8673,7 +8673,7 @@ TIP: For additional information on creating a `MockMvc` instance, see
===== MockMvc and Geb

In the previous section, we saw how to use MockMvc with WebDriver. In this section, we
use http://www.gebish.org/[Geb] to make our tests even Groovy-er.
use https://www.gebish.org/[Geb] to make our tests even Groovy-er.

[[spring-mvc-test-server-htmlunit-geb-why]]
====== Why Geb and MockMvc?
Expand Down Expand Up @@ -8776,7 +8776,7 @@ if we were at the wrong page.

Next, we create a `content` closure that specifies all the areas of interest within the
page. We can use a
http://www.gebish.org/manual/current/#the-jquery-ish-navigator-api[jQuery-ish Navigator
https://www.gebish.org/manual/current/#the-jquery-ish-navigator-api[jQuery-ish Navigator
API] to select the content in which we are interested.

Finally, we can verify that a new message was created successfully, as follows:
Expand All @@ -8793,7 +8793,7 @@ message == expectedMessage
----

For further details on how to get the most out of Geb, see
http://www.gebish.org/manual/current/[The Book of Geb] user's manual.
https://www.gebish.org/manual/current/[The Book of Geb] user's manual.


[[spring-mvc-test-client]]
Expand Down
2 changes: 1 addition & 1 deletion src/docs/asciidoc/web/webflux-view.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ configuration involves a few bean declarations, such as
`SpringResourceTemplateResolver`, `SpringWebFluxTemplateEngine`, and
`ThymeleafReactiveViewResolver`. For more details, see
https://www.thymeleaf.org/documentation.html[Thymeleaf+Spring] and the WebFlux integration
http://forum.thymeleaf.org/Thymeleaf-3-0-8-JUST-PUBLISHED-td4030687.html[announcement].
https://web.archive.org/web/20210623051330/http%3A//forum.thymeleaf.org/Thymeleaf-3-0-8-JUST-PUBLISHED-td4030687.html[announcement].



Expand Down
4 changes: 2 additions & 2 deletions src/docs/asciidoc/web/webflux.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ The other part of the answer is functional programming. Much as the addition of
in Java 5 created opportunities (such as annotated REST controllers or unit tests), the addition
of lambda expressions in Java 8 created opportunities for functional APIs in Java.
This is a boon for non-blocking applications and continuation-style APIs (as popularized
by `CompletableFuture` and http://reactivex.io/[ReactiveX]) that allow declarative
by `CompletableFuture` and https://reactivex.io/[ReactiveX]) that allow declarative
composition of asynchronous logic. At the programming-model level, Java 8 enabled Spring
WebFlux to offer functional web endpoints alongside annotated controllers.

Expand Down Expand Up @@ -87,7 +87,7 @@ Spring WebFlux. It provides the
https://projectreactor.io/docs/core/release/api/reactor/core/publisher/Mono.html[`Mono`] and
https://projectreactor.io/docs/core/release/api/reactor/core/publisher/Flux.html[`Flux`] API types
to work on data sequences of 0..1 (`Mono`) and 0..N (`Flux`) through a rich set of operators aligned with the
ReactiveX http://reactivex.io/documentation/operators.html[vocabulary of operators].
ReactiveX https://reactivex.io/documentation/operators.html[vocabulary of operators].
Reactor is a Reactive Streams library and, therefore, all of its operators support non-blocking back pressure.
Reactor has a strong focus on server-side Java. It is developed in close collaboration
with Spring.
Expand Down
2 changes: 1 addition & 1 deletion src/docs/asciidoc/web/webmvc-view.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -479,7 +479,7 @@ In similar fashion, you can specify HTML escaping per field, as the following ex
[[mvc-view-groovymarkup]]
== Groovy Markup

The http://groovy-lang.org/templating.html#_the_markuptemplateengine[Groovy Markup Template Engine]
The https://groovy-lang.org/templating.html#_the_markuptemplateengine[Groovy Markup Template Engine]
is primarily aimed at generating XML-like markup (XML, XHTML, HTML5, and others), but you can
use it to generate any text-based content. The Spring Framework has a built-in
integration for using Spring MVC with Groovy Markup.
Expand Down
2 changes: 1 addition & 1 deletion src/docs/asciidoc/web/websocket.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -597,7 +597,7 @@ a key reason for having SockJS. This section covers important
considerations about running in those browsers.

The SockJS client supports Ajax/XHR streaming in IE 8 and 9 by using Microsoft's
https://blogs.msdn.com/b/ieinternals/archive/2010/05/13/xdomainrequest-restrictions-limitations-and-workarounds.aspx[`XDomainRequest`].
https://web.archive.org/web/20160219230343/https://blogs.msdn.com/b/ieinternals/archive/2010/05/13/xdomainrequest-restrictions-limitations-and-workarounds.aspx[`XDomainRequest`].
That works across domains but does not support sending cookies.
Cookies are often essential for Java applications.
However, since the SockJS client can be used with many server
Expand Down
19 changes: 0 additions & 19 deletions src/nohttp/allowlist.lines
Original file line number Diff line number Diff line change
@@ -1,26 +1,7 @@
^http://aopalliance.sourceforge.net.*
^http://[^/]*caucho.com.*
^http://cglib.sourceforge.net.*
^http://classdoc.sourceforge.net.*
^http://easymock.org.*
^http://forum.thymeleaf.org.*
^http://[^/]*gebish.org.*
^http://[^/]*groovy-lang.org.*
^http://[^/]*hsqldb.org.*
^http://htmlunit.sourceforge.net.*
^http://javadiff.cvs.sourceforge.net.*
^http://javadiff.sourceforge.net.*
^http://jibx.sourceforge.net.*
^http://jotm.objectweb.org.*
^http://json-b.net/.*
^http://mx4j.sourceforge.net.*
^http://objenesis.org.*
^http://reactivex.io.*
^http://sites.utoronto.ca.*
^http://www.beanshell.org.*
^http://www.doclet.com.*
^http://www.jensgulden.de.*
^http://www.mockobjects.com.*
^http://www.w3.org/2000/xmlns/
^http://xmlunit.sourceforge.net.*
^http://xunitpatterns.com.*

0 comments on commit ce49068

Please sign in to comment.