@Transactional(readOnly = false) public Object doWork(Session session, ServiceFactory sf) { IConfig config = sf.getConfigService(); if (managerUuid == null || managerUuid.length() == 0) { config.setConfigValue(REDIRECT.value, null); return true; } else { return config.setConfigValueIfEquals( REDIRECT.value, managerUuid, null); } } });
@Transactional(readOnly = true) public Object doWork(Session session, ServiceFactory sf) { return sf.getConfigService().getConfigValue( REDIRECT.value); } });
/** * Set read-only status in the current configuration. * @param iConfig the configuration service * @param readOnly the read-only status */ public ReadOnlyConfigInit(IConfig iConfig, ReadOnlyStatus readOnly) { iConfig.setConfigValue(KEY_PREFIX + "db", Boolean.toString(readOnly.isReadOnlyDb())); iConfig.setConfigValue(KEY_PREFIX + "repo", Boolean.toString(readOnly.isReadOnlyRepo())); } }
private String handleFileMaker() throws Exception { if (fileMaker.needsInit()) { fileMaker.init(sf.getConfigService().getDatabaseUuid(), readOnly.isReadOnlyRepo()); } String line = null; try { line = fileMaker.getLine(); } catch (OverlappingFileLockException ofle) { InternalRepositoryPrx[] repos = reg.lookupRepositories(); InternalRepositoryPrx prx = null; if (repos != null) { for (int i = 0; i < repos.length; i++) { if (repos[i] != null) { if (repos[i].toString().contains(repoUuid)) { prx = repos[i]; } } } } if (prx == null) { fileMaker.close(); FileMaker newFileMaker = new FileMaker(new File( fileMaker.getDir()).getAbsolutePath()); fileMaker.init(sf.getConfigService().getDatabaseUuid(), readOnly.isReadOnlyRepo()); line = newFileMaker.getLine(); } } return line; }