private DataFetcher adminAccountGroupMappingsFetcher() { return environment -> { Predicate<AccountGroupMapping> filter = agm -> true; // Filter on name Optional<String> nameArgument = GraphqlUtils.getStringArgument(environment, MAPPING_NAME_ARGUMENT); if (nameArgument.isPresent()) { filter = filter.and(agm -> StringUtils.equals(nameArgument.get(), agm.getName()) ); } // Filter on group Optional<String> groupArgument = GraphqlUtils.getStringArgument(environment, MAPPING_GROUP_ARGUMENT); if (groupArgument.isPresent()) { filter = filter.and(agm -> StringUtils.equals(groupArgument.get(), agm.getGroup().getName()) ); } // List return accountGroupMappingService.getMappings( GraphqlUtils.getStringArgument(environment, MAPPING_TYPE_ARGUMENT) .orElseThrow(() -> new IllegalStateException("Required argument: " + MAPPING_TYPE_ARGUMENT)) ) .stream() .filter(filter) .collect(Collectors.toList()); }; }
/** * Gets the form for the creation of a mapping */ @RequestMapping(value = "ldap-mapping/create", method = RequestMethod.GET) public Form getMappingCreationForm() { securityService.checkGlobalFunction(AccountGroupManagement.class); return AccountGroupMapping.form( accountService.getAccountGroups() ); }
filter = filter.and( group -> accountGroupMappingService.getMappingsForGroup(group).stream() .anyMatch(m -> StringUtils.equals(mapping, m.getName())) );
protected AccountGroupMapping toAccountGroupMapping(ResultSet rs, int rowNum) throws SQLException { return new AccountGroupMapping( id(rs), rs.getString("MAPPING"), rs.getString("SOURCE"), accountGroupRepository.getById(id(rs, "GROUPID")) ); } }
/** * Gets the form to update a mapping */ @RequestMapping(value = "ldap-mapping/{id}/update", method = RequestMethod.GET) public Form getMappingUpdateForm(@PathVariable ID id) { securityService.checkGlobalFunction(AccountGroupManagement.class); return accountGroupMappingService.getMapping(LDAPExtensionFeature.LDAP_GROUP_MAPPING, id).asForm( accountService.getAccountGroups() ); }
public Form asForm(List<AccountGroup> groups) { return form(groups) .fill("name", name) .fill("group", group.getId()); } }