Class AwsSubmissionDataStorageService
- java.lang.Object
-
- com.avoka.fc.core.service.BaseService
-
- com.avoka.fc.core.service.CayenneService
-
- com.avoka.fc.core.service.storage.AbstractSubmissionDataStorageService
-
- com.avoka.fc.core.service.storage.DatabaseSubmissionDataStorageService
-
- com.avoka.fc.core.service.storage.AwsSubmissionDataStorageService
-
- All Implemented Interfaces:
IServiceDefinitionAware
,ISubmissionDataStorageService
public class AwsSubmissionDataStorageService extends DatabaseSubmissionDataStorageService
Provides an AWS Submission Data Storage Service which uses the RDS to store submission XML data, and S3 to store binary PDF receipts and file attachments.- Since:
- 4.3.4
-
-
Field Summary
-
Fields inherited from class com.avoka.fc.core.service.storage.DatabaseSubmissionDataStorageService
SERVICE_NAME
-
-
Constructor Summary
Constructors Constructor Description AwsSubmissionDataStorageService()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
deleteAttachmentData(FileUpload fileUpload)
Delete attachment data.boolean
deleteSubmissionData(Submission submission)
Delete the transaction data associated with this submission, if not already deleted.byte[]
getAttachment(FileUpload fileUpload)
Gets the attachment file data.String
getAttachmentsEncoding()
Gets the attachments encoding.protected ISubmissionDataEncryptor
getDataEncryptor()
String
getEncryptionMode()
Return the encryption mode [ Local | KMS | HSM ]String
getReceiptPdfEncoding()
Gets the receipt pdf encoding.byte[]
getSignatureReceipt(Submission submission)
Gets the signature receipt data.String
getSubmissionHistoryXmlEncoding()
Gets the submission history xml encoding.byte[]
getSubmissionReceipt(Submission submission)
Gets the submission receipt data.String
getSubmissionXmlEncoding()
Gets the submission xml encoding.boolean
initializeCryptoDataKey(Submission submission)
Delegate the Initialization of the crypto data key for the submission to the data encryptor This is called on Render to avoid a race condition TMR-2171 with multi simultaneous Dynamic Data Calls.void
setEncryptionMode(String value)
Set the encryption mode [ Local | KMS | HSM ]void
storeAttachment(Submission submission, FileUpload fileUpload, byte[] fileData)
Store the submission attachment file data.void
storeSignatureReceipt(Submission submission, byte[] receiptData)
Store submission signature receipt data.void
storeSubmissionReceipt(Submission submission, byte[] receiptData)
Store submission receipt data.-
Methods inherited from class com.avoka.fc.core.service.storage.DatabaseSubmissionDataStorageService
getSubmissionHistoryXml, getSubmissionXml, storeSubmissionAndHistoryXml, storeSubmissionHistoryXml, storeSubmissionXml
-
Methods inherited from class com.avoka.fc.core.service.storage.AbstractSubmissionDataStorageService
decodeData, decryptText, encodeData, encryptText, getErrorLogService, getServiceDefinition, hasExternalizeStorage, refetchEntity, setAttachmentsEncoding, setDataEncryptor, setReceiptPdfEncoding, setServiceDefinition, setSubmissionHistoryXmlEncoding, setSubmissionXmlEncoding
-
Methods inherited from class com.avoka.fc.core.service.CayenneService
commitChanges, deleteObject, deleteObjects, findObject, getDataContext, getDataDomain, getObjectForPK, getObjectStore, newObject, performNamedQuery, performNamedQuery, performNamedQuery, performNonSelectingQuery, performNonSelectingQuery, performNonSelectingQuery, performNonSelectingQuery, performQuery, performQuery, refetchObject, registerNewObject, rollbackChanges, toMap, toMap
-
Methods inherited from class com.avoka.fc.core.service.BaseService
getLogger
-
-
-
-
Method Detail
-
storeSubmissionReceipt
public void storeSubmissionReceipt(Submission submission, byte[] receiptData)
Description copied from interface:ISubmissionDataStorageService
Store submission receipt data.- Specified by:
storeSubmissionReceipt
in interfaceISubmissionDataStorageService
- Overrides:
storeSubmissionReceipt
in classDatabaseSubmissionDataStorageService
- Parameters:
submission
- the submission (required)receiptData
- the receipt data (optional)- See Also:
ISubmissionDataStorageService.storeSubmissionReceipt(Submission, byte[])
-
storeSignatureReceipt
public void storeSignatureReceipt(Submission submission, byte[] receiptData)
Description copied from interface:ISubmissionDataStorageService
Store submission signature receipt data.- Specified by:
storeSignatureReceipt
in interfaceISubmissionDataStorageService
- Overrides:
storeSignatureReceipt
in classDatabaseSubmissionDataStorageService
- Parameters:
submission
- the submission (required)receiptData
- the signature receipt data (optional)- See Also:
ISubmissionDataStorageService.storeSignatureReceipt(Submission, byte[])
-
storeAttachment
public void storeAttachment(Submission submission, FileUpload fileUpload, byte[] fileData)
Description copied from interface:ISubmissionDataStorageService
Store the submission attachment file data.- Specified by:
storeAttachment
in interfaceISubmissionDataStorageService
- Overrides:
storeAttachment
in classDatabaseSubmissionDataStorageService
- Parameters:
submission
- the associated submission (required)fileUpload
- the file upload (required)fileData
- the file data- See Also:
ISubmissionDataStorageService.storeAttachment(Submission, FileUpload, byte[])
-
getSubmissionReceipt
public byte[] getSubmissionReceipt(Submission submission)
Description copied from interface:ISubmissionDataStorageService
Gets the submission receipt data.- Specified by:
getSubmissionReceipt
in interfaceISubmissionDataStorageService
- Overrides:
getSubmissionReceipt
in classDatabaseSubmissionDataStorageService
- Parameters:
submission
- the submission (required)- Returns:
- the submission receipt
- See Also:
ISubmissionDataStorageService.getSubmissionReceipt(Submission)
-
getSignatureReceipt
public byte[] getSignatureReceipt(Submission submission)
Description copied from interface:ISubmissionDataStorageService
Gets the signature receipt data.- Specified by:
getSignatureReceipt
in interfaceISubmissionDataStorageService
- Overrides:
getSignatureReceipt
in classDatabaseSubmissionDataStorageService
- Parameters:
submission
- the submission (required)- Returns:
- the signature receipt
- See Also:
ISubmissionDataStorageService.getSignatureReceipt(Submission)
-
getAttachment
public byte[] getAttachment(FileUpload fileUpload)
Description copied from interface:ISubmissionDataStorageService
Gets the attachment file data.- Specified by:
getAttachment
in interfaceISubmissionDataStorageService
- Overrides:
getAttachment
in classDatabaseSubmissionDataStorageService
- Parameters:
fileUpload
- the file upload (required)- Returns:
- the attachment
- See Also:
ISubmissionDataStorageService.getAttachment(FileUpload)
-
deleteSubmissionData
public boolean deleteSubmissionData(Submission submission)
Description copied from class:DatabaseSubmissionDataStorageService
Delete the transaction data associated with this submission, if not already deleted. Note submission delivery status must be [ Completed | Undeliverable | Not Required ]. Delete submission data, attachment data, submission history data and return true if successful.- Specified by:
deleteSubmissionData
in interfaceISubmissionDataStorageService
- Overrides:
deleteSubmissionData
in classDatabaseSubmissionDataStorageService
- Parameters:
submission
- the submission to delete the data of (required)- Returns:
- true if successful, or false if the data was already deleted
- See Also:
ISubmissionDataStorageService.deleteSubmissionData(Submission)
-
deleteAttachmentData
public boolean deleteAttachmentData(FileUpload fileUpload)
Description copied from interface:ISubmissionDataStorageService
Delete attachment data.- Specified by:
deleteAttachmentData
in interfaceISubmissionDataStorageService
- Overrides:
deleteAttachmentData
in classDatabaseSubmissionDataStorageService
- Parameters:
fileUpload
- the file upload (required)- Returns:
- true, if successful
- See Also:
ISubmissionDataStorageService.deleteAttachmentData(FileUpload)
-
setEncryptionMode
public void setEncryptionMode(String value)
Set the encryption mode [ Local | KMS | HSM ]- Parameters:
value
- the encryption mode
-
getEncryptionMode
public String getEncryptionMode()
Return the encryption mode [ Local | KMS | HSM ]- Returns:
- the encryption mode
-
initializeCryptoDataKey
public boolean initializeCryptoDataKey(Submission submission)
Delegate the Initialization of the crypto data key for the submission to the data encryptor This is called on Render to avoid a race condition TMR-2171 with multi simultaneous Dynamic Data Calls.- Specified by:
initializeCryptoDataKey
in interfaceISubmissionDataStorageService
- Overrides:
initializeCryptoDataKey
in classDatabaseSubmissionDataStorageService
- Parameters:
submission
- the submission to which the data key will be created- Returns:
- the boolean value returned by the data encryptor
- Since:
- 18.5.9
-
getDataEncryptor
protected ISubmissionDataEncryptor getDataEncryptor()
- Overrides:
getDataEncryptor
in classAbstractSubmissionDataStorageService
- Returns:
- the submission data encryptor
-
getSubmissionXmlEncoding
public final String getSubmissionXmlEncoding()
Description copied from interface:ISubmissionDataStorageService
Gets the submission xml encoding.- Specified by:
getSubmissionXmlEncoding
in interfaceISubmissionDataStorageService
- Overrides:
getSubmissionXmlEncoding
in classAbstractSubmissionDataStorageService
- Returns:
- the submission xml encoding
- See Also:
ISubmissionDataStorageService.getSubmissionXmlEncoding()
-
getSubmissionHistoryXmlEncoding
public final String getSubmissionHistoryXmlEncoding()
Description copied from interface:ISubmissionDataStorageService
Gets the submission history xml encoding.- Specified by:
getSubmissionHistoryXmlEncoding
in interfaceISubmissionDataStorageService
- Overrides:
getSubmissionHistoryXmlEncoding
in classAbstractSubmissionDataStorageService
- Returns:
- the submission xml encoding
- See Also:
ISubmissionDataStorageService.getSubmissionXmlEncoding()
-
getReceiptPdfEncoding
public final String getReceiptPdfEncoding()
Description copied from interface:ISubmissionDataStorageService
Gets the receipt pdf encoding.- Specified by:
getReceiptPdfEncoding
in interfaceISubmissionDataStorageService
- Overrides:
getReceiptPdfEncoding
in classAbstractSubmissionDataStorageService
- Returns:
- the receipt pdf encoding
- See Also:
ISubmissionDataStorageService.getReceiptPdfEncoding()
-
getAttachmentsEncoding
public final String getAttachmentsEncoding()
Description copied from interface:ISubmissionDataStorageService
Gets the attachments encoding.- Specified by:
getAttachmentsEncoding
in interfaceISubmissionDataStorageService
- Overrides:
getAttachmentsEncoding
in classAbstractSubmissionDataStorageService
- Returns:
- the attachments encoding
- See Also:
ISubmissionDataStorageService.getAttachmentsEncoding()
-
-