Browse Source

Polish contribution

Closes gh-4202
pull/4259/head
Stephane Nicoll 10 years ago
parent
commit
bc0eb996ff
  1. 14
      spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jersey/JerseyAutoConfiguration.java
  2. 13
      spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jersey/JerseyProperties.java
  3. 5
      spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/jersey/JerseyAutoConfigurationWithoutApplicationPathTests.java
  4. 1
      spring-boot-docs/src/main/asciidoc/appendix-application-properties.adoc

14
spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jersey/JerseyAutoConfiguration.java

@ -79,11 +79,11 @@ public class JerseyAutoConfiguration implements WebApplicationInitializer { @@ -79,11 +79,11 @@ public class JerseyAutoConfiguration implements WebApplicationInitializer {
@PostConstruct
public void path() {
if (StringUtils.hasLength(this.jersey.getPath())) {
this.path = parsePath(this.jersey.getPath());
if (StringUtils.hasLength(this.jersey.getApplicationPath())) {
this.path = parseApplicationPath(this.jersey.getApplicationPath());
}
else {
this.path = findPath(AnnotationUtils.findAnnotation(this.config.getClass(),
this.path = findApplicationPath(AnnotationUtils.findAnnotation(this.config.getClass(),
ApplicationPath.class));
}
}
@ -145,17 +145,15 @@ public class JerseyAutoConfiguration implements WebApplicationInitializer { @@ -145,17 +145,15 @@ public class JerseyAutoConfiguration implements WebApplicationInitializer {
servletContext.setInitParameter("contextConfigLocation", "<NONE>");
}
private static String findPath(ApplicationPath annotation) {
private static String findApplicationPath(ApplicationPath annotation) {
// Jersey doesn't like to be the default servlet, so map to /* as a fallback
if (annotation == null) {
return "/*";
}
String path = annotation.value();
return parsePath(path);
return parseApplicationPath(annotation.value());
}
private static String parsePath(String applicationPath) {
private static String parseApplicationPath(String applicationPath) {
if (!applicationPath.startsWith("/")) {
applicationPath = "/" + applicationPath;
}

13
spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jersey/JerseyProperties.java

@ -44,9 +44,10 @@ public class JerseyProperties { @@ -44,9 +44,10 @@ public class JerseyProperties {
private Filter filter = new Filter();
/**
* Path at which the application will be available.
* Path that serves as the base URI for the application. Overrides
* the value of "@ApplicationPath" if specified.
*/
private String path;
private String applicationPath;
public Filter getFilter() {
return this.filter;
@ -72,12 +73,12 @@ public class JerseyProperties { @@ -72,12 +73,12 @@ public class JerseyProperties {
this.init = init;
}
public String getPath() {
return this.path;
public String getApplicationPath() {
return this.applicationPath;
}
public void setPath(String path) {
this.path = path;
public void setApplicationPath(String applicationPath) {
this.applicationPath = applicationPath;
}
public enum Type {

5
spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/jersey/JerseyAutoConfigurationWithoutApplicationPathTests.java

@ -28,6 +28,7 @@ import javax.ws.rs.Path; @@ -28,6 +28,7 @@ import javax.ws.rs.Path;
import org.glassfish.jersey.server.ResourceConfig;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.PropertyPlaceholderAutoConfiguration;
@ -53,7 +54,7 @@ import static org.junit.Assert.assertEquals; @@ -53,7 +54,7 @@ import static org.junit.Assert.assertEquals;
*/
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(Application.class)
@IntegrationTest({ "server.port=0", "spring.jersey.path=/rest" })
@IntegrationTest({ "server.port=0", "spring.jersey.application-path=/api" })
@WebAppConfiguration
public class JerseyAutoConfigurationWithoutApplicationPathTests {
@ -65,7 +66,7 @@ public class JerseyAutoConfigurationWithoutApplicationPathTests { @@ -65,7 +66,7 @@ public class JerseyAutoConfigurationWithoutApplicationPathTests {
@Test
public void contextLoads() {
ResponseEntity<String> entity = this.restTemplate.getForEntity(
"http://localhost:" + this.port + "/rest/hello", String.class);
"http://localhost:" + this.port + "/api/hello", String.class);
assertEquals(HttpStatus.OK, entity.getStatusCode());
}

1
spring-boot-docs/src/main/asciidoc/appendix-application-properties.adoc

@ -282,6 +282,7 @@ content into your application; rather pick only the properties that you need. @@ -282,6 +282,7 @@ content into your application; rather pick only the properties that you need.
spring.mustache.view-names= # whitelist of view names that can be resolved
# JERSEY ({sc-spring-boot-autoconfigure}}/jersey/JerseyProperties.{sc-ext}[JerseyProperties])
spring.jersey.application-path # path that serves as the base URI for the application
spring.jersey.type=servlet # servlet or filter
spring.jersey.init= # init params
spring.jersey.filter.order=

Loading…
Cancel
Save