Class RequestQueue
- java.lang.Object
-
- com.netscape.cmscore.request.ARequestQueue
-
- com.netscape.cmscore.request.RequestQueue
-
- All Implemented Interfaces:
IRequestQueue
,IRequestMod
public class RequestQueue extends ARequestQueue implements IRequestMod
-
-
Field Summary
Fields Modifier and Type Field Description static org.slf4j.Logger
logger
protected java.lang.String
mBaseDN
protected com.netscape.cmscore.request.RequestRepository
mRepository
-
Fields inherited from class com.netscape.cmscore.request.ARequestQueue
REQUEST_VERSION
-
-
Constructor Summary
Constructors Constructor Description RequestQueue(DBSubsystem dbSubsystem, java.lang.String name, int increment, IPolicy p, IService s, INotify n, INotify pendingNotify)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
addRequest(IRequest r)
Add the request to the store.RequestId
findRequestBySourceId(java.lang.String id)
Implements IRequestQueue.findRequestBySourceIdIRequestList
findRequestsBySourceId(java.lang.String id)
Implements IRequestQueue.findRequestsBySourceIdjava.math.BigInteger
getLastRequestIdInRange(java.math.BigInteger reqId_low_bound, java.math.BigInteger reqId_upper_bound)
IRequestVirtualList
getPagedRequests(int pageSize)
Gets a pageable list of IRequest entries in this queue.IRequestVirtualList
getPagedRequestsByFilter(RequestId from, boolean jumpToEnd, java.lang.String filter, int pageSize, java.lang.String sortKey)
Gets a pageable list of IRequest entries in this queue.IRequestVirtualList
getPagedRequestsByFilter(RequestId from, java.lang.String filter, int pageSize, java.lang.String sortKey)
Gets a pageable list of IRequest entries in this queue.IRequestVirtualList
getPagedRequestsByFilter(java.lang.String filter, int pageSize, java.lang.String sortKey)
Gets a pageable list of IRequest entries in this queue.java.lang.String
getPublishingStatus()
protected java.util.Enumeration<RequestId>
getRawList()
Get complete list of RequestId values found i this queue.IRepository
getRequestRepository()
Gets request repository.IRequestList
listRequestsByFilter(java.lang.String f)
Returns an enumerator that lists all RequestIds for requests that match the filter.IRequestList
listRequestsByFilter(java.lang.String f, int maxSize)
Returns an enumerator that lists all RequestIds for requests that match the filter.IRequestList
listRequestsByFilter(java.lang.String f, int maxSize, int timeLimit)
Returns an enumerator that lists all RequestIds for requests that match the filter.IRequestList
listRequestsByStatus(RequestStatus s)
Implements IRequestQueue.listRequestsByStatusvoid
modCreationTime(IRequest r, java.util.Date d)
Modifies request creation time.protected void
modifyRequest(IRequest r)
Modify the request in the store.void
modModificationTime(IRequest r, java.util.Date d)
Modifies request modification time.void
modRequestStatus(IRequest r, RequestStatus s)
Modifies request status.protected RequestId
newEphemeralRequestId()
Create a new synchronous request IDprotected RequestId
newRequestId()
Create a new (unique) RequestId.protected IRequest
readRequest(RequestId id)
Read a request from the persistant store.void
removeAllObjects()
Removes all objects with this repository.void
resetSerialNumber(java.math.BigInteger serial)
Resets serial number.void
setPublishingStatus(java.lang.String status)
-
Methods inherited from class com.netscape.cmscore.request.ARequestQueue
approveRequest, cancelRequest, cloneAndMarkPending, cloneRequest, createRequest, findRequest, getPendingNotify, getRequestScheduler, getUserIdentity, listRequests, logChange, markAsServiced, markRequestPending, newRequest, newRequest, processRequest, recover, recoverWillBlock, rejectRequest, releaseRequest, setCreationTime, setModificationTime, setRequestScheduler, setRequestStatus, updateRequest
-
-
-
-
Constructor Detail
-
RequestQueue
public RequestQueue(DBSubsystem dbSubsystem, java.lang.String name, int increment, IPolicy p, IService s, INotify n, INotify pendingNotify) throws EBaseException
- Throws:
EBaseException
-
-
Method Detail
-
newRequestId
protected RequestId newRequestId() throws EBaseException
Description copied from class:ARequestQueue
Create a new (unique) RequestId. (abstract)This method must be implemented by the specialized class to generate a new id from data in the persistant store. This id is used to create a new request object.
- Specified by:
newRequestId
in classARequestQueue
- Returns:
- a new RequestId object.
- Throws:
EBaseException
- indicates that creation of the new id could not be completed.- See Also:
RequestId
-
newEphemeralRequestId
protected RequestId newEphemeralRequestId()
Description copied from class:ARequestQueue
Create a new synchronous request ID- Specified by:
newEphemeralRequestId
in classARequestQueue
-
readRequest
protected IRequest readRequest(RequestId id)
Description copied from class:ARequestQueue
Read a request from the persistant store. (abstract)This function is called to create the in-memory version of a request object.
The implementation of this object can use the createRequest member function to create a new instance of an IRequest, and use the setRequestStatus, setCreationTime and setModificationTime functions to set those values.
- Specified by:
readRequest
in classARequestQueue
- Parameters:
id
- the id of the request to read.- Returns:
- a new IRequest object. null is returned if the object cannot be located.
- See Also:
ARequestQueue.createRequest(com.netscape.certsrv.request.RequestId, java.lang.String)
,ARequestQueue.setRequestStatus(com.netscape.certsrv.request.IRequest, com.netscape.certsrv.request.RequestStatus)
,ARequestQueue.setModificationTime(com.netscape.certsrv.request.IRequest, java.util.Date)
,ARequestQueue.setCreationTime(com.netscape.certsrv.request.IRequest, java.util.Date)
-
addRequest
protected void addRequest(IRequest r) throws EBaseException
Description copied from class:ARequestQueue
Add the request to the store. (abstract)This function is called when a new request immediately after creating a new request.
- Specified by:
addRequest
in classARequestQueue
- Parameters:
r
- the request to add.- Throws:
EBaseException
- TODO: this is not implemented yet
-
modifyRequest
protected void modifyRequest(IRequest r)
Description copied from class:ARequestQueue
Modify the request in the store. (abstract)Update the persistant copy of this request with the current values in the object.
Currently there are no hints for what has changed, so the entire request should be updated.
- Specified by:
modifyRequest
in classARequestQueue
-
modRequestStatus
public void modRequestStatus(IRequest r, RequestStatus s)
Description copied from interface:IRequestMod
Modifies request status.- Specified by:
modRequestStatus
in interfaceIRequestMod
- Parameters:
r
- requests
- request status
-
modCreationTime
public void modCreationTime(IRequest r, java.util.Date d)
Description copied from interface:IRequestMod
Modifies request creation time.- Specified by:
modCreationTime
in interfaceIRequestMod
- Parameters:
r
- requestd
- date
-
modModificationTime
public void modModificationTime(IRequest r, java.util.Date d)
Description copied from interface:IRequestMod
Modifies request modification time.- Specified by:
modModificationTime
in interfaceIRequestMod
- Parameters:
r
- requestd
- date
-
resetSerialNumber
public void resetSerialNumber(java.math.BigInteger serial) throws EBaseException
Resets serial number.- Specified by:
resetSerialNumber
in interfaceIRequestQueue
- Throws:
EBaseException
-
removeAllObjects
public void removeAllObjects() throws EBaseException
Removes all objects with this repository.- Specified by:
removeAllObjects
in interfaceIRequestQueue
- Throws:
EBaseException
-
getLastRequestIdInRange
public java.math.BigInteger getLastRequestIdInRange(java.math.BigInteger reqId_low_bound, java.math.BigInteger reqId_upper_bound)
- Specified by:
getLastRequestIdInRange
in interfaceIRequestQueue
-
findRequestBySourceId
public RequestId findRequestBySourceId(java.lang.String id)
Implements IRequestQueue.findRequestBySourceId- Specified by:
findRequestBySourceId
in interfaceIRequestQueue
- Parameters:
id
- a unique identifier for the record that is based on the source of the request, and possibly an identify assigned by the source.- Returns:
- The requestid corresponding to this source id. null is returned if the source id does not exist.
- See Also:
IRequestQueue.findRequestBySourceId(java.lang.String)
-
findRequestsBySourceId
public IRequestList findRequestsBySourceId(java.lang.String id)
Implements IRequestQueue.findRequestsBySourceId- Specified by:
findRequestsBySourceId
in interfaceIRequestQueue
- Parameters:
id
- an identifier for the record that is based on the source of the request- Returns:
- A list of requests corresponding to this source id. null is returned if the source id does not exist.
- See Also:
IRequestQueue.findRequestsBySourceId(java.lang.String)
-
getRawList
protected java.util.Enumeration<RequestId> getRawList()
Description copied from class:ARequestQueue
Get complete list of RequestId values found i this queue.This method can form the basis for creating other types of search/list operations (although there are probably more efficient ways of doing this. ARequestQueue implements default versions of some of the searching by using this method as a basis.
TODO: return IRequestList -or- just use listRequests as the basic engine.
- Specified by:
getRawList
in classARequestQueue
- Returns:
- an Enumeration that generates RequestId objects.
-
listRequestsByFilter
public IRequestList listRequestsByFilter(java.lang.String f)
Description copied from interface:IRequestQueue
Returns an enumerator that lists all RequestIds for requests that match the filter.NOTE: This interface will not be useful for large databases. This needs to be replace by a VLV (paged) search object.
- Specified by:
listRequestsByFilter
in interfaceIRequestQueue
- Parameters:
f
- search filter- Returns:
- request list
-
listRequestsByFilter
public IRequestList listRequestsByFilter(java.lang.String f, int maxSize)
Description copied from interface:IRequestQueue
Returns an enumerator that lists all RequestIds for requests that match the filter.NOTE: This interface will not be useful for large databases. This needs to be replace by a VLV (paged) search object.
- Specified by:
listRequestsByFilter
in interfaceIRequestQueue
- Parameters:
f
- search filtermaxSize
- max size to return- Returns:
- request list
-
listRequestsByFilter
public IRequestList listRequestsByFilter(java.lang.String f, int maxSize, int timeLimit)
Description copied from interface:IRequestQueue
Returns an enumerator that lists all RequestIds for requests that match the filter.NOTE: This interface will not be useful for large databases. This needs to be replace by a VLV (paged) search object.
- Specified by:
listRequestsByFilter
in interfaceIRequestQueue
- Parameters:
f
- search filtermaxSize
- max size to returntimeLimit
- timeout value for the search- Returns:
- request list
-
listRequestsByStatus
public IRequestList listRequestsByStatus(RequestStatus s)
Description copied from class:ARequestQueue
Implements IRequestQueue.listRequestsByStatusShould be overridden by the specialized class if a more efficient method is available for implementing this operation.
- Specified by:
listRequestsByStatus
in interfaceIRequestQueue
- Overrides:
listRequestsByStatus
in classARequestQueue
- Parameters:
s
- request status- Returns:
- request list
- See Also:
IRequestQueue.listRequestsByStatus(com.netscape.certsrv.request.RequestStatus)
-
getPagedRequests
public IRequestVirtualList getPagedRequests(int pageSize)
Description copied from interface:IRequestQueue
Gets a pageable list of IRequest entries in this queue.- Specified by:
getPagedRequests
in interfaceIRequestQueue
- Parameters:
pageSize
- page size- Returns:
- request list
-
getPagedRequestsByFilter
public IRequestVirtualList getPagedRequestsByFilter(java.lang.String filter, int pageSize, java.lang.String sortKey)
Description copied from interface:IRequestQueue
Gets a pageable list of IRequest entries in this queue.- Specified by:
getPagedRequestsByFilter
in interfaceIRequestQueue
- Parameters:
filter
- search filterpageSize
- page sizesortKey
- the attributes to sort by- Returns:
- request list
-
getPagedRequestsByFilter
public IRequestVirtualList getPagedRequestsByFilter(RequestId from, java.lang.String filter, int pageSize, java.lang.String sortKey)
Description copied from interface:IRequestQueue
Gets a pageable list of IRequest entries in this queue.- Specified by:
getPagedRequestsByFilter
in interfaceIRequestQueue
- Parameters:
from
- request id to start withfilter
- search filterpageSize
- page sizesortKey
- the attributes to sort by- Returns:
- request list
-
getPagedRequestsByFilter
public IRequestVirtualList getPagedRequestsByFilter(RequestId from, boolean jumpToEnd, java.lang.String filter, int pageSize, java.lang.String sortKey)
Description copied from interface:IRequestQueue
Gets a pageable list of IRequest entries in this queue. This jumps right to the end of the list- Specified by:
getPagedRequestsByFilter
in interfaceIRequestQueue
- Parameters:
from
- request id to start withjumpToEnd
- jump to end of list (set fromId to null)filter
- search filterpageSize
- page sizesortKey
- the attributes to sort by- Returns:
- request list
-
getRequestRepository
public IRepository getRequestRepository()
Description copied from interface:IRequestQueue
Gets request repository.- Specified by:
getRequestRepository
in interfaceIRequestQueue
- Returns:
- request repository
-
getPublishingStatus
public java.lang.String getPublishingStatus()
- Specified by:
getPublishingStatus
in interfaceIRequestQueue
-
setPublishingStatus
public void setPublishingStatus(java.lang.String status)
- Specified by:
setPublishingStatus
in interfaceIRequestQueue
-
-