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.expireRegulatorySubmission(RegulatorySubmission submission) Marks the provided regulatory submission as expired, changes itsSubmissionStageto expired, and fires theRegulatoryMasterServiceEvent.AUTO_EXPIREDevent.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) Deprecated.generatePrimaryContent(RegulatorySubmission regulatorySubmission, boolean draft) This method generates a human readable version of the data represented by the Regulatory Submission and sets it as Primary Content.getTransmissionDelegate(RegulatorySubmission regulatorySubmission) Returns the RegulatoryTransmissionDelegateInterface registered for the Regulatory Submission Type in the Service Properties
Supported API: trueReturns the location of the Regulatory Submission Payload content.booleanSupported API Method used to control/validate the visibility of the Track Regulatory Submission action.postCancellation(RegulatorySubmission regSub) Used to perform work required after the cancellation of the submission process of a regulatory submission.postComplete(RegulatorySubmission regulatorySubmission) Used to Perform work required after a successful acknowledgement from the Regulatory Agency.postSubmissionProcessing(RegulatorySubmission regulatorySubmission) Performs Post Submission Processing on a Regulatory Submission, called fromsubmitRegulatorySubmission(RegulatorySubmission)
Override this method to perform all custom processing that will modify the Regulatory Submission.voidpreCreatePopulate(RegulatorySubmission regulatorySubmission) This method populates Regulatory Submission data when the create action is performed, prior to persistence.processAcknowledgement(String transmissionName, byte[] transmissionContent) Upon receipt of an acknowledgement from a regulatory agency, the Regulatory Transmission Delegate will determine the correct Regulatory Submission Processor that should receive the acknowledgement and call this method.booleanprocessAcknowledgement(String transmissionName, String transmissionContent) Upon receipt of an acknowledgement from a regulatory agency, the Regulatory Transmission Delegate will determine the correct Regulatory Submission Processor that should receive the acknowledgement 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.submitRegulatorySubmission(RegulatorySubmission regulatorySubmission) Submits the Regulatory Submission using the Transmission Delegate configured for the Regulatory Submission.
-
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 invalid input: '&' 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 acknowledgement from a regulatory agency, the Regulatory Transmission Delegate will determine the correct Regulatory Submission Processor that should receive the acknowledgement and call this method. @see RegulatoryTransmissionDelegateInterface.This method is responsible for recording the acknowledgement 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 acknowledgements, events should only be fired for the final acknowledgement.When acknowledgements 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.
The default implementation of this method processes the provided 'transmissionContent' parameter as a UTF_8 String.
Supported API: true- Parameters:
transmissionName-transmissionContent-- Returns:
- Throws:
Exception
-
processAcknowledgement
ApplicationData processAcknowledgement(String transmissionName, byte[] transmissionContent) throws Exception Upon receipt of an acknowledgement from a regulatory agency, the Regulatory Transmission Delegate will determine the correct Regulatory Submission Processor that should receive the acknowledgement and call this method. @see RegulatoryTransmissionDelegateInterface.This method is responsible for recording the acknowledgement 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 acknowledgements, events should only be fired for the final acknowledgement.When acknowledgements 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.
The default implementation of this method processes the provided 'transmissionContent' parameter as a UTF_8 String.
Supported API: true- Parameters:
transmissionName-transmissionContent-- Returns:
- Throws:
Exception
-
generatePrimaryContent
@Deprecated RegulatorySubmission generatePrimaryContent(RegulatorySubmission regulatorySubmission) throws Exception Deprecated.This method generates a human readable version of the data represented by the Regulatory Submission and sets it as Primary Content. Draft is false.
Supported API: true- Throws:
Exception- See Also:
-
generatePrimaryContent
RegulatorySubmission generatePrimaryContent(RegulatorySubmission regulatorySubmission, boolean draft) 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- Throws:
Exception- See Also:
-
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 acknowledgement from the Regulatory Agency. The default implementation sets the submission stage attribute to Active and when null the approval date is set to the current time.
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
-
getTransmissionDelegate
RegulatoryTransmissionDelegateInterface getTransmissionDelegate(RegulatorySubmission regulatorySubmission) throws Exception Returns the RegulatoryTransmissionDelegateInterface registered for the Regulatory Submission Type in the Service Properties
Supported API: true- Parameters:
regulatorySubmission-- Returns:
- RegulatoryTransmissionDelegateInterface
- Throws:
Exception
-
submitRegulatorySubmission
RegulatorySubmission submitRegulatorySubmission(RegulatorySubmission regulatorySubmission) throws Exception Submits the Regulatory Submission using the Transmission Delegate configured for the Regulatory Submission. Do not modify the Regulatory Submission in any implementation of this method - modification customization can be performed by overridingpostSubmissionProcessing(RegulatorySubmission)
Supported API: true- Parameters:
regulatorySubmission-- Returns:
- RegulatorySubmission
- Throws:
Exception
-
postSubmissionProcessing
RegulatorySubmission postSubmissionProcessing(RegulatorySubmission regulatorySubmission) throws Exception Performs Post Submission Processing on a Regulatory Submission, called fromsubmitRegulatorySubmission(RegulatorySubmission)
Override this method to perform all custom processing that will modify the Regulatory Submission.
Supported API: true- Parameters:
regulatorySubmission-- Returns:
- RegulatorySubmission
- Throws:
Exception
-
expireRegulatorySubmission
Marks the provided regulatory submission as expired, changes itsSubmissionStageto expired, and fires theRegulatoryMasterServiceEvent.AUTO_EXPIREDevent. Additionally, will auto check out and check in a revision-controlled regulatory submission using theConditionalAutoCheckoutRunnerif a working copy is not provided and does not already exist
Supported API: true- Parameters:
submission- The regulatory submission to be expired- Returns:
- The version of the regulatory submission which has been expired.
- Throws:
WTException
-
postCancellation
Used to perform work required after the cancellation of the submission process of a regulatory submission.Default implementation:
On the provided regulatory submission, set the Submission Stage attribute to Terminated. Additionally, when it is null, set the terminated date to the current time.
Supported API: true- Parameters:
regSub-- Returns:
- Throws:
Exception
-
getTransmissionPayloadCategory
String getTransmissionPayloadCategory()Returns the location of the Regulatory Submission Payload content. Only supports the internal name of a RegulatoryContentCategory or the value of the of USE_PRIMARY_CONTENT_AS_TRANSMISSION_PAYLOAD.
Supported API: true- Returns:
-
performTrackRegSubActionValidation
Supported API Method used to control/validate the visibility of the Track Regulatory Submission action.
Supported API: true- Parameters:
regSub2-- Returns:
- Throws:
ExceptionWTException
-