/** * {@inheritDoc} */ public void setListener(final DataSourceListener dataSourceListener) { if (dataSourceListener == null) { repository.setListener(null); } else { repository.setListener(new Listener() { @Override public void onChange() { dataSourceListener.onDeploymentAdded(); } }); } }
/** * {@inheritDoc} */ public void setListener(final DataSourceListener dataSourceListener) { if (dataSourceListener == null) { repository.setListener(null); } else { repository.setListener(new Listener() { @Override public void onChange() { dataSourceListener.onDeploymentAdded(); } }); } }
/** * destroy-method */ public synchronized void destroy() throws Exception { if (repository != null) { repository.setListener(null); if (repository instanceof Closeable) { ((Closeable) repository).close(); } repository = null; } synchronized (projects) { projects.clear(); projectsVersions.clear(); } }
private synchronized void init() { if (repository != null) { return; } try { repository = createConnection(config); rulesLocation = config.get(RULES_LOCATION_CONFIG_NAME).toString(); deploymentConfigurationLocation = config.get(DEPLOYMENT_CONFIGURATION_LOCATION_CONFIG_NAME).toString(); addListener(new DesignTimeRepositoryListener() { @Override public void onRepositoryModified() { synchronized (projects) { projects.clear(); projectsVersions.clear(); } } }); } catch (RRepositoryException e) { log.error("Cannot init DTR! {}", e.getMessage(), e); throw new IllegalStateException("Can't initialize Design Repository.", e); } repository.setListener(new RepositoryListener(listeners)); }