Polish templates code

This commit is contained in:
Phillip Webb 2014-04-30 21:17:58 +01:00
parent 1d5cddc1e9
commit decee8d871
11 changed files with 43 additions and 33 deletions

View File

@ -46,6 +46,7 @@ import org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver;
* {@link EnableAutoConfiguration Auto-configuration} for FreeMarker. * {@link EnableAutoConfiguration Auto-configuration} for FreeMarker.
* *
* @author Andy Wilkinson * @author Andy Wilkinson
* @since 1.1.0
*/ */
@Configuration @Configuration
@ConditionalOnClass(freemarker.template.Configuration.class) @ConditionalOnClass(freemarker.template.Configuration.class)

View File

@ -22,11 +22,11 @@ import org.springframework.core.io.ResourceLoader;
import org.springframework.util.ClassUtils; import org.springframework.util.ClassUtils;
/** /**
* {@link TemplateAvailabilityProvider} that provides availability information * {@link TemplateAvailabilityProvider} that provides availability information for
* for FreeMarker view templates * FreeMarker view templates
* *
* @author Andy Wilkinson * @author Andy Wilkinson
* * @since 1.1.0
*/ */
public class FreeMarkerTemplateAvailabilityProvider implements public class FreeMarkerTemplateAvailabilityProvider implements
TemplateAvailabilityProvider { TemplateAvailabilityProvider {
@ -34,15 +34,16 @@ public class FreeMarkerTemplateAvailabilityProvider implements
@Override @Override
public boolean isTemplateAvailable(String view, Environment environment, public boolean isTemplateAvailable(String view, Environment environment,
ClassLoader classLoader, ResourceLoader resourceLoader) { ClassLoader classLoader, ResourceLoader resourceLoader) {
if (ClassUtils.isPresent("freemarker.template.Configuration", if (ClassUtils.isPresent("freemarker.template.Configuration", classLoader)) {
classLoader)) { String loaderPath = environment.getProperty(
String loaderPath = environment.getProperty("spring.freemarker.templateLoaderPath", "spring.freemarker.templateLoaderPath",
FreeMarkerAutoConfiguration.DEFAULT_TEMPLATE_LOADER_PATH); FreeMarkerAutoConfiguration.DEFAULT_TEMPLATE_LOADER_PATH);
String prefix = environment.getProperty("spring.freemarker.prefix", String prefix = environment.getProperty("spring.freemarker.prefix",
FreeMarkerAutoConfiguration.DEFAULT_PREFIX); FreeMarkerAutoConfiguration.DEFAULT_PREFIX);
String suffix = environment.getProperty("spring.freemarker.suffix", String suffix = environment.getProperty("spring.freemarker.suffix",
FreeMarkerAutoConfiguration.DEFAULT_SUFFIX); FreeMarkerAutoConfiguration.DEFAULT_SUFFIX);
return resourceLoader.getResource(loaderPath + prefix + view + suffix).exists(); return resourceLoader.getResource(loaderPath + prefix + view + suffix)
.exists();
} }
return false; return false;
} }

View File

@ -26,7 +26,7 @@ import org.springframework.util.ClassUtils;
* Thymeleaf view templates * Thymeleaf view templates
* *
* @author Andy Wilkinson * @author Andy Wilkinson
* * @since 1.1.0
*/ */
public class ThymeleafTemplateAvailabilityProvider implements public class ThymeleafTemplateAvailabilityProvider implements
TemplateAvailabilityProvider { TemplateAvailabilityProvider {

View File

@ -21,6 +21,13 @@ import org.springframework.core.env.Environment;
import org.springframework.core.io.ResourceLoader; import org.springframework.core.io.ResourceLoader;
import org.springframework.util.ClassUtils; import org.springframework.util.ClassUtils;
/**
* {@link TemplateAvailabilityProvider} that provides availability information for JSP
* view templates
*
* @author Andy Wilkinson
* @since 1.1.0
*/
public class JspTemplateAvailabilityProvider implements TemplateAvailabilityProvider { public class JspTemplateAvailabilityProvider implements TemplateAvailabilityProvider {
@Override @Override

View File

@ -66,7 +66,7 @@ public class SampleController {
private String value; private String value;
public String getValue() { public String getValue() {
return value; return this.value;
} }
public void setValue(String value) { public void setValue(String value) {
@ -74,5 +74,4 @@ public class SampleController {
} }
} }
} }

View File

@ -28,9 +28,8 @@ import org.springframework.transaction.annotation.EnableTransactionManagement;
* The GemstoneAppConfiguration class for allowing Spring Boot to pickup additional * The GemstoneAppConfiguration class for allowing Spring Boot to pickup additional
* application Spring configuration meta-data for GemFire, which must be specified in * application Spring configuration meta-data for GemFire, which must be specified in
* Spring Data GemFire's XML namespace. * Spring Data GemFire's XML namespace.
* <p/> *
* @author John Blum * @author John Blum
* @since 1.1.0
*/ */
@Configuration @Configuration
@ImportResource("/spring-data-gemfire-cache.xml") @ImportResource("/spring-data-gemfire-cache.xml")

View File

@ -20,17 +20,20 @@ import org.springframework.core.env.Environment;
import org.springframework.core.io.ResourceLoader; import org.springframework.core.io.ResourceLoader;
/** /**
* A {@code TemplateAvailabilityProvider} indicates the availability of view templates for * Indicates the availability of view templates for a particular templating engine such as
* a particular templating engine such as FreeMarker or Thymeleaf * FreeMarker or Thymeleaf
* *
* @author Andy Wilkinson * @author Andy Wilkinson
* * @since 1.1.0
*/ */
public interface TemplateAvailabilityProvider { public interface TemplateAvailabilityProvider {
/** /**
* Returns {@code true} if a template is available for the given {@code view}, * Returns {@code true} if a template is available for the given {@code view}.
* otherwise {@code false} is returned. * @param view the view name
* @param environment the environment
* @param classLoader the class loader
* @param resourceLoader the resource loader
*/ */
boolean isTemplateAvailable(String view, Environment environment, boolean isTemplateAvailable(String view, Environment environment,
ClassLoader classLoader, ResourceLoader resourceLoader); ClassLoader classLoader, ResourceLoader resourceLoader);