@SuppressWarnings({"unchecked", "rawtypes"}) @Override public void removeGroup(Repository repository, String group) { final ConfigGroup thisRepositoryConfig = findRepositoryConfig(repository.getAlias()); if (thisRepositoryConfig != null) { final ConfigItem<List> groups = backward.compat(thisRepositoryConfig).getConfigItem("security:groups"); groups.getValue().remove(group); configurationService.updateConfiguration(thisRepositoryConfig); configuredRepositories.update(repositoryFactory.newRepository(thisRepositoryConfig)); } else { throw new IllegalArgumentException("Repository " + repository.getAlias() + " not found"); } }
@Override public Repository updateRepositoryConfiguration( final Repository repository, final RepositoryEnvironmentConfigurations repositoryEnvironmentConfigurations) { final ConfigGroup thisRepositoryConfig = findRepositoryConfig(repository.getAlias()); if (thisRepositoryConfig != null && repositoryEnvironmentConfigurations != null) { try { configurationService.startBatch(); for (final Map.Entry<String, Object> entry : repositoryEnvironmentConfigurations.getConfigurationMap().entrySet()) { ConfigItem configItem = thisRepositoryConfig.getConfigItem(entry.getKey()); if (configItem == null) { thisRepositoryConfig.addConfigItem( configurationFactory.newConfigItem(entry.getKey(), entry.getValue())); } else { configItem.setValue(entry.getValue()); } } configurationService.updateConfiguration(thisRepositoryConfig); final Repository updatedRepo = repositoryFactory.newRepository(thisRepositoryConfig); configuredRepositories.update(updatedRepo); return updatedRepo; } catch (final Exception e) { logger.error("Error during remove repository", e); throw new RuntimeException(e); } finally { configurationService.endBatch(); } } else { throw new IllegalArgumentException("Repository " + repository.getAlias() + " not found"); } }