Package com.netscape.cmscore.request
Class RequestSubsystem
- java.lang.Object
-
- com.netscape.cmscore.request.RequestSubsystem
-
- All Implemented Interfaces:
ISubsystem
public class RequestSubsystem extends java.lang.Object implements ISubsystem
RequestSubsystemThis class is responsible for managing storage of request objects in the local database.
TODO: review this It provides: + registration of LDAP/JAVA mapping classes with the DBSubsystem + creation of RequestQueue storage in the database + retrieval of existing RequestQueue objects from the database
- Version:
- $Revision$, $Date$
- Author:
- thayes
-
-
Constructor Summary
Constructors Constructor Description RequestSubsystem()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected IDBSSessioncreateDBSSession()voidcreateRequestQueue(java.lang.String name)Creates a new request queue.IConfigStoregetConfigStore()Returns the root configuration storage of this system.java.lang.StringgetId()Implements ISubsystem.getIdIRequestQueuegetRequestQueue(java.lang.String name, int increment, IPolicy p, IService s, INotify n, INotify pendingNotifier)Retrieves a request queue.voidinit(IConfigStore config)Initializes this subsystem with the given configuration store.protected java.lang.StringmakeQueueName(java.lang.String name)voidsetId(java.lang.String id)Sets specific to this subsystem.voidshutdown()Stops this system.voidstartup()Implements ISubsystem.startup
-
-
-
Field Detail
-
logger
public static org.slf4j.Logger logger
-
ID
public static final java.lang.String ID
- See Also:
- Constant Field Values
-
-
Method Detail
-
createRequestQueue
public void createRequestQueue(java.lang.String name) throws EBaseExceptionCreates a new request queue. (Currently unimplemented. Just use getRequestQueue to create an in-memory queue.)- Parameters:
name- The name of the queue object. This name can be used in getRequestQueue to retrieve the queue later.- Throws:
EBaseException- failed to create request queue
-
getRequestQueue
public IRequestQueue getRequestQueue(java.lang.String name, int increment, IPolicy p, IService s, INotify n, INotify pendingNotifier) throws EBaseException
Retrieves a request queue. This operation should only be done once on each queue. For example, the RA subsystem should retrieve its queue, and store it somewhere for use by related services, and servlets.WARNING: retrieving the same queue twice with result in multi-thread race conditions.
- Parameters:
name- the name of the request queue. (Ex: "ca" "ra")p- A policy enforcement module. This object is called to make adjustments to the request, and decide whether it needs agent approval.s- The service object. This object actually performs the request after it is finalized and approved.n- A notifier object (optional). The notify() method of this object is invoked when the request is completed (COMPLETE, REJECTED or CANCELED states).pendingNotifier- A notifier object (optional). Like the 'n' argument, except the notification happens if the request is made PENDING. May be the same as the 'n' argument if desired.- Throws:
EBaseException- failed to retrieve request queue
-
getId
public java.lang.String getId()
Implements ISubsystem.getId- Specified by:
getIdin interfaceISubsystem- Returns:
- subsystem identifier
- See Also:
ISubsystem.getId()
-
setId
public void setId(java.lang.String id) throws EBaseExceptionDescription copied from interface:ISubsystemSets specific to this subsystem.- Specified by:
setIdin interfaceISubsystem- Parameters:
id- subsystem identifier- Throws:
EBaseException- failed to set id
-
init
public void init(IConfigStore config)
Description copied from interface:ISubsystemInitializes this subsystem with the given configuration store.- Specified by:
initin interfaceISubsystem- Parameters:
config- configuration store
-
startup
public void startup()
Implements ISubsystem.startup- Specified by:
startupin interfaceISubsystem- See Also:
ISubsystem.startup()
-
shutdown
public void shutdown()
Description copied from interface:ISubsystemStops this system. The owner may call shutdown anytime after initialization.- Specified by:
shutdownin interfaceISubsystem
-
getConfigStore
public IConfigStore getConfigStore()
Description copied from interface:ISubsystemReturns the root configuration storage of this system.- Specified by:
getConfigStorein interfaceISubsystem- Returns:
- configuration store of this subsystem
-
createDBSSession
protected IDBSSession createDBSSession() throws EBaseException
- Throws:
EBaseException
-
makeQueueName
protected java.lang.String makeQueueName(java.lang.String name)
-
-