Browse Source

added convenient "checkRefresh" bean property to TilesConfigurer (SPR-7225)

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3357 50f2f4bb-b051-0410-bef5-90022cba6387
pull/1/head
Juergen Hoeller 16 years ago
parent
commit
de0d62ce93
  1. 37
      org.springframework.web.servlet/src/main/java/org/springframework/web/servlet/view/tiles2/TilesConfigurer.java
  2. 1
      org.springframework.web.servlet/src/test/java/org/springframework/web/servlet/view/tiles2/TilesConfigurerTests.java

37
org.springframework.web.servlet/src/main/java/org/springframework/web/servlet/view/tiles2/TilesConfigurer.java

@ -40,6 +40,8 @@ import org.apache.tiles.definition.DefinitionsFactory; @@ -40,6 +40,8 @@ import org.apache.tiles.definition.DefinitionsFactory;
import org.apache.tiles.definition.DefinitionsFactoryException;
import org.apache.tiles.definition.DefinitionsReader;
import org.apache.tiles.definition.Refreshable;
import org.apache.tiles.definition.dao.BaseLocaleUrlDefinitionDAO;
import org.apache.tiles.definition.dao.CachingLocaleUrlDefinitionDAO;
import org.apache.tiles.definition.digester.DigesterDefinitionsReader;
import org.apache.tiles.evaluator.AttributeEvaluator;
import org.apache.tiles.evaluator.el.ELAttributeEvaluator;
@ -127,6 +129,8 @@ public class TilesConfigurer implements ServletContextAware, InitializingBean, D @@ -127,6 +129,8 @@ public class TilesConfigurer implements ServletContextAware, InitializingBean, D
private String[] definitions;
private boolean checkRefresh = false;
private boolean validateDefinitions = true;
private Class<? extends DefinitionsFactory> definitionsFactoryClass;
@ -222,6 +226,16 @@ public class TilesConfigurer implements ServletContextAware, InitializingBean, D @@ -222,6 +226,16 @@ public class TilesConfigurer implements ServletContextAware, InitializingBean, D
}
}
/**
* Set whether to check Tiles definition files for a refresh at runtime.
* Default is "false".
*/
public void setCheckRefresh(boolean checkRefresh) {
this.checkRefresh = checkRefresh;
this.tilesPropertyMap.put(CachingLocaleUrlDefinitionDAO.CHECK_REFRESH_INIT_PARAMETER,
Boolean.toString(checkRefresh));
}
/**
* Set whether to validate the Tiles XML definitions. Default is "true".
*/
@ -417,6 +431,17 @@ public class TilesConfigurer implements ServletContextAware, InitializingBean, D @@ -417,6 +431,17 @@ public class TilesConfigurer implements ServletContextAware, InitializingBean, D
}
}
@Override
protected BaseLocaleUrlDefinitionDAO instantiateLocaleDefinitionDao(TilesApplicationContext applicationContext,
TilesRequestContextFactory contextFactory, LocaleResolver resolver) {
BaseLocaleUrlDefinitionDAO dao = super.instantiateLocaleDefinitionDao(
applicationContext, contextFactory, resolver);
if (checkRefresh && dao instanceof CachingLocaleUrlDefinitionDAO) {
((CachingLocaleUrlDefinitionDAO) dao).setCheckRefresh(checkRefresh);
}
return dao;
}
@Override
protected DefinitionsReader createDefinitionsReader(TilesApplicationContext applicationContext,
TilesRequestContextFactory contextFactory) {
@ -429,12 +454,6 @@ public class TilesConfigurer implements ServletContextAware, InitializingBean, D @@ -429,12 +454,6 @@ public class TilesConfigurer implements ServletContextAware, InitializingBean, D
return reader;
}
@Override
protected LocaleResolver createLocaleResolver(TilesApplicationContext applicationContext,
TilesRequestContextFactory contextFactory) {
return new SpringLocaleResolver();
}
@Override
protected DefinitionsFactory createDefinitionsFactory(TilesApplicationContext applicationContext,
TilesRequestContextFactory contextFactory, LocaleResolver resolver) {
@ -471,6 +490,12 @@ public class TilesConfigurer implements ServletContextAware, InitializingBean, D @@ -471,6 +490,12 @@ public class TilesConfigurer implements ServletContextAware, InitializingBean, D
return super.createPreparerFactory(applicationContext, contextFactory);
}
}
@Override
protected LocaleResolver createLocaleResolver(TilesApplicationContext applicationContext,
TilesRequestContextFactory contextFactory) {
return new SpringLocaleResolver();
}
}

1
org.springframework.web.servlet/src/test/java/org/springframework/web/servlet/view/tiles2/TilesConfigurerTests.java

@ -37,6 +37,7 @@ public class TilesConfigurerTests { @@ -37,6 +37,7 @@ public class TilesConfigurerTests {
MockServletContext sc = new MockServletContext();
TilesConfigurer tc = new TilesConfigurer();
tc.setDefinitions(new String[] {"/org/springframework/web/servlet/view/tiles2/tiles-definitions.xml"});
tc.setCheckRefresh(true);
tc.setServletContext(sc);
tc.afterPropertiesSet();

Loading…
Cancel
Save