/** {@inheritDoc} */ @Override public Set<String> toLDAPAttributeTypes(final AttributePath scimAttribute) throws InvalidResourceException { String subAttributeName = scimAttribute.getSubAttributeName(); if (subAttributeName != null) { // Just to make sure the sub-attribute is a valid one for this attribute. descriptor.getSubAttribute(subAttributeName); } return Collections.singleton(ATTR_MANAGER); }
/** {@inheritDoc} */ @Override public SCIMAttribute toSCIMAttribute( final Entry entry, final LDAPRequestInterface ldapInterface, final LDAPSearchResolver searchResolver) throws SCIMException { if (entry.hasAttribute(ATTR_MANAGER)) { final String dn = entry.getAttributeValue(ATTR_MANAGER); final String resourceID = searchResolver.getIdFromDn(ldapInterface, dn); final List<SCIMAttribute> attributes = new ArrayList<SCIMAttribute>(1); attributes.add( SCIMAttribute.create( descriptor.getSubAttribute("managerId"), SCIMAttributeValue.createStringValue(resourceID))); return SCIMAttribute.create(descriptor, SCIMAttributeValue.createComplexValue(attributes)); } return null; }