1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 package org.apache.tiles.test.db;
23
24 import java.util.List;
25 import java.util.Locale;
26
27 import javax.sql.DataSource;
28
29 import org.apache.tiles.TilesApplicationContext;
30 import org.apache.tiles.context.ChainedTilesRequestContextFactory;
31 import org.apache.tiles.context.TilesRequestContextFactory;
32 import org.apache.tiles.definition.LocaleDefinitionsFactory;
33 import org.apache.tiles.definition.dao.DefinitionDAO;
34 import org.apache.tiles.factory.BasicTilesContainerFactory;
35 import org.apache.tiles.freemarker.context.FreeMarkerTilesRequestContextFactory;
36 import org.apache.tiles.locale.LocaleResolver;
37 import org.apache.tiles.velocity.context.VelocityTilesRequestContextFactory;
38
39
40 /***
41 * Test alternate Tiles container factory that uses a DB to store definitions.
42 *
43 * @version $Rev: 831448 $ $Date: 2009-10-30 21:39:52 +0100 (ven, 30 ott 2009) $
44 */
45 public class TestDbTilesContainerFactory extends BasicTilesContainerFactory {
46
47 /*** {@inheritDoc} */
48 @Override
49 protected DefinitionDAO<Locale> createLocaleDefinitionDao(TilesApplicationContext applicationContext,
50 TilesRequestContextFactory contextFactory,
51 LocaleResolver resolver) {
52 LocaleDbDefinitionDAO definitionDao = new LocaleDbDefinitionDAO();
53 definitionDao.setDataSource((DataSource) applicationContext
54 .getApplicationScope().get("dataSource"));
55 return definitionDao;
56 }
57
58 /*** {@inheritDoc} */
59 @Override
60 protected LocaleDefinitionsFactory instantiateDefinitionsFactory(
61 TilesApplicationContext applicationContext, TilesRequestContextFactory contextFactory,
62 LocaleResolver resolver) {
63 return new LocaleDefinitionsFactory();
64 }
65
66 /*** {@inheritDoc} */
67 @Override
68 protected List<TilesRequestContextFactory> getTilesRequestContextFactoriesToBeChained(
69 ChainedTilesRequestContextFactory parent) {
70 List<TilesRequestContextFactory> factories = super.getTilesRequestContextFactoriesToBeChained(parent);
71 registerRequestContextFactory(
72 FreeMarkerTilesRequestContextFactory.class.getName(),
73 factories, parent);
74 registerRequestContextFactory(
75 VelocityTilesRequestContextFactory.class.getName(),
76 factories, parent);
77 return factories;
78 }
79 }