Interface RegulatorySubmissionProcessorInterface
- All Known Implementing Classes:
AbstractRegSubmission2Processor,AbstractRegulatorySubmissionProcessor,AERSubmissionProcessor,ERSubmissionProcessor,RegulatorySubmission2Processor,RPSSubmissionProcessor,SimpleRegulatorySubmissionProcessor,UDISubmissionProcessor
Supported API: true
Extendable: true
-
Method Summary
Modifier and TypeMethodDescriptioncleanTransmissionContent(RegulatorySubmission regulatorySubmission) Used to Delete Regulatory Content created by the submitting process.createCustomEditUrl(RegulatorySubmission regulatorySubmission) Used to configure a custom Edit URL used by the custom Edit Action for Regulatory Submissions.voidcreatePopulate(RegulatorySubmission regulatorySubmission) This method populates Regulatory Submission data when the create action is performed, after persistence.booleanUsed to configure the Edit Action for Regulatory Submissions.generatePayload(RegulatorySubmission regulatorySubmission) Generates the file that will be transmitted to the regulatory agency and stores it as Regulatory Content of type "REGULATORY_SUBMISSION_PAYLOAD".generatePrimaryContent(RegulatorySubmission regulatorySubmission) This method generates a human readable version of the data represented by the Regulatory Submission and sets it as Primary Content.postComplete(RegulatorySubmission regulatorySubmission) Used to Perform work required after a successful acknowledgment from the Regulatory Agency.voidpreCreatePopulate(RegulatorySubmission regulatorySubmission) This method populates Regulatory Submission data when the create action is performed, prior to persistence.booleanprocessAcknowledgement(String transmissionName, String transmissionContent) Upon receipt of an acknowledgment from a regulatory agency, the Regulatory Transmission Delegate will determine the correct Regulatory Submission Processor that should receive the acknowledgment and call this method.voidrevisePopulateNewVersion(RegulatorySubmission regulatorySubmission) Called after the new Version of the Regulatory Submission is persisted.voidrevisePopulatePreNewVersion(RegulatorySubmission regulatorySubmission) This method populates all the regulatory submission data when revise action is performed.
-
Method Details
-
revisePopulatePreNewVersion
This method populates all the regulatory submission data when revise action is performed. It is expected that this method can be overwritten to achieve customization when you are extending this class.Called prior to the new Version of the Regulatory Submission object being persisted. This allows the modification of attributes and IBA during the creation of the new version. Do not call save() or store() object methods as this will be performed by the framework.
Supported API: true- Throws:
Exception
-
revisePopulateNewVersion
Called after the new Version of the Regulatory Submission is persisted. Content, Subjects and Drivers have already been propagated to the new Version. This is where you can delete, update or add related Content, Subjects and Drivers.
Supported API: true- Throws:
Exception
-
preCreatePopulate
This method populates Regulatory Submission data when the create action is performed, prior to persistence. It is expected that this method can be overwritten to achieve customization when you are extending this class.
Called prior to the new Regulatory Submission object being persisted. This allows the modification of attributes and IBAs during the creation of the Regulatory Submission. Do not call save() or store() object methods as this will be performed by the framework.
Supported API: true- Throws:
Exception
-
createPopulate
This method populates Regulatory Submission data when the create action is performed, after persistence. It is expected that this method can be overwritten to achieve customization when you are extending this class.
Called after the Regulatory Submission object & it's respective content, subjects, and drivers have already been persisted. This is where you can add, delete, and update related content, subjects, and drivers.
Supported API: true- Throws:
Exception
-
enableCustomEditAction
boolean enableCustomEditAction()Used to configure the Edit Action for Regulatory Submissions. Default implementation will return false. Override this method to return true if a custom Edit URL has been configured by overriding the createCustomEditUrl method. When a custom Edit Action is enabled the OOTB Windchill Edit Wizard will be disabled and the custom URL will be invoked
Supported API: true -
createCustomEditUrl
Used to configure a custom Edit URL used by the custom Edit Action for Regulatory Submissions. Default implementation will return null. Override this method to return the custom Edit URL which will be used for editing a Regulatory Submission, If the enableCustomEditAction is configured to return true and this method is not configured, an error will be displayed. There is no need to encode because it will be done by the framework
Supported API: true -
processAcknowledgement
boolean processAcknowledgement(String transmissionName, String transmissionContent) throws Exception Upon receipt of an acknowledgment from a regulatory agency, the Regulatory Transmission Delegate will determine the correct Regulatory Submission Processor that should receive the acknowledgment and call this method. @see RegulatoryTransmissionDelegateInterface.This method is responsible for recording the acknowledgment body as Regulatory Content by calling
RegulatoryContentHelper.getService().storeRegulatoryContent(). It is also responsible for parsing the Regulatory Agency specific acknowledgement format to determine if it is successful or not and then dispatching the correct event.RegulatorySubmissionProcessorHelper.dispatchAcknowledgmentSuccessfulEvent(regulatorySubmission)orRegulatorySubmissionProcessorHelper.dispatchAcknowledgmentFailedEvent(regulatorySubmission)If the agency sends multiple acknowledgments, events should only be fired for the final acknowledgement.When acknowledgments contain tracking data such as Remote Identifier, Remote URL, Certificate Number, or agency specific IBAs, this method should update the Regulatory submission attributes with those values. To find a regulatory submission based upon a unique value stored in a tracking attribute use
RegulatorySubmissionHelper.getService().findRegulatorySubmissionByTypeAndAttribute().The default implementation of this method processes the simulated acknowledgements generated by simulateSuccessfulAcknowledgement() and simulateFailedAcknowledgement() methods.
Supported API: true- Parameters:
transmissionName-transmissionContent-- Returns:
- Throws:
Exception
-
generatePrimaryContent
RegulatorySubmission generatePrimaryContent(RegulatorySubmission regulatorySubmission) throws Exception This method generates a human readable version of the data represented by the Regulatory Submission and sets it as Primary Content.
Supported API: true -
cleanTransmissionContent
RegulatorySubmission cleanTransmissionContent(RegulatorySubmission regulatorySubmission) throws Exception Used to Delete Regulatory Content created by the submitting process. Transmission Regulatory Content must be cleaned because exceptions are thrown when attempting to overwrite existing Regulatory Content. Cleaning is required due to the loop back in Regulatory Submission Submitting Workflow when asked to resubmit.
Supported API: true- Throws:
Exception
-
postComplete
Used to Perform work required after a successful acknowledgment from the Regulatory Agency. The default implementation sets the Regulatory Submission stage attribute to Active, and the Regulatory Submission Stage for the predecessor Regulatory Submission (If one exists) to History.
Supported API: true- Throws:
Exception
-
generatePayload
Generates the file that will be transmitted to the regulatory agency and stores it as Regulatory Content of type "REGULATORY_SUBMISSION_PAYLOAD". Method uses RegulatoryContentHelper.getService().storeRegulatoryContent() to store the generated content. The file can be any format; often generated as XML, PDF, Document, or Spreadsheet. Default implementation will generate a JSON file containing select attributes from the Regulatory Submission.
Supported API: true- Parameters:
regulatorySubmission-- Returns:
- RegulatorySubmission
- Throws:
Exception
-