org.glite.security.voms.request
Class BrokenRequest
java.lang.Object
org.glite.security.voms.request.Request
org.glite.security.voms.request.BrokenRequest
- All Implemented Interfaces:
- java.io.Serializable
- public final class BrokenRequest
- extends Request
A placeholder class to use when a request could not be deserialized from the
database. Using this class to represent broken requests is useful because
it allows complete request lists to be generated while at the same time
signalling that some requests are broken. The users could then delete these
broken requests one by one without having to reach down to the SQL level.
Also, the existence of bad requests will not affect the operation of good
ones.
- States:
-
This request type has one possible state,
BrokenState
.
- Transition diagram:
-
The diagram below is an overview of the workflow of an
BrokenRequest
. Complete states are marked with an asterisk
(*
). TimeoutEvent
s are not shown, but are accepted by
all incomplete states.
+------------+
--->|BrokenState*|
+------------+
- Security:
-
The
BrokenRequest
request type is used as a placeholder for
those requests that could not be deserialized from the database. It accepts
no state transitions and has no side effect, therefore, it has no security
impact. BrokenRequest
s are never serialized; the database will
continue to store the original BLOB value. Therefore, if the stored request
is somehow cured before it is deleted (for example, because of a service
upgrade), then what previously appeared as a BrokenRequest may revert to its
original type.
- Since:
- 1.2.11
- Author:
- Karoly Lorentey
- See Also:
Request
,
Serialized Form
Methods inherited from class org.glite.security.voms.request.Request |
addNotification, addParameter, addParameters, chronicle, chronicle, delete, getAction, getChronicle, getDeletedState, getDetailedRequest, getDoneState, getId, getInstance, getNotifications, getParameters, getRequester, getRequesterId, getRequests, getShortRequests, getStateDescription, getStateName, getTimedOutState, isComplete, isInDatabase, isPendingNotification, printChronicle, processEvent, sendPendingNotifications, store, toString |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
getInstance
public static BrokenRequest getInstance(long id,
java.lang.Throwable cause)
getBrokenState
public Request.State getBrokenState()
getShortRequest
public ShortRequest getShortRequest()
throws GeneralDatabaseException
- Overrides:
getShortRequest
in class Request
- Throws:
GeneralDatabaseException