Class urn_perun_user_attribute_def_def_vsupPreferredMail

All Implemented Interfaces:
AttributesModuleImplApi, UserAttributesModuleImplApi

public class urn_perun_user_attribute_def_def_vsupPreferredMail extends UserAttributesModuleAbstract implements UserAttributesModuleImplApi
Attribute module for storing preferred mail of a user at VŠUP.

It is by default filled from u:d:vsupExchangeMail or u:d:vsupMail (changing domain in value to @umprum.cz), but it can be set manually to any value (even outside of @vsup.cz and @umprum.cz domains) or can be empty.

If it is empty, value might be set by setting source attributes u:d:vsupMail or u:d:vsupExchangeMail.

On value change, map of usedMails in entityless attributes is checked and updated. Also, value is copied to u:d:preferredMail so admin can see preferred mail in old GUI.

Since filled value by this module might be NULL at the time of processing, we must allow NULL value in checkAttributeSemantics(), because when all mail attributes are required and set at once, we can't ensure correct processing order of related attributes and it might perform check on old value, because of setRequiredAttributes() implementation uses in memory value instead of refreshing from DB.

Author:
Pavel Zlámal <zlamal@cesnet.cz>