View Javadoc
1   package net.avcompris.examples.users3.web;
2   
3   import static com.google.common.base.Preconditions.checkNotNull;
4   import static net.avcompris.commons3.dao.DbTablesUtils.composeActualDbTableName;
5   import static net.avcompris.examples.users3.dao.impl.DbTables.AUTH;
6   import static net.avcompris.examples.users3.dao.impl.DbTables.CORRELATIONS;
7   import static net.avcompris.examples.users3.dao.impl.DbTables.USERS;
8   
9   import org.springframework.context.annotation.Bean;
10  import org.springframework.context.annotation.Configuration;
11  
12  import net.avcompris.commons3.web.AbstractApplicationConfig;
13  
14  @Configuration
15  public class ApplicationConfig extends AbstractApplicationConfig {
16  
17  	private final RDSConfig rds = new RDSConfig();
18  
19  	@Bean(name = "rds")
20  	public RDSConfig getRDS() {
21  
22  		return rds;
23  	}
24  
25  	public static final class RDSConfig extends AbstractRDSConfig {
26  
27  		public RDSConfig() {
28  
29  			super( //
30  					"rds.url", //
31  					"rds.username", //
32  					"rds.password", //
33  					"rds.tableNamePrefix");
34  		}
35  
36  		public TableNames getTableNames() {
37  
38  			return new TableNames(getTableNamePrefix());
39  		}
40  	}
41  
42  	public static final class TableNames {
43  
44  		private final String tableNamePrefix;
45  
46  		private TableNames(final String tableNamePrefix) {
47  
48  			this.tableNamePrefix = checkNotNull(tableNamePrefix, "tableNamePrefix");
49  		}
50  
51  		public String getAuth() {
52  
53  			return composeActualDbTableName(tableNamePrefix, AUTH);
54  		}
55  
56  		public String getCorrelations() {
57  
58  			return composeActualDbTableName(tableNamePrefix, CORRELATIONS);
59  		}
60  
61  		public String getUsers() {
62  
63  			return composeActualDbTableName(tableNamePrefix, USERS);
64  		}
65  	}
66  }