Merge branch '2.0.x' into 2.1.x
This commit is contained in:
commit
864942ad4f
|
|
@ -40,5 +40,5 @@ appropriate to the circumstances. Maintainers are obligated to maintain confiden
|
|||
with regard to the reporter of an incident.
|
||||
|
||||
This Code of Conduct is adapted from the
|
||||
http://contributor-covenant.org[Contributor Covenant], version 1.3.0, available at
|
||||
http://contributor-covenant.org/version/1/3/0/[contributor-covenant.org/version/1/3/0/]
|
||||
https://contributor-covenant.org[Contributor Covenant], version 1.3.0, available at
|
||||
https://contributor-covenant.org/version/1/3/0/[contributor-covenant.org/version/1/3/0/]
|
||||
|
|
|
|||
|
|
@ -66,7 +66,7 @@ added after the original pull request but before a merge.
|
|||
* A few unit tests would help a lot as well -- someone has to do it.
|
||||
* If no-one else is using your branch, please rebase it against the current master (or
|
||||
other target branch in the main project).
|
||||
* When writing a commit message please follow http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html[these conventions],
|
||||
* When writing a commit message please follow https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html[these conventions],
|
||||
if you are fixing an existing issue please add `Fixes gh-XXXX` at the end of the commit
|
||||
message (where `XXXX` is the issue number).
|
||||
|
||||
|
|
@ -75,15 +75,15 @@ added after the original pull request but before a merge.
|
|||
== Working with the Code
|
||||
If you don't have an IDE preference we would recommend that you use
|
||||
https://spring.io/tools/sts[Spring Tools Suite] or
|
||||
http://eclipse.org[Eclipse] when working with the code. We use the
|
||||
http://eclipse.org/m2e/[M2Eclipse] eclipse plugin for maven support. Other IDEs and tools
|
||||
https://eclipse.org[Eclipse] when working with the code. We use the
|
||||
https://eclipse.org/m2e/[M2Eclipse] eclipse plugin for maven support. Other IDEs and tools
|
||||
should also work without issue.
|
||||
|
||||
|
||||
|
||||
=== Building from Source
|
||||
Spring Boot source can be build from the command line using
|
||||
http://maven.apache.org/run-maven/index.html[Apache Maven] on JDK 1.8 or above.
|
||||
Spring Boot source can be built from the command line using
|
||||
https://maven.apache.org/run-maven/index.html[Apache Maven] on JDK 1.8 or above.
|
||||
We include '`Maven Wrapper`' scripts (`./mvnw` or `mvnw.bat`) that you can run rather
|
||||
than needing to install Maven locally.
|
||||
|
||||
|
|
@ -148,7 +148,7 @@ Spring Boot includes a `.setup` files which can be used with the Eclipse Install
|
|||
provision a new environment. To use the installer:
|
||||
|
||||
* Download and run the latest Eclipse Installer from
|
||||
http://www.eclipse.org/downloads/[eclipse.org/downloads/] (under "Get Eclipse").
|
||||
https://www.eclipse.org/downloads/[eclipse.org/downloads/] (under "Get Eclipse").
|
||||
* Switch to "Advanced Mode" using the drop down menu on the right.
|
||||
* Select "`Eclipse IDE for Java Developers`" under "`Eclipse.org`" as the product to
|
||||
install and click "`next`".
|
||||
|
|
@ -170,7 +170,7 @@ easier to navigate.
|
|||
|
||||
==== Manual Installation with M2Eclipse
|
||||
If you prefer to install Eclipse yourself you should use the
|
||||
http://eclipse.org/m2e/[M2Eclipse] eclipse plugin. If you don't already have m2eclipse
|
||||
https://eclipse.org/m2e/[M2Eclipse] eclipse plugin. If you don't already have m2eclipse
|
||||
installed it is available from the "Eclipse marketplace".
|
||||
|
||||
Spring Boot includes project specific source formatting settings, in order to have these
|
||||
|
|
|
|||
|
|
@ -112,9 +112,9 @@ public class CloudFoundryWebFluxEndpointIntegrationTests {
|
|||
this.contextRunner.run(withWebTestClient((client) -> client.options()
|
||||
.uri("/cfApplication/test").accept(MediaType.APPLICATION_JSON)
|
||||
.header("Access-Control-Request-Method", "POST")
|
||||
.header("Origin", "http://example.com").exchange().expectStatus().isOk()
|
||||
.header("Origin", "https://example.com").exchange().expectStatus().isOk()
|
||||
.expectHeader()
|
||||
.valueEquals("Access-Control-Allow-Origin", "http://example.com")
|
||||
.valueEquals("Access-Control-Allow-Origin", "https://example.com")
|
||||
.expectHeader().valueEquals("Access-Control-Allow-Methods", "GET,POST")));
|
||||
}
|
||||
|
||||
|
|
@ -203,7 +203,7 @@ public class CloudFoundryWebFluxEndpointIntegrationTests {
|
|||
EndpointMediaTypes endpointMediaTypes,
|
||||
CloudFoundrySecurityInterceptor interceptor) {
|
||||
CorsConfiguration corsConfiguration = new CorsConfiguration();
|
||||
corsConfiguration.setAllowedOrigins(Arrays.asList("http://example.com"));
|
||||
corsConfiguration.setAllowedOrigins(Arrays.asList("https://example.com"));
|
||||
corsConfiguration.setAllowedMethods(Arrays.asList("GET", "POST"));
|
||||
return new CloudFoundryWebFluxEndpointHandlerMapping(
|
||||
new EndpointMapping("/cfApplication"),
|
||||
|
|
|
|||
|
|
@ -99,7 +99,7 @@ public class ReactiveCloudFoundryActuatorAutoConfigurationTests {
|
|||
this.contextRunner
|
||||
.withPropertyValues("VCAP_APPLICATION:---",
|
||||
"vcap.application.application_id:my-app-id",
|
||||
"vcap.application.cf_api:http://my-cloud-controller.com")
|
||||
"vcap.application.cf_api:https://my-cloud-controller.com")
|
||||
.run((context) -> {
|
||||
CloudFoundryWebFluxEndpointHandlerMapping handlerMapping = getHandlerMapping(
|
||||
context);
|
||||
|
|
@ -123,7 +123,7 @@ public class ReactiveCloudFoundryActuatorAutoConfigurationTests {
|
|||
this.contextRunner
|
||||
.withPropertyValues("VCAP_APPLICATION:---",
|
||||
"vcap.application.application_id:my-app-id",
|
||||
"vcap.application.cf_api:http://my-cloud-controller.com")
|
||||
"vcap.application.cf_api:https://my-cloud-controller.com")
|
||||
.run((context) -> {
|
||||
WebTestClient webTestClient = WebTestClient
|
||||
.bindToApplicationContext(context).build();
|
||||
|
|
@ -137,7 +137,7 @@ public class ReactiveCloudFoundryActuatorAutoConfigurationTests {
|
|||
this.contextRunner
|
||||
.withPropertyValues("VCAP_APPLICATION:---",
|
||||
"vcap.application.application_id:my-app-id",
|
||||
"vcap.application.cf_api:http://my-cloud-controller.com")
|
||||
"vcap.application.cf_api:https://my-cloud-controller.com")
|
||||
.run((context) -> {
|
||||
CloudFoundryWebFluxEndpointHandlerMapping handlerMapping = getHandlerMapping(
|
||||
context);
|
||||
|
|
@ -154,7 +154,7 @@ public class ReactiveCloudFoundryActuatorAutoConfigurationTests {
|
|||
this.contextRunner
|
||||
.withPropertyValues("VCAP_APPLICATION:---",
|
||||
"vcap.application.application_id:my-app-id",
|
||||
"vcap.application.cf_api:http://my-cloud-controller.com")
|
||||
"vcap.application.cf_api:https://my-cloud-controller.com")
|
||||
.run((context) -> {
|
||||
CloudFoundryWebFluxEndpointHandlerMapping handlerMapping = getHandlerMapping(
|
||||
context);
|
||||
|
|
@ -165,7 +165,7 @@ public class ReactiveCloudFoundryActuatorAutoConfigurationTests {
|
|||
String cloudControllerUrl = (String) ReflectionTestUtils
|
||||
.getField(interceptorSecurityService, "cloudControllerUrl");
|
||||
assertThat(cloudControllerUrl)
|
||||
.isEqualTo("http://my-cloud-controller.com");
|
||||
.isEqualTo("https://my-cloud-controller.com");
|
||||
});
|
||||
}
|
||||
|
||||
|
|
@ -190,7 +190,7 @@ public class ReactiveCloudFoundryActuatorAutoConfigurationTests {
|
|||
this.contextRunner
|
||||
.withPropertyValues("VCAP_APPLICATION:---",
|
||||
"vcap.application.application_id:my-app-id",
|
||||
"vcap.application.cf_api:http://my-cloud-controller.com")
|
||||
"vcap.application.cf_api:https://my-cloud-controller.com")
|
||||
.run((context) -> {
|
||||
WebFilterChainProxy chainProxy = context
|
||||
.getBean(WebFilterChainProxy.class);
|
||||
|
|
@ -237,7 +237,7 @@ public class ReactiveCloudFoundryActuatorAutoConfigurationTests {
|
|||
this.contextRunner.withUserConfiguration(TestConfiguration.class)
|
||||
.withPropertyValues("VCAP_APPLICATION:---",
|
||||
"vcap.application.application_id:my-app-id",
|
||||
"vcap.application.cf_api:http://my-cloud-controller.com")
|
||||
"vcap.application.cf_api:https://my-cloud-controller.com")
|
||||
.run((context) -> {
|
||||
CloudFoundryWebFluxEndpointHandlerMapping handlerMapping = getHandlerMapping(
|
||||
context);
|
||||
|
|
@ -255,7 +255,7 @@ public class ReactiveCloudFoundryActuatorAutoConfigurationTests {
|
|||
this.contextRunner.withUserConfiguration(TestConfiguration.class)
|
||||
.withPropertyValues("VCAP_APPLICATION:---",
|
||||
"vcap.application.application_id:my-app-id",
|
||||
"vcap.application.cf_api:http://my-cloud-controller.com")
|
||||
"vcap.application.cf_api:https://my-cloud-controller.com")
|
||||
.run((context) -> {
|
||||
CloudFoundryWebFluxEndpointHandlerMapping handlerMapping = getHandlerMapping(
|
||||
context);
|
||||
|
|
@ -279,7 +279,7 @@ public class ReactiveCloudFoundryActuatorAutoConfigurationTests {
|
|||
AutoConfigurations.of(HealthEndpointAutoConfiguration.class))
|
||||
.withPropertyValues("VCAP_APPLICATION:---",
|
||||
"vcap.application.application_id:my-app-id",
|
||||
"vcap.application.cf_api:http://my-cloud-controller.com")
|
||||
"vcap.application.cf_api:https://my-cloud-controller.com")
|
||||
.run((context) -> {
|
||||
Collection<ExposableWebEndpoint> endpoints = getHandlerMapping(
|
||||
context).getEndpoints();
|
||||
|
|
@ -302,7 +302,7 @@ public class ReactiveCloudFoundryActuatorAutoConfigurationTests {
|
|||
AutoConfigurations.of(HealthEndpointAutoConfiguration.class))
|
||||
.withPropertyValues("VCAP_APPLICATION:---",
|
||||
"vcap.application.application_id:my-app-id",
|
||||
"vcap.application.cf_api:http://my-cloud-controller.com",
|
||||
"vcap.application.cf_api:https://my-cloud-controller.com",
|
||||
"management.cloudfoundry.skip-ssl-validation:true")
|
||||
.run((context) -> {
|
||||
CloudFoundryWebFluxEndpointHandlerMapping handlerMapping = getHandlerMapping(
|
||||
|
|
@ -325,7 +325,7 @@ public class ReactiveCloudFoundryActuatorAutoConfigurationTests {
|
|||
AutoConfigurations.of(HealthEndpointAutoConfiguration.class))
|
||||
.withPropertyValues("VCAP_APPLICATION:---",
|
||||
"vcap.application.application_id:my-app-id",
|
||||
"vcap.application.cf_api:http://my-cloud-controller.com")
|
||||
"vcap.application.cf_api:https://my-cloud-controller.com")
|
||||
.run((context) -> {
|
||||
CloudFoundryWebFluxEndpointHandlerMapping handlerMapping = getHandlerMapping(
|
||||
context);
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@ public class ReactiveCloudFoundrySecurityInterceptorTests {
|
|||
@Test
|
||||
public void preHandleWhenRequestIsPreFlightShouldBeOk() {
|
||||
MockServerWebExchange request = MockServerWebExchange.from(MockServerHttpRequest
|
||||
.options("/a").header(HttpHeaders.ORIGIN, "http://example.com")
|
||||
.options("/a").header(HttpHeaders.ORIGIN, "https://example.com")
|
||||
.header(HttpHeaders.ACCESS_CONTROL_REQUEST_METHOD, "GET").build());
|
||||
StepVerifier.create(this.interceptor.preHandle(request, "/a")).consumeNextWith(
|
||||
(response) -> assertThat(response.getStatus()).isEqualTo(HttpStatus.OK))
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ public class ReactiveCloudFoundrySecurityServiceTests {
|
|||
private static final String CLOUD_CONTROLLER_PERMISSIONS = CLOUD_CONTROLLER
|
||||
+ "/v2/apps/my-app-id/permissions";
|
||||
|
||||
private static final String UAA_URL = "http://my-cloud-controller.com/uaa";
|
||||
private static final String UAA_URL = "https://my-cloud-controller.com/uaa";
|
||||
|
||||
private ReactiveCloudFoundrySecurityService securityService;
|
||||
|
||||
|
|
|
|||
|
|
@ -255,7 +255,7 @@ public class ReactiveTokenValidatorTests {
|
|||
public void validateTokenWhenIssuerIsNotValidShouldThrowException() throws Exception {
|
||||
given(this.securityService.fetchTokenKeys()).willReturn(Mono.just(VALID_KEYS));
|
||||
given(this.securityService.getUaaUrl())
|
||||
.willReturn(Mono.just("http://other-uaa.com"));
|
||||
.willReturn(Mono.just("https://other-uaa.com"));
|
||||
String header = "{ \"alg\": \"RS256\", \"kid\": \"valid-key\", \"typ\": \"JWT\", \"scope\": [\"actuator.read\"]}";
|
||||
String claims = "{ \"exp\": 2147483647, \"iss\": \"http://localhost:8080/uaa/oauth/token\", \"scope\": [\"foo.bar\"]}";
|
||||
StepVerifier
|
||||
|
|
|
|||
|
|
@ -85,7 +85,7 @@ public class CloudFoundryActuatorAutoConfigurationTests {
|
|||
this.contextRunner
|
||||
.withPropertyValues("VCAP_APPLICATION:---",
|
||||
"vcap.application.application_id:my-app-id",
|
||||
"vcap.application.cf_api:http://my-cloud-controller.com")
|
||||
"vcap.application.cf_api:https://my-cloud-controller.com")
|
||||
.run((context) -> {
|
||||
CloudFoundryWebEndpointServletHandlerMapping handlerMapping = getHandlerMapping(
|
||||
context);
|
||||
|
|
@ -109,7 +109,7 @@ public class CloudFoundryActuatorAutoConfigurationTests {
|
|||
this.contextRunner
|
||||
.withPropertyValues("VCAP_APPLICATION:---",
|
||||
"vcap.application.application_id:my-app-id",
|
||||
"vcap.application.cf_api:http://my-cloud-controller.com")
|
||||
"vcap.application.cf_api:https://my-cloud-controller.com")
|
||||
.run((context) -> {
|
||||
MockMvc mockMvc = MockMvcBuilders.webAppContextSetup(context).build();
|
||||
mockMvc.perform(get("/cloudfoundryapplication"))
|
||||
|
|
@ -123,7 +123,7 @@ public class CloudFoundryActuatorAutoConfigurationTests {
|
|||
this.contextRunner
|
||||
.withPropertyValues("VCAP_APPLICATION:---",
|
||||
"vcap.application.application_id:my-app-id",
|
||||
"vcap.application.cf_api:http://my-cloud-controller.com")
|
||||
"vcap.application.cf_api:https://my-cloud-controller.com")
|
||||
.run((context) -> {
|
||||
CloudFoundryWebEndpointServletHandlerMapping handlerMapping = getHandlerMapping(
|
||||
context);
|
||||
|
|
@ -140,7 +140,7 @@ public class CloudFoundryActuatorAutoConfigurationTests {
|
|||
this.contextRunner
|
||||
.withPropertyValues("VCAP_APPLICATION:---",
|
||||
"vcap.application.application_id:my-app-id",
|
||||
"vcap.application.cf_api:http://my-cloud-controller.com")
|
||||
"vcap.application.cf_api:https://my-cloud-controller.com")
|
||||
.run((context) -> {
|
||||
CloudFoundryWebEndpointServletHandlerMapping handlerMapping = getHandlerMapping(
|
||||
context);
|
||||
|
|
@ -151,7 +151,7 @@ public class CloudFoundryActuatorAutoConfigurationTests {
|
|||
String cloudControllerUrl = (String) ReflectionTestUtils
|
||||
.getField(interceptorSecurityService, "cloudControllerUrl");
|
||||
assertThat(cloudControllerUrl)
|
||||
.isEqualTo("http://my-cloud-controller.com");
|
||||
.isEqualTo("https://my-cloud-controller.com");
|
||||
});
|
||||
}
|
||||
|
||||
|
|
@ -160,7 +160,7 @@ public class CloudFoundryActuatorAutoConfigurationTests {
|
|||
this.contextRunner
|
||||
.withPropertyValues("VCAP_APPLICATION:---",
|
||||
"vcap.application.application_id:my-app-id",
|
||||
"vcap.application.cf_api:http://my-cloud-controller.com",
|
||||
"vcap.application.cf_api:https://my-cloud-controller.com",
|
||||
"management.cloudfoundry.skip-ssl-validation:true")
|
||||
.run((context) -> {
|
||||
CloudFoundryWebEndpointServletHandlerMapping handlerMapping = getHandlerMapping(
|
||||
|
|
@ -230,7 +230,7 @@ public class CloudFoundryActuatorAutoConfigurationTests {
|
|||
this.contextRunner.withUserConfiguration(TestConfiguration.class)
|
||||
.withPropertyValues("VCAP_APPLICATION:---",
|
||||
"vcap.application.application_id:my-app-id",
|
||||
"vcap.application.cf_api:http://my-cloud-controller.com")
|
||||
"vcap.application.cf_api:https://my-cloud-controller.com")
|
||||
.run((context) -> {
|
||||
CloudFoundryWebEndpointServletHandlerMapping handlerMapping = getHandlerMapping(
|
||||
context);
|
||||
|
|
@ -248,7 +248,7 @@ public class CloudFoundryActuatorAutoConfigurationTests {
|
|||
this.contextRunner
|
||||
.withPropertyValues("VCAP_APPLICATION:---",
|
||||
"vcap.application.application_id:my-app-id",
|
||||
"vcap.application.cf_api:http://my-cloud-controller.com",
|
||||
"vcap.application.cf_api:https://my-cloud-controller.com",
|
||||
"management.endpoints.web.path-mapping.test=custom")
|
||||
.withUserConfiguration(TestConfiguration.class).run((context) -> {
|
||||
CloudFoundryWebEndpointServletHandlerMapping handlerMapping = getHandlerMapping(
|
||||
|
|
@ -272,7 +272,7 @@ public class CloudFoundryActuatorAutoConfigurationTests {
|
|||
this.contextRunner
|
||||
.withPropertyValues("VCAP_APPLICATION:---",
|
||||
"vcap.application.application_id:my-app-id",
|
||||
"vcap.application.cf_api:http://my-cloud-controller.com")
|
||||
"vcap.application.cf_api:https://my-cloud-controller.com")
|
||||
.withConfiguration(
|
||||
AutoConfigurations.of(HealthIndicatorAutoConfiguration.class,
|
||||
HealthEndpointAutoConfiguration.class))
|
||||
|
|
|
|||
|
|
@ -97,9 +97,9 @@ public class CloudFoundryMvcWebEndpointIntegrationTests {
|
|||
load(TestEndpointConfiguration.class, (client) -> client.options()
|
||||
.uri("/cfApplication/test").accept(MediaType.APPLICATION_JSON)
|
||||
.header("Access-Control-Request-Method", "POST")
|
||||
.header("Origin", "http://example.com").exchange().expectStatus().isOk()
|
||||
.header("Origin", "https://example.com").exchange().expectStatus().isOk()
|
||||
.expectHeader()
|
||||
.valueEquals("Access-Control-Allow-Origin", "http://example.com")
|
||||
.valueEquals("Access-Control-Allow-Origin", "https://example.com")
|
||||
.expectHeader().valueEquals("Access-Control-Allow-Methods", "GET,POST"));
|
||||
}
|
||||
|
||||
|
|
@ -202,7 +202,7 @@ public class CloudFoundryMvcWebEndpointIntegrationTests {
|
|||
EndpointMediaTypes endpointMediaTypes,
|
||||
CloudFoundrySecurityInterceptor interceptor) {
|
||||
CorsConfiguration corsConfiguration = new CorsConfiguration();
|
||||
corsConfiguration.setAllowedOrigins(Arrays.asList("http://example.com"));
|
||||
corsConfiguration.setAllowedOrigins(Arrays.asList("https://example.com"));
|
||||
corsConfiguration.setAllowedMethods(Arrays.asList("GET", "POST"));
|
||||
return new CloudFoundryWebEndpointServletHandlerMapping(
|
||||
new EndpointMapping("/cfApplication"),
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@ public class CloudFoundrySecurityInterceptorTests {
|
|||
@Test
|
||||
public void preHandleWhenRequestIsPreFlightShouldReturnTrue() {
|
||||
this.request.setMethod("OPTIONS");
|
||||
this.request.addHeader(HttpHeaders.ORIGIN, "http://example.com");
|
||||
this.request.addHeader(HttpHeaders.ORIGIN, "https://example.com");
|
||||
this.request.addHeader(HttpHeaders.ACCESS_CONTROL_REQUEST_METHOD, "GET");
|
||||
SecurityResponse response = this.interceptor.preHandle(this.request,
|
||||
EndpointId.of("test"));
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2012-2018 the original author or authors.
|
||||
* Copyright 2012-2019 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
|
@ -49,12 +49,12 @@ import static org.springframework.test.web.client.response.MockRestResponseCreat
|
|||
*/
|
||||
public class CloudFoundrySecurityServiceTests {
|
||||
|
||||
private static final String CLOUD_CONTROLLER = "http://my-cloud-controller.com";
|
||||
private static final String CLOUD_CONTROLLER = "https://my-cloud-controller.com";
|
||||
|
||||
private static final String CLOUD_CONTROLLER_PERMISSIONS = CLOUD_CONTROLLER
|
||||
+ "/v2/apps/my-app-id/permissions";
|
||||
|
||||
private static final String UAA_URL = "http://my-uaa.com";
|
||||
private static final String UAA_URL = "https://my-uaa.com";
|
||||
|
||||
private CloudFoundrySecurityService securityService;
|
||||
|
||||
|
|
@ -148,7 +148,7 @@ public class CloudFoundrySecurityServiceTests {
|
|||
@Test
|
||||
public void fetchTokenKeysWhenSuccessfulShouldReturnListOfKeysFromUAA() {
|
||||
this.server.expect(requestTo(CLOUD_CONTROLLER + "/info"))
|
||||
.andRespond(withSuccess("{\"token_endpoint\":\"http://my-uaa.com\"}",
|
||||
.andRespond(withSuccess("{\"token_endpoint\":\"https://my-uaa.com\"}",
|
||||
MediaType.APPLICATION_JSON));
|
||||
String tokenKeyValue = "-----BEGIN PUBLIC KEY-----\n"
|
||||
+ "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0m59l2u9iDnMbrXHfqkO\n"
|
||||
|
|
|
|||
|
|
@ -179,7 +179,7 @@ public class TokenValidatorTests {
|
|||
@Test
|
||||
public void validateTokenWhenIssuerIsNotValidShouldThrowException() throws Exception {
|
||||
given(this.securityService.fetchTokenKeys()).willReturn(VALID_KEYS);
|
||||
given(this.securityService.getUaaUrl()).willReturn("http://other-uaa.com");
|
||||
given(this.securityService.getUaaUrl()).willReturn("https://other-uaa.com");
|
||||
String header = "{ \"alg\": \"RS256\", \"kid\": \"valid-key\", \"typ\": \"JWT\", \"scope\": [\"actuator.read\"]}";
|
||||
String claims = "{ \"exp\": 2147483647, \"iss\": \"http://localhost:8080/uaa/oauth/token\"}";
|
||||
assertThatExceptionOfType(CloudFoundryAuthorizationException.class)
|
||||
|
|
|
|||
|
|
@ -36,21 +36,21 @@ public class LinkTests {
|
|||
|
||||
@Test
|
||||
public void getHrefShouldReturnHref() {
|
||||
String href = "http://example.com";
|
||||
String href = "https://example.com";
|
||||
Link link = new Link(href);
|
||||
assertThat(link.getHref()).isEqualTo(href);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isTemplatedWhenContainsPlaceholderShouldReturnTrue() {
|
||||
String href = "http://example.com/{path}";
|
||||
String href = "https://example.com/{path}";
|
||||
Link link = new Link(href);
|
||||
assertThat(link.isTemplated()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isTemplatedWhenContainsNoPlaceholderShouldReturnFalse() {
|
||||
String href = "http://example.com/path";
|
||||
String href = "https://example.com/path";
|
||||
Link link = new Link(href);
|
||||
assertThat(link.isTemplated()).isFalse();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -79,9 +79,9 @@ public class WebFluxEndpointIntegrationTests extends
|
|||
load(TestEndpointConfiguration.class, (client) -> client.options().uri("/test")
|
||||
.accept(MediaType.APPLICATION_JSON)
|
||||
.header("Access-Control-Request-Method", "POST")
|
||||
.header("Origin", "http://example.com").exchange().expectStatus().isOk()
|
||||
.header("Origin", "https://example.com").exchange().expectStatus().isOk()
|
||||
.expectHeader()
|
||||
.valueEquals("Access-Control-Allow-Origin", "http://example.com")
|
||||
.valueEquals("Access-Control-Allow-Origin", "https://example.com")
|
||||
.expectHeader().valueEquals("Access-Control-Allow-Methods", "GET,POST"));
|
||||
}
|
||||
|
||||
|
|
@ -124,7 +124,7 @@ public class WebFluxEndpointIntegrationTests extends
|
|||
Environment environment, WebEndpointDiscoverer endpointDiscoverer,
|
||||
EndpointMediaTypes endpointMediaTypes) {
|
||||
CorsConfiguration corsConfiguration = new CorsConfiguration();
|
||||
corsConfiguration.setAllowedOrigins(Arrays.asList("http://example.com"));
|
||||
corsConfiguration.setAllowedOrigins(Arrays.asList("https://example.com"));
|
||||
corsConfiguration.setAllowedMethods(Arrays.asList("GET", "POST"));
|
||||
return new WebFluxEndpointHandlerMapping(
|
||||
new EndpointMapping(environment.getProperty("endpointPath")),
|
||||
|
|
|
|||
|
|
@ -88,9 +88,9 @@ public class MvcWebEndpointIntegrationTests extends
|
|||
load(TestEndpointConfiguration.class, (client) -> client.options().uri("/test")
|
||||
.accept(MediaType.APPLICATION_JSON)
|
||||
.header("Access-Control-Request-Method", "POST")
|
||||
.header("Origin", "http://example.com").exchange().expectStatus().isOk()
|
||||
.header("Origin", "https://example.com").exchange().expectStatus().isOk()
|
||||
.expectHeader()
|
||||
.valueEquals("Access-Control-Allow-Origin", "http://example.com")
|
||||
.valueEquals("Access-Control-Allow-Origin", "https://example.com")
|
||||
.expectHeader().valueEquals("Access-Control-Allow-Methods", "GET,POST"));
|
||||
}
|
||||
|
||||
|
|
@ -149,7 +149,7 @@ public class MvcWebEndpointIntegrationTests extends
|
|||
Environment environment, WebEndpointDiscoverer endpointDiscoverer,
|
||||
EndpointMediaTypes endpointMediaTypes) {
|
||||
CorsConfiguration corsConfiguration = new CorsConfiguration();
|
||||
corsConfiguration.setAllowedOrigins(Arrays.asList("http://example.com"));
|
||||
corsConfiguration.setAllowedOrigins(Arrays.asList("https://example.com"));
|
||||
corsConfiguration.setAllowedMethods(Arrays.asList("GET", "POST"));
|
||||
return new WebMvcEndpointHandlerMapping(
|
||||
new EndpointMapping(environment.getProperty("endpointPath")),
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ import org.springframework.transaction.jta.JtaTransactionManager;
|
|||
import org.springframework.util.StringUtils;
|
||||
|
||||
/**
|
||||
* JTA Configuration for <A href="http://www.atomikos.com/">Atomikos</a>.
|
||||
* JTA Configuration for <A href="https://www.atomikos.com/">Atomikos</a>.
|
||||
*
|
||||
* @author Josh Long
|
||||
* @author Phillip Webb
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2012-2018 the original author or authors.
|
||||
* Copyright 2012-2019 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
|
@ -44,7 +44,7 @@ import org.springframework.transaction.jta.JtaTransactionManager;
|
|||
import org.springframework.util.StringUtils;
|
||||
|
||||
/**
|
||||
* JTA Configuration for <A href="http://docs.codehaus.org/display/BTM/Home">Bitronix</A>.
|
||||
* JTA Configuration for <A href="https://github.com/bitronix/btm">Bitronix</A>.
|
||||
*
|
||||
* @author Josh Long
|
||||
* @author Phillip Webb
|
||||
|
|
|
|||
|
|
@ -74,14 +74,14 @@ public class OAuth2ClientPropertiesRegistrationAdapterTests {
|
|||
ClientRegistration adapted = registrations.get("registration");
|
||||
ProviderDetails adaptedProvider = adapted.getProviderDetails();
|
||||
assertThat(adaptedProvider.getAuthorizationUri())
|
||||
.isEqualTo("http://example.com/auth");
|
||||
assertThat(adaptedProvider.getTokenUri()).isEqualTo("http://example.com/token");
|
||||
.isEqualTo("https://example.com/auth");
|
||||
assertThat(adaptedProvider.getTokenUri()).isEqualTo("https://example.com/token");
|
||||
UserInfoEndpoint userInfoEndpoint = adaptedProvider.getUserInfoEndpoint();
|
||||
assertThat(userInfoEndpoint.getUri()).isEqualTo("http://example.com/info");
|
||||
assertThat(userInfoEndpoint.getUri()).isEqualTo("https://example.com/info");
|
||||
assertThat(userInfoEndpoint.getAuthenticationMethod()).isEqualTo(
|
||||
org.springframework.security.oauth2.core.AuthenticationMethod.FORM);
|
||||
assertThat(userInfoEndpoint.getUserNameAttributeName()).isEqualTo("sub");
|
||||
assertThat(adaptedProvider.getJwkSetUri()).isEqualTo("http://example.com/jwk");
|
||||
assertThat(adaptedProvider.getJwkSetUri()).isEqualTo("https://example.com/jwk");
|
||||
assertThat(adapted.getRegistrationId()).isEqualTo("registration");
|
||||
assertThat(adapted.getClientId()).isEqualTo("clientId");
|
||||
assertThat(adapted.getClientSecret()).isEqualTo("clientSecret");
|
||||
|
|
@ -90,7 +90,7 @@ public class OAuth2ClientPropertiesRegistrationAdapterTests {
|
|||
assertThat(adapted.getAuthorizationGrantType()).isEqualTo(
|
||||
org.springframework.security.oauth2.core.AuthorizationGrantType.AUTHORIZATION_CODE);
|
||||
assertThat(adapted.getRedirectUriTemplate())
|
||||
.isEqualTo("http://example.com/redirect");
|
||||
.isEqualTo("https://example.com/redirect");
|
||||
assertThat(adapted.getScopes()).containsExactly("user");
|
||||
assertThat(adapted.getClientName()).isEqualTo("clientName");
|
||||
}
|
||||
|
|
@ -162,7 +162,7 @@ public class OAuth2ClientPropertiesRegistrationAdapterTests {
|
|||
assertThat(adapted.getAuthorizationGrantType()).isEqualTo(
|
||||
org.springframework.security.oauth2.core.AuthorizationGrantType.AUTHORIZATION_CODE);
|
||||
assertThat(adapted.getRedirectUriTemplate())
|
||||
.isEqualTo("http://example.com/redirect");
|
||||
.isEqualTo("https://example.com/redirect");
|
||||
assertThat(adapted.getScopes()).containsExactly("user");
|
||||
assertThat(adapted.getClientName()).isEqualTo("clientName");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -218,7 +218,8 @@ public class OAuth2WebSecurityConfigurationTests {
|
|||
@Bean
|
||||
public ClientRegistrationRepository clientRegistrationRepository() {
|
||||
List<ClientRegistration> registrations = new ArrayList<>();
|
||||
registrations.add(getClientRegistration("first", "http://user-info-uri.com"));
|
||||
registrations
|
||||
.add(getClientRegistration("first", "https://user-info-uri.com"));
|
||||
registrations.add(getClientRegistration("second", "http://other-user-info"));
|
||||
return new InMemoryClientRegistrationRepository(registrations);
|
||||
}
|
||||
|
|
@ -230,9 +231,9 @@ public class OAuth2WebSecurityConfigurationTests {
|
|||
org.springframework.security.oauth2.core.ClientAuthenticationMethod.BASIC)
|
||||
.authorizationGrantType(AuthorizationGrantType.AUTHORIZATION_CODE)
|
||||
.scope("read").clientSecret("secret")
|
||||
.redirectUriTemplate("http://redirect-uri.com")
|
||||
.authorizationUri("http://authorization-uri.com")
|
||||
.tokenUri("http://token-uri.com").userInfoUri(userInfoUri)
|
||||
.redirectUriTemplate("https://redirect-uri.com")
|
||||
.authorizationUri("https://authorization-uri.com")
|
||||
.tokenUri("https://token-uri.com").userInfoUri(userInfoUri)
|
||||
.userNameAttributeName("login");
|
||||
return builder.build();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -101,23 +101,23 @@ public class WebClientAutoConfigurationTests {
|
|||
WebClient.Builder firstBuilder = context
|
||||
.getBean(WebClient.Builder.class);
|
||||
firstBuilder.clientConnector(firstConnector)
|
||||
.baseUrl("http://first.example.org");
|
||||
.baseUrl("https://first.example.org");
|
||||
ClientHttpConnector secondConnector = mock(ClientHttpConnector.class);
|
||||
given(secondConnector.connect(any(), any(), any()))
|
||||
.willReturn(Mono.just(response));
|
||||
WebClient.Builder secondBuilder = context
|
||||
.getBean(WebClient.Builder.class);
|
||||
secondBuilder.clientConnector(secondConnector)
|
||||
.baseUrl("http://second.example.org");
|
||||
.baseUrl("https://second.example.org");
|
||||
assertThat(firstBuilder).isNotEqualTo(secondBuilder);
|
||||
firstBuilder.build().get().uri("/foo").exchange()
|
||||
.block(Duration.ofSeconds(30));
|
||||
secondBuilder.build().get().uri("/foo").exchange()
|
||||
.block(Duration.ofSeconds(30));
|
||||
verify(firstConnector).connect(eq(HttpMethod.GET),
|
||||
eq(URI.create("http://first.example.org/foo")), any());
|
||||
eq(URI.create("https://first.example.org/foo")), any());
|
||||
verify(secondConnector).connect(eq(HttpMethod.GET),
|
||||
eq(URI.create("http://second.example.org/foo")), any());
|
||||
eq(URI.create("https://second.example.org/foo")), any());
|
||||
WebClientCustomizer customizer = context
|
||||
.getBean("webClientCustomizer", WebClientCustomizer.class);
|
||||
verify(customizer, times(1)).customize(any(WebClient.Builder.class));
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns:th="http://www.thymeleaf.org" xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout">
|
||||
<html xmlns:th="https://www.thymeleaf.org" xmlns:layout="https://github.com/ultraq/thymeleaf-layout-dialect">
|
||||
<head>
|
||||
<title layout:fragment="title">Layout</title>
|
||||
</head>
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<html xmlns:th="http://www.thymeleaf.org" xmlns:layout="http://www.ultraq.net.nz/web/thymeleaf/layout" layout:decorator="layout">
|
||||
<html xmlns:th="https://www.thymeleaf.org" xmlns:layout="http://www.ultraq.net.nz/web/thymeleaf/layout" layout:decorator="layout">
|
||||
<head>
|
||||
<title layout:fragment="title">Content</title>
|
||||
</head>
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@
|
|||
</wsdl:portType>
|
||||
<wsdl:binding name="binding" type="tns:portType">
|
||||
<wsdlsoap:binding style="document"
|
||||
transport="http://schemas.xmlsoap.org/soap/http" />
|
||||
transport="http://schemas.xmlsoap.org/soap/http/" />
|
||||
<wsdl:operation name="operation">
|
||||
<wsdlsoap:operation soapAction="" />
|
||||
<wsdl:input name="request">
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
@GrabResolver(name='clojars.org', root='http://clojars.org/repo')
|
||||
@GrabResolver(name='clojars.org', root='https://clojars.org/repo')
|
||||
@Grab('redis.embedded:embedded-redis:0.2')
|
||||
|
||||
@Component
|
||||
|
|
|
|||
|
|
@ -205,7 +205,7 @@ limitations under the License
|
|||
>>> CGLIB 3.0 (cglib:cglib:3.0):
|
||||
|
||||
Per the LICENSE file in the CGLIB JAR distribution downloaded from
|
||||
http://sourceforge.net/projects/cglib/files/cglib3/3.0/cglib-3.0.jar/download,
|
||||
https://sourceforge.net/projects/cglib/files/cglib3/3.0/cglib-3.0.jar/download,
|
||||
CGLIB 3.0 is licensed under the Apache License, version 2.0, the text of which
|
||||
is included above.
|
||||
|
||||
|
|
@ -225,7 +225,7 @@ Eclipse Public License, Version 1.0 is applicable to the following component(s).
|
|||
The Eclipse Foundation makes available all content in this plug-in ("Content").
|
||||
Unless otherwise indicated below, the Content is provided to you under the terms
|
||||
and conditions of the Eclipse Public License Version 1.0 ("EPL"). A copy of the
|
||||
EPL is available at http://www.eclipse.org/legal/epl-v10.html.
|
||||
EPL is available at https://www.eclipse.org/legal/epl-v10.html.
|
||||
|
||||
For purposes of the EPL, "Program" will mean the Content.
|
||||
|
||||
|
|
@ -235,7 +235,7 @@ terms and conditions may apply to your use of any object code in the Content.
|
|||
Check the Redistributor's license that was provided with the Content. If no such
|
||||
license exists, contact the Redistributor. Unless otherwise indicated below, the
|
||||
terms and conditions of the EPL still apply to any source code in the Content and
|
||||
such source code may be obtained at http://www.eclipse.org/
|
||||
such source code may be obtained at https://www.eclipse.org/
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ import org.eclipse.aether.util.filter.DependencyFilterUtils;
|
|||
|
||||
/**
|
||||
* A {@link GrapeEngine} implementation that uses
|
||||
* <a href="http://eclipse.org/aether">Aether</a>, the dependency resolution system used
|
||||
* <a href="https://eclipse.org/aether">Aether</a>, the dependency resolution system used
|
||||
* by Maven.
|
||||
*
|
||||
* @author Andy Wilkinson
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ public class AetherGrapeEngineTests {
|
|||
RepositoryConfiguration... additionalRepositories) {
|
||||
List<RepositoryConfiguration> repositoryConfigurations = new ArrayList<>();
|
||||
repositoryConfigurations.add(new RepositoryConfiguration("central",
|
||||
URI.create("https://repo.maven.apache.org/maven2"), false));
|
||||
URI.create("https://repo1.maven.org/maven2"), false));
|
||||
repositoryConfigurations.addAll(Arrays.asList(additionalRepositories));
|
||||
DependencyResolutionContext dependencyResolutionContext = new DependencyResolutionContext();
|
||||
dependencyResolutionContext.addDependencyManagement(
|
||||
|
|
@ -143,7 +143,7 @@ public class AetherGrapeEngineTests {
|
|||
Map<String, Object> args = new HashMap<>();
|
||||
AetherGrapeEngine grapeEngine = this.createGrapeEngine();
|
||||
grapeEngine
|
||||
.addResolver(createResolver("restlet.org", "http://maven.restlet.org"));
|
||||
.addResolver(createResolver("restlet.org", "https://maven.restlet.org"));
|
||||
grapeEngine.grab(args, createDependency("org.restlet", "org.restlet", "1.1.6"));
|
||||
assertThat(this.groovyClassLoader.getURLs().length).isEqualTo(1);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2012-2018 the original author or authors.
|
||||
* Copyright 2012-2019 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
|
@ -35,7 +35,7 @@ import static org.assertj.core.api.Assertions.assertThat;
|
|||
*/
|
||||
public final class DetailedProgressReporterTests {
|
||||
|
||||
private static final String REPOSITORY = "http://my.repository.com/";
|
||||
private static final String REPOSITORY = "https://repo.example.com/";
|
||||
|
||||
private static final String ARTIFACT = "org/alpha/bravo/charlie/1.2.3/charlie-1.2.3.jar";
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2012-2018 the original author or authors.
|
||||
* Copyright 2012-2019 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
|
@ -96,7 +96,7 @@ public class SettingsXmlRepositorySystemSessionAutoConfigurationTests {
|
|||
return null;
|
||||
});
|
||||
RemoteRepository repository = new RemoteRepository.Builder("my-server", "default",
|
||||
"http://maven.example.com").build();
|
||||
"https://maven.example.com").build();
|
||||
assertMirrorSelectorConfiguration(session, repository);
|
||||
assertProxySelectorConfiguration(session, repository);
|
||||
assertAuthenticationSelectorConfiguration(session, repository);
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="
|
||||
http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
http://maven.apache.org/POM/4.0.0 https://maven.apache.org/maven-v4_0_0.xsd">
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns:th="http://www.thymeleaf.org">
|
||||
<html xmlns:th="https://www.thymeleaf.org">
|
||||
<head>
|
||||
<title th:text="${title}">Title</title>
|
||||
<link rel="stylesheet" th:href="@{/resources/css/bootstrap.min.css}"
|
||||
|
|
@ -9,7 +9,7 @@
|
|||
<div class="container">
|
||||
<div class="navbar">
|
||||
<div class="navbar-inner">
|
||||
<a class="brand" href="http://www.thymeleaf.org"> Thymeleaf -
|
||||
<a class="brand" href="https://www.thymeleaf.org"> Thymeleaf -
|
||||
Plain </a>
|
||||
<ul class="nav">
|
||||
<li><a th:href="@{/}" href="home.html"> Home </a></li>
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:m="http://maven.apache.org/POM/4.0.0"
|
||||
exclude-result-prefixes="m">
|
||||
<xsl:output method="xml" encoding="utf-8" indent="yes"
|
||||
xslt:indent-amount="4" xmlns:xslt="http://xml.apache.org/xslt" />
|
||||
xslt:indent-amount="4" xmlns:xslt="https://xml.apache.org/xslt" />
|
||||
<xsl:strip-space elements="*" />
|
||||
<xsl:template match="@*|node()">
|
||||
<xsl:copy>
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ import org.springframework.util.Assert;
|
|||
|
||||
/**
|
||||
* A server that can be used to tunnel TCP traffic over HTTP. Similar in design to the
|
||||
* <a href="http://xmpp.org/extensions/xep-0124.html">Bidirectional-streams Over
|
||||
* <a href="https://xmpp.org/extensions/xep-0124.html">Bidirectional-streams Over
|
||||
* Synchronous HTTP (BOSH)</a> XMPP extension protocol, the server uses long polling with
|
||||
* HTTP requests held open until a response is available. A typical traffic pattern would
|
||||
* be as follows:
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2012-2018 the original author or authors.
|
||||
* Copyright 2012-2019 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2012-2018 the original author or authors.
|
||||
* Copyright 2012-2019 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
|
@ -59,7 +59,7 @@ public class ChangeableUrlsTests {
|
|||
|
||||
@Test
|
||||
public void httpUrl() throws Exception {
|
||||
URL url = new URL("http://spring.io");
|
||||
URL url = new URL("https://spring.io");
|
||||
assertThat(ChangeableUrls.fromUrls(url)).isEmpty();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -330,6 +330,6 @@ following alternatives:
|
|||
|
||||
* https://maven.apache.org/plugins/maven-shade-plugin/[Maven Shade Plugin]
|
||||
* http://www.jdotsoft.com/JarClassLoader.php[JarClassLoader]
|
||||
* http://one-jar.sourceforge.net[OneJar]
|
||||
* https://sourceforge.net/projects/one-jar/[OneJar]
|
||||
* https://imperceptiblethoughts.com/shadow/[Gradle Shadow Plugin]
|
||||
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ section of your `pom.xml`, as shown in the following example:
|
|||
----
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<!-- ... -->
|
||||
<build>
|
||||
|
|
@ -108,7 +108,7 @@ the usual `packaging` element, as shown in the following example:
|
|||
----
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<!-- ... -->
|
||||
<packaging>jar</packaging>
|
||||
<!-- ... -->
|
||||
|
|
@ -137,7 +137,7 @@ following example:
|
|||
----
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<!-- ... -->
|
||||
<packaging>war</packaging>
|
||||
<!-- ... -->
|
||||
|
|
@ -366,7 +366,7 @@ If your archive already includes libraries, you can use `Libraries.NONE`.
|
|||
[[build-tool-plugins-find-a-main-class]]
|
||||
=== Finding a Main Class
|
||||
If you do not use `Repackager.setMainClass()` to specify a main class, the repackager
|
||||
uses http://asm.ow2.org/[ASM] to read class files and tries to find a suitable class with
|
||||
uses https://asm.ow2.org/[ASM] to read class files and tries to find a suitable class with
|
||||
a `public static void main(String[] args)` method. An exception is thrown if more than one
|
||||
candidate is found.
|
||||
|
||||
|
|
|
|||
|
|
@ -113,7 +113,7 @@ using the `cf apps` command, as shown in the following example:
|
|||
|
||||
Once Cloud Foundry acknowledges that your application has been deployed, you should be
|
||||
able to find the application at the URI given. In the preceding example, you could find
|
||||
it at `\http://acloudyspringtime.cfapps.io/`.
|
||||
it at `\https://acloudyspringtime.cfapps.io/`.
|
||||
|
||||
|
||||
|
||||
|
|
@ -202,7 +202,7 @@ deployments is to `git push` the code to production, as shown in the following e
|
|||
Downloading: https://repo.spring.io/...
|
||||
Downloaded: https://repo.spring.io/... (818 B at 1.8 KB/sec)
|
||||
....
|
||||
Downloaded: http://s3pository.heroku.com/jvm/... (152 KB at 595.3 KB/sec)
|
||||
Downloaded: https://s3pository.heroku.com/jvm/... (152 KB at 595.3 KB/sec)
|
||||
[INFO] Installing /tmp/build_0c35a5d2-a067-4abc-a232-14b1fb7a8229/target/...
|
||||
[INFO] Installing /tmp/build_0c35a5d2-a067-4abc-a232-14b1fb7a8229/pom.xml ...
|
||||
[INFO] ------------------------------------------------------------------------
|
||||
|
|
@ -218,7 +218,7 @@ deployments is to `git push` the code to production, as shown in the following e
|
|||
|
||||
-----> Compressing... *done*, 70.4MB
|
||||
-----> Launching... *done*, v6
|
||||
http://agile-sierra-1405.herokuapp.com/ *deployed to Heroku*
|
||||
https://agile-sierra-1405.herokuapp.com/ *deployed to Heroku*
|
||||
|
||||
To git@heroku.com:agile-sierra-1405.git
|
||||
* [new branch] master -> master
|
||||
|
|
@ -372,11 +372,11 @@ example:
|
|||
Creating security group boxfuse-sg_axelfontaine/myapp:1.0 ...
|
||||
Launching t2.micro instance of axelfontaine/myapp:1.0 (ami-d23f38cf) in eu-central-1 ...
|
||||
Instance launched in 00:30.306s -> i-92ef9f53
|
||||
Waiting for AWS to boot Instance i-92ef9f53 and Payload to start at http://52.28.235.61/ ...
|
||||
Payload started in 00:29.266s -> http://52.28.235.61/
|
||||
Waiting for AWS to boot Instance i-92ef9f53 and Payload to start at https://52.28.235.61/ ...
|
||||
Payload started in 00:29.266s -> https://52.28.235.61/
|
||||
Remapping Elastic IP 52.28.233.167 to i-92ef9f53 ...
|
||||
Waiting 15s for AWS to complete Elastic IP Zero Downtime transition ...
|
||||
Deployment completed successfully. axelfontaine/myapp:1.0 is up and running at http://myapp-axelfontaine.boxfuse.io/
|
||||
Deployment completed successfully. axelfontaine/myapp:1.0 is up and running at https://myapp-axelfontaine.boxfuse.io/
|
||||
----
|
||||
|
||||
Your application should now be up and running on AWS.
|
||||
|
|
@ -643,7 +643,7 @@ the `run` command is used by default.
|
|||
Note that, unlike when running as an `init.d` service, the user that runs the application,
|
||||
the PID file, and the console log file are managed by `systemd` itself and therefore must
|
||||
be configured by using appropriate fields in the '`service`' script. Consult the
|
||||
http://www.freedesktop.org/software/systemd/man/systemd.service.html[service unit
|
||||
https://www.freedesktop.org/software/systemd/man/systemd.service.html[service unit
|
||||
configuration man page] for more details.
|
||||
|
||||
To flag the application to start automatically on system boot, use the following command:
|
||||
|
|
@ -841,7 +841,7 @@ If it is not a symlink or you want to explicitly set the app name, this can be u
|
|||
NOTE: The `PID_FOLDER`, `LOG_FOLDER`, and `LOG_FILENAME` variables are only valid for an
|
||||
`init.d` service. For `systemd`, the equivalent customizations are made by using the
|
||||
'`service`' script. See the
|
||||
http://www.freedesktop.org/software/systemd/man/systemd.service.html[service unit
|
||||
https://www.freedesktop.org/software/systemd/man/systemd.service.html[service unit
|
||||
configuration man page] for more details.
|
||||
|
||||
[[deployment-script-customization-conf-file]]
|
||||
|
|
|
|||
|
|
@ -130,7 +130,7 @@ The following listing shows a typical `pom.xml` file:
|
|||
----
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<groupId>com.example</groupId>
|
||||
|
|
@ -258,7 +258,7 @@ classpath is set correctly).
|
|||
==== Installation with SDKMAN!
|
||||
SDKMAN! (The Software Development Kit Manager) can be used for managing multiple versions
|
||||
of various binary SDKs, including Groovy and the Spring Boot CLI.
|
||||
Get SDKMAN! from http://sdkman.io and install Spring Boot by using the following
|
||||
Get SDKMAN! from https://sdkman.io and install Spring Boot by using the following
|
||||
commands:
|
||||
|
||||
[indent=0,subs="verbatim,quotes,attributes"]
|
||||
|
|
@ -306,7 +306,7 @@ You can see it by running the following command:
|
|||
|
||||
[[getting-started-homebrew-cli-installation]]
|
||||
==== OSX Homebrew Installation
|
||||
If you are on a Mac and use http://brew.sh/[Homebrew], you can install the Spring Boot
|
||||
If you are on a Mac and use https://brew.sh/[Homebrew], you can install the Spring Boot
|
||||
CLI by using the following commands:
|
||||
|
||||
[indent=0]
|
||||
|
|
@ -324,7 +324,7 @@ that case, run `brew update` and try again.
|
|||
|
||||
[[getting-started-macports-cli-installation]]
|
||||
==== MacPorts Installation
|
||||
If you are on a Mac and use http://www.macports.org/[MacPorts], you can install the
|
||||
If you are on a Mac and use https://www.macports.org/[MacPorts], you can install the
|
||||
Spring Boot CLI by using the following command:
|
||||
|
||||
[indent=0]
|
||||
|
|
@ -359,7 +359,7 @@ completion scripts are automatically registered with your shell.
|
|||
|
||||
[[getting-started-scoop-cli-installation]]
|
||||
==== Windows Scoop Installation
|
||||
If you are on a Windows and use http://scoop.sh/[Scoop], you can install the Spring Boot
|
||||
If you are on a Windows and use https://scoop.sh/[Scoop], you can install the Spring Boot
|
||||
CLI by using the following commands:
|
||||
|
||||
[indent=0]
|
||||
|
|
@ -500,7 +500,7 @@ used to build your project. Open your favorite text editor and add the following
|
|||
----
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<groupId>com.example</groupId>
|
||||
|
|
|
|||
|
|
@ -1501,7 +1501,7 @@ include::{code-examples}/web/client/RestTemplateProxyCustomizationExample.java[t
|
|||
|
||||
Spring Boot has no mandatory logging dependency, except for the Commons Logging API, which
|
||||
is typically provided by Spring Framework's `spring-jcl` module. To use
|
||||
http://logback.qos.ch[Logback], you need to include it and `spring-jcl` on the classpath.
|
||||
https://logback.qos.ch[Logback], you need to include it and `spring-jcl` on the classpath.
|
||||
The simplest way to do that is through the starters, which all depend on
|
||||
`spring-boot-starter-logging`. For a web application, you need only
|
||||
`spring-boot-starter-web`, since it depends transitively on the logging starter. If you
|
||||
|
|
@ -1605,7 +1605,7 @@ following example:
|
|||
|
||||
[[howto-configure-log4j-for-logging]]
|
||||
=== Configure Log4j for Logging
|
||||
Spring Boot supports http://logging.apache.org/log4j/2.x[Log4j 2] for logging
|
||||
Spring Boot supports https://logging.apache.org/log4j/2.x[Log4j 2] for logging
|
||||
configuration if it is on the classpath. If you use the starters for
|
||||
assembling dependencies, you have to exclude Logback and then include log4j 2
|
||||
instead. If you do not use the starters, you need to provide (at least) `spring-jcl` in
|
||||
|
|
@ -2289,7 +2289,7 @@ You can also switch off the initialization explicitly by setting
|
|||
[[howto-use-a-higher-level-database-migration-tool]]
|
||||
=== Use a Higher-level Database Migration Tool
|
||||
Spring Boot supports two higher-level migration tools: https://flywaydb.org/[Flyway]
|
||||
and http://www.liquibase.org/[Liquibase].
|
||||
and https://www.liquibase.org/[Liquibase].
|
||||
|
||||
[[howto-execute-flyway-database-migrations-on-startup]]
|
||||
==== Execute Flyway Database Migrations on Startup
|
||||
|
|
@ -2682,7 +2682,7 @@ for other Groovy customization options.
|
|||
=== Fast Application Restarts
|
||||
The `spring-boot-devtools` module includes support for automatic application restarts.
|
||||
While not as fast as technologies such as
|
||||
http://zeroturnaround.com/software/jrebel/[JRebel] it is usually significantly faster than
|
||||
https://zeroturnaround.com/software/jrebel/[JRebel] it is usually significantly faster than
|
||||
a "`cold start`". You should probably give it a try before investigating some of the more
|
||||
complex reload options discussed later in this document.
|
||||
|
||||
|
|
@ -3318,9 +3318,9 @@ rather than the version that was pre-installed with the server. You can do so by
|
|||
xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-web-app"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
|
||||
http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd
|
||||
https://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd
|
||||
http://xmlns.oracle.com/weblogic/weblogic-web-app
|
||||
http://xmlns.oracle.com/weblogic/weblogic-web-app/1.4/weblogic-web-app.xsd">
|
||||
https://xmlns.oracle.com/weblogic/weblogic-web-app/1.4/weblogic-web-app.xsd">
|
||||
<wls:container-descriptor>
|
||||
<wls:prefer-application-packages>
|
||||
<wls:package-name>org.slf4j</wls:package-name>
|
||||
|
|
|
|||
|
|
@ -46,9 +46,9 @@ Phillip Webb; Dave Syer; Josh Long; Stéphane Nicoll; Rob Winch; Andy Wilkinson;
|
|||
:spring-rest-docs: https://projects.spring.io/spring-restdocs/
|
||||
:spring-integration: https://projects.spring.io/spring-integration/
|
||||
:spring-session: https://projects.spring.io/spring-session/
|
||||
:spring-framework: http://projects.spring.io/spring-framework/
|
||||
:spring-security: http://projects.spring.io/spring-security/
|
||||
:spring-data-jpa: http://projects.spring.io/spring-data-jpa/
|
||||
:spring-framework: https://projects.spring.io/spring-framework/
|
||||
:spring-security: https://projects.spring.io/spring-security/
|
||||
:spring-data-jpa: https://projects.spring.io/spring-data-jpa/
|
||||
:spring-security-reference: https://docs.spring.io/spring-security/site/docs/{spring-security-docs-version}/reference/htmlsingle
|
||||
:spring-security-oauth2-reference: https://projects.spring.io/spring-security-oauth/docs/oauth2.html
|
||||
:spring-webservices-reference: https://docs.spring.io/spring-ws/docs/{spring-webservices-docs-version}/reference/
|
||||
|
|
@ -62,7 +62,7 @@ Phillip Webb; Dave Syer; Josh Long; Stéphane Nicoll; Rob Winch; Andy Wilkinson;
|
|||
:spring-data: https://projects.spring.io/spring-data/
|
||||
:spring-data-rest-javadoc: https://docs.spring.io/spring-data/rest/docs/current/api/org/springframework/data/rest
|
||||
:gradle-userguide: https://www.gradle.org/docs/current/userguide
|
||||
:ant-manual: http://ant.apache.org/manual
|
||||
:ant-manual: https://ant.apache.org/manual
|
||||
:code-examples: ../java/org/springframework/boot/docs
|
||||
:test-examples: ../../test/java/org/springframework/boot/docs
|
||||
:gradle-user-guide: https://docs.gradle.org/4.2.1/userguide
|
||||
|
|
@ -70,7 +70,7 @@ Phillip Webb; Dave Syer; Josh Long; Stéphane Nicoll; Rob Winch; Andy Wilkinson;
|
|||
:jetty-documentation: https://www.eclipse.org/jetty/documentation/9.4.x
|
||||
:jooq-manual: https://www.jooq.org/doc/{jooq-version}/manual-single-page
|
||||
:micrometer-concepts-documentation: https://micrometer.io/docs/concepts
|
||||
:micrometer-registry-documentation: http://micrometer.io/docs/registry
|
||||
:micrometer-registry-documentation: https://micrometer.io/docs/registry
|
||||
:tomcat-documentation: https://tomcat.apache.org/tomcat-8.5-doc
|
||||
:kotlin-documentation: https://kotlinlang.org/docs/reference/
|
||||
:junit5-documentation: https://junit.org/junit5/docs/current/user-guide
|
||||
|
|
|
|||
|
|
@ -490,7 +490,7 @@ configuration permits `GET` and `POST` calls from the `example.com` domain:
|
|||
|
||||
[source,properties,indent=0]
|
||||
----
|
||||
management.endpoints.web.cors.allowed-origins=http://example.com
|
||||
management.endpoints.web.cors.allowed-origins=https://example.com
|
||||
management.endpoints.web.cors.allowed-methods=GET,POST
|
||||
----
|
||||
|
||||
|
|
@ -1459,7 +1459,7 @@ https://github.com/Netflix/atlas[Atlas server] to use can be provided using:
|
|||
|
||||
[source,properties,indent=0]
|
||||
----
|
||||
management.metrics.export.atlas.uri=http://atlas.example.com:7101/api/v1/publish
|
||||
management.metrics.export.atlas.uri=https://atlas.example.com:7101/api/v1/publish
|
||||
----
|
||||
|
||||
|
||||
|
|
@ -1593,7 +1593,7 @@ server] to use can be provided using:
|
|||
|
||||
[source,properties,indent=0]
|
||||
----
|
||||
management.metrics.export.influx.uri=http://influx.example.com:8086
|
||||
management.metrics.export.influx.uri=https://influx.example.com:8086
|
||||
----
|
||||
|
||||
|
||||
|
|
@ -2319,7 +2319,7 @@ include::{code-examples}/cloudfoundry/CloudFoundryCustomContextPathExample.java[
|
|||
== What to Read Next
|
||||
If you want to explore some of the concepts discussed in this chapter, you can take a
|
||||
look at the actuator {github-code}/spring-boot-samples[sample applications]. You also
|
||||
might want to read about graphing tools such as http://graphite.wikidot.com/[Graphite].
|
||||
might want to read about graphing tools such as https://graphite.wikidot.com/[Graphite].
|
||||
|
||||
Otherwise, you can continue on, to read about <<deployment.adoc#deployment, '`deployment
|
||||
options`'>> or jump ahead for some in-depth information about Spring Boot's
|
||||
|
|
|
|||
|
|
@ -247,7 +247,7 @@ You can use `@DependencyManagementBom` anywhere that you can use `@Grab`. Howeve
|
|||
ensure consistent ordering of the dependency management, you can use
|
||||
`@DependencyManagementBom` at most once in your application. A useful source of dependency
|
||||
management (which is a superset of Spring Boot's dependency management) is the
|
||||
http://platform.spring.io/[Spring IO Platform], which you might include with the following
|
||||
https://platform.spring.io/[Spring IO Platform], which you might include with the following
|
||||
line:
|
||||
|
||||
[source,java,indent=0]
|
||||
|
|
@ -421,7 +421,7 @@ following example:
|
|||
[[cli-groovy-beans-dsl]]
|
||||
== Developing Applications with the Groovy Beans DSL
|
||||
Spring Framework 4.0 has native support for a `beans{}` "`DSL`" (borrowed from
|
||||
http://grails.org/[Grails]), and you can embed bean definitions in your Groovy application
|
||||
https://grails.org/[Grails]), and you can embed bean definitions in your Groovy application
|
||||
scripts by using the same format. This is sometimes a good way to include external
|
||||
features like middleware declarations, as shown in the following example:
|
||||
|
||||
|
|
|
|||
|
|
@ -669,10 +669,10 @@ https://www.vaultproject.io/[HashiCorp Vault].
|
|||
|
||||
[[boot-features-external-config-yaml]]
|
||||
=== Using YAML Instead of Properties
|
||||
http://yaml.org[YAML] is a superset of JSON and, as such, is a convenient format for
|
||||
https://yaml.org[YAML] is a superset of JSON and, as such, is a convenient format for
|
||||
specifying hierarchical configuration data. The `SpringApplication` class automatically
|
||||
supports YAML as an alternative to properties whenever you have the
|
||||
http://www.snakeyaml.org/[SnakeYAML] library on your classpath.
|
||||
https://bitbucket.org/asomov/snakeyaml[SnakeYAML] library on your classpath.
|
||||
|
||||
NOTE: If you use "`Starters`", SnakeYAML is automatically provided by
|
||||
`spring-boot-starter`.
|
||||
|
|
@ -691,10 +691,10 @@ For example, consider the following YAML document:
|
|||
----
|
||||
environments:
|
||||
dev:
|
||||
url: http://dev.example.com
|
||||
url: https://dev.example.com
|
||||
name: Developer Setup
|
||||
prod:
|
||||
url: http://another.example.com
|
||||
url: https://another.example.com
|
||||
name: My Cool App
|
||||
----
|
||||
|
||||
|
|
@ -702,9 +702,9 @@ The preceding example would be transformed into the following properties:
|
|||
|
||||
[source,properties,indent=0]
|
||||
----
|
||||
environments.dev.url=http://dev.example.com
|
||||
environments.dev.url=https://dev.example.com
|
||||
environments.dev.name=Developer Setup
|
||||
environments.prod.url=http://another.example.com
|
||||
environments.prod.url=https://another.example.com
|
||||
environments.prod.name=My Cool App
|
||||
----
|
||||
|
||||
|
|
@ -1578,12 +1578,12 @@ See "<<boot-features-external-config-profile-specific-properties>>" for details.
|
|||
|
||||
[[boot-features-logging]]
|
||||
== Logging
|
||||
Spring Boot uses http://commons.apache.org/logging[Commons Logging] for all internal
|
||||
Spring Boot uses https://commons.apache.org/logging[Commons Logging] for all internal
|
||||
logging but leaves the underlying log implementation open. Default configurations are
|
||||
provided for
|
||||
{java-javadoc}/java/util/logging/package-summary.html[Java Util
|
||||
Logging], http://logging.apache.org/log4j/2.x/[Log4J2], and
|
||||
http://logback.qos.ch/[Logback]. In each case, loggers are pre-configured to use console
|
||||
Logging], https://logging.apache.org/log4j/2.x/[Log4J2], and
|
||||
https://logback.qos.ch/[Logback]. In each case, loggers are pre-configured to use console
|
||||
output with optional file output also available.
|
||||
|
||||
By default, if you use the "`Starters`", Logback is used for logging. Appropriate Logback
|
||||
|
|
@ -1941,7 +1941,7 @@ cannot use extensions in it. You need to either use `logback-spring.xml` or defi
|
|||
`logging.config` property.
|
||||
|
||||
WARNING: The extensions cannot be used with Logback's
|
||||
http://logback.qos.ch/manual/configuration.html#autoScan[configuration scanning]. If you
|
||||
https://logback.qos.ch/manual/configuration.html#autoScan[configuration scanning]. If you
|
||||
attempt to do so, making changes to the configuration file results in an error similar to
|
||||
one of the following being logged:
|
||||
|
||||
|
|
@ -2438,7 +2438,7 @@ Spring Boot includes auto-configuration support for the following templating eng
|
|||
|
||||
* https://freemarker.apache.org/docs/[FreeMarker]
|
||||
* http://docs.groovy-lang.org/docs/next/html/documentation/template-engines.html#_the_markuptemplateengine[Groovy]
|
||||
* http://www.thymeleaf.org[Thymeleaf]
|
||||
* https://www.thymeleaf.org[Thymeleaf]
|
||||
* https://mustache.github.io/[Mustache]
|
||||
|
||||
TIP: If possible, JSPs should be avoided. There are several
|
||||
|
|
@ -2653,7 +2653,7 @@ described earlier.
|
|||
==== CORS Support
|
||||
|
||||
https://en.wikipedia.org/wiki/Cross-origin_resource_sharing[Cross-origin resource sharing]
|
||||
(CORS) is a http://www.w3.org/TR/cors/[W3C specification] implemented by
|
||||
(CORS) is a https://www.w3.org/TR/cors/[W3C specification] implemented by
|
||||
https://caniuse.com/#feat=cors[most browsers] that lets you specify in a flexible
|
||||
way what kind of cross-domain requests are authorized, instead of using some less secure
|
||||
and less powerful approaches such as IFRAME or JSONP.
|
||||
|
|
@ -2691,7 +2691,7 @@ defined by registering a `WebMvcConfigurer` bean with a customized
|
|||
|
||||
Spring WebFlux is the new reactive web framework introduced in Spring Framework 5.0.
|
||||
Unlike Spring MVC, it does not require the Servlet API, is fully asynchronous and
|
||||
non-blocking, and implements the http://www.reactive-streams.org/[Reactive Streams]
|
||||
non-blocking, and implements the https://www.reactive-streams.org/[Reactive Streams]
|
||||
specification through https://projectreactor.io/[the Reactor project].
|
||||
|
||||
Spring WebFlux comes in two flavors: functional and annotation-based. The
|
||||
|
|
@ -2868,8 +2868,8 @@ Thymeleaf, FreeMarker, and Mustache.
|
|||
Spring Boot includes auto-configuration support for the following templating engines:
|
||||
|
||||
* https://freemarker.apache.org/docs/[FreeMarker]
|
||||
* http://www.thymeleaf.org[Thymeleaf]
|
||||
* http://mustache.github.io/[Mustache]
|
||||
* https://www.thymeleaf.org[Thymeleaf]
|
||||
* https://mustache.github.io/[Mustache]
|
||||
|
||||
When you use one of these templating engines with the default configuration, your
|
||||
templates are picked up automatically from `src/main/resources/templates`.
|
||||
|
|
@ -2990,7 +2990,7 @@ does so, the orders shown in the following table will be used:
|
|||
=== JAX-RS and Jersey
|
||||
If you prefer the JAX-RS programming model for REST endpoints, you can use one of the
|
||||
available implementations instead of Spring MVC. https://jersey.github.io/[Jersey] and
|
||||
http://cxf.apache.org/[Apache CXF] work quite well out of the box. CXF requires you to
|
||||
https://cxf.apache.org/[Apache CXF] work quite well out of the box. CXF requires you to
|
||||
register its `Servlet` or `Filter` as a `@Bean` in your application context. Jersey has
|
||||
some native Spring support, so we also provide auto-configuration support for it in
|
||||
Spring Boot, together with a starter.
|
||||
|
|
@ -3061,10 +3061,11 @@ that you can see how to set things up.
|
|||
|
||||
[[boot-features-embedded-container]]
|
||||
=== Embedded Servlet Container Support
|
||||
Spring Boot includes support for embedded http://tomcat.apache.org/[Tomcat],
|
||||
https://www.eclipse.org/jetty/[Jetty], and http://undertow.io/[Undertow] servers. Most
|
||||
developers use the appropriate "`Starter`" to obtain a fully configured instance. By
|
||||
default, the embedded server listens for HTTP requests on port `8080`.
|
||||
Spring Boot includes support for embedded https://tomcat.apache.org/[Tomcat],
|
||||
https://www.eclipse.org/jetty/[Jetty], and
|
||||
https://github.com/undertow-io/undertow[Undertow] servers. Most developers use the
|
||||
appropriate "`Starter`" to obtain a fully configured instance. By default, the embedded
|
||||
server listens for HTTP requests on port `8080`.
|
||||
|
||||
WARNING: If you choose to use Tomcat on https://www.centos.org/[CentOS], be aware that, by
|
||||
default, a temporary directory is used to store compiled JSPs, file uploads, and so on.
|
||||
|
|
@ -3418,7 +3419,7 @@ You can register multiple OAuth2 clients and providers under the
|
|||
spring.security.oauth2.client.registration.my-client-1.client-name=Client for user scope
|
||||
spring.security.oauth2.client.registration.my-client-1.provider=my-oauth-provider
|
||||
spring.security.oauth2.client.registration.my-client-1.scope=user
|
||||
spring.security.oauth2.client.registration.my-client-1.redirect-uri-template=http://my-redirect-uri.com
|
||||
spring.security.oauth2.client.registration.my-client-1.redirect-uri-template=https://my-redirect-uri.com
|
||||
spring.security.oauth2.client.registration.my-client-1.client-authentication-method=basic
|
||||
spring.security.oauth2.client.registration.my-client-1.authorization-grant-type=authorization_code
|
||||
|
||||
|
|
@ -3427,7 +3428,7 @@ You can register multiple OAuth2 clients and providers under the
|
|||
spring.security.oauth2.client.registration.my-client-2.client-name=Client for email scope
|
||||
spring.security.oauth2.client.registration.my-client-2.provider=my-oauth-provider
|
||||
spring.security.oauth2.client.registration.my-client-2.scope=email
|
||||
spring.security.oauth2.client.registration.my-client-2.redirect-uri-template=http://my-redirect-uri.com
|
||||
spring.security.oauth2.client.registration.my-client-2.redirect-uri-template=https://my-redirect-uri.com
|
||||
spring.security.oauth2.client.registration.my-client-2.client-authentication-method=basic
|
||||
spring.security.oauth2.client.registration.my-client-2.authorization-grant-type=authorization_code
|
||||
|
||||
|
|
@ -3600,8 +3601,8 @@ application ends.
|
|||
TIP: The "`How-to`" section includes a <<howto.adoc#howto-database-initialization,
|
||||
section on how to initialize a database>>.
|
||||
|
||||
Spring Boot can auto-configure embedded http://www.h2database.com[H2],
|
||||
http://hsqldb.org/[HSQL], and http://db.apache.org/derby/[Derby] databases. You need not
|
||||
Spring Boot can auto-configure embedded https://www.h2database.com[H2],
|
||||
http://hsqldb.org/[HSQL], and https://db.apache.org/derby/[Derby] databases. You need not
|
||||
provide any connection URLs. You need only include a build dependency to the embedded
|
||||
database that you want to use.
|
||||
|
||||
|
|
@ -3695,7 +3696,7 @@ settings by using their respective prefix (`+spring.datasource.hikari.*+`,
|
|||
documentation of the connection pool implementation you are using for more details.
|
||||
|
||||
For instance, if you use the
|
||||
http://tomcat.apache.org/tomcat-8.0-doc/jdbc-pool.html#Common_Attributes[Tomcat
|
||||
https://tomcat.apache.org/tomcat-8.0-doc/jdbc-pool.html#Common_Attributes[Tomcat
|
||||
connection pool], you could customize many additional settings, as shown in the following
|
||||
example:
|
||||
|
||||
|
|
@ -3961,8 +3962,8 @@ https://projects.spring.io/spring-data-jdbc/[reference documentation].
|
|||
|
||||
[[boot-features-sql-h2-console]]
|
||||
=== Using H2's Web Console
|
||||
The http://www.h2database.com[H2 database] provides a
|
||||
http://www.h2database.com/html/quickstart.html#h2_console[browser-based console] that
|
||||
The https://www.h2database.com[H2 database] provides a
|
||||
https://www.h2database.com/html/quickstart.html#h2_console[browser-based console] that
|
||||
Spring Boot can auto-configure for you. The console is auto-configured when the following
|
||||
conditions are met:
|
||||
|
||||
|
|
@ -3989,8 +3990,8 @@ path by using the `spring.h2.console.path` property.
|
|||
|
||||
[[boot-features-jooq]]
|
||||
=== Using jOOQ
|
||||
Java Object Oriented Querying (http://www.jooq.org/[jOOQ]) is a popular product from
|
||||
http://www.datageekery.com/[Data Geekery] which generates Java code from your
|
||||
Java Object Oriented Querying (https://www.jooq.org/[jOOQ]) is a popular product from
|
||||
https://www.datageekery.com/[Data Geekery] which generates Java code from your
|
||||
database and lets you build type-safe SQL queries through its fluent API. Both the
|
||||
commercial and open source editions can be used with Spring Boot.
|
||||
|
||||
|
|
@ -4123,7 +4124,7 @@ https://projects.spring.io/spring-data[projects.spring.io/spring-data].
|
|||
|
||||
[[boot-features-redis]]
|
||||
=== Redis
|
||||
http://redis.io/[Redis] is a cache, message broker, and richly-featured key-value store.
|
||||
https://redis.io/[Redis] is a cache, message broker, and richly-featured key-value store.
|
||||
Spring Boot offers basic auto-configuration for the
|
||||
https://github.com/lettuce-io/lettuce-core/[Lettuce] and
|
||||
https://github.com/xetorthio/jedis/[Jedis] client libraries and the abstractions on top
|
||||
|
|
@ -4177,7 +4178,7 @@ get a pooled connection factory.
|
|||
|
||||
[[boot-features-mongodb]]
|
||||
=== MongoDB
|
||||
http://www.mongodb.com/[MongoDB] is an open-source NoSQL document database that uses a
|
||||
https://www.mongodb.com/[MongoDB] is an open-source NoSQL document database that uses a
|
||||
JSON-like schema instead of traditional table-based relational data. Spring Boot offers
|
||||
several conveniences for working with MongoDB, including the
|
||||
`spring-boot-starter-data-mongodb` and `spring-boot-starter-data-mongodb-reactive`
|
||||
|
|
@ -4348,7 +4349,7 @@ the Mongo instance's configuration and logging routing.
|
|||
|
||||
[[boot-features-neo4j]]
|
||||
=== Neo4j
|
||||
http://neo4j.com/[Neo4j] is an open-source NoSQL graph database that uses a rich data
|
||||
https://neo4j.com/[Neo4j] is an open-source NoSQL graph database that uses a rich data
|
||||
model of nodes connected by first class relationships, which is better suited for
|
||||
connected big data than traditional RDBMS approaches. Spring Boot offers several
|
||||
conveniences for working with Neo4j, including the `spring-boot-starter-data-neo4j`
|
||||
|
|
@ -4489,7 +4490,7 @@ https://github.com/spring-projects/spring-data-gemfire/blob/master/src/main/java
|
|||
|
||||
[[boot-features-solr]]
|
||||
=== Solr
|
||||
http://lucene.apache.org/solr/[Apache Solr] is a search engine. Spring Boot offers basic
|
||||
https://lucene.apache.org/solr/[Apache Solr] is a search engine. Spring Boot offers basic
|
||||
auto-configuration for the Solr 5 client library and the abstractions on top of it
|
||||
provided by https://github.com/spring-projects/spring-data-solr[Spring Data Solr]. There
|
||||
is a `spring-boot-starter-data-solr` "`Starter`" for collecting the dependencies in a
|
||||
|
|
@ -4553,7 +4554,6 @@ The transport client is still being used by
|
|||
https://github.com/spring-projects/spring-data-elasticsearch[Spring Data Elasticsearch],
|
||||
which you can start using with the `spring-boot-starter-data-elasticsearch` "`Starter`".
|
||||
|
||||
|
||||
[[boot-features-connecting-to-elasticsearch-rest]]
|
||||
==== Connecting to Elasticsearch by REST clients
|
||||
Elasticsearch ships
|
||||
|
|
@ -4589,7 +4589,7 @@ configured, as shown in the following example:
|
|||
|
||||
[source,properties,indent=0]
|
||||
----
|
||||
spring.elasticsearch.jest.uris=http://search.example.com:9200
|
||||
spring.elasticsearch.jest.uris=https://search.example.com:9200
|
||||
spring.elasticsearch.jest.read-timeout=10000
|
||||
spring.elasticsearch.jest.username=user
|
||||
spring.elasticsearch.jest.password=secret
|
||||
|
|
@ -4660,7 +4660,7 @@ https://docs.spring.io/spring-data/elasticsearch/docs/[reference documentation].
|
|||
|
||||
[[boot-features-cassandra]]
|
||||
=== Cassandra
|
||||
http://cassandra.apache.org/[Cassandra] is an open source, distributed database
|
||||
https://cassandra.apache.org/[Cassandra] is an open source, distributed database
|
||||
management system designed to handle large amounts of data across many commodity servers.
|
||||
Spring Boot offers auto-configuration for Cassandra and the abstractions on top of it
|
||||
provided by https://github.com/spring-projects/spring-data-cassandra[Spring Data
|
||||
|
|
@ -4721,7 +4721,7 @@ https://docs.spring.io/spring-data/cassandra/docs/[reference documentation].
|
|||
|
||||
[[boot-features-couchbase]]
|
||||
=== Couchbase
|
||||
http://www.couchbase.com/[Couchbase] is an open-source, distributed, multi-model NoSQL
|
||||
https://www.couchbase.com/[Couchbase] is an open-source, distributed, multi-model NoSQL
|
||||
document-oriented database that is optimized for interactive applications. Spring Boot
|
||||
offers auto-configuration for Couchbase and the abstractions on top of it provided by
|
||||
https://github.com/spring-projects/spring-data-couchbase[Spring Data Couchbase]. There are
|
||||
|
|
@ -4965,7 +4965,7 @@ example:
|
|||
|
||||
[source,properties,indent=0]
|
||||
----
|
||||
spring.influx.url=http://172.0.0.1:8086
|
||||
spring.influx.url=https://172.0.0.1:8086
|
||||
----
|
||||
|
||||
If the connection to InfluxDB requires a user and password, you can set the
|
||||
|
|
@ -5148,7 +5148,7 @@ abstraction expects. No further customization is applied to it.
|
|||
|
||||
[[boot-features-caching-provider-ehcache2]]
|
||||
==== EhCache 2.x
|
||||
http://www.ehcache.org/[EhCache] 2.x is used if a file named `ehcache.xml` can be found at
|
||||
https://www.ehcache.org/[EhCache] 2.x is used if a file named `ehcache.xml` can be found at
|
||||
the root of the classpath. If EhCache 2.x is found, the `EhCacheCacheManager` provided by
|
||||
the `spring-boot-starter-cache` "`Starter`" is used to bootstrap the cache manager. An
|
||||
alternate configuration file can be provided as well, as shown in the following example:
|
||||
|
|
@ -5171,7 +5171,7 @@ Spring Boot has <<boot-features-hazelcast,general support for Hazelcast>>. If a
|
|||
|
||||
[[boot-features-caching-provider-infinispan]]
|
||||
==== Infinispan
|
||||
http://infinispan.org/[Infinispan] has no default configuration file location, so it must
|
||||
https://infinispan.org/[Infinispan] has no default configuration file location, so it must
|
||||
be specified explicitly. Otherwise, the default bootstrap is used.
|
||||
|
||||
[source,properties,indent=0]
|
||||
|
|
@ -5247,7 +5247,7 @@ auto-configuration.
|
|||
|
||||
[[boot-features-caching-provider-redis]]
|
||||
==== Redis
|
||||
If http://redis.io/[Redis] is available and configured, a `RedisCacheManager` is
|
||||
If https://redis.io/[Redis] is available and configured, a `RedisCacheManager` is
|
||||
auto-configured. It is possible to create additional caches on startup by setting the
|
||||
`spring.cache.cache-names` property and cache defaults can be configured by using
|
||||
`spring.cache.redis.*` properties. For instance, the following configuration creates
|
||||
|
|
@ -5359,7 +5359,7 @@ infrastructure to send and receive messages.
|
|||
|
||||
[[boot-features-activemq]]
|
||||
==== ActiveMQ Support
|
||||
When http://activemq.apache.org/[ActiveMQ] is available on the classpath, Spring Boot can
|
||||
When https://activemq.apache.org/[ActiveMQ] is available on the classpath, Spring Boot can
|
||||
also configure a `ConnectionFactory`. If the broker is present, an embedded broker is
|
||||
automatically started and configured (provided no broker URL is specified through
|
||||
configuration).
|
||||
|
|
@ -5411,7 +5411,7 @@ are resolved against their provided names.
|
|||
[[boot-features-artemis]]
|
||||
==== Artemis Support
|
||||
Spring Boot can auto-configure a `ConnectionFactory` when it detects that
|
||||
http://activemq.apache.org/artemis/[Artemis] is available on the classpath. If the broker
|
||||
https://activemq.apache.org/artemis/[Artemis] is available on the classpath. If the broker
|
||||
is present, an embedded broker is automatically started and configured (unless the mode
|
||||
property has been explicitly set). The supported modes are `embedded` (to make explicit
|
||||
that an embedded broker is required and that an error should occur if the broker is not
|
||||
|
|
@ -5779,7 +5779,7 @@ delivery attempts is reached.
|
|||
|
||||
[[boot-features-kafka]]
|
||||
=== Apache Kafka Support
|
||||
http://kafka.apache.org/[Apache Kafka] is supported by providing auto-configuration of
|
||||
https://kafka.apache.org/[Apache Kafka] is supported by providing auto-configuration of
|
||||
the `spring-kafka` project.
|
||||
|
||||
Kafka configuration is controlled by external configuration properties in
|
||||
|
|
@ -6029,7 +6029,7 @@ The following code shows a typical example:
|
|||
private final WebClient webClient;
|
||||
|
||||
public MyService(WebClient.Builder webClientBuilder) {
|
||||
this.webClient = webClientBuilder.baseUrl("http://example.org").build();
|
||||
this.webClient = webClientBuilder.baseUrl("https://example.org").build();
|
||||
}
|
||||
|
||||
public Mono<Details> someRestCall(String name) {
|
||||
|
|
@ -6157,7 +6157,7 @@ When a `jndi-name` is set, it takes precedence over all other Session-related se
|
|||
[[boot-features-jta]]
|
||||
== Distributed Transactions with JTA
|
||||
Spring Boot supports distributed JTA transactions across multiple XA resources by using
|
||||
either an http://www.atomikos.com/[Atomikos] or https://github.com/bitronix/btm[Bitronix]
|
||||
either an https://www.atomikos.com/[Atomikos] or https://github.com/bitronix/btm[Bitronix]
|
||||
embedded transaction manager. JTA transactions are also supported when deploying to a
|
||||
suitable Java EE Application Server.
|
||||
|
||||
|
|
@ -6306,7 +6306,7 @@ configuration, as shown in the following example:
|
|||
Otherwise, Spring Boot tries to find the Hazelcast configuration from the default
|
||||
locations: `hazelcast.xml` in the working directory or at the root of the classpath. We
|
||||
also check if the `hazelcast.config` system property is set. See the
|
||||
http://docs.hazelcast.org/docs/latest/manual/html-single/[Hazelcast documentation] for
|
||||
https://docs.hazelcast.org/docs/latest/manual/html-single/[Hazelcast documentation] for
|
||||
more details.
|
||||
|
||||
If `hazelcast-client` is present on the classpath, Spring Boot first attempts to create a
|
||||
|
|
@ -6327,7 +6327,7 @@ implementation.
|
|||
[[boot-features-quartz]]
|
||||
== Quartz Scheduler
|
||||
Spring Boot offers several conveniences for working with the
|
||||
http://www.quartz-scheduler.org/[Quartz scheduler], including the
|
||||
https://www.quartz-scheduler.org/[Quartz scheduler], including the
|
||||
`spring-boot-starter-quartz` "`Starter`". If Quartz is available, a `Scheduler` is
|
||||
auto-configured (through the `SchedulerFactoryBean` abstraction).
|
||||
|
||||
|
|
@ -6558,13 +6558,13 @@ libraries.
|
|||
The `spring-boot-starter-test` "`Starter`" (in the `test` `scope`) contains
|
||||
the following provided libraries:
|
||||
|
||||
* http://junit.org[JUnit]: The de-facto standard for unit testing Java applications.
|
||||
* https://junit.org[JUnit]: The de-facto standard for unit testing Java applications.
|
||||
* {spring-reference}testing.html#integration-testing[Spring Test] & Spring Boot Test:
|
||||
Utilities and integration test support for Spring Boot applications.
|
||||
* http://joel-costigliola.github.io/assertj/[AssertJ]: A fluent assertion library.
|
||||
* http://hamcrest.org/JavaHamcrest/[Hamcrest]: A library of matcher objects (also known
|
||||
as constraints or predicates).
|
||||
* http://mockito.org/[Mockito]: A Java mocking framework.
|
||||
* https://joel-costigliola.github.io/assertj/[AssertJ]: A fluent assertion library.
|
||||
* https://github.com/hamcrest/JavaHamcrest[Hamcrest]: A library of matcher objects (also
|
||||
known as constraints or predicates).
|
||||
* https://mockito.github.io[Mockito]: A Java mocking framework.
|
||||
* https://github.com/skyscreamer/JSONassert[JSONassert]: An assertion library for JSON.
|
||||
* https://github.com/jayway/JsonPath[JsonPath]: XPath for JSON.
|
||||
|
||||
|
|
@ -7984,7 +7984,7 @@ the following example:
|
|||
@Test
|
||||
public void testRequest() throws Exception {
|
||||
HttpHeaders headers = this.template.getForEntity(
|
||||
"http://myhost.example.com/example", String.class).getHeaders();
|
||||
"https://myhost.example.com/example", String.class).getHeaders();
|
||||
assertThat(headers.getLocation()).hasHost("other.example.com");
|
||||
}
|
||||
|
||||
|
|
@ -8185,7 +8185,7 @@ annotations include:
|
|||
==== Class Conditions
|
||||
The `@ConditionalOnClass` and `@ConditionalOnMissingClass` annotations let
|
||||
`@Configuration` classes be included based on the presence or absence of specific classes.
|
||||
Due to the fact that annotation metadata is parsed by using http://asm.ow2.org/[ASM], you
|
||||
Due to the fact that annotation metadata is parsed by using https://asm.ow2.org/[ASM], you
|
||||
can use the `value` attribute to refer to the real class, even though that class might not
|
||||
actually appear on the running application classpath. You can also use the `name`
|
||||
attribute if you prefer to specify the class name by using a `String` value.
|
||||
|
|
@ -8501,7 +8501,7 @@ The easiest way to start with Spring Boot and Kotlin is to follow
|
|||
https://spring.io/guides/tutorials/spring-boot-kotlin/[this comprehensive tutorial]. You
|
||||
can create new Kotlin projects via
|
||||
https://start.spring.io/#!language=kotlin[start.spring.io]. Feel free to join the #spring
|
||||
channel of http://slack.kotlinlang.org/[Kotlin Slack] or ask a question with the `spring`
|
||||
channel of https://slack.kotlinlang.org/[Kotlin Slack] or ask a question with the `spring`
|
||||
and `kotlin` tags on https://stackoverflow.com/questions/tagged/spring+kotlin[Stack
|
||||
Overflow] if you need support.
|
||||
|
||||
|
|
@ -8536,7 +8536,7 @@ deals with `null` values at compile time rather than deferring the problem to ru
|
|||
encountering a `NullPointerException`. This helps to eliminate a common source of bugs
|
||||
without paying the cost of wrappers like `Optional`. Kotlin also allows using functional
|
||||
constructs with nullable values as described in this
|
||||
http://www.baeldung.com/kotlin-null-safety[comprehensive guide to null-safety in Kotlin].
|
||||
https://www.baeldung.com/kotlin-null-safety[comprehensive guide to null-safety in Kotlin].
|
||||
|
||||
Although Java does not allow one to express null-safety in its type system, Spring
|
||||
Framework, Spring Data, and Reactor now provide null-safety of their API via
|
||||
|
|
@ -8694,7 +8694,7 @@ provides similar `@MockkBean` and `@SpykBean` annotations.
|
|||
[[boot-features-kotlin-resources-further-reading]]
|
||||
==== Further reading
|
||||
* {kotlin-documentation}[Kotlin language reference]
|
||||
* http://slack.kotlinlang.org/[Kotlin Slack] (with a dedicated #spring channel)
|
||||
* https://slack.kotlinlang.org/[Kotlin Slack] (with a dedicated #spring channel)
|
||||
* https://stackoverflow.com/questions/tagged/spring+kotlin[Stackoverflow with `spring` and `kotlin` tags]
|
||||
* https://try.kotlinlang.org/[Try Kotlin in your browser]
|
||||
* https://blog.jetbrains.com/kotlin/[Kotlin blog]
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@ goal] with a `repackage` execution id.
|
|||
* Sensible
|
||||
https://maven.apache.org/plugins/maven-resources-plugin/examples/filter.html[resource
|
||||
filtering].
|
||||
* Sensible plugin configuration (http://www.mojohaus.org/exec-maven-plugin/[exec plugin],
|
||||
* Sensible plugin configuration (https://www.mojohaus.org/exec-maven-plugin/[exec plugin],
|
||||
https://github.com/ktoso/maven-git-commit-id-plugin[Git commit ID], and
|
||||
https://maven.apache.org/plugins/maven-shade-plugin/[shade]).
|
||||
* Sensible resource filtering for `application.properties` and `application.yml`
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@
|
|||
-->
|
||||
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns:xslthl="http://xslthl.sf.net"
|
||||
xmlns:xslthl="http://xslthl.sourceforge.net/"
|
||||
xmlns:d="http://docbook.org/ns/docbook"
|
||||
exclude-result-prefixes="xslthl d"
|
||||
version='1.0'>
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ under the License.
|
|||
-->
|
||||
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns:xslthl="http://xslthl.sf.net"
|
||||
xmlns:xslthl="http://xslthl.sourceforge.net/"
|
||||
xmlns:d="http://docbook.org/ns/docbook"
|
||||
exclude-result-prefixes="xslthl d"
|
||||
version='1.0'>
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ under the License.
|
|||
-->
|
||||
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns:xslthl="http://xslthl.sf.net"
|
||||
xmlns:xslthl="http://xslthl.sourceforge.net/"
|
||||
xmlns:d="http://docbook.org/ns/docbook"
|
||||
exclude-result-prefixes="xslthl"
|
||||
version='1.0'>
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ under the License.
|
|||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns:d="http://docbook.org/ns/docbook"
|
||||
xmlns:fo="http://www.w3.org/1999/XSL/Format"
|
||||
xmlns:xslthl="http://xslthl.sf.net"
|
||||
xmlns:xslthl="http://xslthl.sourceforge.net/"
|
||||
xmlns:xlink='http://www.w3.org/1999/xlink'
|
||||
xmlns:exsl="http://exslt.org/common"
|
||||
exclude-result-prefixes="exsl xslthl d xlink"
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ do as they were designed before this was clarified.
|
|||
|===
|
||||
| Name | Location
|
||||
|
||||
| http://camel.apache.org/spring-boot.html[Apache Camel]
|
||||
| https://camel.apache.org/spring-boot.html[Apache Camel]
|
||||
| https://github.com/apache/camel/tree/master/components/camel-spring-boot
|
||||
|
||||
| https://cxf.apache.org/docs/springboot.html[Apache CXF]
|
||||
|
|
@ -31,13 +31,13 @@ do as they were designed before this was clarified.
|
|||
| https://qpid.apache.org/components/jms/[Apache Qpid]
|
||||
| https://github.com/amqphub/amqp-10-jms-spring-boot
|
||||
|
||||
| http://wicket.apache.org/[Apache Wicket]
|
||||
| https://wicket.apache.org/[Apache Wicket]
|
||||
| https://github.com/MarcGiffing/wicket-spring-boot
|
||||
|
||||
| http://arangodb.com/[ArangoDB]
|
||||
| https://github.com/arangodb/spring-boot-starter
|
||||
|
||||
| http://www.axonframework.org/[Axon Framework]
|
||||
| https://axoniq.io[Axon Framework]
|
||||
| https://github.com/AxonFramework/AxonFramework
|
||||
|
||||
| https://azure.microsoft.com/[Azure]
|
||||
|
|
@ -55,7 +55,7 @@ do as they were designed before this was clarified.
|
|||
| https://cloudant.com/[Cloudant]
|
||||
| https://github.com/icha024/cloudant-spring-boot-starter
|
||||
|
||||
| http://www.couchbase.com/[Couchbase] HTTP session
|
||||
| https://www.couchbase.com/[Couchbase] HTTP session
|
||||
| https://github.com/mkopylec/session-couchbase-spring-boot-starter
|
||||
|
||||
| DataSource decorating (https://github.com/p6spy/p6spy[P6Spy], https://github.com/ttddyy/datasource-proxy[datasource-proxy], https://github.com/vladmihalcea/flexy-pool[FlexyPool])
|
||||
|
|
@ -76,25 +76,25 @@ do as they were designed before this was clarified.
|
|||
| https://www.google.com/recaptcha[Google's reCAPTCHA]
|
||||
| https://github.com/mkopylec/recaptcha-spring-boot-starter
|
||||
|
||||
| http://graphql.org/[GraphQL] and https://github.com/graphql/graphiql[GraphiQL] with https://github.com/graphql-java/[GraphQL Java]
|
||||
| https://graphql.org/[GraphQL] and https://github.com/graphql/graphiql[GraphiQL] with https://github.com/graphql-java/[GraphQL Java]
|
||||
| https://github.com/graphql-java/graphql-spring-boot
|
||||
|
||||
| http://www.grpc.io/[gRPC]
|
||||
| https://www.grpc.io/[gRPC]
|
||||
| https://github.com/LogNet/grpc-spring-boot-starter
|
||||
|
||||
| http://ha-jdbc.github.io/[HA JDBC]
|
||||
| https://ha-jdbc.github.io/[HA JDBC]
|
||||
| https://github.com/lievendoclo/hajdbc-spring-boot
|
||||
|
||||
| https://github.com/jknack/handlebars.java[Handlebars]
|
||||
| https://github.com/allegro/handlebars-spring-boot-starter
|
||||
|
||||
| http://hdiv.org/[HDIV]
|
||||
| https://hdiv.org/[HDIV]
|
||||
| https://github.com/hdiv/spring-boot-starter-hdiv
|
||||
|
||||
| Hiatus for Spring Boot
|
||||
| https://github.com/jihor/hiatus-spring-boot
|
||||
|
||||
| http://infinispan.org/[Infinispan]
|
||||
| https://infinispan.org/[Infinispan]
|
||||
| https://github.com/infinispan/infinispan-spring-boot
|
||||
|
||||
| https://github.com/neuland/jade4j[Jade Templates] (Jade4J)
|
||||
|
|
@ -110,15 +110,15 @@ do as they were designed before this was clarified.
|
|||
| https://github.com/sbraconnier/jodconverter
|
||||
|
||||
| JSF integration for various libraries
|
||||
| http://joinfaces.org
|
||||
| https://github.com/joinfaces/joinfaces
|
||||
|
||||
| http://www.liquigraph.org/[Liquigraph]
|
||||
| https://www.liquigraph.org/[Liquigraph]
|
||||
| https://github.com/liquigraph/liquigraph
|
||||
|
||||
| https://logback.qos.ch/access.html[Logback-access]
|
||||
| https://github.com/akihyro/logback-access-spring-boot-starter
|
||||
|
||||
| http://mybatis.org/mybatis-3/[MyBatis]
|
||||
| https://github.com/mybatis/mybatis-3[MyBatis]
|
||||
| https://github.com/mybatis/mybatis-spring-boot
|
||||
|
||||
| http://narayana.io/[Narayana]
|
||||
|
|
@ -127,19 +127,19 @@ do as they were designed before this was clarified.
|
|||
| https://github.com/nutzam/nutz[Nutz]
|
||||
| https://github.com/nutzam/nutzmore
|
||||
|
||||
| http://square.github.io/okhttp/[OkHttp]
|
||||
| https://square.github.io/okhttp/[OkHttp]
|
||||
| https://github.com/freefair/okhttp-spring-boot
|
||||
|
||||
| https://developer.okta.com/[Okta]
|
||||
| https://github.com/okta/okta-spring-boot
|
||||
|
||||
| http://orika-mapper.github.io/orika-docs/[Orika]
|
||||
| https://orika-mapper.github.io/orika-docs/[Orika]
|
||||
| https://github.com/akihyro/orika-spring-boot-starter
|
||||
|
||||
| https://www.rabbitmq.com/[RabbitMQ] (Advanced usage)
|
||||
| https://github.com/societe-generale/rabbitmq-advanced-spring-boot-starter
|
||||
|
||||
| http://resteasy.jboss.org/[RESTEasy]
|
||||
| https://resteasy.jboss.org/[RESTEasy]
|
||||
| https://github.com/resteasy/resteasy-spring-boot
|
||||
|
||||
| https://github.com/rollbar/rollbar-java/[Rollbar]
|
||||
|
|
@ -178,10 +178,10 @@ do as they were designed before this was clarified.
|
|||
| https://github.com/valiktor/valiktor[Valiktor]
|
||||
| https://github.com/valiktor/valiktor/tree/master/valiktor-spring/valiktor-spring-boot-starter
|
||||
|
||||
| http://www.wiremock.org[WireMock] and Spring REST Docs
|
||||
| https://github.com/tomakehurst/wiremock[WireMock] and Spring REST Docs
|
||||
| https://github.com/ePages-de/restdocs-wiremock
|
||||
|
||||
| http://alexo.github.io/wro4j/[Wro4j]
|
||||
| https://alexo.github.io/wro4j/[Wro4j] (Advanced usage)
|
||||
| https://github.com/michael-simons/wro4j-spring-boot-starter
|
||||
|
||||
|===
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:m="http://maven.apache.org/POM/4.0.0"
|
||||
exclude-result-prefixes="m">
|
||||
<xsl:output method="xml" encoding="utf-8" indent="yes"
|
||||
xslt:indent-amount="4" xmlns:xslt="http://xml.apache.org/xslt" />
|
||||
xslt:indent-amount="4" xmlns:xslt="https://xml.apache.org/xslt" />
|
||||
<xsl:strip-space elements="*" />
|
||||
<xsl:template match="@*|node()">
|
||||
<xsl:copy>
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ public class AnotherExampleRestClient {
|
|||
private RestTemplate restTemplate;
|
||||
|
||||
public AnotherExampleRestClient(RestTemplateBuilder builder) {
|
||||
this.restTemplate = builder.rootUri("http://example.com").build();
|
||||
this.restTemplate = builder.rootUri("https://example.com").build();
|
||||
}
|
||||
|
||||
protected RestTemplate getRestTemplate() {
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ public class ExampleRestClient {
|
|||
private RestTemplate restTemplate;
|
||||
|
||||
public ExampleRestClient(RestTemplateBuilder builder) {
|
||||
this.restTemplate = builder.rootUri("http://example.com").build();
|
||||
this.restTemplate = builder.rootUri("https://example.com").build();
|
||||
}
|
||||
|
||||
protected RestTemplate getRestTemplate() {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2012-2017 the original author or authors.
|
||||
* Copyright 2012-2019 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
|
@ -36,7 +36,7 @@ class HateoasController {
|
|||
@RequestMapping("/resource")
|
||||
public Resource<Map<String, String>> resource() {
|
||||
return new Resource<>(new HashMap<String, String>(),
|
||||
new Link("self", "http://api.example.com"));
|
||||
new Link("self", "https://api.example.com"));
|
||||
}
|
||||
|
||||
@RequestMapping("/plain")
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ import org.springframework.web.util.UriTemplateHandler;
|
|||
* {@link RequestExpectationManager} that strips the specified root URI from the request
|
||||
* before verification. Can be used to simply test declarations when all REST calls start
|
||||
* the same way. For example: <pre class="code">
|
||||
* RestTemplate restTemplate = new RestTemplateBuilder().rootUri("http://example.com").build();
|
||||
* RestTemplate restTemplate = new RestTemplateBuilder().rootUri("https://example.com").build();
|
||||
* MockRestServiceServer server = RootUriRequestExpectationManager.bindTo(restTemplate);
|
||||
* server.expect(requestTo("/hello")).andRespond(withSuccess());
|
||||
* restTemplate.getForEntity("/hello", String.class);
|
||||
|
|
|
|||
|
|
@ -826,7 +826,7 @@ public class TestRestTemplate {
|
|||
* {@link ParameterizedTypeReference} is used to pass generic type information:
|
||||
* <pre class="code">
|
||||
* ParameterizedTypeReference<List<MyBean>> myBean = new ParameterizedTypeReference<List<MyBean>>() {};
|
||||
* ResponseEntity<List<MyBean>> response = template.exchange("http://example.com",HttpMethod.GET, null, myBean);
|
||||
* ResponseEntity<List<MyBean>> response = template.exchange("https://example.com",HttpMethod.GET, null, myBean);
|
||||
* </pre>
|
||||
* @param url the URL
|
||||
* @param method the HTTP method (GET, POST, etc)
|
||||
|
|
@ -854,7 +854,7 @@ public class TestRestTemplate {
|
|||
* {@link ParameterizedTypeReference} is used to pass generic type information:
|
||||
* <pre class="code">
|
||||
* ParameterizedTypeReference<List<MyBean>> myBean = new ParameterizedTypeReference<List<MyBean>>() {};
|
||||
* ResponseEntity<List<MyBean>> response = template.exchange("http://example.com",HttpMethod.GET, null, myBean);
|
||||
* ResponseEntity<List<MyBean>> response = template.exchange("https://example.com",HttpMethod.GET, null, myBean);
|
||||
* </pre>
|
||||
* @param url the URL
|
||||
* @param method the HTTP method (GET, POST, etc)
|
||||
|
|
@ -882,7 +882,7 @@ public class TestRestTemplate {
|
|||
* {@link ParameterizedTypeReference} is used to pass generic type information:
|
||||
* <pre class="code">
|
||||
* ParameterizedTypeReference<List<MyBean>> myBean = new ParameterizedTypeReference<List<MyBean>>() {};
|
||||
* ResponseEntity<List<MyBean>> response = template.exchange("http://example.com",HttpMethod.GET, null, myBean);
|
||||
* ResponseEntity<List<MyBean>> response = template.exchange("https://example.com",HttpMethod.GET, null, myBean);
|
||||
* </pre>
|
||||
* @param url the URL
|
||||
* @param method the HTTP method (GET, POST, etc)
|
||||
|
|
@ -908,7 +908,7 @@ public class TestRestTemplate {
|
|||
* response as {@link ResponseEntity}. Typically used in combination with the static
|
||||
* builder methods on {@code RequestEntity}, for instance: <pre class="code">
|
||||
* MyRequest body = ...
|
||||
* RequestEntity request = RequestEntity.post(new URI("http://example.com/foo")).accept(MediaType.APPLICATION_JSON).body(body);
|
||||
* RequestEntity request = RequestEntity.post(new URI("https://example.com/foo")).accept(MediaType.APPLICATION_JSON).body(body);
|
||||
* ResponseEntity<MyResponse> response = template.exchange(request, MyResponse.class);
|
||||
* </pre>
|
||||
* @param requestEntity the entity to write to the request
|
||||
|
|
@ -929,7 +929,7 @@ public class TestRestTemplate {
|
|||
* response as {@link ResponseEntity}. The given {@link ParameterizedTypeReference} is
|
||||
* used to pass generic type information: <pre class="code">
|
||||
* MyRequest body = ...
|
||||
* RequestEntity request = RequestEntity.post(new URI("http://example.com/foo")).accept(MediaType.APPLICATION_JSON).body(body);
|
||||
* RequestEntity request = RequestEntity.post(new URI("https://example.com/foo")).accept(MediaType.APPLICATION_JSON).body(body);
|
||||
* ParameterizedTypeReference<List<MyResponse>> myBean = new ParameterizedTypeReference<List<MyResponse>>() {};
|
||||
* ResponseEntity<List<MyResponse>> response = template.exchange(request, myBean);
|
||||
* </pre>
|
||||
|
|
|
|||
|
|
@ -101,7 +101,7 @@ public class LocalHostUriTemplateHandlerTests {
|
|||
MockEnvironment environment = new MockEnvironment();
|
||||
UriTemplateHandler uriTemplateHandler = mock(UriTemplateHandler.class);
|
||||
Map<String, ?> uriVariables = new HashMap<>();
|
||||
URI uri = URI.create("http://www.example.com");
|
||||
URI uri = URI.create("https://www.example.com");
|
||||
given(uriTemplateHandler.expand("https://localhost:8080/", uriVariables))
|
||||
.willReturn(uri);
|
||||
LocalHostUriTemplateHandler handler = new LocalHostUriTemplateHandler(environment,
|
||||
|
|
|
|||
|
|
@ -74,7 +74,7 @@ public class MockServerRestTemplateCustomizerTests {
|
|||
MockServerRestTemplateCustomizer customizer = new MockServerRestTemplateCustomizer(
|
||||
UnorderedRequestExpectationManager.class);
|
||||
customizer.customize(
|
||||
new RestTemplateBuilder().rootUri("http://example.com").build());
|
||||
new RestTemplateBuilder().rootUri("https://example.com").build());
|
||||
assertThat(customizer.getServer()).extracting("expectationManager")
|
||||
.hasAtLeastOneElementOfType(RootUriRequestExpectationManager.class);
|
||||
}
|
||||
|
|
@ -83,7 +83,7 @@ public class MockServerRestTemplateCustomizerTests {
|
|||
public void setDetectRootUriShouldDisableRootUriDetection() {
|
||||
this.customizer.setDetectRootUri(false);
|
||||
this.customizer.customize(
|
||||
new RestTemplateBuilder().rootUri("http://example.com").build());
|
||||
new RestTemplateBuilder().rootUri("https://example.com").build());
|
||||
assertThat(this.customizer.getServer()).extracting("expectationManager")
|
||||
.hasAtLeastOneElementOfType(SimpleRequestExpectationManager.class);
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2012-2018 the original author or authors.
|
||||
* Copyright 2012-2019 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
|
@ -51,7 +51,7 @@ import static org.springframework.test.web.client.response.MockRestResponseCreat
|
|||
*/
|
||||
public class RootUriRequestExpectationManagerTests {
|
||||
|
||||
private String uri = "http://example.com";
|
||||
private String uri = "https://example.com";
|
||||
|
||||
@Mock
|
||||
private RequestExpectationManager delegate;
|
||||
|
|
@ -94,7 +94,7 @@ public class RootUriRequestExpectationManagerTests {
|
|||
public void validateRequestWhenUriDoesNotStartWithRootUriShouldDelegateToExpectationManager()
|
||||
throws Exception {
|
||||
ClientHttpRequest request = mock(ClientHttpRequest.class);
|
||||
given(request.getURI()).willReturn(new URI("http://spring.io/test"));
|
||||
given(request.getURI()).willReturn(new URI("https://spring.io/test"));
|
||||
this.manager.validateRequest(request);
|
||||
verify(this.delegate).validateRequest(request);
|
||||
}
|
||||
|
|
@ -118,10 +118,10 @@ public class RootUriRequestExpectationManagerTests {
|
|||
given(request.getURI()).willReturn(new URI(this.uri + "/hello"));
|
||||
given(this.delegate.validateRequest(any(ClientHttpRequest.class)))
|
||||
.willThrow(new AssertionError(
|
||||
"Request URI expected:</hello> was:<http://example.com/bad>"));
|
||||
"Request URI expected:</hello> was:<https://example.com/bad>"));
|
||||
assertThatExceptionOfType(AssertionError.class)
|
||||
.isThrownBy(() -> this.manager.validateRequest(request))
|
||||
.withMessageContaining("Request URI expected:<http://example.com/hello>");
|
||||
.withMessageContaining("Request URI expected:<https://example.com/hello>");
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -166,7 +166,7 @@ public class RootUriRequestExpectationManagerTests {
|
|||
@Test
|
||||
public void boundRestTemplateShouldPrefixRootUri() {
|
||||
RestTemplate restTemplate = new RestTemplateBuilder()
|
||||
.rootUri("http://example.com").build();
|
||||
.rootUri("https://example.com").build();
|
||||
MockRestServiceServer server = RootUriRequestExpectationManager
|
||||
.bindTo(restTemplate);
|
||||
server.expect(requestTo("/hello")).andRespond(withSuccess());
|
||||
|
|
@ -176,14 +176,14 @@ public class RootUriRequestExpectationManagerTests {
|
|||
@Test
|
||||
public void boundRestTemplateWhenUrlIncludesDomainShouldNotPrefixRootUri() {
|
||||
RestTemplate restTemplate = new RestTemplateBuilder()
|
||||
.rootUri("http://example.com").build();
|
||||
.rootUri("https://example.com").build();
|
||||
MockRestServiceServer server = RootUriRequestExpectationManager
|
||||
.bindTo(restTemplate);
|
||||
server.expect(requestTo("/hello")).andRespond(withSuccess());
|
||||
assertThatExceptionOfType(AssertionError.class).isThrownBy(
|
||||
() -> restTemplate.getForEntity("http://spring.io/hello", String.class))
|
||||
() -> restTemplate.getForEntity("https://spring.io/hello", String.class))
|
||||
.withMessageContaining(
|
||||
"expected:<http://example.com/hello> but was:<http://spring.io/hello>");
|
||||
"expected:<https://example.com/hello> but was:<https://spring.io/hello>");
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -125,14 +125,14 @@ public class TestRestTemplateTests {
|
|||
|
||||
@Test
|
||||
public void getRootUriRootUriSetViaRestTemplateBuilder() {
|
||||
String rootUri = "http://example.com";
|
||||
String rootUri = "https://example.com";
|
||||
RestTemplateBuilder delegate = new RestTemplateBuilder().rootUri(rootUri);
|
||||
assertThat(new TestRestTemplate(delegate).getRootUri()).isEqualTo(rootUri);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getRootUriRootUriSetViaLocalHostUriTemplateHandler() {
|
||||
String rootUri = "http://example.com";
|
||||
String rootUri = "https://example.com";
|
||||
TestRestTemplate template = new TestRestTemplate();
|
||||
LocalHostUriTemplateHandler templateHandler = mock(
|
||||
LocalHostUriTemplateHandler.class);
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ package org.springframework.boot.configurationprocessor.json;
|
|||
// Note: this class was written without inspecting the non-free org.json source code.
|
||||
|
||||
/**
|
||||
* Parses a JSON (<a href="http://www.ietf.org/rfc/rfc4627.txt">RFC 4627</a>) encoded
|
||||
* Parses a JSON (<a href="https://www.ietf.org/rfc/rfc4627.txt">RFC 4627</a>) encoded
|
||||
* string into the corresponding object. Most clients of this class will use only need the
|
||||
* {@link #JSONTokener(String) constructor} and {@link #nextValue} method. Example usage:
|
||||
* <pre>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2012-2018 the original author or authors.
|
||||
* Copyright 2012-2019 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
|
@ -25,7 +25,7 @@ import org.springframework.boot.loader.data.RandomAccessData;
|
|||
*
|
||||
* @author Phillip Webb
|
||||
* @author Andy Wilkinson
|
||||
* @see <a href="http://en.wikipedia.org/wiki/Zip_%28file_format%29">Zip File Format</a>
|
||||
* @see <a href="https://en.wikipedia.org/wiki/Zip_%28file_format%29">Zip File Format</a>
|
||||
*/
|
||||
class CentralDirectoryEndRecord {
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2012-2018 the original author or authors.
|
||||
* Copyright 2012-2019 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
|
@ -27,7 +27,7 @@ import org.springframework.boot.loader.data.RandomAccessData;
|
|||
*
|
||||
* @author Phillip Webb
|
||||
* @author Andy Wilkinson
|
||||
* @see <a href="http://en.wikipedia.org/wiki/Zip_%28file_format%29">Zip File Format</a>
|
||||
* @see <a href="https://en.wikipedia.org/wiki/Zip_%28file_format%29">Zip File Format</a>
|
||||
*/
|
||||
|
||||
final class CentralDirectoryFileHeader implements FileHeader {
|
||||
|
|
@ -120,9 +120,9 @@ final class CentralDirectoryFileHeader implements FileHeader {
|
|||
}
|
||||
|
||||
/**
|
||||
* Decode MS-DOS Date Time details. See
|
||||
* <a href="http://mindprod.com/jgloss/zip.html">mindprod.com/jgloss/zip.html</a> for
|
||||
* more details of the format.
|
||||
* Decode MS-DOS Date Time details. See <a href=
|
||||
* "https://docs.microsoft.com/en-gb/windows/desktop/api/winbase/nf-winbase-dosdatetimetofiletime">
|
||||
* Microsoft's documentation</a> for more details of the format.
|
||||
* @param datetime the date and time
|
||||
* @return the date and time as milliseconds since the epoch
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ import org.apache.maven.plugins.shade.relocation.Relocator;
|
|||
import org.apache.maven.plugins.shade.resource.ResourceTransformer;
|
||||
|
||||
/**
|
||||
* Extension for the <a href="http://maven.apache.org/plugins/maven-shade-plugin/">Maven
|
||||
* Extension for the <a href="https://maven.apache.org/plugins/maven-shade-plugin/">Maven
|
||||
* shade plugin</a> to allow properties files (e.g. {@literal META-INF/spring.factories})
|
||||
* to be merged without losing any information.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2012-2018 the original author or authors.
|
||||
* Copyright 2012-2019 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
|
@ -108,7 +108,7 @@ public class RepackageMojo extends AbstractDependencyFilterMojo {
|
|||
* the main artifact will be used as source and the repackaged archive will be
|
||||
* attached as a supplemental artifact with that classifier. Attaching the artifact
|
||||
* allows to deploy it alongside to the original one, see <a href=
|
||||
* "http://maven.apache.org/plugins/maven-deploy-plugin/examples/deploying-with-classifiers.html"
|
||||
* "https://maven.apache.org/plugins/maven-deploy-plugin/examples/deploying-with-classifiers.html"
|
||||
* > the maven documentation for more details</a>.
|
||||
* @since 1.0
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
port to the integration test itself.
|
||||
|
||||
The example below showcases how you could achieve the same feature using the
|
||||
{{{http://mojo.codehaus.org/build-helper-maven-plugin/}build-helper-plugin}}:
|
||||
{{{https://www.mojohaus.org/build-helper-maven-plugin/}build-helper-plugin}}:
|
||||
|
||||
---
|
||||
<project>
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ Spring Boot Maven Plugin
|
|||
more specific use cases are described in the examples given below.
|
||||
|
||||
In case you still have questions regarding the plugin's usage, please have a look at the existing
|
||||
{{{http://stackoverflow.com/questions/tagged/spring-boot}stack overflow issue}}. If you still don't get an
|
||||
{{{https://stackoverflow.com/questions/tagged/spring-boot}stack overflow issue}}. If you still don't get an
|
||||
answer, feel free to create a new thread with the <<<#spring-boot>>> tag.
|
||||
|
||||
If you feel like the plugin is missing a feature or has a defect, you can fill a feature request or bug report
|
||||
|
|
|
|||
|
|
@ -253,7 +253,7 @@ spring.devtools.remote.restart.enabled=false
|
|||
</build>
|
||||
---
|
||||
|
||||
Such setup can now use the {{{http://maven.apache.org/surefire/maven-failsafe-plugin/}failsafe-plugin}} to
|
||||
Such setup can now use the {{{https://maven.apache.org/surefire/maven-failsafe-plugin/}failsafe-plugin}} to
|
||||
run your integration tests as you would expect.
|
||||
|
||||
You could also configure a more advanced setup to skip the integration tests when a specific property has
|
||||
|
|
|
|||
|
|
@ -121,7 +121,7 @@ public final class AnsiColors {
|
|||
: (1.0 / 3.0) * Math.pow(29.0 / 6.0, 2) * t + (4.0 / 29.0);
|
||||
}
|
||||
|
||||
// See http://en.wikipedia.org/wiki/Color_difference#CIE94
|
||||
// See https://en.wikipedia.org/wiki/Color_difference#CIE94
|
||||
public double getDistance(LabColor other) {
|
||||
double c1 = Math.sqrt(this.a * this.a + this.b * this.b);
|
||||
double deltaC = c1 - Math.sqrt(other.a * other.a + other.b * other.b);
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ import org.springframework.core.env.Environment;
|
|||
*
|
||||
* @author Phillip Webb
|
||||
* @since 1.3.0
|
||||
* @see "http://cloud.spring.io"
|
||||
* @see "https://cloud.spring.io"
|
||||
*/
|
||||
public enum CloudPlatform {
|
||||
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ import org.springframework.util.StringUtils;
|
|||
/**
|
||||
* {@link BeanFactoryPostProcessor} to automatically setup the recommended
|
||||
* {@link BeanDefinition#setDependsOn(String[]) dependsOn} settings for
|
||||
* <a href="http://www.atomikos.com/Documentation/SpringIntegration">correct Atomikos
|
||||
* <a href="https://www.atomikos.com/Documentation/SpringIntegration">correct Atomikos
|
||||
* ordering</a>.
|
||||
*
|
||||
* @author Phillip Webb
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
|
|||
|
||||
/**
|
||||
* Bean friendly variant of
|
||||
* <a href="http://www.atomikos.com/Documentation/JtaProperties">Atomikos configuration
|
||||
* <a href="https://www.atomikos.com/Documentation/JtaProperties">Atomikos configuration
|
||||
* properties</a>. Allows for setter based configuration and is amiable to relaxed data
|
||||
* binding.
|
||||
*
|
||||
|
|
@ -191,10 +191,10 @@ public class AtomikosProperties {
|
|||
* address. If you plan to run more than one transaction manager against one database
|
||||
* you must set this property to a unique value or you might run into duplicate
|
||||
* transaction ID (XID) problems that can be quite subtle (example:
|
||||
* {@literal http://fogbugz.atomikos.com/default.asp?community.6.2225.7}). If multiple
|
||||
* instances need to use the same properties file then the easiest way to ensure
|
||||
* uniqueness for this property is by referencing a system property specified at VM
|
||||
* startup.
|
||||
* {@literal https://fogbugz.atomikos.com/default.asp?community.6.2225.7}). If
|
||||
* multiple instances need to use the same properties file then the easiest way to
|
||||
* ensure uniqueness for this property is by referencing a system property specified
|
||||
* at VM startup.
|
||||
* @param uniqueName the unique name
|
||||
*/
|
||||
public void setTransactionManagerUniqueName(String uniqueName) {
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ import org.springframework.util.ResourceUtils;
|
|||
import org.springframework.util.StringUtils;
|
||||
|
||||
/**
|
||||
* {@link LoggingSystem} for <a href="http://logging.apache.org/log4j/2.x/">Log4j 2</a>.
|
||||
* {@link LoggingSystem} for <a href="https://logging.apache.org/log4j/2.x/">Log4j 2</a>.
|
||||
*
|
||||
* @author Daniel Fullarton
|
||||
* @author Andy Wilkinson
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ import org.springframework.util.ResourceUtils;
|
|||
import org.springframework.util.StringUtils;
|
||||
|
||||
/**
|
||||
* {@link LoggingSystem} for <a href="http://logback.qos.ch">logback</a>.
|
||||
* {@link LoggingSystem} for <a href="https://logback.qos.ch">logback</a>.
|
||||
*
|
||||
* @author Phillip Webb
|
||||
* @author Dave Syer
|
||||
|
|
|
|||
|
|
@ -99,7 +99,7 @@ public class OriginTrackedYamlLoaderTests {
|
|||
OriginTrackedValue bar2 = getValue("example.foo[0].bar[1].bar2");
|
||||
assertThat(name.toString()).isEqualTo("springboot");
|
||||
assertThat(getLocation(name)).isEqualTo("22:15");
|
||||
assertThat(url.toString()).isEqualTo("http://springboot.com");
|
||||
assertThat(url.toString()).isEqualTo("https://springboot.example.com/");
|
||||
assertThat(getLocation(url)).isEqualTo("23:14");
|
||||
assertThat(bar1.toString()).isEqualTo("baz");
|
||||
assertThat(getLocation(bar1)).isEqualTo("25:19");
|
||||
|
|
|
|||
|
|
@ -110,9 +110,9 @@ public class RestTemplateBuilderTests {
|
|||
|
||||
@Test
|
||||
public void rootUriShouldApply() {
|
||||
RestTemplate restTemplate = this.builder.rootUri("http://example.com").build();
|
||||
RestTemplate restTemplate = this.builder.rootUri("https://example.com").build();
|
||||
MockRestServiceServer server = MockRestServiceServer.bindTo(restTemplate).build();
|
||||
server.expect(requestTo("http://example.com/hello")).andRespond(withSuccess());
|
||||
server.expect(requestTo("https://example.com/hello")).andRespond(withSuccess());
|
||||
restTemplate.getForEntity("/hello", String.class);
|
||||
server.verify();
|
||||
}
|
||||
|
|
@ -121,11 +121,11 @@ public class RestTemplateBuilderTests {
|
|||
public void rootUriShouldApplyAfterUriTemplateHandler() {
|
||||
UriTemplateHandler uriTemplateHandler = mock(UriTemplateHandler.class);
|
||||
RestTemplate template = this.builder.uriTemplateHandler(uriTemplateHandler)
|
||||
.rootUri("http://example.com").build();
|
||||
.rootUri("https://example.com").build();
|
||||
UriTemplateHandler handler = template.getUriTemplateHandler();
|
||||
handler.expand("/hello");
|
||||
assertThat(handler).isInstanceOf(RootUriTemplateHandler.class);
|
||||
verify(uriTemplateHandler).expand("http://example.com/hello");
|
||||
verify(uriTemplateHandler).expand("https://example.com/hello");
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2012-2018 the original author or authors.
|
||||
* Copyright 2012-2019 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
|
@ -54,8 +54,8 @@ public class RootUriTemplateHandlerTests {
|
|||
@SuppressWarnings("unchecked")
|
||||
public void setup() throws URISyntaxException {
|
||||
MockitoAnnotations.initMocks(this);
|
||||
this.uri = new URI("http://example.com/hello");
|
||||
this.handler = new RootUriTemplateHandler("http://example.com", this.delegate);
|
||||
this.uri = new URI("https://example.com/hello");
|
||||
this.handler = new RootUriTemplateHandler("https://example.com", this.delegate);
|
||||
given(this.delegate.expand(anyString(), any(Map.class))).willReturn(this.uri);
|
||||
given(this.delegate.expand(anyString(), any(Object[].class)))
|
||||
.willReturn(this.uri);
|
||||
|
|
@ -71,7 +71,7 @@ public class RootUriTemplateHandlerTests {
|
|||
@Test
|
||||
public void createWithNullHandlerShouldThrowException() {
|
||||
assertThatIllegalArgumentException()
|
||||
.isThrownBy(() -> new RootUriTemplateHandler("http://example.com", null))
|
||||
.isThrownBy(() -> new RootUriTemplateHandler("https://example.com", null))
|
||||
.withMessageContaining("Handler must not be null");
|
||||
}
|
||||
|
||||
|
|
@ -79,15 +79,15 @@ public class RootUriTemplateHandlerTests {
|
|||
public void expandMapVariablesShouldPrefixRoot() {
|
||||
HashMap<String, Object> uriVariables = new HashMap<>();
|
||||
URI expanded = this.handler.expand("/hello", uriVariables);
|
||||
verify(this.delegate).expand("http://example.com/hello", uriVariables);
|
||||
verify(this.delegate).expand("https://example.com/hello", uriVariables);
|
||||
assertThat(expanded).isEqualTo(this.uri);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void expandMapVariablesWhenPathDoesNotStartWithSlashShouldNotPrefixRoot() {
|
||||
HashMap<String, Object> uriVariables = new HashMap<>();
|
||||
URI expanded = this.handler.expand("http://spring.io/hello", uriVariables);
|
||||
verify(this.delegate).expand("http://spring.io/hello", uriVariables);
|
||||
URI expanded = this.handler.expand("https://spring.io/hello", uriVariables);
|
||||
verify(this.delegate).expand("https://spring.io/hello", uriVariables);
|
||||
assertThat(expanded).isEqualTo(this.uri);
|
||||
}
|
||||
|
||||
|
|
@ -95,15 +95,15 @@ public class RootUriTemplateHandlerTests {
|
|||
public void expandArrayVariablesShouldPrefixRoot() {
|
||||
Object[] uriVariables = new Object[0];
|
||||
URI expanded = this.handler.expand("/hello", uriVariables);
|
||||
verify(this.delegate).expand("http://example.com/hello", uriVariables);
|
||||
verify(this.delegate).expand("https://example.com/hello", uriVariables);
|
||||
assertThat(expanded).isEqualTo(this.uri);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void expandArrayVariablesWhenPathDoesNotStartWithSlashShouldNotPrefixRoot() {
|
||||
Object[] uriVariables = new Object[0];
|
||||
URI expanded = this.handler.expand("http://spring.io/hello", uriVariables);
|
||||
verify(this.delegate).expand("http://spring.io/hello", uriVariables);
|
||||
URI expanded = this.handler.expand("https://spring.io/hello", uriVariables);
|
||||
verify(this.delegate).expand("https://spring.io/hello", uriVariables);
|
||||
assertThat(expanded).isEqualTo(this.uri);
|
||||
}
|
||||
|
||||
|
|
@ -111,10 +111,10 @@ public class RootUriTemplateHandlerTests {
|
|||
public void applyShouldWrapExistingTemplate() {
|
||||
RestTemplate restTemplate = new RestTemplate();
|
||||
restTemplate.setUriTemplateHandler(this.delegate);
|
||||
this.handler = RootUriTemplateHandler.addTo(restTemplate, "http://example.com");
|
||||
this.handler = RootUriTemplateHandler.addTo(restTemplate, "https://example.com");
|
||||
Object[] uriVariables = new Object[0];
|
||||
URI expanded = this.handler.expand("/hello", uriVariables);
|
||||
verify(this.delegate).expand("http://example.com/hello", uriVariables);
|
||||
verify(this.delegate).expand("https://example.com/hello", uriVariables);
|
||||
assertThat(expanded).isEqualTo(this.uri);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# http://docs.ansible.com/ansible/YAMLSyntax.html
|
||||
# https://docs.ansible.com/ansible/YAMLSyntax.html
|
||||
|
||||
name: Martin D'vloper
|
||||
job: Developer
|
||||
|
|
@ -20,7 +20,7 @@ education: |
|
|||
example:
|
||||
foo:
|
||||
- name: springboot
|
||||
url: http://springboot.com
|
||||
url: https://springboot.example.com/
|
||||
bar:
|
||||
- bar1: baz
|
||||
- bar2: bling
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
<div class="container">
|
||||
<div class="navbar">
|
||||
<div class="navbar-inner">
|
||||
<a class="brand" href="http://freemarker.org/"> FreeMarker -
|
||||
<a class="brand" href="https://freemarker.apache.org/"> FreeMarker -
|
||||
Plain </a>
|
||||
<ul class="nav">
|
||||
<li><a href="${home}"> Home </a></li>
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
<div class="container">
|
||||
<div class="navbar">
|
||||
<div class="navbar-inner">
|
||||
<a class="brand" href="http://freemarker.org/"> FreeMarker -
|
||||
<a class="brand" href="https://freemarker.apache.org/"> FreeMarker -
|
||||
Plain </a>
|
||||
<ul class="nav">
|
||||
<li><a href="${home}"> Home </a></li>
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
<div class="container">
|
||||
<div class="navbar">
|
||||
<div class="navbar-inner">
|
||||
<a class="brand" href="http://freemarker.org/"> FreeMarker -
|
||||
<a class="brand" href="https://freemarker.apache.org/"> FreeMarker -
|
||||
Plain </a>
|
||||
<ul class="nav">
|
||||
<li><a href="${home}"> Home </a></li>
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
<div class="container">
|
||||
<div class="navbar">
|
||||
<div class="navbar-inner">
|
||||
<a class="brand" href="http://freemarker.org/"> FreeMarker -
|
||||
<a class="brand" href="https://freemarker.apache.org/"> FreeMarker -
|
||||
Plain </a>
|
||||
<ul class="nav">
|
||||
<li><a href="${home}"> Home </a></li>
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
/*!
|
||||
* jQuery JavaScript Library v1.9.0
|
||||
* http://jquery.com/
|
||||
* https://jquery.com/
|
||||
*
|
||||
* Includes Sizzle.js
|
||||
* http://sizzlejs.com/
|
||||
* https://sizzlejs.com/
|
||||
*
|
||||
* Copyright 2005, 2012 jQuery Foundation, Inc. and other contributors
|
||||
* Released under the MIT license
|
||||
* http://jquery.org/license
|
||||
* https://jquery.org/license
|
||||
*
|
||||
* Date: 2013-1-14
|
||||
*/
|
||||
|
|
@ -535,7 +535,7 @@ jQuery.extend({
|
|||
|
||||
if ( data ) {
|
||||
// Make sure the incoming data is actual JSON
|
||||
// Logic borrowed from http://json.org/json2.js
|
||||
// Logic borrowed from https://json.org/json2.js
|
||||
if ( rvalidchars.test( data.replace( rvalidescape, "@" )
|
||||
.replace( rvalidtokens, "]" )
|
||||
.replace( rvalidbraces, "")) ) {
|
||||
|
|
@ -576,7 +576,7 @@ jQuery.extend({
|
|||
|
||||
// Evaluates a script in a global context
|
||||
// Workarounds based on findings by Jim Driscoll
|
||||
// http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context
|
||||
// https://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context
|
||||
globalEval: function( data ) {
|
||||
if ( data && jQuery.trim( data ) ) {
|
||||
// We use execScript on Internet Explorer
|
||||
|
|
@ -872,7 +872,7 @@ jQuery.ready.promise = function( obj ) {
|
|||
|
||||
// Catch cases where $(document).ready() is called after the browser event has already occurred.
|
||||
// we once tried to use readyState "interactive" here, but it caused issues like the one
|
||||
// discovered by ChrisS here: http://bugs.jquery.com/ticket/12282#comment:15
|
||||
// discovered by ChrisS here: https://bugs.jquery.com/ticket/12282#comment:15
|
||||
if ( document.readyState === "complete" ) {
|
||||
// Handle it asynchronously to allow scripts the opportunity to delay ready
|
||||
setTimeout( jQuery.ready );
|
||||
|
|
@ -1956,7 +1956,7 @@ jQuery.fn.extend({
|
|||
});
|
||||
},
|
||||
// Based off of the plugin by Clint Helfers, with permission.
|
||||
// http://blindsignals.com/index.php/2009/07/jquery-delay/
|
||||
// http://blindsignals.com
|
||||
delay: function( time, type ) {
|
||||
time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;
|
||||
type = type || "fx";
|
||||
|
|
@ -2448,7 +2448,7 @@ jQuery.extend({
|
|||
tabIndex: {
|
||||
get: function( elem ) {
|
||||
// elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set
|
||||
// http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
|
||||
// https://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
|
||||
var attributeNode = elem.getAttributeNode("tabindex");
|
||||
|
||||
return attributeNode && attributeNode.specified ?
|
||||
|
|
@ -2583,7 +2583,7 @@ if ( !getSetAttribute ) {
|
|||
|
||||
|
||||
// Some attributes require a special call on IE
|
||||
// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
|
||||
// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
|
||||
if ( !jQuery.support.hrefNormalized ) {
|
||||
jQuery.each([ "href", "src", "width", "height" ], function( i, name ) {
|
||||
jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], {
|
||||
|
|
@ -3325,7 +3325,7 @@ jQuery.Event = function( src, props ) {
|
|||
};
|
||||
|
||||
// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
|
||||
// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
|
||||
// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
|
||||
jQuery.Event.prototype = {
|
||||
isDefaultPrevented: returnFalse,
|
||||
isPropagationStopped: returnFalse,
|
||||
|
|
@ -3674,7 +3674,7 @@ jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblcl
|
|||
* Sizzle CSS Selector Engine
|
||||
* Copyright 2012 jQuery Foundation and other contributors
|
||||
* Released under the MIT license
|
||||
* http://sizzlejs.com/
|
||||
* https://sizzlejs.com/
|
||||
*/
|
||||
(function( window, undefined ) {
|
||||
|
||||
|
|
@ -3732,17 +3732,17 @@ var i,
|
|||
|
||||
// Regular expressions
|
||||
|
||||
// Whitespace characters http://www.w3.org/TR/css3-selectors/#whitespace
|
||||
// Whitespace characters https://www.w3.org/TR/css3-selectors/#whitespace
|
||||
whitespace = "[\\x20\\t\\r\\n\\f]",
|
||||
// http://www.w3.org/TR/css3-syntax/#characters
|
||||
// https://www.w3.org/TR/css3-syntax/#characters
|
||||
characterEncoding = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",
|
||||
|
||||
// Loosely modeled on CSS identifier characters
|
||||
// An unquoted value should be a CSS identifier http://www.w3.org/TR/css3-selectors/#attribute-selectors
|
||||
// Proper syntax: http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
|
||||
// An unquoted value should be a CSS identifier https://www.w3.org/TR/css3-selectors/#attribute-selectors
|
||||
// Proper syntax: https://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
|
||||
identifier = characterEncoding.replace( "w", "w#" ),
|
||||
|
||||
// Acceptable operators http://www.w3.org/TR/selectors/#attribute-selectors
|
||||
// Acceptable operators https://www.w3.org/TR/selectors/#attribute-selectors
|
||||
operators = "([*^$|!~]?=)",
|
||||
attributes = "\\[" + whitespace + "*(" + characterEncoding + ")" + whitespace +
|
||||
"*(?:" + operators + whitespace + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + identifier + ")|)|)" + whitespace + "*\\]",
|
||||
|
|
@ -3792,7 +3792,7 @@ var i,
|
|||
rescape = /'|\\/g,
|
||||
rattributeQuotes = /\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,
|
||||
|
||||
// CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters
|
||||
// CSS escapes https://www.w3.org/TR/CSS21/syndata.html#escaped-characters
|
||||
runescape = /\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g,
|
||||
funescape = function( _, escaped ) {
|
||||
var high = "0x" + escaped - 0x10000;
|
||||
|
|
@ -4175,7 +4175,7 @@ setDocument = Sizzle.setDocument = function( node ) {
|
|||
// This is to test IE's treatment of not explictly
|
||||
// setting a boolean content attribute,
|
||||
// since its presence should be enough
|
||||
// http://bugs.jquery.com/ticket/12359
|
||||
// https://bugs.jquery.com/ticket/12359
|
||||
div.innerHTML = "<select><option selected=''></option></select>";
|
||||
|
||||
// IE8 - Some boolean attributes are not treated correctly
|
||||
|
|
@ -4184,7 +4184,7 @@ setDocument = Sizzle.setDocument = function( node ) {
|
|||
}
|
||||
|
||||
// Webkit/Opera - :checked should return selected option elements
|
||||
// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
|
||||
// https://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
|
||||
// IE8 throws error here and will not see later tests
|
||||
if ( !div.querySelectorAll(":checked").length ) {
|
||||
rbuggyQSA.push(":checked");
|
||||
|
|
@ -4749,7 +4749,7 @@ Expr = Sizzle.selectors = {
|
|||
|
||||
"PSEUDO": function( pseudo, argument ) {
|
||||
// pseudo-class names are case-insensitive
|
||||
// http://www.w3.org/TR/selectors/#pseudo-classes
|
||||
// https://www.w3.org/TR/selectors/#pseudo-classes
|
||||
// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters
|
||||
// Remember that setFilters inherits from pseudos
|
||||
var args,
|
||||
|
|
@ -4833,7 +4833,7 @@ Expr = Sizzle.selectors = {
|
|||
// or beginning with the identifier C immediately followed by "-".
|
||||
// The matching of C against the element's language value is performed case-insensitively.
|
||||
// The identifier C does not have to be a valid language name."
|
||||
// http://www.w3.org/TR/selectors/#lang-pseudo
|
||||
// https://www.w3.org/TR/selectors/#lang-pseudo
|
||||
"lang": markFunction( function( lang ) {
|
||||
// lang value must be a valid identifider
|
||||
if ( !ridentifier.test(lang || "") ) {
|
||||
|
|
@ -4880,7 +4880,7 @@ Expr = Sizzle.selectors = {
|
|||
|
||||
"checked": function( elem ) {
|
||||
// In CSS3, :checked should return both checked and selected elements
|
||||
// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
|
||||
// https://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
|
||||
var nodeName = elem.nodeName.toLowerCase();
|
||||
return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected);
|
||||
},
|
||||
|
|
@ -4897,7 +4897,7 @@ Expr = Sizzle.selectors = {
|
|||
|
||||
// Contents
|
||||
"empty": function( elem ) {
|
||||
// http://www.w3.org/TR/selectors/#empty-pseudo
|
||||
// https://www.w3.org/TR/selectors/#empty-pseudo
|
||||
// :empty is only affected by element nodes and content nodes(including text(3), cdata(4)),
|
||||
// not comment, processing instructions, or others
|
||||
// Thanks to Diego Perini for the nodeName shortcut
|
||||
|
|
@ -6377,7 +6377,7 @@ jQuery.extend({
|
|||
if ( (!jQuery.support.noCloneEvent || !jQuery.support.noCloneChecked) &&
|
||||
(elem.nodeType === 1 || elem.nodeType === 11) && !jQuery.isXMLDoc(elem) ) {
|
||||
|
||||
// We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2
|
||||
// We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2
|
||||
destElements = getAll( clone );
|
||||
srcElements = getAll( elem );
|
||||
|
||||
|
|
@ -6915,7 +6915,7 @@ if ( window.getComputedStyle ) {
|
|||
// A tribute to the "awesome hack by Dean Edwards"
|
||||
// Chrome < 17 and Safari 5.0 uses "computed value" instead of "used value" for margin-right
|
||||
// Safari 5.1.7 (at least) returns percentage for a larger set of values, but width seems to be reliably pixels
|
||||
// this is against the CSSOM draft spec: http://dev.w3.org/csswg/cssom/#resolved-values
|
||||
// this is against the CSSOM draft spec: https://dev.w3.org/csswg/cssom/#resolved-values
|
||||
if ( rnumnonpx.test( ret ) && rmargin.test( name ) ) {
|
||||
|
||||
// Remember the original values
|
||||
|
|
@ -8485,7 +8485,7 @@ if ( xhrSupported ) {
|
|||
|
||||
// Firefox throws exceptions when accessing properties
|
||||
// of an xhr when a network error occurred
|
||||
// http://helpful.knobs-dials.com/index.php/Component_returned_failure_code:_0x80040111_(NS_ERROR_NOT_AVAILABLE)
|
||||
// https://helpful.knobs-dials.com/index.php/Component_returned_failure_code:_0x80040111_(NS_ERROR_NOT_AVAILABLE)
|
||||
try {
|
||||
|
||||
// Was never called and is aborted or complete
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@ Simply add the `net.sf.ehcache:ehcache` dependency to the project. Since there i
|
|||
default `ehcache.xml` configuration file at the root of the classpath,
|
||||
it is automatically used to configure the underlying `CacheManager`.
|
||||
Note that EhCache 3 uses a different format and doesn't default to `ehcache.xml`
|
||||
anymore. Check http://www.ehcache.org/documentation/3.0/xml.html[the documentation]
|
||||
anymore. Check https://www.ehcache.org/documentation/3.0/xml.html[the documentation]
|
||||
for more details.
|
||||
|
||||
TIP: Run sample cache application using EhCache with
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns:th="http://www.thymeleaf.org">
|
||||
<html xmlns:th="https://www.thymeleaf.org">
|
||||
<head>
|
||||
<title>Hello</title>
|
||||
</head>
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ import org.jooq.impl.TableImpl;
|
|||
/**
|
||||
* This class is generated by jOOQ.
|
||||
*/
|
||||
@Generated(value = { "http://www.jooq.org",
|
||||
@Generated(value = { "https://www.jooq.org",
|
||||
"jOOQ version:3.8.2" }, comments = "This class is generated by jOOQ")
|
||||
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
|
||||
public class Author extends TableImpl<Record> {
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ import org.jooq.impl.TableImpl;
|
|||
/**
|
||||
* This class is generated by jOOQ.
|
||||
*/
|
||||
@Generated(value = { "http://www.jooq.org",
|
||||
@Generated(value = { "https://www.jooq.org",
|
||||
"jOOQ version:3.8.2" }, comments = "This class is generated by jOOQ")
|
||||
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
|
||||
public class Book extends TableImpl<Record> {
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ import org.jooq.impl.TableImpl;
|
|||
/**
|
||||
* This class is generated by jOOQ.
|
||||
*/
|
||||
@Generated(value = { "http://www.jooq.org",
|
||||
@Generated(value = { "https://www.jooq.org",
|
||||
"jOOQ version:3.8.2" }, comments = "This class is generated by jOOQ")
|
||||
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
|
||||
public class BookStore extends TableImpl<Record> {
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ import org.jooq.impl.TableImpl;
|
|||
/**
|
||||
* This class is generated by jOOQ.
|
||||
*/
|
||||
@Generated(value = { "http://www.jooq.org",
|
||||
@Generated(value = { "https://www.jooq.org",
|
||||
"jOOQ version:3.8.2" }, comments = "This class is generated by jOOQ")
|
||||
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
|
||||
public class BookToBookStore extends TableImpl<Record> {
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ import org.jooq.impl.CatalogImpl;
|
|||
/**
|
||||
* This class is generated by jOOQ.
|
||||
*/
|
||||
@Generated(value = { "http://www.jooq.org",
|
||||
@Generated(value = { "https://www.jooq.org",
|
||||
"jOOQ version:3.8.2" }, comments = "This class is generated by jOOQ")
|
||||
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
|
||||
public class DefaultCatalog extends CatalogImpl {
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ import org.jooq.impl.AbstractKeys;
|
|||
* A class modelling foreign key relationships between tables of the <code>PUBLIC</code>
|
||||
* schema
|
||||
*/
|
||||
@Generated(value = { "http://www.jooq.org",
|
||||
@Generated(value = { "https://www.jooq.org",
|
||||
"jOOQ version:3.8.2" }, comments = "This class is generated by jOOQ")
|
||||
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
|
||||
public class Keys {
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ import org.jooq.impl.TableImpl;
|
|||
/**
|
||||
* This class is generated by jOOQ.
|
||||
*/
|
||||
@Generated(value = { "http://www.jooq.org",
|
||||
@Generated(value = { "https://www.jooq.org",
|
||||
"jOOQ version:3.8.2" }, comments = "This class is generated by jOOQ")
|
||||
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
|
||||
public class Language extends TableImpl<Record> {
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ import org.jooq.impl.SchemaImpl;
|
|||
/**
|
||||
* This class is generated by jOOQ.
|
||||
*/
|
||||
@Generated(value = { "http://www.jooq.org",
|
||||
@Generated(value = { "https://www.jooq.org",
|
||||
"jOOQ version:3.8.2" }, comments = "This class is generated by jOOQ")
|
||||
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
|
||||
public class Public extends SchemaImpl {
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ import javax.annotation.Generated;
|
|||
/**
|
||||
* Convenience access to all tables in PUBLIC
|
||||
*/
|
||||
@Generated(value = { "http://www.jooq.org",
|
||||
@Generated(value = { "https://www.jooq.org",
|
||||
"jOOQ version:3.8.2" }, comments = "This class is generated by jOOQ")
|
||||
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
|
||||
public class Tables {
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ JNDI machinery.
|
|||
|
||||
### Postgres
|
||||
We will use postgres as the underlying database, v9.3.5 or above is recommend. Follow
|
||||
the installation instructions from http://www.postgresql.org/[postgresql.org] or use
|
||||
the installation instructions from https://www.postgresql.org/[postgresql.org] or use
|
||||
a package manager to install the appropriate binaries.
|
||||
|
||||
Once installed you will need to initialize and start the server.
|
||||
|
|
@ -40,7 +40,7 @@ Finally you can type `psql bootdemo` to configure a password:
|
|||
|
||||
|
||||
### WildFly 8.1
|
||||
Download an install WildFly 8.1 from http://wildfly.org/downloads/[wildfly.org]. Once
|
||||
Download an install WildFly 8.1 from https://wildfly.org/downloads/[wildfly.org]. Once
|
||||
installed you will need to add a management user by running `$JBOSS_HOME/bin/add-user.sh`
|
||||
(see the WildFly documentation for details).
|
||||
|
||||
|
|
@ -51,7 +51,7 @@ structure:
|
|||
----
|
||||
$ cd $JBOSS_HOME
|
||||
mkdir -p modules/org/postgresql/main
|
||||
wget http://jdbc.postgresql.org/download/postgresql-9.3-1102.jdbc41.jar
|
||||
wget https://jdbc.postgresql.org/download/postgresql-9.3-1102.jdbc41.jar
|
||||
mv postgresql-9.3-1102.jdbc41.jar modules/org/postgresql/main
|
||||
----
|
||||
|
||||
|
|
|
|||
|
|
@ -25,9 +25,9 @@ import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException
|
|||
* Tests for {@link VehicleIdentificationNumber}.
|
||||
*
|
||||
* @author Phillip Webb
|
||||
* @see <a href="http://osherove.com/blog/2005/4/3/naming-standards-for-unit-tests.html">
|
||||
* @see <a href="https://osherove.com/blog/2005/4/3/naming-standards-for-unit-tests.html">
|
||||
* Naming standards for unit tests</a>
|
||||
* @see <a href="http://joel-costigliola.github.io/assertj/">AssertJ</a>
|
||||
* @see <a href="https://joel-costigliola.github.io/assertj/">AssertJ</a>
|
||||
*/
|
||||
public class VehicleIdentificationNumberTests {
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "https://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
/*!
|
||||
* jQuery JavaScript Library v1.7.2
|
||||
* http://jquery.com/
|
||||
* https://jquery.com/
|
||||
*
|
||||
* Copyright 2011, John Resig
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
* http://jquery.org/license
|
||||
* https://jquery.org/license
|
||||
*
|
||||
* Includes Sizzle.js
|
||||
* http://sizzlejs.com/
|
||||
* https://sizzlejs.com/
|
||||
* Copyright 2011, The Dojo Foundation
|
||||
* Released under the MIT, BSD, and GPL Licenses.
|
||||
*
|
||||
|
|
@ -565,7 +565,7 @@ jQuery.extend({
|
|||
}
|
||||
|
||||
// Make sure the incoming data is actual JSON
|
||||
// Logic borrowed from http://json.org/json2.js
|
||||
// Logic borrowed from https://json.org/json2.js
|
||||
if ( rvalidchars.test( data.replace( rvalidescape, "@" )
|
||||
.replace( rvalidtokens, "]" )
|
||||
.replace( rvalidbraces, "")) ) {
|
||||
|
|
@ -604,7 +604,7 @@ jQuery.extend({
|
|||
|
||||
// Evaluates a script in a global context
|
||||
// Workarounds based on findings by Jim Driscoll
|
||||
// http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context
|
||||
// https://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context
|
||||
globalEval: function( data ) {
|
||||
if ( data && rnotwhite.test( data ) ) {
|
||||
// We use execScript on Internet Explorer
|
||||
|
|
@ -880,7 +880,7 @@ jQuery.extend({
|
|||
},
|
||||
|
||||
// Use of jQuery.browser is frowned upon.
|
||||
// More details: http://docs.jquery.com/Utilities/jQuery.browser
|
||||
// More details: https://docs.jquery.com/Utilities/jQuery.browser
|
||||
uaMatch: function( ua ) {
|
||||
ua = ua.toLowerCase();
|
||||
|
||||
|
|
@ -2159,7 +2159,7 @@ jQuery.fn.extend({
|
|||
});
|
||||
},
|
||||
// Based off of the plugin by Clint Helfers, with permission.
|
||||
// http://blindsignals.com/index.php/2009/07/jquery-delay/
|
||||
// http://blindsignals.com
|
||||
delay: function( time, type ) {
|
||||
time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;
|
||||
type = type || "fx";
|
||||
|
|
@ -2688,7 +2688,7 @@ jQuery.extend({
|
|||
tabIndex: {
|
||||
get: function( elem ) {
|
||||
// elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set
|
||||
// http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
|
||||
// https://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
|
||||
var attributeNode = elem.getAttributeNode("tabindex");
|
||||
|
||||
return attributeNode && attributeNode.specified ?
|
||||
|
|
@ -3551,7 +3551,7 @@ function returnTrue() {
|
|||
}
|
||||
|
||||
// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
|
||||
// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
|
||||
// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
|
||||
jQuery.Event.prototype = {
|
||||
preventDefault: function() {
|
||||
this.isDefaultPrevented = returnTrue;
|
||||
|
|
@ -3941,7 +3941,7 @@ jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblcl
|
|||
* Sizzle CSS Selector Engine
|
||||
* Copyright 2011, The Dojo Foundation
|
||||
* Released under the MIT, BSD, and GPL Licenses.
|
||||
* More information: http://sizzlejs.com/
|
||||
* More information: https://sizzlejs.com/
|
||||
*/
|
||||
(function(){
|
||||
|
||||
|
|
@ -6298,7 +6298,7 @@ function findInputs( elem ) {
|
|||
}
|
||||
}
|
||||
|
||||
// Derived From: http://www.iecss.com/shimprove/javascript/shimprove.1-0-1.js
|
||||
// Derived From: https://www.iecss.com/shimprove/javascript/shimprove.1-0-1.js
|
||||
function shimCloneNode( elem ) {
|
||||
var div = document.createElement( "div" );
|
||||
safeFragment.appendChild( div );
|
||||
|
|
@ -6735,7 +6735,7 @@ if ( document.defaultView && document.defaultView.getComputedStyle ) {
|
|||
|
||||
// A tribute to the "awesome hack by Dean Edwards"
|
||||
// WebKit uses "computed value (percentage if specified)" instead of "used value" for margins
|
||||
// which is against the CSSOM draft spec: http://dev.w3.org/csswg/cssom/#resolved-values
|
||||
// which is against the CSSOM draft spec: https://dev.w3.org/csswg/cssom/#resolved-values
|
||||
if ( !jQuery.support.pixelMargin && computedStyle && rmargin.test( name ) && rnumnonpx.test( ret ) ) {
|
||||
width = style.width;
|
||||
style.width = ret;
|
||||
|
|
@ -8250,7 +8250,7 @@ if ( jQuery.support.ajax ) {
|
|||
|
||||
// Firefox throws exceptions when accessing properties
|
||||
// of an xhr when a network error occured
|
||||
// http://helpful.knobs-dials.com/index.php/Component_returned_failure_code:_0x80040111_(NS_ERROR_NOT_AVAILABLE)
|
||||
// https://helpful.knobs-dials.com/index.php/Component_returned_failure_code:_0x80040111_(NS_ERROR_NOT_AVAILABLE)
|
||||
try {
|
||||
|
||||
// Was never called and is aborted or complete
|
||||
|
|
|
|||
|
|
@ -1,20 +1,20 @@
|
|||
/**
|
||||
* jQuery Validation Plugin @VERSION
|
||||
*
|
||||
* http://bassistance.de/jquery-plugins/jquery-plugin-validation/
|
||||
* http://docs.jquery.com/Plugins/Validation
|
||||
* https://bassistance.de/jquery-plugins/jquery-plugin-validation/
|
||||
* https://docs.jquery.com/Plugins/Validation
|
||||
*
|
||||
* Copyright (c) 2012 Jörn Zaefferer
|
||||
*
|
||||
* Dual licensed under the MIT and GPL licenses:
|
||||
* http://www.opensource.org/licenses/mit-license.php
|
||||
* http://www.gnu.org/licenses/gpl.html
|
||||
* https://www.opensource.org/licenses/mit-license.php
|
||||
* https://www.gnu.org/licenses/gpl.html
|
||||
*/
|
||||
|
||||
(function($) {
|
||||
|
||||
$.extend($.fn, {
|
||||
// http://docs.jquery.com/Plugins/Validation/validate
|
||||
// https://docs.jquery.com/Plugins/Validation/validate
|
||||
validate: function( options ) {
|
||||
|
||||
// if nothing is selected, return nothing; can't chain anyway
|
||||
|
|
@ -92,7 +92,7 @@ $.extend($.fn, {
|
|||
|
||||
return validator;
|
||||
},
|
||||
// http://docs.jquery.com/Plugins/Validation/valid
|
||||
// https://docs.jquery.com/Plugins/Validation/valid
|
||||
valid: function() {
|
||||
if ( $(this[0]).is('form')) {
|
||||
return this.validate().form();
|
||||
|
|
@ -115,7 +115,7 @@ $.extend($.fn, {
|
|||
});
|
||||
return result;
|
||||
},
|
||||
// http://docs.jquery.com/Plugins/Validation/rules
|
||||
// https://docs.jquery.com/Plugins/Validation/rules
|
||||
rules: function(command, argument) {
|
||||
var element = this[0];
|
||||
|
||||
|
|
@ -167,11 +167,11 @@ $.extend($.fn, {
|
|||
|
||||
// Custom selectors
|
||||
$.extend($.expr[":"], {
|
||||
// http://docs.jquery.com/Plugins/Validation/blank
|
||||
// https://docs.jquery.com/Plugins/Validation/blank
|
||||
blank: function(a) {return !$.trim("" + a.value);},
|
||||
// http://docs.jquery.com/Plugins/Validation/filled
|
||||
// https://docs.jquery.com/Plugins/Validation/filled
|
||||
filled: function(a) {return !!$.trim("" + a.value);},
|
||||
// http://docs.jquery.com/Plugins/Validation/unchecked
|
||||
// https://docs.jquery.com/Plugins/Validation/unchecked
|
||||
unchecked: function(a) {return !a.checked;}
|
||||
});
|
||||
|
||||
|
|
@ -264,7 +264,7 @@ $.extend($.validator, {
|
|||
}
|
||||
},
|
||||
|
||||
// http://docs.jquery.com/Plugins/Validation/Validator/setDefaults
|
||||
// https://docs.jquery.com/Plugins/Validation/Validator/setDefaults
|
||||
setDefaults: function(settings) {
|
||||
$.extend( $.validator.defaults, settings );
|
||||
},
|
||||
|
|
@ -336,7 +336,7 @@ $.extend($.validator, {
|
|||
}
|
||||
},
|
||||
|
||||
// http://docs.jquery.com/Plugins/Validation/Validator/form
|
||||
// https://docs.jquery.com/Plugins/Validation/Validator/form
|
||||
form: function() {
|
||||
this.checkForm();
|
||||
$.extend(this.submitted, this.errorMap);
|
||||
|
|
@ -356,7 +356,7 @@ $.extend($.validator, {
|
|||
return this.valid();
|
||||
},
|
||||
|
||||
// http://docs.jquery.com/Plugins/Validation/Validator/element
|
||||
// https://docs.jquery.com/Plugins/Validation/Validator/element
|
||||
element: function( element ) {
|
||||
element = this.validationTargetFor( this.clean( element ) );
|
||||
this.lastElement = element;
|
||||
|
|
@ -376,7 +376,7 @@ $.extend($.validator, {
|
|||
return result;
|
||||
},
|
||||
|
||||
// http://docs.jquery.com/Plugins/Validation/Validator/showErrors
|
||||
// https://docs.jquery.com/Plugins/Validation/Validator/showErrors
|
||||
showErrors: function(errors) {
|
||||
if(errors) {
|
||||
// add items to error list and map
|
||||
|
|
@ -400,7 +400,7 @@ $.extend($.validator, {
|
|||
}
|
||||
},
|
||||
|
||||
// http://docs.jquery.com/Plugins/Validation/Validator/resetForm
|
||||
// https://docs.jquery.com/Plugins/Validation/Validator/resetForm
|
||||
resetForm: function() {
|
||||
if ( $.fn.resetForm ) {
|
||||
$( this.currentForm ).resetForm();
|
||||
|
|
@ -966,7 +966,7 @@ $.extend($.validator, {
|
|||
return data;
|
||||
},
|
||||
|
||||
// http://docs.jquery.com/Plugins/Validation/Validator/addMethod
|
||||
// https://docs.jquery.com/Plugins/Validation/Validator/addMethod
|
||||
addMethod: function(name, method, message) {
|
||||
$.validator.methods[name] = method;
|
||||
$.validator.messages[name] = message !== undefined ? message : $.validator.messages[name];
|
||||
|
|
@ -977,7 +977,7 @@ $.extend($.validator, {
|
|||
|
||||
methods: {
|
||||
|
||||
// http://docs.jquery.com/Plugins/Validation/Methods/required
|
||||
// https://docs.jquery.com/Plugins/Validation/Methods/required
|
||||
required: function(value, element, param) {
|
||||
// check if dependency is met
|
||||
if ( !this.depend(param, element) ) {
|
||||
|
|
@ -994,7 +994,7 @@ $.extend($.validator, {
|
|||
return $.trim(value).length > 0;
|
||||
},
|
||||
|
||||
// http://docs.jquery.com/Plugins/Validation/Methods/remote
|
||||
// https://docs.jquery.com/Plugins/Validation/Methods/remote
|
||||
remote: function(value, element, param) {
|
||||
if ( this.optional(element) ) {
|
||||
return "dependency-mismatch";
|
||||
|
|
@ -1049,73 +1049,73 @@ $.extend($.validator, {
|
|||
return "pending";
|
||||
},
|
||||
|
||||
// http://docs.jquery.com/Plugins/Validation/Methods/minlength
|
||||
// https://docs.jquery.com/Plugins/Validation/Methods/minlength
|
||||
minlength: function(value, element, param) {
|
||||
var length = $.isArray( value ) ? value.length : this.getLength($.trim(value), element);
|
||||
return this.optional(element) || length >= param;
|
||||
},
|
||||
|
||||
// http://docs.jquery.com/Plugins/Validation/Methods/maxlength
|
||||
// https://docs.jquery.com/Plugins/Validation/Methods/maxlength
|
||||
maxlength: function(value, element, param) {
|
||||
var length = $.isArray( value ) ? value.length : this.getLength($.trim(value), element);
|
||||
return this.optional(element) || length <= param;
|
||||
},
|
||||
|
||||
// http://docs.jquery.com/Plugins/Validation/Methods/rangelength
|
||||
// https://docs.jquery.com/Plugins/Validation/Methods/rangelength
|
||||
rangelength: function(value, element, param) {
|
||||
var length = $.isArray( value ) ? value.length : this.getLength($.trim(value), element);
|
||||
return this.optional(element) || ( length >= param[0] && length <= param[1] );
|
||||
},
|
||||
|
||||
// http://docs.jquery.com/Plugins/Validation/Methods/min
|
||||
// https://docs.jquery.com/Plugins/Validation/Methods/min
|
||||
min: function( value, element, param ) {
|
||||
return this.optional(element) || value >= param;
|
||||
},
|
||||
|
||||
// http://docs.jquery.com/Plugins/Validation/Methods/max
|
||||
// https://docs.jquery.com/Plugins/Validation/Methods/max
|
||||
max: function( value, element, param ) {
|
||||
return this.optional(element) || value <= param;
|
||||
},
|
||||
|
||||
// http://docs.jquery.com/Plugins/Validation/Methods/range
|
||||
// https://docs.jquery.com/Plugins/Validation/Methods/range
|
||||
range: function( value, element, param ) {
|
||||
return this.optional(element) || ( value >= param[0] && value <= param[1] );
|
||||
},
|
||||
|
||||
// http://docs.jquery.com/Plugins/Validation/Methods/email
|
||||
// https://docs.jquery.com/Plugins/Validation/Methods/email
|
||||
email: function(value, element) {
|
||||
// contributed by Scott Gonzalez: http://projects.scottsplayground.com/email_address_validation/
|
||||
return this.optional(element) || /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i.test(value);
|
||||
},
|
||||
|
||||
// http://docs.jquery.com/Plugins/Validation/Methods/url
|
||||
// https://docs.jquery.com/Plugins/Validation/Methods/url
|
||||
url: function(value, element) {
|
||||
// contributed by Scott Gonzalez: http://projects.scottsplayground.com/iri/
|
||||
return this.optional(element) || /^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(value);
|
||||
},
|
||||
|
||||
// http://docs.jquery.com/Plugins/Validation/Methods/date
|
||||
// https://docs.jquery.com/Plugins/Validation/Methods/date
|
||||
date: function(value, element) {
|
||||
return this.optional(element) || !/Invalid|NaN/.test(new Date(value));
|
||||
},
|
||||
|
||||
// http://docs.jquery.com/Plugins/Validation/Methods/dateISO
|
||||
// https://docs.jquery.com/Plugins/Validation/Methods/dateISO
|
||||
dateISO: function(value, element) {
|
||||
return this.optional(element) || /^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/.test(value);
|
||||
},
|
||||
|
||||
// http://docs.jquery.com/Plugins/Validation/Methods/number
|
||||
// https://docs.jquery.com/Plugins/Validation/Methods/number
|
||||
number: function(value, element) {
|
||||
return this.optional(element) || /^-?(?:\d+|\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(value);
|
||||
},
|
||||
|
||||
// http://docs.jquery.com/Plugins/Validation/Methods/digits
|
||||
// https://docs.jquery.com/Plugins/Validation/Methods/digits
|
||||
digits: function(value, element) {
|
||||
return this.optional(element) || /^\d+$/.test(value);
|
||||
},
|
||||
|
||||
// http://docs.jquery.com/Plugins/Validation/Methods/creditcard
|
||||
// based on http://en.wikipedia.org/wiki/Luhn
|
||||
// https://docs.jquery.com/Plugins/Validation/Methods/creditcard
|
||||
// based on https://en.wikipedia.org/wiki/Luhn
|
||||
creditcard: function(value, element) {
|
||||
if ( this.optional(element) ) {
|
||||
return "dependency-mismatch";
|
||||
|
|
@ -1145,13 +1145,13 @@ $.extend($.validator, {
|
|||
return (nCheck % 10) === 0;
|
||||
},
|
||||
|
||||
// http://docs.jquery.com/Plugins/Validation/Methods/accept
|
||||
// https://docs.jquery.com/Plugins/Validation/Methods/accept
|
||||
accept: function(value, element, param) {
|
||||
param = typeof param === "string" ? param.replace(/,/g, '|') : "png|jpe?g|gif";
|
||||
return this.optional(element) || value.match(new RegExp(".(" + param + ")$", "i"));
|
||||
},
|
||||
|
||||
// http://docs.jquery.com/Plugins/Validation/Methods/equalTo
|
||||
// https://docs.jquery.com/Plugins/Validation/Methods/equalTo
|
||||
equalTo: function(value, element, param) {
|
||||
// bind to the blur event of the target in order to revalidate whenever the target field is updated
|
||||
// TODO find a way to bind the event just once, avoiding the unbind-rebind overhead
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ html {
|
|||
div(class:'navbar') {
|
||||
div(class:'navbar-inner') {
|
||||
a(class:'brand',
|
||||
href:'http://beta.groovy-lang.org/docs/groovy-2.3.0/html/documentation/markup-template-engine.html') {
|
||||
href:'http://docs.groovy-lang.org/docs/latest/html/documentation/markup-template-engine.html') {
|
||||
yield 'Groovy - Layout'
|
||||
}
|
||||
ul(class:'nav') {
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue