Class ProjectEventObserver
- java.lang.Object
-
- org.ametys.runtime.plugin.component.AbstractLogEnabled
-
- org.ametys.plugins.mobileapp.observer.ProjectEventObserver
-
- All Implemented Interfaces:
AsyncObserver
,Observer
,LogEnabled
,Contextualizable
,Serviceable
public class ProjectEventObserver extends AbstractLogEnabled implements AsyncObserver, Serviceable, Contextualizable
On validation, test each query to notify impacted users
-
-
Field Summary
Fields Modifier and Type Field Description protected Set<String>
_allowedEvents
Handled eventsprotected Context
_context
Contextprotected EventTypeExtensionPoint
_eventTypeExtensionPoint
Event type extension pointprotected FeedHelper
_feedHelper
Feed helperprotected ProjectManager
_projectManager
Project Managerprotected PushNotificationManager
_pushNotificationManager
Push Notification Managerprotected Repository
_repository
The repositoryprotected AmetysObjectResolver
_resolver
Ametys Object Resolverprotected UserManager
_userManager
The user managerprotected UserPopulationDAO
_userPopulationDAO
The user population DAOprotected UserPreferencesHelper
_userPreferencesHelper
User Preferences Helper-
Fields inherited from interface org.ametys.core.observation.Observer
MAX_PRIORITY, MIN_PRIORITY
-
-
Constructor Summary
Constructors Constructor Description ProjectEventObserver()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
contextualize(Context context)
int
getPriority(Event event)
Retrieves the priority to observe this event.
This can be used to process a supported event before others observers.protected Project
getProject(Event event)
Get the event linked to this eventprotected Project
getProject(AmetysObject ao)
Get the parent projectvoid
observe(Event event, Map<String,Object> transientVars)
Observes an event.void
service(ServiceManager manager)
boolean
supports(Event event)
Checks if the event is supported.-
Methods inherited from class org.ametys.runtime.plugin.component.AbstractLogEnabled
getLogger, setLogger
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.ametys.core.observation.AsyncObserver
parallelizable
-
-
-
-
Field Detail
-
_eventTypeExtensionPoint
protected EventTypeExtensionPoint _eventTypeExtensionPoint
Event type extension point
-
_feedHelper
protected FeedHelper _feedHelper
Feed helper
-
_userPreferencesHelper
protected UserPreferencesHelper _userPreferencesHelper
User Preferences Helper
-
_pushNotificationManager
protected PushNotificationManager _pushNotificationManager
Push Notification Manager
-
_userManager
protected UserManager _userManager
The user manager
-
_userPopulationDAO
protected UserPopulationDAO _userPopulationDAO
The user population DAO
-
_projectManager
protected ProjectManager _projectManager
Project Manager
-
_resolver
protected AmetysObjectResolver _resolver
Ametys Object Resolver
-
_allowedEvents
protected Set<String> _allowedEvents
Handled events
-
_repository
protected Repository _repository
The repository
-
-
Constructor Detail
-
ProjectEventObserver
public ProjectEventObserver()
-
-
Method Detail
-
service
public void service(ServiceManager manager) throws ServiceException
- Specified by:
service
in interfaceServiceable
- Throws:
ServiceException
-
contextualize
public void contextualize(Context context) throws ContextException
- Specified by:
contextualize
in interfaceContextualizable
- Throws:
ContextException
-
supports
public boolean supports(Event event)
Description copied from interface:Observer
Checks if the event is supported. If true, the observe(Event) method will be called.
-
getPriority
public int getPriority(Event event)
Description copied from interface:Observer
Retrieves the priority to observe this event.
This can be used to process a supported event before others observers.- Specified by:
getPriority
in interfaceObserver
- Parameters:
event
- the event.- Returns:
- the priority where 0 the max priority and Integer.MAX_VALUE the min priority.
-
observe
public void observe(Event event, Map<String,Object> transientVars) throws Exception
Description copied from interface:Observer
Observes an event.- Specified by:
observe
in interfaceObserver
- Parameters:
event
- the event.transientVars
- transientVars passed from one Observer to another when processing a single Event. This may allow optimizations between observers.- Throws:
Exception
- if an error occurs. All exceptions will be logged but not propagated, as the observation mechanism should never fail.
-
getProject
protected Project getProject(Event event)
Get the event linked to this event- Parameters:
event
- the event to read- Returns:
- the project linked to this event
-
getProject
protected Project getProject(AmetysObject ao)
Get the parent project- Parameters:
ao
- The ametys object- Returns:
- The parent project or
null
if not found
-
-