Class SubmissionUtils


  • public class SubmissionUtils
    extends Object
    Provides submission related utility methods.
    • Constructor Detail

      • SubmissionUtils

        public SubmissionUtils()
    • 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 XML
        submission - 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 submission
        deliveryDetails - the submission delivery details
        deliveryAttachments - 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 test
        userAccount - the user's account
        contactEmailAddress - 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 request
        task - 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
      • 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