def initConfigEngine(self): self.configDataAccessService = ConfigDataAccessService(self._daoEngine.connection) self.configEngine = ConfigEngine(self.configDataAccessService)
class ApplicationManager(object): def __init__(self): self._daoEngine = None self.dataAccessService = None self.configEngine = None self.indexingService = None self.searchService = None self.initServices() def initServices(self): """ DAO ENGINE """ dbPath = copy(storageManager.appFilePath) self._daoEngine = DaoEngine(dbPath) """ CONFIG ENGINE configEngine reads current configuration """ self.initConfigEngine() """ DATA ACCESS SERVICE """ self.initDataAccessService() """ INDEXING SERVICE """ # for the indexing service we need a different connection conn = self._daoEngine.getNewConnection() self.indexingService = IndexingService(self.configEngine.config, conn) """ SEARCH SERVICE """ # for the indexing service we need a different connection conn = self._daoEngine.connection self.searchService = SearchService(conn) def initConfigEngine(self): self.configDataAccessService = ConfigDataAccessService(self._daoEngine.connection) self.configEngine = ConfigEngine(self.configDataAccessService) def initDataAccessService(self): self._daoEngine.initUserStorage(self.configEngine.config) self.dataAccessService = DataAccessService(self._daoEngine.connection) def updateConfiguration(self, newConfig): t0 = time() self.configEngine.update(newConfig) t1 = time() print "configEngineUpdate %f" % (t1 - t0,) t0 = time() self.initDataAccessService() t1 = time() print "initDataAccess %f" % (t1 - t0,) @property def appStorageDir(self): return copy(storageManager.appFolderPath) @property def appFileName(self): return copy(storageManager.appFileName) @property def appFilePath(self): return copy(storageManager.appFilePath) def createBackup(self, backupPath): storageManager.createBackup(backupPath) def restoreBackup(self, backupPath): storageManager.restoreBackup(backupPath) def indexData(self): self.indexingService.indexData()