class DefaultSysSystemAttributeMappingService extends AbstractReadWriteDtoService<SysSystemAttributeMappingDto, SysSystemAttributeMapping, SysSystemAttributeMappingFilter> implements SysSystemAttributeMappingService {

	@Override
	public Object transformValueFromResource(Object value, AttributeMapping attributeMapping,
			List<IcAttribute> icAttributes) {
		Assert.notNull(attributeMapping, "Attribute mapping is required.");
		//
		try {
			return transformValueFromResource(value, attributeMapping.getTransformFromResourceScript(), icAttributes,
					getSystemFromAttributeMapping(attributeMapping));
		} catch (Exception e) {
			Map<String, Object> logParams = createTransformationScriptFailureParams(e, attributeMapping);
			ResultCodeException ex = new ResultCodeException(AccResultCode.GROOVY_SCRIPT_ATTR_TRANSFORMATION_FAILED,
					logParams, e);
			ExceptionUtils.log(log, ex);
			throw ex;
		}
	}

	@Autowired public  DefaultSysSystemAttributeMappingService(SysSystemAttributeMappingRepository repository,
			GroovyScriptService groovyScriptService, FormService formService,
			SysRoleSystemAttributeRepository roleSystemAttributeRepository, FormPropertyManager formPropertyManager,
			SysSyncConfigRepository syncConfigRepository, List<AbstractScriptEvaluator> evaluators,
			ConfidentialStorage confidentialStorage, SysSchemaAttributeService schemaAttributeService,
			SysSchemaObjectClassService schemaObjectClassService, SysSystemMappingService systemMappingService);

}