+ mappingItem.getIntAttrName() + "'");
}
}
if (virAttr.getValues() != null) {
for (String value : virAttr.getValues()) {
attrValue = new UAttrValue();
attrValue.setStringValue(value);
values.add(attrValue);
}
}
}
LOG.debug("Retrieved {} virtual attribute {}"
+ "\n* IntAttrName {}"
+ "\n* IntMappingType {}"
+ "\n* Attribute values {}",
attributable.getClass().getSimpleName(),
virAttr, mappingItem.getIntAttrName(), mappingItem.getIntMappingType(), values);
}
break;
case MembershipVirtualSchema:
for (AbstractAttributable attributable : attributables) {
AbstractVirAttr virAttr = attributable.getVirAttr(mappingItem.getIntAttrName());
if (virAttr != null) {
if (membVAttrsToBeRemoved != null && membVAttrsToBeUpdated != null) {
if (membVAttrsToBeUpdated.containsKey(mappingItem.getIntAttrName())) {
virAttr.setValues(
membVAttrsToBeUpdated.get(mappingItem.getIntAttrName()).getValuesToBeAdded());
} else if (membVAttrsToBeRemoved.contains(mappingItem.getIntAttrName())) {
virAttr.getValues().clear();
} else {
throw new IllegalArgumentException("Don't need to update membership virtual attribute '"
+ mappingItem.getIntAttrName() + "'");
}
}
if (virAttr.getValues() != null) {
for (String value : virAttr.getValues()) {
attrValue = new UAttrValue();
attrValue.setStringValue(value);
values.add(attrValue);
}
}
}
LOG.debug("Retrieved {} virtual attribute {}"
+ "\n* IntAttrName {}"
+ "\n* IntMappingType {}"
+ "\n* Attribute values {}",
attributable.getClass().getSimpleName(),
virAttr, mappingItem.getIntAttrName(), mappingItem.getIntMappingType(), values);
}
break;
case UserDerivedSchema:
case RoleDerivedSchema:
case MembershipDerivedSchema:
for (AbstractAttributable attributable : attributables) {
AbstractDerAttr derAttr = attributable.getDerAttr(mappingItem.getIntAttrName());
if (derAttr != null) {
attrValue = (attributable instanceof SyncopeRole)
? new RAttrValue() : new UAttrValue();
attrValue.setStringValue(derAttr.getValue(attributable.getAttrs()));
values.add(attrValue);
}
LOG.debug("Retrieved attribute {}"
+ "\n* IntAttrName {}"
+ "\n* IntMappingType {}"
+ "\n* Attribute values {}",
derAttr, mappingItem.getIntAttrName(), mappingItem.getIntMappingType(), values);
}
break;
case UserId:
case RoleId:
case MembershipId:
for (AbstractAttributable attributable : attributables) {
attrValue = new UAttrValue();
attrValue.setStringValue(attributable.getId().toString());
values.add(attrValue);
}
break;
case Username:
for (AbstractAttributable attributable : attributables) {
if (attributable instanceof SyncopeUser) {
attrValue = new UAttrValue();
attrValue.setStringValue(((SyncopeUser) attributable).getUsername());
values.add(attrValue);
}
}
break;