Class NewsletterUserPreferencesStorage
java.lang.Object
org.apache.avalon.framework.logger.AbstractLogEnabled
org.ametys.plugins.newsletter.userpref.NewsletterUserPreferencesStorage
- All Implemented Interfaces:
UserPreferencesStorage
,Component
,LogEnabled
,Serviceable
public class NewsletterUserPreferencesStorage
extends AbstractLogEnabled
implements UserPreferencesStorage, Component, Serviceable
Retrieves and stores newsletter user preferences values as subscriptions.
-
Field Summary
Modifier and TypeFieldDescriptionprotected CategoryProviderExtensionPoint
The category provider extension point.protected UserManager
The front-office users manager.protected SubscribersDAO
The subscribers DAO. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptiongetExistingCategoryIds
(String email, String siteName) Get the existing subscriptions for a user in a given site.protected Subscriber
getSubscription
(String siteName, User user, String categoryId) Create a subscriber object from the given input.protected Subscriber
getSubscription
(String siteName, User user, String categoryId, boolean generateDateAndToken) Create a subscriber object from the given input.getUnTypedUserPrefs
(UserIdentity userIdentity, String storageContext, Map<String, String> contextVars) Get a user's preference values (as String) for a given context.getUserPreferenceAsBoolean
(UserIdentity userIdentity, String storageContext, Map<String, String> contextVars, String id) Get a single boolean user preference value for a given context.getUserPreferenceAsDate
(UserIdentity userIdentity, String storageContext, Map<String, String> contextVars, String id) Get a single date user preference value for a given context.getUserPreferenceAsDouble
(UserIdentity userIdentity, String storageContext, Map<String, String> contextVars, String id) Get a single double user preference value for a given context.getUserPreferenceAsLong
(UserIdentity userIdentity, String storageContext, Map<String, String> contextVars, String id) Get a single long user preference value for a given context.getUserPreferenceAsString
(UserIdentity userIdentity, String storageContext, Map<String, String> contextVars, String id) Get a single string user preference value for a given context.void
removeUserPreferences
(UserIdentity userIdentity, String storageContext, Map<String, String> contextVars) Remove the stored user preferences for a login in a given context.void
service
(ServiceManager serviceManager) void
setUserPreferences
(UserIdentity userIdentity, String storageContext, Map<String, String> contextVars, Map<String, String> preferences) Set a user's preferences for a given context.Methods inherited from class org.apache.avalon.framework.logger.AbstractLogEnabled
enableLogging, getLogger, setupLogger, setupLogger, setupLogger
-
Field Details
-
_foUserManager
The front-office users manager. -
_categoryEP
The category provider extension point. -
_subscribersDao
The subscribers DAO.
-
-
Constructor Details
-
NewsletterUserPreferencesStorage
public NewsletterUserPreferencesStorage()
-
-
Method Details
-
service
- Specified by:
service
in interfaceServiceable
- Throws:
ServiceException
-
getUnTypedUserPrefs
public Map<String,String> getUnTypedUserPrefs(UserIdentity userIdentity, String storageContext, Map<String, String> contextVars) throws UserPreferencesExceptionDescription copied from interface:UserPreferencesStorage
Get a user's preference values (as String) for a given context.- Specified by:
getUnTypedUserPrefs
in interfaceUserPreferencesStorage
- Parameters:
userIdentity
- the user.storageContext
- the preferences storage context.contextVars
- The context variables including environment elements- Returns:
- the user preference values as a Map of String indexed by preference ID.
- Throws:
UserPreferencesException
- if an error occurs getting the preferences.
-
setUserPreferences
public void setUserPreferences(UserIdentity userIdentity, String storageContext, Map<String, String> contextVars, Map<String, throws UserPreferencesExceptionString> preferences) Description copied from interface:UserPreferencesStorage
Set a user's preferences for a given context.- Specified by:
setUserPreferences
in interfaceUserPreferencesStorage
- Parameters:
userIdentity
- the user.storageContext
- the preferences storage context.contextVars
- The context variables including environment elementspreferences
- a Map of the preference values indexed by ID.- Throws:
UserPreferencesException
- if an error occurred
-
removeUserPreferences
public void removeUserPreferences(UserIdentity userIdentity, String storageContext, Map<String, String> contextVars) throws UserPreferencesExceptionDescription copied from interface:UserPreferencesStorage
Remove the stored user preferences for a login in a given context.- Specified by:
removeUserPreferences
in interfaceUserPreferencesStorage
- Parameters:
userIdentity
- the user.storageContext
- the preferences storage context.contextVars
- the context variables.- Throws:
UserPreferencesException
- if an error occurred
-
getUserPreferenceAsString
public String getUserPreferenceAsString(UserIdentity userIdentity, String storageContext, Map<String, String> contextVars, String id) throws UserPreferencesExceptionDescription copied from interface:UserPreferencesStorage
Get a single string user preference value for a given context.- Specified by:
getUserPreferenceAsString
in interfaceUserPreferencesStorage
- Parameters:
userIdentity
- the user.storageContext
- the preferences storage context.contextVars
- The context variables including environment elementsid
- the preference ID.- Returns:
- the user preference value as a String.
- Throws:
UserPreferencesException
- if an error occurred
-
getUserPreferenceAsLong
public Long getUserPreferenceAsLong(UserIdentity userIdentity, String storageContext, Map<String, String> contextVars, String id) throws UserPreferencesExceptionDescription copied from interface:UserPreferencesStorage
Get a single long user preference value for a given context.- Specified by:
getUserPreferenceAsLong
in interfaceUserPreferencesStorage
- Parameters:
userIdentity
- the user.storageContext
- the preferences storage context.contextVars
- The context variables including environment elementsid
- the preference ID.- Returns:
- the user preference value as a Long.
- Throws:
UserPreferencesException
- if an error occurred
-
getUserPreferenceAsDate
public Date getUserPreferenceAsDate(UserIdentity userIdentity, String storageContext, Map<String, String> contextVars, String id) throws UserPreferencesExceptionDescription copied from interface:UserPreferencesStorage
Get a single date user preference value for a given context.- Specified by:
getUserPreferenceAsDate
in interfaceUserPreferencesStorage
- Parameters:
userIdentity
- the user.storageContext
- the preferences storage context.contextVars
- The context variables including environment elementsid
- the preference ID.- Returns:
- the user preference value as a Date.
- Throws:
UserPreferencesException
- if an error occurred
-
getUserPreferenceAsBoolean
public Boolean getUserPreferenceAsBoolean(UserIdentity userIdentity, String storageContext, Map<String, String> contextVars, String id) throws UserPreferencesExceptionDescription copied from interface:UserPreferencesStorage
Get a single boolean user preference value for a given context.- Specified by:
getUserPreferenceAsBoolean
in interfaceUserPreferencesStorage
- Parameters:
userIdentity
- the user.storageContext
- the preferences storage context.contextVars
- The context variables including environment elementsid
- the preference ID.- Returns:
- the user preference value as a Boolean.
- Throws:
UserPreferencesException
- if an error occurred
-
getUserPreferenceAsDouble
public Double getUserPreferenceAsDouble(UserIdentity userIdentity, String storageContext, Map<String, String> contextVars, String id) throws UserPreferencesExceptionDescription copied from interface:UserPreferencesStorage
Get a single double user preference value for a given context.- Specified by:
getUserPreferenceAsDouble
in interfaceUserPreferencesStorage
- Parameters:
userIdentity
- the user.storageContext
- the preferences storage context.contextVars
- The context variables including environment elementsid
- the preference ID.- Returns:
- the user preference value as a Double.
- Throws:
UserPreferencesException
- if an error occurred
-
getSubscription
Create a subscriber object from the given input.- Parameters:
siteName
- the site name.user
- the user.categoryId
- the category ID.- Returns:
- the Subscriber object.
-
getSubscription
protected Subscriber getSubscription(String siteName, User user, String categoryId, boolean generateDateAndToken) Create a subscriber object from the given input.- Parameters:
siteName
- the site name.user
- the user.categoryId
- the category ID.generateDateAndToken
- true to generate a token and set the subscription date, false otherwise.- Returns:
- the Subscriber object.
-
getExistingCategoryIds
Get the existing subscriptions for a user in a given site.- Parameters:
email
- the user e-mail address.siteName
- the site name.- Returns:
- a Set of category IDs, to which user has subscribed.
-