use of io.jans.orm.model.base.CustomObjectAttribute in project jans by JanssenProject.
the class ScimCustomPerson method setCustomAttribute.
public void setCustomAttribute(String attributeName, List<Object> attributeValue) {
CustomObjectAttribute attribute = new CustomObjectAttribute(attributeName, attributeValue);
attribute.setMultiValued(true);
typedCustomAttributes.remove(attribute);
typedCustomAttributes.add(attribute);
}
use of io.jans.orm.model.base.CustomObjectAttribute in project jans by JanssenProject.
the class ScimCustomPerson method setCustomAttribute.
public void setCustomAttribute(String attributeName, Object attributeValue) {
CustomObjectAttribute attribute = new CustomObjectAttribute(attributeName, attributeValue);
typedCustomAttributes.remove(attribute);
typedCustomAttributes.add(attribute);
}
use of io.jans.orm.model.base.CustomObjectAttribute in project jans by JanssenProject.
the class AttributeService method applyMultiValued.
public void applyMultiValued(List<CustomObjectAttribute> customAttributes) {
if ((customAttributes == null) || (customAttributes.size() == 0)) {
return;
}
Map<String, GluuAttribute> allAttributesMap = getAllAttributesMap();
for (CustomObjectAttribute customAttribute : customAttributes) {
String attributeName = StringHelper.toLowerCase(customAttribute.getName());
GluuAttribute attribute = allAttributesMap.get(attributeName);
if (attribute != null) {
boolean multiValued = Boolean.TRUE.equals(attribute.getOxMultiValuedAttribute());
customAttribute.setMultiValued(multiValued);
}
}
}
use of io.jans.orm.model.base.CustomObjectAttribute in project jans by JanssenProject.
the class UserServiceTest method removeUserAttribute_existentAttribute_user.
@Test
private void removeUserAttribute_existentAttribute_user() {
String userId = "123";
String baseDn = "dn123";
User user = spy(getBasicUser("123", "dn123"));
user.setDn(baseDn);
CustomObjectAttribute customAttribute1 = new CustomObjectAttribute("attribute1", "value1");
CustomObjectAttribute customAttribute2 = new CustomObjectAttribute("attribute2", "value2");
user.setCustomAttributes(new ArrayList<>());
user.getCustomAttributes().add(customAttribute1);
user.getCustomAttributes().add(customAttribute2);
when(dataSourceTypeService.isSpanner(anyString())).thenReturn(true);
when(persistenceEntryManager.findEntries(anyString(), any(), any(), any())).thenReturn(getListBasicOneUser(user));
when(persistenceEntryManager.find(anyString(), any(), any())).thenReturn(user);
doNothing().when(persistenceEntryManager).merge(any());
User resultUser = userService.removeUserAttributeValue(userId, "attribute1", "value1");
assertNotNull(resultUser);
assertTrue(resultUser.getCustomAttributes().get(0).getValues().isEmpty());
// assertTrue(resultUser.getCustomAttributes().size() == 1);
// assertEquals(resultUser.getCustomAttributes().get(0).getName(), "attribute2");
}
use of io.jans.orm.model.base.CustomObjectAttribute in project jans by JanssenProject.
the class UserService method replaceUserAttribute.
public User replaceUserAttribute(String userId, String attributeName, String oldAttributeValue, String newAttributeValue, Boolean multiValued) {
log.debug("Replace user attribute in LDAP: attributeName = '{}', oldAttributeValue = '{}', newAttributeValue = '{}'", attributeName, oldAttributeValue, newAttributeValue);
User user = getUser(userId);
if (user == null) {
return null;
}
CustomObjectAttribute customAttribute = getCustomAttribute(user, attributeName);
if (customAttribute != null) {
List<Object> currentAttributeValues = customAttribute.getValues();
List<Object> newAttributeValues = new ArrayList<>(currentAttributeValues);
if (currentAttributeValues.contains(oldAttributeValue)) {
newAttributeValues.remove(oldAttributeValue);
}
if (!newAttributeValues.contains(newAttributeValue)) {
newAttributeValues.add(newAttributeValue);
}
customAttribute.setValues(newAttributeValues);
if (multiValued != null) {
customAttribute.setMultiValued(multiValued);
}
}
return updateUser(user);
}
Aggregations