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.Loggerloggerprotected java.lang.StringmBaseDNprotected com.netscape.cmscore.request.RequestRepositorymRepository-
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 voidaddRequest(IRequest r)Add the request to the store.RequestIdfindRequestBySourceId(java.lang.String id)Implements IRequestQueue.findRequestBySourceIdIRequestListfindRequestsBySourceId(java.lang.String id)Implements IRequestQueue.findRequestsBySourceIdjava.math.BigIntegergetLastRequestIdInRange(java.math.BigInteger reqId_low_bound, java.math.BigInteger reqId_upper_bound)IRequestVirtualListgetPagedRequests(int pageSize)Gets a pageable list of IRequest entries in this queue.IRequestVirtualListgetPagedRequestsByFilter(RequestId from, boolean jumpToEnd, java.lang.String filter, int pageSize, java.lang.String sortKey)Gets a pageable list of IRequest entries in this queue.IRequestVirtualListgetPagedRequestsByFilter(RequestId from, java.lang.String filter, int pageSize, java.lang.String sortKey)Gets a pageable list of IRequest entries in this queue.IRequestVirtualListgetPagedRequestsByFilter(java.lang.String filter, int pageSize, java.lang.String sortKey)Gets a pageable list of IRequest entries in this queue.java.lang.StringgetPublishingStatus()protected java.util.Enumeration<RequestId>getRawList()Get complete list of RequestId values found i this queue.IRepositorygetRequestRepository()Gets request repository.IRequestListlistRequestsByFilter(java.lang.String f)Returns an enumerator that lists all RequestIds for requests that match the filter.IRequestListlistRequestsByFilter(java.lang.String f, int maxSize)Returns an enumerator that lists all RequestIds for requests that match the filter.IRequestListlistRequestsByFilter(java.lang.String f, int maxSize, int timeLimit)Returns an enumerator that lists all RequestIds for requests that match the filter.IRequestListlistRequestsByStatus(RequestStatus s)Implements IRequestQueue.listRequestsByStatusvoidmodCreationTime(IRequest r, java.util.Date d)Modifies request creation time.protected voidmodifyRequest(IRequest r)Modify the request in the store.voidmodModificationTime(IRequest r, java.util.Date d)Modifies request modification time.voidmodRequestStatus(IRequest r, RequestStatus s)Modifies request status.protected RequestIdnewEphemeralRequestId()Create a new synchronous request IDprotected RequestIdnewRequestId()Create a new (unique) RequestId.protected IRequestreadRequest(RequestId id)Read a request from the persistant store.voidremoveAllObjects()Removes all objects with this repository.voidresetSerialNumber(java.math.BigInteger serial)Resets serial number.voidsetPublishingStatus(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:ARequestQueueCreate 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:
newRequestIdin 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:ARequestQueueCreate a new synchronous request ID- Specified by:
newEphemeralRequestIdin classARequestQueue
-
readRequest
protected IRequest readRequest(RequestId id)
Description copied from class:ARequestQueueRead 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:
readRequestin 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:ARequestQueueAdd the request to the store. (abstract)This function is called when a new request immediately after creating a new request.
- Specified by:
addRequestin 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:ARequestQueueModify 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:
modifyRequestin classARequestQueue
-
modRequestStatus
public void modRequestStatus(IRequest r, RequestStatus s)
Description copied from interface:IRequestModModifies request status.- Specified by:
modRequestStatusin interfaceIRequestMod- Parameters:
r- requests- request status
-
modCreationTime
public void modCreationTime(IRequest r, java.util.Date d)
Description copied from interface:IRequestModModifies request creation time.- Specified by:
modCreationTimein interfaceIRequestMod- Parameters:
r- requestd- date
-
modModificationTime
public void modModificationTime(IRequest r, java.util.Date d)
Description copied from interface:IRequestModModifies request modification time.- Specified by:
modModificationTimein interfaceIRequestMod- Parameters:
r- requestd- date
-
resetSerialNumber
public void resetSerialNumber(java.math.BigInteger serial) throws EBaseExceptionResets serial number.- Specified by:
resetSerialNumberin interfaceIRequestQueue- Throws:
EBaseException
-
removeAllObjects
public void removeAllObjects() throws EBaseExceptionRemoves all objects with this repository.- Specified by:
removeAllObjectsin interfaceIRequestQueue- Throws:
EBaseException
-
getLastRequestIdInRange
public java.math.BigInteger getLastRequestIdInRange(java.math.BigInteger reqId_low_bound, java.math.BigInteger reqId_upper_bound)- Specified by:
getLastRequestIdInRangein interfaceIRequestQueue
-
findRequestBySourceId
public RequestId findRequestBySourceId(java.lang.String id)
Implements IRequestQueue.findRequestBySourceId- Specified by:
findRequestBySourceIdin 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:
findRequestsBySourceIdin 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:ARequestQueueGet 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:
getRawListin classARequestQueue- Returns:
- an Enumeration that generates RequestId objects.
-
listRequestsByFilter
public IRequestList listRequestsByFilter(java.lang.String f)
Description copied from interface:IRequestQueueReturns 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:
listRequestsByFilterin interfaceIRequestQueue- Parameters:
f- search filter- Returns:
- request list
-
listRequestsByFilter
public IRequestList listRequestsByFilter(java.lang.String f, int maxSize)
Description copied from interface:IRequestQueueReturns 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:
listRequestsByFilterin 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:IRequestQueueReturns 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:
listRequestsByFilterin 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:ARequestQueueImplements IRequestQueue.listRequestsByStatusShould be overridden by the specialized class if a more efficient method is available for implementing this operation.
- Specified by:
listRequestsByStatusin interfaceIRequestQueue- Overrides:
listRequestsByStatusin 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:IRequestQueueGets a pageable list of IRequest entries in this queue.- Specified by:
getPagedRequestsin 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:IRequestQueueGets a pageable list of IRequest entries in this queue.- Specified by:
getPagedRequestsByFilterin 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:IRequestQueueGets a pageable list of IRequest entries in this queue.- Specified by:
getPagedRequestsByFilterin 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:IRequestQueueGets a pageable list of IRequest entries in this queue. This jumps right to the end of the list- Specified by:
getPagedRequestsByFilterin 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:IRequestQueueGets request repository.- Specified by:
getRequestRepositoryin interfaceIRequestQueue- Returns:
- request repository
-
getPublishingStatus
public java.lang.String getPublishingStatus()
- Specified by:
getPublishingStatusin interfaceIRequestQueue
-
setPublishingStatus
public void setPublishingStatus(java.lang.String status)
- Specified by:
setPublishingStatusin interfaceIRequestQueue
-
-