package com.shkpr.service.aimodelpower.dbdao; import com.shkpr.service.aimodelpower.SpringContextUtil; import com.shkpr.service.aimodelpower.dbdao.shizilaishuiDataSource.service.intef.WaterCollecationService; import com.shkpr.service.aimodelpower.dbdao.shizilaishuiDataSource.service.intef.WaterTapWaterService; import com.shkpr.service.aimodelpower.dbdao.services.intef.*; public class DBMgrProxy { private volatile RolePowerDBService rolePowerDBService = null; private volatile PartitionInfoDBService partitionInfoDBService = null; private volatile RoleInfoDBService roleInfoDBService = null; private volatile UserDBService userDBService = null; private volatile FileAttachmentDBService fileAttachmentDBService = null; private volatile TypeDefineDBService typeDefineDBService = null; private volatile TestGeomInfoDBService testGeomInfoDBService = null; private volatile WODispatchPlanDBService woDispatchPlanDBService = null; private volatile WODispatchCmdBatchItemDBService woDispatchCmdBatchItemDBService = null; private volatile WODispatchCmdInfoDBService woDispatchCmdInfoDBService = null; private volatile WODispatchDatabaseDBService woDispatchDatabaseDBService = null; private volatile WODispatchDatabaseDisposalDBService woDispatchDatabaseDisposalDBService= null; //TODO 其他数据源 private volatile WaterTapWaterService waterTapWaterService = null; private volatile WaterCollecationService waterCollecationService = null; private static volatile DBMgrProxy msInstance = null; public static DBMgrProxy getInstance(){ if (msInstance == null){ synchronized (DBMgrProxy.class){ if (msInstance == null) msInstance = new DBMgrProxy(); } } return msInstance; } private DBMgrProxy() { } public void init(){ if (rolePowerDBService == null) rolePowerDBService = (RolePowerDBService)SpringContextUtil.getBean(RolePowerDBService.class); if (partitionInfoDBService == null) partitionInfoDBService = (PartitionInfoDBService)SpringContextUtil.getBean(PartitionInfoDBService.class); if (roleInfoDBService == null) roleInfoDBService = (RoleInfoDBService)SpringContextUtil.getBean(RoleInfoDBService.class); if (userDBService == null) userDBService = (UserDBService)SpringContextUtil.getBean(UserDBService.class); if (fileAttachmentDBService == null) fileAttachmentDBService = (FileAttachmentDBService)SpringContextUtil.getBean(FileAttachmentDBService.class); if (typeDefineDBService == null) typeDefineDBService = (TypeDefineDBService)SpringContextUtil.getBean(TypeDefineDBService.class); if (waterTapWaterService == null) waterTapWaterService = (WaterTapWaterService)SpringContextUtil.getBean(WaterTapWaterService.class); if (waterCollecationService == null) waterCollecationService = (WaterCollecationService)SpringContextUtil.getBean(WaterCollecationService.class); if (woDispatchPlanDBService == null) woDispatchPlanDBService = (WODispatchPlanDBService)SpringContextUtil.getBean(WODispatchPlanDBService.class); if (woDispatchCmdBatchItemDBService == null) woDispatchCmdBatchItemDBService = (WODispatchCmdBatchItemDBService) SpringContextUtil.getBean(WODispatchCmdBatchItemDBService.class); if (woDispatchCmdInfoDBService == null) woDispatchCmdInfoDBService = (WODispatchCmdInfoDBService) SpringContextUtil.getBean(WODispatchCmdInfoDBService.class); if (woDispatchDatabaseDBService == null) woDispatchDatabaseDBService = (WODispatchDatabaseDBService) SpringContextUtil.getBean(WODispatchDatabaseDBService.class); if (woDispatchDatabaseDisposalDBService == null) woDispatchDatabaseDisposalDBService = (WODispatchDatabaseDisposalDBService) SpringContextUtil.getBean(WODispatchDatabaseDisposalDBService.class); } public RolePowerDBService applyRolePowerApi() {return rolePowerDBService;} public PartitionInfoDBService applyPartitionApi() {return partitionInfoDBService;} public RoleInfoDBService applyRoleInfoApi() {return roleInfoDBService;} public UserDBService applyUserInfoApi() {return userDBService;} public FileAttachmentDBService applyFileAttachmentApi() {return fileAttachmentDBService;} public TypeDefineDBService applyTypeDefineApi() { return typeDefineDBService; } public TestGeomInfoDBService applyTestGeomApi() {return testGeomInfoDBService;} public WaterTapWaterService applyWaterTapWaterService() {return waterTapWaterService;} public WaterCollecationService applyWaterCollecationService() {return waterCollecationService;} public WODispatchPlanDBService applyWODispatchPlanApi() {return woDispatchPlanDBService;} public WODispatchCmdBatchItemDBService applyWODispatchItemApi() {return woDispatchCmdBatchItemDBService;} public WODispatchCmdInfoDBService applyWODispatchCmdApi() {return woDispatchCmdInfoDBService;} public WODispatchDatabaseDBService applyWODispatchDatabaseApi() {return woDispatchDatabaseDBService;} public WODispatchDatabaseDisposalDBService applyWODispatchDatabaseDisposalApi() {return woDispatchDatabaseDisposalDBService;} }