Class CloudSubmissionDataStorageService
- 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.CloudSubmissionDataStorageService
-
- All Implemented Interfaces:
IServiceDefinitionAware
,ISubmissionDataStorageService
- Direct Known Subclasses:
AzureSubmissionDataStorageService
public abstract class CloudSubmissionDataStorageService extends DatabaseSubmissionDataStorageService
Provides a generic cloud submission data storage service abstract class.- Since:
- 20.5.0
-
-
Field Summary
Fields Modifier and Type Field Description protected static String
ENCRYPTION_MODE_LOCAL
-
Fields inherited from class com.avoka.fc.core.service.storage.DatabaseSubmissionDataStorageService
SERVICE_NAME
-
-
Constructor Summary
Constructors Constructor Description CloudSubmissionDataStorageService()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected ApplicationException
createAndLogException(Exception error, Submission submission, String method, String storageUrl, String encoding)
boolean
deleteAttachmentData(FileUpload fileUpload)
Delete attachment data.protected abstract void
deleteData(String storageUrlReceipt)
protected abstract void
deleteData(String storageUrlReceipt, Submission submission)
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 abstract byte[]
getData(String url)
String
getEncryptionMode()
Return the encryption mode [ Local | AKV ]String
getReceiptPdfEncoding()
Gets the receipt pdf encoding.protected String
getServiceNameAndVersion()
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 encryptorprotected abstract void
postData(String storageUrl, byte[] encodedData)
void
setEncryptionMode(String value)
Set the encryption mode [ Local | AKV ]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, getDataEncryptor, 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
-
-
-
-
Field Detail
-
ENCRYPTION_MODE_LOCAL
protected static final String ENCRYPTION_MODE_LOCAL
- See Also:
- Constant Field Values
-
-
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 | AKV ]- Parameters:
value
- the encryption mode
-
getEncryptionMode
public String getEncryptionMode()
Return the encryption mode [ Local | AKV ]- 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- 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
-
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()
-
postData
protected abstract void postData(String storageUrl, byte[] encodedData) throws IOException
- Throws:
IOException
-
deleteData
protected abstract void deleteData(String storageUrlReceipt)
-
deleteData
protected abstract void deleteData(String storageUrlReceipt, Submission submission)
-
getData
protected abstract byte[] getData(String url)
-
createAndLogException
protected ApplicationException createAndLogException(Exception error, Submission submission, String method, String storageUrl, String encoding)
-
getServiceNameAndVersion
protected String getServiceNameAndVersion()
-
-