Package com.avoka.fc.core.util
Class SubmissionUtils
- java.lang.Object
-
- com.avoka.fc.core.util.SubmissionUtils
-
public class SubmissionUtils extends Object
Provides submission related utility methods.
-
-
Constructor Summary
Constructors Constructor Description SubmissionUtils()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static voidaddInlineReceiptToken(HttpSession session, Submission submission)Add a token to allow a user to access a receipt inline (as part of the submission process, notably via the confirmation page).static voidaddOpenSavedFormToken(HttpSession session, Submission submission)Add a open saved form token.static voidaddReceiptAccessToken(HttpSession session, Submission submission)Add a receipt access token.static voidaddSessionChallengeJobKey(HttpSession session, Submission submission)Add a successful save challenge job key to the session.static voidaddSessionChallengeSubmitKey(HttpSession session, Submission submission)Add a successful save challenge submit key to the session and any submission contact email address if defined.static StringcalculateFormSubmitHash(Document formXmlDoc)Calculate the submitted form data SHA-256 hash, excluding the //SystemProfile element.static booleancontainsSessionChallengeJobKey(HttpServletRequest request, Submission submission)Checks if the session contains a successful save challenge job key for the specified submissionstatic booleancontainsSessionChallengeSubmitKey(HttpServletRequest request, Submission submission)Checks if the request session contains a successful save challenge submit key for the specified submissionstatic StringgenerateSubmissionXmlMetadata(Submission submission)Generate submission metadata in XML format describing the submission and attachments.static Map<String,DataDocument>getDeliveryAttachmentsMap(Submission submission, DeliveryDetails deliveryDetails, boolean deliveryAttachments)Return the submission delivery attachments map, keyed on attachment key.static StringgetReceiptFilename(Submission submission)Return the PDF receipt filename.static byte[]getSubmissionDataExcel(Submission submission)Return the Submission Data Extracts an Excel file byte array, or null if no extracts available.static PortalgetTaskPortal(HttpServletRequest request, Submission task)Return the portal for the associated request and task.static TemplateVersiongetTemplateVersion(SubmissionDataBean submissionData)Gets the template version given the submission data bean.static StringgetTransactionStatus(Submission submission)Return a formatted transaction status text values, which summarizes the submission transaction status.static booleanhasInlineReceiptAccessToken(HttpServletRequest request, Submission submission)Returns true if an inline receipt access token is present in the session for a given submission.static booleanhasOpenSavedFormToken(HttpServletRequest request, Submission submission)Returns true if the open form token is present for a save challenge open form flow.static booleanhasReceiptAccessToken(HttpServletRequest request, Submission submission)Returns true if a receipt access token is present in the session for a given submission.static booleanhasSubmissionExpired(Submission submission)Return true if the submission has expired.static booleanisSubmissionTaskAvailble(Submission submission, UserAccount userAccount, String contactEmailAddress)Return true if the submission is available to the current user account or contact email address.static voidlogAttachmentEvent(Submission submission, Attachment attachment, HttpServletRequest request, String msg)Log the submission attachment event.static voidpopulateUserProfile(Document document, Submission submission)Populates the user profile referenced in the submission with submission data, using the user profile mappings into the schema in reversestatic voidremoveSaveChallengeTokens(HttpServletRequest request)Remove session save challenge tokens.static voidresolveAndSetDeliveryDetails(Submission submission)Resolve and set the submission delivery details for the given submission if not a job submission.static DeliveryDetailsresolveDeliveryDetails(Submission submission)Resolve the delivery details for the submission object.
-
-
-
Method Detail
-
calculateFormSubmitHash
public static String calculateFormSubmitHash(Document formXmlDoc)
Calculate the submitted form data SHA-256 hash, excluding the //SystemProfile element. Please note this method should not be used for calculating the delivery form XML data hash, but is use instead to avoid duplicated submission data records.- Parameters:
formXmlDoc- the form XML doc (required)- Returns:
- the SHA-256 hash of the submitted form data (excluding //SystemProfile element)
- Since:
- 4.1.0
-
resolveAndSetDeliveryDetails
public static void resolveAndSetDeliveryDetails(Submission submission)
Resolve and set the submission delivery details for the given submission if not a job submission. If Form Version using new Form HTTP API, then register any delivery functions if required otherwise and use delivery details.- Parameters:
submission- the form submission object- Since:
- 4.3.4
-
resolveDeliveryDetails
public static DeliveryDetails resolveDeliveryDetails(Submission submission)
Resolve the delivery details for the submission object.- Parameters:
submission- the form submission object- Returns:
- the resolved delivery details for the submission object
- Since:
- 4.0.0
-
populateUserProfile
public static void populateUserProfile(Document document, Submission submission)
Populates the user profile referenced in the submission with submission data, using the user profile mappings into the schema in reverse- Parameters:
document- the submitted XMLsubmission- the submission
-
getTemplateVersion
public static TemplateVersion getTemplateVersion(SubmissionDataBean submissionData)
Gets the template version given the submission data bean.- Parameters:
submissionData- the submission data bean- Returns:
- the template version
-
getReceiptFilename
public static String getReceiptFilename(Submission submission)
Return the PDF receipt filename.- Parameters:
submission- the form submission- Returns:
- the PDF receipt filename.
-
getDeliveryAttachmentsMap
public static Map<String,DataDocument> getDeliveryAttachmentsMap(Submission submission, DeliveryDetails deliveryDetails, boolean deliveryAttachments)
Return the submission delivery attachments map, keyed on attachment key.- Parameters:
submission- the submissiondeliveryDetails- the submission delivery detailsdeliveryAttachments- the delivery attachments flag- Returns:
- the submission attachments Map keyed on attachment key.
-
getSubmissionDataExcel
public static byte[] getSubmissionDataExcel(Submission submission)
Return the Submission Data Extracts an Excel file byte array, or null if no extracts available.- Parameters:
submission- the submission (required)- Returns:
- the Submission Data Extracts an Excel file byte array, or null if no extracts available
- Since:
- 4.0.0
-
generateSubmissionXmlMetadata
public static String generateSubmissionXmlMetadata(Submission submission) throws ParserConfigurationException
Generate submission metadata in XML format describing the submission and attachments.- Parameters:
submission- the submission (required)- Returns:
- the XML metadata as a String
- Throws:
ParserConfigurationException- if the XML document builder cannot be obtained- Since:
- 4.1.0
-
getTransactionStatus
public static String getTransactionStatus(Submission submission)
Return a formatted transaction status text values, which summarizes the submission transaction status.- Parameters:
submission- the submission transaction (required)- Returns:
- a formatted transaction status text values, which summarizes the submission transaction status
- Since:
- 4.1.6
-
isSubmissionTaskAvailble
public static boolean isSubmissionTaskAvailble(Submission submission, UserAccount userAccount, String contactEmailAddress)
Return true if the submission is available to the current user account or contact email address. If the submission form status is 'Abandoned' or 'Expired' this method will return false.- Parameters:
submission- the submission to testuserAccount- the user's accountcontactEmailAddress- the users contact email address- Returns:
- true if the submission is available to the current user account or contact email address
- Since:
- 4.2.0
-
getTaskPortal
public static Portal getTaskPortal(HttpServletRequest request, Submission task)
Return the portal for the associated request and task.- Parameters:
request- the server requesttask- the task- Returns:
- the portal for the associated request and form
- Since:
- 4.2.0
-
addOpenSavedFormToken
public static void addOpenSavedFormToken(HttpSession session, Submission submission)
Add a open saved form token.- Parameters:
session- the HTTP session (required)submission- the submission (required)- Since:
- 4.3.3
-
addReceiptAccessToken
public static void addReceiptAccessToken(HttpSession session, Submission submission)
Add a receipt access token.- Parameters:
session- the HTTP session (required)submission- the submission (required)- Since:
- 5.1.0
-
addInlineReceiptToken
public static void addInlineReceiptToken(HttpSession session, Submission submission)
Add a token to allow a user to access a receipt inline (as part of the submission process, notably via the confirmation page). Access is still conditional onIFormSubmissionAccessController.getCompletedSubmissionAccessStatus(Submission, HttpServletRequest)but some additional checks are not enforced.- Parameters:
session- the HTTP session (required)submission- the submission (required)- Since:
- 5.1.0
-
hasOpenSavedFormToken
public static boolean hasOpenSavedFormToken(HttpServletRequest request, Submission submission)
Returns true if the open form token is present for a save challenge open form flow. or if the submission has a job with a session job key.- Parameters:
request- the form request (required)submission- the submission to access (required)- Returns:
- true if the open form token is present for a save challenge open form flow. or if the submission has a job with a session job key.
- Since:
- 4.3.3
-
hasReceiptAccessToken
public static boolean hasReceiptAccessToken(HttpServletRequest request, Submission submission)
Returns true if a receipt access token is present in the session for a given submission. This method can be called multiple times. The token will stay present unless removed explicitly.- Parameters:
request- the HTTP servlet request (required)submission- the submission to access (required)- Returns:
- true if a receipt access token is present for the submission.
- Since:
- 5.1.0
-
hasInlineReceiptAccessToken
public static boolean hasInlineReceiptAccessToken(HttpServletRequest request, Submission submission)
Returns true if an inline receipt access token is present in the session for a given submission. Inline access is access as part of the submission process, e.g. from the confirmation page. This method can be called multiple times. The token will stay present unless removed explicitly.- Parameters:
request- the HTTP servlet request (required)submission- the submission to access (required)- Returns:
- true if an inline receipt access token is present for the submission.
- Since:
- 5.1.0
-
addSessionChallengeSubmitKey
public static void addSessionChallengeSubmitKey(HttpSession session, Submission submission)
Add a successful save challenge submit key to the session and any submission contact email address if defined.- Parameters:
session- the HTTP session (required)submission- the submission (required)- Since:
- 4.3.1
-
containsSessionChallengeSubmitKey
public static boolean containsSessionChallengeSubmitKey(HttpServletRequest request, Submission submission)
Checks if the request session contains a successful save challenge submit key for the specified submission- Parameters:
request- the request (required)submission- the submission (required)- Returns:
- true if the submit key is contained in the set of successful save challenges
- Since:
- 4.3.1
-
addSessionChallengeJobKey
public static void addSessionChallengeJobKey(HttpSession session, Submission submission)
Add a successful save challenge job key to the session.- Parameters:
session- the HTTP session (required)submission- the submission (required)- Since:
- 4.3.1
-
containsSessionChallengeJobKey
public static boolean containsSessionChallengeJobKey(HttpServletRequest request, Submission submission)
Checks if the session contains a successful save challenge job key for the specified submission- Parameters:
request- the request (required)submission- the submission (required)- Returns:
- true if the job key is contained in the set of successful save challenges
- Since:
- 4.3.1
-
logAttachmentEvent
public static void logAttachmentEvent(Submission submission, Attachment attachment, HttpServletRequest request, String msg)
Log the submission attachment event.- Parameters:
submission- the submission (required)attachment- the file attachment (required)request- the servlet request (required)msg- the message to log (required)- Since:
- 4.3.2
-
hasSubmissionExpired
public static boolean hasSubmissionExpired(Submission submission)
Return true if the submission has expired.- Parameters:
submission- the submission record (required)- Returns:
- true if the submission has expired
- Since:
- 4.3.2
-
removeSaveChallengeTokens
public static void removeSaveChallengeTokens(HttpServletRequest request)
Remove session save challenge tokens.- Parameters:
request- the request (required)- Since:
- 5.0.0
-
-