public Builder virAttr(final Attr virAttr) { instance.getVirAttrs().add(virAttr); return this; }
public Builder virAttrs(final Collection<Attr> virAttrs) { instance.getVirAttrs().addAll(virAttrs); return this; }
public Builder virAttrs(final Attr... virAttrs) { instance.getVirAttrs().addAll(Arrays.asList(virAttrs)); return this; }
@Override protected List<Attr> getAttrsFromTO(final MembershipTO membershipTO) { return membershipTO.getVirAttrs().stream().sorted(attrComparator).collect(Collectors.toList()); }
private static void diff( final MembershipTO updated, final MembershipPatch result) { // 1. plain attributes result.getPlainAttrs().addAll(updated.getPlainAttrs().stream(). filter(attrTO -> !isEmpty(attrTO)). collect(Collectors.toSet())); // 2. virtual attributes result.getVirAttrs().clear(); result.getVirAttrs().addAll(updated.getVirAttrs()); }
private static void diff( final MembershipTO updated, final MembershipUR result) { // 1. plain attributes result.getPlainAttrs().addAll(updated.getPlainAttrs().stream(). filter(attr -> !isEmpty(attr)). collect(Collectors.toSet())); // 2. virtual attributes result.getVirAttrs().clear(); result.getVirAttrs().addAll(updated.getVirAttrs()); }
@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().getVirAttrs()); } else { attrMap = new HashMap<>(); } attrs.addAll(membershipSchemas.get(membershipTO.getGroupKey()).values().stream().map(schema -> { Attr attrTO = new Attr(); attrTO.setSchema(schema.getKey()); if (attrMap.containsKey(schema.getKey())) { attrTO.getValues().addAll(attrMap.get(schema.getKey()).getValues()); } else { attrTO.getValues().add(StringUtils.EMPTY); } return attrTO; }).collect(Collectors.toList())); membershipTO.getVirAttrs().clear(); membershipTO.getVirAttrs().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; }
private void completeUserObject(final UserTO userTO, final UserTO selfTO) { // memberships plain and virtual attrs userTO.getMemberships().forEach(updatedTOMemb -> { selfTO.getMemberships().stream(). filter(oldTOMemb -> updatedTOMemb.getGroupKey().equals(oldTOMemb.getGroupKey())). findFirst().ifPresent(oldTOMatchedMemb -> { if (!updatedTOMemb.getPlainAttrs().isEmpty()) { completeAttrs(updatedTOMemb.getPlainAttrs(), oldTOMatchedMemb.getPlainAttrs()); } if (!updatedTOMemb.getVirAttrs().isEmpty()) { completeAttrs(updatedTOMemb.getVirAttrs(), oldTOMatchedMemb.getVirAttrs()); } }); }); // plain attrs completeAttrs(userTO.getPlainAttrs(), selfTO.getPlainAttrs()); // virtual attrs completeAttrs(userTO.getVirAttrs(), selfTO.getVirAttrs()); }
private void completeUserObject(final UserTO userTO, final UserTO selfTO) { // memberships plain and virtual attrs userTO.getMemberships().forEach(updatedTOMemb -> { selfTO.getMemberships().stream(). filter(oldTOMemb -> updatedTOMemb.getGroupKey().equals(oldTOMemb.getGroupKey())). findFirst().ifPresent(oldTOMatchedMemb -> { if (!updatedTOMemb.getPlainAttrs().isEmpty()) { completeAttrs(updatedTOMemb.getPlainAttrs(), oldTOMatchedMemb.getPlainAttrs()); } if (!updatedTOMemb.getVirAttrs().isEmpty()) { completeAttrs(updatedTOMemb.getVirAttrs(), oldTOMatchedMemb.getVirAttrs()); } }); }); // plain attrs completeAttrs(userTO.getPlainAttrs(), selfTO.getPlainAttrs()); // virtual attrs completeAttrs(userTO.getVirAttrs(), selfTO.getVirAttrs()); }
filter(attr -> uMemb.getPlainAttr(attr.getSchema()).isPresent()). forEach(attr -> uMemb.getPlainAttrs().add(attr)); oMemb.getVirAttrs().stream(). filter(attr -> uMemb.getVirAttr(attr.getSchema()).isPresent()). forEach(attr -> uMemb.getVirAttrs().add(attr)); }); }); GroupableRelatableTO.class.cast(updated).getMemberships().forEach(memb -> { memb.getPlainAttrs().removeIf(attr -> attr.getValues().isEmpty()); memb.getVirAttrs().removeIf(attr -> attr.getValues().isEmpty()); });
}); membership.getDerAttrs().clear(); membership.getVirAttrs().stream().map((attr) -> { attr.setSchema(groupName.concat(SyncopeEnduserConstants.MEMBERSHIP_ATTR_SEPARATOR). concat(attr.getSchema())); userTO.getVirAttrs().add(attr); }); membership.getVirAttrs().clear();
}); membership.getDerAttrs().clear(); membership.getVirAttrs().stream().map((attr) -> { attr.setSchema(groupName.concat(SyncopeEnduserConstants.MEMBERSHIP_ATTR_SEPARATOR). concat(attr.getSchema())); userTO.getVirAttrs().add(attr); }); membership.getVirAttrs().clear();
membership.getVirAttrs().add(clone); membAttrs.add(attr); });
newMembershipTO.getVirAttrs().addAll(membPatch.getVirAttrs());
membership.getVirAttrs().add(clone); membAttrs.add(attr); });
membership.getVirAttrs().add(clone); membAttrs.add(attr); });
return newMemb; }); membership.getVirAttrs().add(attrTO);
newMembershipTO.getVirAttrs().addAll(membPatch.getVirAttrs());
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; }