@Override protected List<Attr> getAttrsFromTO(final MembershipTO membershipTO) { return membershipTO.getDerAttrs().stream().sorted(attrComparator).collect(Collectors.toList()); }
@Override protected void setAttrs(final MembershipTO membershipTO) { List<Attr> attrs = new ArrayList<>(); final Map<String, Attr> attrMap; if (GroupableRelatableTO.class.cast(anyTO).getMembership(membershipTO.getGroupKey()).isPresent()) { attrMap = EntityTOUtils.buildAttrMap(GroupableRelatableTO.class.cast(anyTO) .getMembership(membershipTO.getGroupKey()).get().getDerAttrs()); } else { attrMap = new HashMap<>(); } membershipSchemas.get(membershipTO.getGroupKey()).values().forEach(schema -> { Attr attrTO = new Attr(); attrTO.setSchema(schema.getKey()); if (attrMap.containsKey(schema.getKey())) { attrTO.getValues().addAll(attrMap.get(schema.getKey()).getValues()); } attrs.add(attrTO); }); membershipTO.getDerAttrs().clear(); membershipTO.getDerAttrs().addAll(attrs); }
@SuppressWarnings("unchecked") private List<MembershipTO> loadMembershipAttrs() { List<MembershipTO> memberships = new ArrayList<>(); try { membershipSchemas.clear(); for (MembershipTO membership : (List<MembershipTO>) PropertyResolver.getPropertyField( "memberships", anyTO).get(anyTO)) { setSchemas(membership.getGroupKey(), anyTypeClassRestClient.list(getMembershipAuxClasses(membership, anyTO.getType())). stream().map(EntityTO::getKey).collect(Collectors.toList())); setAttrs(membership); if (AbstractAttrs.this instanceof PlainAttrs && !membership.getPlainAttrs().isEmpty()) { memberships.add(membership); } else if (AbstractAttrs.this instanceof DerAttrs && !membership.getDerAttrs().isEmpty()) { memberships.add(membership); } else if (AbstractAttrs.this instanceof VirAttrs && !membership.getVirAttrs().isEmpty()) { memberships.add(membership); } } } catch (WicketRuntimeException | IllegalArgumentException | IllegalAccessException ex) { // ignore } return memberships; }
}); membership.getPlainAttrs().clear(); membership.getDerAttrs().stream().map(attr -> { attr.setSchema(groupName.concat(SyncopeEnduserConstants.MEMBERSHIP_ATTR_SEPARATOR). concat(attr.getSchema())); userTO.getDerAttrs().add(attr); }); membership.getDerAttrs().clear(); membership.getVirAttrs().stream().map((attr) -> { attr.setSchema(groupName.concat(SyncopeEnduserConstants.MEMBERSHIP_ATTR_SEPARATOR).
}); membership.getPlainAttrs().clear(); membership.getDerAttrs().stream().map(attr -> { attr.setSchema(groupName.concat(SyncopeEnduserConstants.MEMBERSHIP_ATTR_SEPARATOR). concat(attr.getSchema())); userTO.getDerAttrs().add(attr); }); membership.getDerAttrs().clear(); membership.getVirAttrs().stream().map((attr) -> { attr.setSchema(groupName.concat(SyncopeEnduserConstants.MEMBERSHIP_ATTR_SEPARATOR).
membership.getDerAttrs().add(clone); membAttrs.add(attr); });
membership.getDerAttrs().add(clone); membAttrs.add(attr); });
membership.getDerAttrs().add(clone); membAttrs.add(attr); });
membership.getDerAttrs().add(clone); membAttrs.add(attr); });
return newMemb; }); membership.getDerAttrs().add(attrTO);
protected MembershipTO getMembershipTO( final Collection<? extends PlainAttr<?>> plainAttrs, final Map<DerSchema, String> derAttrs, final Map<VirSchema, List<String>> virAttrs, final Membership<? extends Any<?>> membership) { MembershipTO membershipTO = new MembershipTO.Builder(). group(membership.getRightEnd().getKey(), membership.getRightEnd().getName()). build(); plainAttrs.forEach(plainAttr -> { membershipTO.getPlainAttrs().add(new AttrTO.Builder(). schema(plainAttr.getSchema().getKey()). values(plainAttr.getValuesAsStrings()). build()); }); derAttrs.forEach((schema, value) -> { membershipTO.getDerAttrs().add(new AttrTO.Builder(). schema(schema.getKey()). value(value). build()); }); virAttrs.forEach((schema, values) -> { membershipTO.getVirAttrs().add(new AttrTO.Builder(). schema(schema.getKey()). values(values). build()); }); return membershipTO; }