Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public abstract class CiscoUCCXModule extends AbstractModule {
- private CoreDaoService coreDaoService;
- Logger logger = LoggerFactory.getLogger(CiscoUCCXModule.class);
- public CiscoUCCXModule() {
- super();
- }
- protected abstract Class<? extends com.netdesign.dao.cisco.general.CiscoStatisticsMapper> getCiscoStatisticsMapper();
- protected abstract Class<? extends com.netdesign.dao.cisco.general.AgentMapper> getAgentMapper();
- protected abstract Class<? extends com.netdesign.dao.cisco.general.GeneralMapper> getGeneralMapper();
- @Override
- protected void configure() {
- logger.info("Starting :" + getWallboardProviderClass());
- Names.bindProperties(this.binder(), getConnectionProperties());
- Builder builder = new Builder();
- builder.setDataSourceProviderType(getDataSourceProvider());
- builder.addMapperClasses(getCiscoStatisticsMapper());
- builder.addMapperClasses(getAgentMapper());
- builder.addMapperClasses(getGeneralMapper());
- builder.addTypeHandler(AgentStatus.class, AgentStatusTypeHandler.class);
- Module myBatisModule = builder.create();
- install(myBatisModule);
- bind(GeneralMapper.class).to(getGeneralMapper());
- bind(CiscoStatisticsMapper.class).to(getCiscoStatisticsMapper());
- bind(AgentMapper.class).to(getAgentMapper());
- bind(WallBoardDataProvider.class).to(getWallboardProviderClass());
- logger.info("Started:" + getWallboardProviderClass());
- }
- protected Class<? extends DataSourceProvider> getDataSourceProvider() {
- return DataSourceProvider.class;
- }
- protected abstract Class<? extends WallBoardDataProvider> getWallboardProviderClass();
- private Properties getConnectionProperties() {
- final Properties myBatisProperties = new Properties();
- CiscoUCCXWallBoardDataProvider ciscoWallBoardDataProvider = getWallboardProvider();
- Parameter parameterPassword = getCoreDaoService().getParameter(
- ciscoWallBoardDataProvider.providerUniqueID(),
- CiscoUCCXWallBoardDataProvider.PASSWORD);
- Parameter parameterUsername = getCoreDaoService().getParameter(
- ciscoWallBoardDataProvider.providerUniqueID(),
- CiscoUCCXWallBoardDataProvider.USERNAME);
- Parameter parameterServerIPA = getCoreDaoService().getParameter(
- ciscoWallBoardDataProvider.providerUniqueID(),
- CiscoUCCXWallBoardDataProvider.SERVER_IP_A);
- Parameter parameterServerIPB = null;
- try {
- parameterServerIPB = getCoreDaoService().getParameter(
- ciscoWallBoardDataProvider.providerUniqueID(),
- CiscoUCCXWallBoardDataProvider.SERVER_IP_B);
- } catch (Exception e) {
- parameterServerIPB = new Parameter();
- parameterServerIPB
- .setName(CiscoUCCXWallBoardDataProvider.SERVER_IP_B);
- parameterServerIPB.setValue("");
- }
- myBatisProperties.setProperty("mybatis.environment.id", "production");
- myBatisProperties.setProperty("mybatis.JDBC.username",
- parameterUsername.getValue());
- myBatisProperties.setProperty("mybatis.JDBC.password",
- parameterPassword.getValue());
- myBatisProperties.setProperty("mybatis.JDBC.autoCommit", "true");
- setupURLAndServer(myBatisProperties, parameterPassword,
- parameterUsername, parameterServerIPA, parameterServerIPB);
- setupCache(CacheManager.getInstance(), ciscoWallBoardDataProvider);
- return myBatisProperties;
- }
- protected abstract void setupURLAndServer(Properties myBatisProperties,
- Parameter parameterPassword, Parameter parameterUsername,
- Parameter parameterServerIPA, Parameter parameterServerIPB);
- protected abstract CiscoUCCXWallBoardDataProvider getWallboardProvider();
- private void setupCache(CacheManager cacheManager,
- CiscoUCCXWallBoardDataProvider ciscoWallBoardDataProvider) {
- ciscoWallBoardDataProvider.setCachemanager(cacheManager);
- try {
- Parameter parameterCache = getCoreDaoService().getParameter(
- ciscoWallBoardDataProvider.providerUniqueID(),
- CiscoUCCXWallBoardDataProvider.CACHE);
- ciscoWallBoardDataProvider.setupCache(Integer
- .parseInt(parameterCache.getValue()));
- } catch (NoResultException e) {
- logger.debug("Could not find cache settings, running with the driver the first time?");
- }
- }
- @Inject
- public void setCoreDaoService(CoreDaoService coreDaoService) {
- this.coreDaoService = coreDaoService;
- }
- public CoreDaoService getCoreDaoService() {
- return coreDaoService;
- }
- }
- public class CiscoV7Module extends CiscoUCCXModule implements
- WallBoardDriverModule {
- public CiscoV7Module() {
- }
- @Override
- protected Class<? extends DataSourceProvider> getDataSourceProvider() {
- return CiscoV7DataSourceProvider.class;
- }
- @Override
- protected Class<? extends AgentMapper> getAgentMapper() {
- return com.netdesign.dao.cisco.v7.uccx.AgentMapper.class;
- }
- @Override
- protected Class<? extends CiscoStatisticsMapper> getCiscoStatisticsMapper() {
- return com.netdesign.dao.cisco.v7.uccx.CiscoStatisticsMapper.class;
- }
- @Override
- protected Class<? extends GeneralMapper> getGeneralMapper() {
- return com.netdesign.dao.cisco.v7.uccx.GeneralMapper.class;
- }
- protected CiscoUCCXWallBoardDataProvider getWallboardProvider() {
- return new CiscoUCCX7WallBoardDataProvider();
- }
- protected Class<? extends CiscoUCCXWallBoardDataProvider> getWallboardProviderClass() {
- return CiscoUCCX7WallBoardDataProvider.class;
- }
- @Override
- protected void setupURLAndServer(Properties myBatisProperties,
- Parameter parameterPassword, Parameter parameterUsername,
- Parameter parameterServerIPA, Parameter parameterServerIPB) {
- myBatisProperties.setProperty("mybatis.JDBC.driver",
- "com.microsoft.sqlserver.jdbc.SQLServerDriver");
- myBatisProperties.setProperty("mybatis.JDBC.urlA",
- "jdbc:sqlserver://" + parameterServerIPA.getValue() + ";user="
- + parameterUsername.getValue() + ";password="
- + parameterPassword.getValue() + ";");
- if (parameterServerIPB != null) {
- myBatisProperties
- .setProperty("mybatis.JDBC.urlB", "jdbc:sqlserver://"
- + parameterServerIPB.getValue() + ";user="
- + parameterUsername.getValue() + ";password="
- + parameterPassword.getValue() + ";");
- } else {
- myBatisProperties.setProperty("mybatis.JDBC.urlB", "");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement