| | |
| | | return endpointAuthzMechanisms; |
| | | } |
| | | |
| | | private void rebindStartedApplications(DN authorizationFilterDN) |
| | | private void rebindStartedApplications(DN authorizationFilterDN, ConfigChangeResult ccr) |
| | | { |
| | | final RootCfg rootConfiguration = serverContext.getRootConfig(); |
| | | for (String endpointName : rootConfiguration.listHTTPEndpoints()) |
| | |
| | | } |
| | | catch (ConfigException e) |
| | | { |
| | | LOGGER.error(ERR_CONFIG_HTTPENDPOINT_UNABLE_TO_START.get(endpointName, stackTraceToSingleLineString(e)), e); |
| | | ccr.setResultCode(DirectoryServer.getServerErrorResultCode()); |
| | | ccr.addMessage(ERR_CONFIG_HTTPENDPOINT_UNABLE_TO_START.get(endpointName, stackTraceToSingleLineString(e))); |
| | | continue; |
| | | } |
| | | } |
| | |
| | | @Override |
| | | public ConfigChangeResult applyConfigurationDelete(HTTPAuthorizationMechanismCfg configuration) |
| | | { |
| | | doConfigurationDelete(configuration); |
| | | final ConfigChangeResult ccr = new ConfigChangeResult(); |
| | | rebindStartedApplications(configuration.dn(), ccr); |
| | | return ccr; |
| | | } |
| | | |
| | | private void doConfigurationDelete(HTTPAuthorizationMechanismCfg configuration) |
| | | { |
| | | authzFilters.remove(configuration.dn()); |
| | | rebindStartedApplications(configuration.dn()); |
| | | return new ConfigChangeResult(); |
| | | } |
| | | |
| | | @Override |
| | |
| | | try |
| | | { |
| | | authzFilters.put(configuration.dn(), authzFilterFactory.newInstance(configuration)); |
| | | rebindStartedApplications(configuration.dn()); |
| | | rebindStartedApplications(configuration.dn(), ccr); |
| | | } |
| | | catch (InitializationException ie) |
| | | { |
| | |
| | | @Override |
| | | public ConfigChangeResult applyConfigurationChange(HTTPAuthorizationMechanismCfg configuration) |
| | | { |
| | | final ConfigChangeResult deleteResult = applyConfigurationDelete(configuration); |
| | | if (deleteResult.getResultCode().isExceptional() || !configuration.isEnabled()) |
| | | { |
| | | return deleteResult; |
| | | } |
| | | doConfigurationDelete(configuration); |
| | | return applyConfigurationAdd(configuration); |
| | | } |
| | | } |