Class GatekeeperMessage
- java.lang.Object
-
- org.jets3t.service.utils.gatekeeper.GatekeeperMessage
-
public class GatekeeperMessage extends Object
Represents a set of properties that will be sent to or received from a Gatekeeper service as a message document. This class includes utility methods to generate and parse plain text encodings of messages.For more information about the Gatekeeper message format, please see: Gatekeeper Concepts
- Author:
- James Murty
-
-
Field Summary
Fields Modifier and Type Field Description static String
APP_PROPERTY_GATEKEEPER_ERROR_CODE
The property name for storing error codes a Gatekeeper can return to a client.static String
DELIM
All message property names are delimited with a vertical bar (|).static String
LIST_OBJECTS_IN_BUCKET_FLAG
A flag name that indicates the Gatekeeper servlet should perform a bucket listing - for example as used by CockpitLitestatic String
PROPERTY_CLIENT_VERSION_ID
The property name for storing information about a client application such as its version number.static String
PROPERTY_PRIOR_FAILURE_MESSAGE
The property name for storing information about prior failures in the gatekeeper client application.static String
PROPERTY_TRANSACTION_ID
The property name for message-specific transaction IDs: transactionIdstatic String
SUMMARY_DOCUMENT_METADATA_FLAG
A flag name used to indicate when an S3Object is a summary XML document, as generated by the Uploader application.
-
Constructor Summary
Constructors Constructor Description GatekeeperMessage()
Constructs a message with no properties.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addApplicationProperties(Map propertiesMap)
Adds a set of application-specific properties to the message.void
addApplicationProperty(String propertyName, String propertyValue)
Adds an application-specific property to the message.void
addMessageProperties(Map propertiesMap)
Adds a set of message-specific properties to the message.void
addMessageProperty(String propertyName, String propertyValue)
Adds a message-specific property to the message.void
addSignatureRequest(SignatureRequest signatureRequest)
Adds a Signature Request to the message, indicating a request that a particular operation be allowed on a particular object.void
addSignatureRequests(SignatureRequest[] signatureRequests)
Adds multiple signature requests to the message.static GatekeeperMessage
decodeFromProperties(Map postProperties)
Decodes (parses) a Gatekeeper message from the given properties.Properties
encodeToProperties()
Encodes a Gatekeeper message as a properties object, with all signature requests identified with a unique zero-based index number.Properties
getApplicationProperties()
Properties
getMessageProperties()
SignatureRequest[]
getSignatureRequests()
Returns the signature requests in a message.
-
-
-
Field Detail
-
DELIM
public static final String DELIM
All message property names are delimited with a vertical bar (|).- See Also:
- Constant Field Values
-
PROPERTY_TRANSACTION_ID
public static final String PROPERTY_TRANSACTION_ID
The property name for message-specific transaction IDs: transactionId- See Also:
- Constant Field Values
-
PROPERTY_PRIOR_FAILURE_MESSAGE
public static final String PROPERTY_PRIOR_FAILURE_MESSAGE
The property name for storing information about prior failures in the gatekeeper client application.- See Also:
- Constant Field Values
-
PROPERTY_CLIENT_VERSION_ID
public static final String PROPERTY_CLIENT_VERSION_ID
The property name for storing information about a client application such as its version number. This information can be useful to server-side components to confirm compatibility with the client.- See Also:
- Constant Field Values
-
APP_PROPERTY_GATEKEEPER_ERROR_CODE
public static final String APP_PROPERTY_GATEKEEPER_ERROR_CODE
The property name for storing error codes a Gatekeeper can return to a client. The error codes can be any string value.- See Also:
- Constant Field Values
-
SUMMARY_DOCUMENT_METADATA_FLAG
public static final String SUMMARY_DOCUMENT_METADATA_FLAG
A flag name used to indicate when an S3Object is a summary XML document, as generated by the Uploader application.- See Also:
- Constant Field Values
-
LIST_OBJECTS_IN_BUCKET_FLAG
public static final String LIST_OBJECTS_IN_BUCKET_FLAG
A flag name that indicates the Gatekeeper servlet should perform a bucket listing - for example as used by CockpitLite- See Also:
- Constant Field Values
-
-
Method Detail
-
addSignatureRequest
public void addSignatureRequest(SignatureRequest signatureRequest)
Adds a Signature Request to the message, indicating a request that a particular operation be allowed on a particular object.- Parameters:
signatureRequest
-
-
addSignatureRequests
public void addSignatureRequests(SignatureRequest[] signatureRequests)
Adds multiple signature requests to the message.- Parameters:
signatureRequests
-
-
getSignatureRequests
public SignatureRequest[] getSignatureRequests()
Returns the signature requests in a message. When this method is called on a request message, this list will include only the requested operations. When this method is called on a message that is a response from a Gatekeeper service, the resulting list will include the signed URLs or reasons why requests were declined.- Returns:
- the set of signature requests in this message.
-
addApplicationProperty
public void addApplicationProperty(String propertyName, String propertyValue)
Adds an application-specific property to the message.- Parameters:
propertyName
-propertyValue
-
-
addApplicationProperties
public void addApplicationProperties(Map propertiesMap)
Adds a set of application-specific properties to the message.- Parameters:
propertiesMap
-
-
getApplicationProperties
public Properties getApplicationProperties()
- Returns:
- the application-specific properties in this message.
-
addMessageProperty
public void addMessageProperty(String propertyName, String propertyValue)
Adds a message-specific property to the message.- Parameters:
propertyName
-propertyValue
-
-
addMessageProperties
public void addMessageProperties(Map propertiesMap)
Adds a set of message-specific properties to the message.- Parameters:
propertiesMap
-
-
getMessageProperties
public Properties getMessageProperties()
- Returns:
- the message-specific properties in this message.
-
encodeToProperties
public Properties encodeToProperties()
Encodes a Gatekeeper message as a properties object, with all signature requests identified with a unique zero-based index number.- Returns:
- all the properties of the message.
-
decodeFromProperties
public static GatekeeperMessage decodeFromProperties(Map postProperties)
Decodes (parses) a Gatekeeper message from the given properties. Any properties that are not part of the message format are ignored.- Parameters:
postProperties
-- Returns:
- a Gatekeeper message object representing the contents of the properties.
-
-