org.glite.security.voms.request
Class BrokenRequest

java.lang.Object
  extended byorg.glite.security.voms.request.Request
      extended byorg.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 (*). TimeoutEvents 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. BrokenRequests 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

Nested Class Summary
 class BrokenRequest.BrokenState
           
 
Nested classes inherited from class org.glite.security.voms.request.Request
Request.ChronicleEntry, Request.DeletedState, Request.DoneState, Request.State, Request.TimedOutState
 
Field Summary
 
Fields inherited from class org.glite.security.voms.request.Request
action, chronicle, notifications, parameters, state
 
Method Summary
 Request.State getBrokenState()
           
static BrokenRequest getInstance(long id, java.lang.Throwable cause)
           
 ShortRequest getShortRequest()
           
 
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
 

Method Detail

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