public class PSIJSONUtil
extends java.lang.Object
Constructor and Description |
---|
PSIJSONUtil() |
Modifier and Type | Method and Description |
---|---|
static java.lang.String[] |
attachWorkflowDocuments(java.lang.String psiObjectId,
java.lang.String stringifiedContext,
java.lang.String ticket)
Attaches workflow documents to an in-stream PSI.
|
protected boolean |
containsGroupedQuestion(java.lang.String text,
java.util.List<java.lang.String> questions) |
protected static byte[] |
generatePDFFromMailMergeTemplate(java.lang.String ticket,
java.lang.String stringifiedPSI,
java.lang.String mmDocId,
java.util.Map<java.lang.String,java.lang.String> allShortLabelsToAnswers)
Generates a PDF from a completed Wizard Form (PSI) and uses the answers to fill out and return a completed Mail Merge Document
|
static java.lang.String |
getAdobeTemplate(java.lang.String psdName)
Return the PDF name to use for the Adobe generation for the given
page set definition.
|
static java.lang.String |
getDisplayValueFromOptions(org.json.JSONArray arr,
java.lang.String value)
helper function for getting a single display value from a list of options belonging to a question
|
static java.lang.String |
getMailMergeTemplate(java.lang.String ticket,
java.lang.String psdName)
Util funtion that will return the objectId of the MailMerge Template if it exists
|
static java.util.ArrayList<java.lang.String> |
getRelatedSupportingDocs(java.lang.String psiId,
java.lang.String ticket)
Util method for returning all the related supporting docs for a page set instance (psiId)
|
static java.util.ArrayList<java.lang.String> |
getSupportingDocsFromPageSetInstance(java.lang.String formId,
boolean onFlowpath,
java.lang.String ticket)
Util method for retrieving all supporting doc ids from a page set instance
|
static java.lang.String |
getWizardFormContent(java.lang.String ticket,
java.lang.String formId) |
static boolean |
hasFolderContext(java.lang.String psiId,
java.lang.String ticket) |
static java.util.Map<java.lang.String,TemplateAnswer> |
indexQuestionsAndAnswers(java.lang.String ticket,
java.lang.String formId,
boolean useDisplayValues)
Util method for retrieving all questions and answers on a form
|
static java.util.List<java.lang.String> |
indexTimingRecipients(java.lang.String timing,
java.lang.String ticket,
java.lang.String objectId,
java.lang.String type)
Utility for retrieving all email addresses from a Wizard PSI based on the configured timings.
|
static byte[] |
jsonToPdf(java.lang.String ticket,
java.lang.String jsonPsi,
boolean createSecondaryDoc)
Util function for translating a JSON Page Set Instance into a PDF rendition
|
static boolean |
pageIsInFlowpath(org.json.JSONArray flowpath,
org.json.JSONObject page)
Recurse through the flowpath and discover if a page is visible or not
|
static void |
relateForm(java.lang.String psiId,
java.lang.String stringifiedContext,
java.lang.String ticket) |
static void |
resolveSupportingDocRelations(java.lang.String psiId,
java.lang.String ticket)
publicly facing api call for correctly removing supporting docs in the following situations:
- remove relationship between psi and supporting doc if:
- not on flowpath
- not on an answered question
|
public static void resolveSupportingDocRelations(java.lang.String psiId, java.lang.String ticket)
psiId
- page set instance with supproting docsticket
- valid oc ticketpublic static boolean hasFolderContext(java.lang.String psiId, java.lang.String ticket)
public static java.util.ArrayList<java.lang.String> getRelatedSupportingDocs(java.lang.String psiId, java.lang.String ticket)
psiId
- objectId of a page set instanceticket
- valid OC ticketpublic static java.util.ArrayList<java.lang.String> getSupportingDocsFromPageSetInstance(java.lang.String formId, boolean onFlowpath, java.lang.String ticket)
formId
- json of a page set instanceonFlowpath
- flag for if the page should be on the flowpathticket
- valid OC ticketpublic static java.lang.String getDisplayValueFromOptions(org.json.JSONArray arr, java.lang.String value)
arr
- an array of options ex. [{displayValue: 'Review', value: 'review'}]value
- target value to get the associated displayValue withpublic static boolean pageIsInFlowpath(org.json.JSONArray flowpath, org.json.JSONObject page)
flowpath
- - tree representing all possible paths through the formpage
- - JSONObject that includes the id and any children of the target pagepublic static java.lang.String getWizardFormContent(java.lang.String ticket, java.lang.String formId) throws java.lang.Exception
java.lang.Exception
public static java.util.Map<java.lang.String,TemplateAnswer> indexQuestionsAndAnswers(java.lang.String ticket, java.lang.String formId, boolean useDisplayValues)
ticket
- valid OC ticketformId
- id of a page set instanceprotected boolean containsGroupedQuestion(java.lang.String text, java.util.List<java.lang.String> questions)
public static byte[] jsonToPdf(java.lang.String ticket, java.lang.String jsonPsi, boolean createSecondaryDoc)
ticket
- - valid OC ticketjsonPsi
- - stringified json of a page set instancecreateSecondaryDoc
- - indicates whether a secondary doc will be created and related to the formpublic static java.lang.String getAdobeTemplate(java.lang.String psdName)
psdName
- the page set definition namepublic static java.lang.String getMailMergeTemplate(java.lang.String ticket, java.lang.String psdName)
ticket
- psdName
- the page set definition nameprotected static byte[] generatePDFFromMailMergeTemplate(java.lang.String ticket, java.lang.String stringifiedPSI, java.lang.String mmDocId, java.util.Map<java.lang.String,java.lang.String> allShortLabelsToAnswers)
ticket
- stringifiedPSI
- the stringified completed Page Set InstancemmDocId
- objectId of the Mail Merge doc templateallShortLabelsToAnswers
- map of answers on each page of the formpublic static java.lang.String[] attachWorkflowDocuments(java.lang.String psiObjectId, java.lang.String stringifiedContext, java.lang.String ticket)
psiObjectId
- stringifiedContext
- ticket
- public static java.util.List<java.lang.String> indexTimingRecipients(java.lang.String timing, java.lang.String ticket, java.lang.String objectId, java.lang.String type)
timing:
- SUBMIT: these recipients receive an email when this form is routed for approval
APPROVE: these recipients receive an email when this form is approved
REJECT: these recipients receive an email when this form is rejected and sent back to draftpublic static void relateForm(java.lang.String psiId, java.lang.String stringifiedContext, java.lang.String ticket)