use of eu.bcvsolutions.idm.acc.domain.AttributeMappingStrategyType in project CzechIdMng by bcvsolutions.
the class AbstractProvisioningExecutor method compileAttributes.
/**
* Create final list of attributes for provisioning.
*
* @param identityAccount
* @param defaultAttributes
* @param overloadingAttributes
* @return
*/
@Override
public List<AttributeMapping> compileAttributes(List<? extends AttributeMapping> defaultAttributes, List<SysRoleSystemAttributeDto> overloadingAttributes, SystemEntityType entityType) {
Assert.notNull(overloadingAttributes, "List of overloading attributes cannot be null!");
List<AttributeMapping> finalAttributes = new ArrayList<>();
if (defaultAttributes == null) {
return null;
}
defaultAttributes.stream().forEach(defaultAttribute -> {
for (AttributeMappingStrategyType strategy : AttributeMappingStrategyType.values()) {
finalAttributes.addAll(compileAtributeForStrategy(strategy, defaultAttribute, overloadingAttributes));
}
});
// Validate attributes on incompatible strategies
validateAttributesStrategy(finalAttributes);
return finalAttributes;
}
use of eu.bcvsolutions.idm.acc.domain.AttributeMappingStrategyType in project CzechIdMng by bcvsolutions.
the class AbstractSynchronizationExecutor method canSetValue.
/**
* Return true if can be value set to this entity for this mapped attribute.
*
* @param uid
* @param attribute
* @param entity
* @param create
* (create or update entity situation)
* @return
*/
protected boolean canSetValue(String uid, SysSystemAttributeMappingDto attribute, DTO dto, boolean create) {
Assert.notNull(attribute);
AttributeMappingStrategyType strategyType = attribute.getStrategyType();
switch(strategyType) {
case CREATE:
{
return create;
}
case SET:
{
return true;
}
case WRITE_IF_NULL:
{
Object value = systemAttributeMappingService.getAttributeValue(uid, dto, attribute);
return value == null ? true : false;
}
default:
{
return false;
}
}
}
use of eu.bcvsolutions.idm.acc.domain.AttributeMappingStrategyType in project CzechIdMng by bcvsolutions.
the class DefaultSysSystemAttributeMappingServiceTest method idmPropertyNameFilterTest.
@Test
public void idmPropertyNameFilterTest() {
IdmBasePermission permission = IdmBasePermission.ADMIN;
SystemEntityType entityType = SystemEntityType.IDENTITY;
AttributeMappingStrategyType strategyType = AttributeMappingStrategyType.MERGE;
SysSystemDto system = createSystem();
SysSchemaObjectClassDto objectClass = createObjectClass(system);
SysSystemMappingDto systemMapping = testHelper.createMappingSystem(entityType, objectClass);
SysSchemaAttributeDto schemaAttribute = createSchemaAttribute(objectClass);
SysSystemAttributeMappingDto attributeMapping1 = createAttributeMappingSystem(systemMapping, strategyType, schemaAttribute.getId());
attributeMapping1.setIdmPropertyName("PropName31");
attributeMappingService.save(attributeMapping1);
SysSystemAttributeMappingDto attributeMapping2 = createAttributeMappingSystem(systemMapping, AttributeMappingStrategyType.CREATE, schemaAttribute.getId());
attributeMapping2.setIdmPropertyName("PropName42");
attributeMappingService.save(attributeMapping2);
SysSystemAttributeMappingFilter filter = new SysSystemAttributeMappingFilter();
filter.setIdmPropertyName("PropName4");
Page<SysSystemAttributeMappingDto> result = attributeMappingService.find(filter, null, permission);
assertEquals(1, result.getTotalElements());
assertTrue(result.getContent().contains(attributeMapping2));
assertFalse(result.getContent().contains(attributeMapping1));
}
use of eu.bcvsolutions.idm.acc.domain.AttributeMappingStrategyType in project CzechIdMng by bcvsolutions.
the class DefaultSysSystemAttributeMappingServiceTest method systemMappingIdFilterTest.
@Test
public void systemMappingIdFilterTest() {
IdmBasePermission permission = IdmBasePermission.ADMIN;
SystemEntityType entityType = SystemEntityType.IDENTITY;
AttributeMappingStrategyType strategyType = AttributeMappingStrategyType.MERGE;
SysSystemDto system = createSystem();
SysSchemaObjectClassDto objectClass = createObjectClass(system);
SysSystemMappingDto systemMapping1 = testHelper.createMappingSystem(entityType, objectClass);
SysSystemMappingDto systemMapping2 = testHelper.createMappingSystem(entityType, objectClass);
SysSchemaAttributeDto schemaAttribute = createSchemaAttribute(objectClass);
SysSystemAttributeMappingDto attributeMapping1 = createAttributeMappingSystem(systemMapping1, strategyType, schemaAttribute.getId());
SysSystemAttributeMappingDto attributeMapping2 = createAttributeMappingSystem(systemMapping2, strategyType, schemaAttribute.getId());
SysSystemAttributeMappingFilter filter = new SysSystemAttributeMappingFilter();
filter.setSystemMappingId(systemMapping1.getId());
Page<SysSystemAttributeMappingDto> result = attributeMappingService.find(filter, null, permission);
assertEquals(1, result.getTotalElements());
assertTrue(result.getContent().contains(attributeMapping1));
assertFalse(result.getContent().contains(attributeMapping2));
}
Aggregations