public RoleProvider getRoleProvider(String deploymentName, String roleProviderName) { NodeFilter filter = new NodeFilter().setDeployment(deploymentName).setSecurity().setRoleProvider(roleProviderName); return lookupService.getSingularNodeOrDefault(filter, RoleProvider.class, () -> { try { return GroupMembership.translateRoleProviderType(roleProviderName).newInstance(); } catch (InstantiationException | IllegalAccessException e) { throw new RuntimeException(e); } }, n -> setRoleProvider(deploymentName, n)); }
public RoleProvider getRoleProvider(String deploymentName, String roleProviderName) { NodeFilter filter = new NodeFilter().setDeployment(deploymentName).setSecurity().setRoleProvider(roleProviderName); return lookupService.getSingularNodeOrDefault(filter, RoleProvider.class, () -> { try { return GroupMembership.translateRoleProviderType(roleProviderName).newInstance(); } catch (InstantiationException | IllegalAccessException e) { throw new RuntimeException(e); } }, n -> setRoleProvider(deploymentName, n)); }
@RequestMapping(value = "/authz/groupMembership/{roleProviderName:.+}", method = RequestMethod.PUT) DaemonTask<Halconfig, Void> setRoleProvider(@PathVariable String deploymentName, @PathVariable String roleProviderName, @ModelAttribute ValidationSettings validationSettings, @RequestBody Object rawProvider) { RoleProvider roleProvider = objectMapper.convertValue( rawProvider, GroupMembership.translateRoleProviderType(roleProviderName) ); return GenericUpdateRequest.<RoleProvider>builder(halconfigParser) .stagePath(halconfigDirectoryStructure.getStagingPath(deploymentName)) .updater(r -> securityService.setRoleProvider(deploymentName, r)) .validator(() -> securityService.validateRoleProvider(deploymentName, roleProviderName)) .description("Edit " + roleProviderName + " group membership settings") .build() .execute(validationSettings, roleProvider); }