public class WorkflowManager extends java.lang.Object implements ReplicaMessageListener, JcmsConstants, WorkflowConstants, DBConstants
| Modifier and Type | Field and Description | 
|---|---|
static Workflow | 
DEFAULT_WORKFLOW  | 
protected static java.lang.String | 
REPLICA_MESSAGE_WORKFLOW  | 
protected static java.lang.String | 
REPLICA_MESSAGE_WORKFLOW_DELETE  | 
static java.lang.String | 
REVISION  | 
protected int[] | 
visiblePstatus  | 
protected java.util.Map<java.lang.String,WFRole> | 
wfRoleMap  | 
ADATE_SEARCH, ADMIN_NOTES_PROP, ADVANCED_TAB, AJAX_MODE_ATTR, ARCHIVES_DIR, ASCII_WIDTH, CATEGORY_TAB, CDATE_SEARCH, COMMON_ALARM, CONTENT_TAB, COOKIE_MAX_AGE, COUNTRY_SPRITE, CTRL_TOPIC_INTERNAL, CTRL_TOPIC_REF, CTRL_TOPIC_VALUE, CTRL_TOPIC_WRITE, CUSTOM_PROP, DOCCHOOSER_HEIGHT, DOCCHOOSER_WIDTH, DOCS_DIR, EDATE_SEARCH, EMAIL_REGEXP, ERROR_MSG, FORBIDDEN_FILE_ACCESS, FORBIDDEN_REDIRECT, FORCE_REDIRECT, GLYPH_ICON_PREFIX, ICON_ARCHIVE, ICON_ICON_PREFIX, ICON_LOCK, ICON_LOCK_STRONG, ICON_PREFIX_PROP, ICON_WARN, ICON_WH_BOOK_CLOSED, ICON_WH_BOOK_OPEN, INFORMATION_MSG, JALIOS_JUNIT_PROP, JCMS_CADDY, JCMS_MSG_LIST, JCMS_TOASTR_COLLECTION, JSYNC_DOWNLOAD_DIR, JSYNC_SYNC_ALARM, LANG_SPRITE, LOG_FILE, LOG_TOPIC_SECURITY, LOGGER_PROP, LOGGER_XMLPROP, MBR_PHOTO_DIR, MDATE_SEARCH, MONITOR_XML, OP_CREATE, OP_CREATE_STR, OP_DEEP_COPY, OP_DEEP_COPY_STR, OP_DEEP_DELETE, OP_DEEP_DELETE_STR, OP_DELETE, OP_DELETE_STR, OP_MERGE, OP_MERGE_STR, OP_UPDATE, OP_UPDATE_STR, ORGANIZATION_ROOT_GROUP_PROP, PDATE_SEARCH, PHOTO_DIR, PHOTO_ICON, PHOTO_ICON_HEIGHT, PHOTO_ICON_PROP_PREFIX, PHOTO_ICON_WIDTH, PHOTO_LARGE, PHOTO_LARGE_HEIGHT, PHOTO_LARGE_PROP_PREFIX, PHOTO_LARGE_WIDTH, PHOTO_NORMAL, PHOTO_NORMAL_HEIGHT, PHOTO_NORMAL_PROP_PREFIX, PHOTO_NORMAL_WIDTH, PHOTO_SMALL, PHOTO_SMALL_HEIGHT, PHOTO_SMALL_PROP_PREFIX, PHOTO_SMALL_WIDTH, PHOTO_TINY, PHOTO_TINY_HEIGHT, PHOTO_TINY_PROP_PREFIX, PHOTO_TINY_WIDTH, PREVIOUS_TAB, PRINT_VIEW, PRIVATE_FILE_ACCESS, PUBLIC_FILE_ACCESS, READ_RIGHT_TAB, SDATE_SEARCH, SEARCHENGINE_ALARM, SESSION_AUTHORIZED_FILENAMES_SET, SPRITE_ICON_PREFIX, STATS_REPORT_DIR, STATUS_PROP, STORE_XML, SUCCESS_MSG, TEMPLATE_TAB, THUMBNAIL_LARGE_HEIGHT, THUMBNAIL_LARGE_WIDTH, THUMBNAIL_SMALL_HEIGHT, THUMBNAIL_SMALL_WIDTH, TTCARD_MEDIA_HEIGHT, TTCARD_MEDIA_WIDTH, TYPES_ICON_ALT_PROP, TYPES_ICON_SUFFIX_PROP, TYPES_ICON_TITLE_PROP, TYPES_PREFIX_PROP, TYPES_THUMB_SUFFIX_PROP, UDATE_SEARCH, UPDATE_RIGHT_TAB, UPLOAD_DIR, UPLOAD_PERMISSION_SIZE_PROP_PREFIX, URL_REGEXP, VID_LOGGED_MEMBER, WARNING_MSG, WEBAPP_PROP, WFEXPRESS_ALARM, WFREMINDER_ALARM, WORKFLOW_TAB, WORKFLOW_XMLCRLF, MILLIS_IN_ONE_DAY, MILLIS_IN_ONE_HOUR, MILLIS_IN_ONE_MINUTE, MILLIS_IN_ONE_MONTH, MILLIS_IN_ONE_SECOND, MILLIS_IN_ONE_WEEK, MILLIS_IN_ONE_YEARACTION, ACTION_REPEAT, ACTION_TYPE, ACTION_WHEN, ALL_WF, ARCHIVED_PSTATUS, DEFAULT_DRAFT_PSTATUS, EXPIRED_PSTATUS, PUBLISHED_PSTATUS, ROLE, ROLE_DESCRIPTION, ROLE_GROUP, ROLE_GRPID, ROLE_ID, ROLE_MBRID, ROLE_MEMBER, ROLE_NAME, ROLE_TYPE, ROLE_WEIGHT, SCHEDULED_PSTATUS, STATE, STATE_DESCRIPTION, STATE_DURATION, STATE_LABEL, STATE_PSTATUS, STATE_REMINDER, STATE_TARGETPSTATUS, STATE_TYPE, STATESPE, TRANSITION, TRANSITION_GROUP, TRANSITION_ROLEID, TRANSITION_SOURCE, TRANSITION_TARGET, UNKNOWN_PSTATUS, WF_ATTACHMENT_ID, WF_BASIC_ID, WF_DEFAULT_ID, WF_DIR, WF_ELT_NAME, WF_ID, WF_INIT, WF_LABEL, WF_MODERATION_ID, WF_TYPE, WF_VERSION, WF_VERSION_VALUE, WFTYPE_PROCESS, WFTYPE_PUBLISHALL_CATEGORIES_SET_FIELD, ATTACH_WS_SET_FIELD, AUTH_GRP_SET_FIELD, AUTH_MBR_SET_FIELD, AUTHOR_ID_FIELD, CATEGORIES_SET_FIELD, CDATE_FIELD, CHANNEL_JCMSDB_PROP, DBDATA_URID, HAS_ATTACH_WS_FIELD, HAS_NO_READ_RIGHTS, HIBERNATE_MAPPING_ADATE, HIBERNATE_MAPPING_AUTHOR, HIBERNATE_MAPPING_CDATE, HIBERNATE_MAPPING_EDATE, HIBERNATE_MAPPING_HAS_ATTACH_WS, HIBERNATE_MAPPING_HASNOREADRIGHTS, HIBERNATE_MAPPING_MAININSTANCE_ID, HIBERNATE_MAPPING_MAJORVERSION, HIBERNATE_MAPPING_MDATE, HIBERNATE_MAPPING_MERGE_DATE, HIBERNATE_MAPPING_MERGE_ID, HIBERNATE_MAPPING_MINORVERSION, HIBERNATE_MAPPING_PDATE, HIBERNATE_MAPPING_PSTATUS, HIBERNATE_MAPPING_READERCOUNT, HIBERNATE_MAPPING_TITLE, HIBERNATE_MAPPING_TRACKED, HIBERNATE_MAPPING_UDATE, HIBERNATE_MAPPING_VOTECOUNT, HIBERNATE_MAPPING_VOTESCORE, HIBERNATE_MAPPING_WORKFLOW_ID, HIBERNATE_MAPPING_WORKSPACE_ID, MAX_HIBERNATE_MAPPING_PUBLICATION, MDATE_FIELD, PSTATUS_FIELD, ROW_ID_FIELD, SCROLL_FETCH_SIZE, WORKFLOW_ID_FIELD, WORKSPACE_ID_FIELD| Modifier and Type | Method and Description | 
|---|---|
protected void | 
addRole(WFRole role)  | 
void | 
addWFExpressAlarm(Publication pub)
Adds a WFReminder alarm for the given publication (only for main leader replica). 
 | 
void | 
addWFReminderAlarm(Publication pub)
Adds a WFReminder alarm for the given publication (only for main leader replica). 
 | 
void | 
addWorkflow(java.lang.String id,
           Workflow wf)
Binds a Workflow to a given class 
 | 
void | 
cleanUnprefixedRoleMap(java.util.Map roleMap)
This is a JCMS 9 migration method. 
 | 
void | 
convertFromVersion3()
Converts old JCMS (<= 5.6) workflow.xml to new (>=5.7) workflow structure. 
 | 
boolean | 
convertPstatus(Publication pub,
              Workflow wf,
              int oldPstatus,
              int newPstatus,
              Member opAuthor)
Converts a publication in the given pstatus with the given workflow to a new pstatus. 
 | 
int | 
convertPstatus(Workflow wf,
              int oldPstatus,
              int newPstatus,
              Member opAuthor)
Converts publications in the given pstatus with the given workflow to a new pstatus. 
 | 
java.util.Comparator<Workflow> | 
getAlphabeticalComparator()  | 
Workflow | 
getCopyWorkflow(java.lang.String id)
Returns the workflow bound to the given id in copyWorkflowMap 
 | 
java.util.Map<java.lang.String,Workflow> | 
getCopyWorkflowMap()
Returns the copy of the workflow map (used to perform changes with no
 effect until the workflows are saved) 
 | 
Workflow | 
getDefaultFileDocumentWorkflow()
Returns the Default Workflow associated with FileDocument 
 | 
Workflow | 
getDefaultWorkflow()  | 
static WorkflowManager | 
getInstance()  | 
WFNote | 
getLastWFNote(Publication pub)
Returns the last WFNote created for this publication. 
 | 
java.util.Map<java.lang.String,WFState> | 
getSpecialStateMap()
Returns the map of special states (schedule, published, expired, archived). 
 | 
java.lang.String | 
getUnknownWFStateLabel(int pstatus)
Returns the label of an unknown pstatus. 
 | 
int[] | 
getVisiblePstatus()
Returns the array of Workflow pstatus visible in front-office. 
 | 
java.util.List<WFNote> | 
getWFNoteList(Publication pub)
Returns the list of WFNote bound to the given publication. 
 | 
WFRole | 
getWFRole(java.lang.String wfRoleId)  | 
java.util.Set<java.lang.String> | 
getWFRoleIdSet()
Returns a Set of workflow role's ids (String). 
 | 
java.lang.String | 
getWFStateStateLabel(Publication pub,
                    int pstatus,
                    java.lang.String userLang)
Returns the label of the given pstatus. 
 | 
java.lang.String | 
getWFStateStateLabel(Workflow wf,
                    int pstatus,
                    java.lang.String userLang)
Returns the label of the given pstatus. 
 | 
java.lang.String | 
getWFStateStateLabelHtml(Publication pub,
                        int pstatus,
                        java.lang.String userLang)
Returns the HTML code for the label of the given pstatus. 
 | 
java.lang.String | 
getWFStateStateLabelHtml(Workflow wf,
                        int pstatus,
                        java.lang.String userLang)
Returns the HTML code for the label of the given pstatus. 
 | 
WKRole | 
getWKRole(java.lang.String wkRoleId)  | 
java.util.Set<WKRole> | 
getWKRoles(WFRole wfRole)  | 
Workflow | 
getWorkflow(Publication pub)
Returns the workflow bound to a given publication (general workflow, not instance one if any is set. 
 | 
Workflow | 
getWorkflow(java.lang.String wfId)
Return a Workflow from a given Id 
 | 
java.util.Set<java.lang.String> | 
getWorkflowIdSet()
Return the set of  
Workflow id from the workflow Map | 
java.util.Set<java.lang.String> | 
getWorkflowIdSet(java.lang.Class typeClass)
Return the set of workflow id from the workflow Map compatible with the typeClass 
 | 
java.util.Map<java.lang.String,Workflow> | 
getWorkflowMap()
Returns the workflow map. 
 | 
java.util.Map<java.lang.String,Workflow> | 
getWorkflowMap(boolean copy)
Returns the workflow map or the copy of the workflow map (without the
 default workflow) 
 | 
java.util.Set<Workflow> | 
getWorkflowSet()
Return the set of workflow from the workflow Map 
 | 
java.util.Set<Workflow> | 
getWorkflowSet(java.lang.Class typeClass)
Return the set of workflow from the workflow Map compatible with the typeClass 
 | 
boolean | 
hasAlreadyVoted(Publication pub,
               Member mbr)
Check if the given member has already voted for the given publication. 
 | 
void | 
initReplicaMessageListener()  | 
void | 
initWorkflow()
Initialize the workflows 
 | 
void | 
initWorkflowAlarms()  | 
void | 
invalidateVisiblePstatus()
Invalidate current visible pstatus (they will be computed again at the next call). 
 | 
boolean | 
isCompatibleWorkflow(Workflow workflow,
                    java.lang.Class typeClass)
indicates if the  
Workflow is compatible with the type Class | 
boolean | 
isUpdated()
Returns true if at least one workflow is new, has been updated or has been
 deleted. 
 | 
java.util.Map<java.lang.String,Workflow> | 
parseAllWorkflows()
Parse all workflows contains in JCMS  
workflows directory. | 
boolean | 
previewInFO(Publication pub)
Returns true if the given publication must be previewed in front-office 
 | 
void | 
processMessage(ReplicaMessage msg)
Process the given ReplicaMessage. 
 | 
void | 
removeAllWFNotes(Publication pub)
Removes all the WFNote bound to the given publication. 
 | 
protected void | 
removeRole(WFRole role)  | 
void | 
removeWFExpressAlarm(Publication pub)
Removes the WFExpress alarm for the given publication. 
 | 
void | 
removeWFReminderAlarm(Publication pub)
Removes the WFExpress alarm for the given publication. 
 | 
void | 
removeWorkflow(java.lang.String id)
Unbinds a Workflow to a given wfId 
 | 
void | 
revertAllWorkflows()
Revert all the workflow 
 | 
void | 
saveAllWorkflows()
Save the Workflow on disk 
 | 
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitinitpublic static final java.lang.String REVISION
public static Workflow DEFAULT_WORKFLOW
protected static final java.lang.String REPLICA_MESSAGE_WORKFLOW
protected static final java.lang.String REPLICA_MESSAGE_WORKFLOW_DELETE
protected final java.util.Map<java.lang.String,WFRole> wfRoleMap
protected int[] visiblePstatus
public static WorkflowManager getInstance()
public void initReplicaMessageListener()
public java.util.Map<java.lang.String,WFState> getSpecialStateMap()
public void convertFromVersion3()
                         throws java.io.IOException,
                                org.jdom.JDOMException
java.io.IOException - If an I/O error occursorg.jdom.JDOMException - If an error occurs while parsing the DOMpublic java.util.Map<java.lang.String,Workflow> parseAllWorkflows() throws org.jdom.JDOMException, java.io.IOException
workflows directory.java.io.IOException - If an I/O error occursorg.jdom.JDOMException - If an error occurs while parsing the DOMpublic void initWorkflowAlarms()
public Workflow getWorkflow(java.lang.String wfId)
wfId - the WOrkflow Idpublic java.util.Set<Workflow> getWorkflowSet()
public java.util.Set<java.lang.String> getWorkflowIdSet()
Workflow id from the workflow MapWorkflow idpublic java.util.Set<Workflow> getWorkflowSet(java.lang.Class typeClass)
typeClass - the Class with wich the workflow should be compatiblepublic boolean isCompatibleWorkflow(Workflow workflow, java.lang.Class typeClass)
Workflow is compatible with the type Classpublic java.util.Set<java.lang.String> getWorkflowIdSet(java.lang.Class typeClass)
typeClass - the Class with wich the workflow should be compatibleWorkflow id compatible with the typeClasspublic java.util.Map<java.lang.String,Workflow> getWorkflowMap()
public java.util.Map<java.lang.String,Workflow> getCopyWorkflowMap()
public java.util.Map<java.lang.String,Workflow> getWorkflowMap(boolean copy)
copy - if true returns the copy of the workflow mappublic void addWorkflow(java.lang.String id,
                        Workflow wf)
id - the workflow idwf - the workflowpublic void removeWorkflow(java.lang.String id)
id - the workflow idpublic Workflow getCopyWorkflow(java.lang.String id)
id - the workflow idpublic Workflow getWorkflow(Publication pub)
pub - the publicationpublic void saveAllWorkflows()
public void revertAllWorkflows()
public void initWorkflow()
                  throws java.lang.Exception
java.lang.Exception - if the initialization failedpublic Workflow getDefaultWorkflow()
public boolean isUpdated()
protected void addRole(WFRole role)
protected void removeRole(WFRole role)
public java.util.Set<java.lang.String> getWFRoleIdSet()
<role... > in the workflow.xml file of this JCMS site.public WFRole getWFRole(java.lang.String wfRoleId)
public WKRole getWKRole(java.lang.String wkRoleId)
public java.lang.String getWFStateStateLabel(Publication pub, int pstatus, java.lang.String userLang)
pub - the publication to be used to get the workflow.pstatus - the pstatususerLang - the user languagepublic java.lang.String getWFStateStateLabel(Workflow wf, int pstatus, java.lang.String userLang)
wf - the workflow.pstatus - the pstatususerLang - the user languagepublic java.lang.String getWFStateStateLabelHtml(Publication pub, int pstatus, java.lang.String userLang)
pub - the publication to be used to get the workflow.pstatus - the pstatususerLang - the user languagepublic java.lang.String getWFStateStateLabelHtml(Workflow wf, int pstatus, java.lang.String userLang)
wf - the workflow.pstatus - the pstatususerLang - the user languagepublic java.lang.String getUnknownWFStateLabel(int pstatus)
pstatus - the pstatuspublic java.util.List<WFNote> getWFNoteList(Publication pub)
pub - the publicationpublic WFNote getLastWFNote(Publication pub)
pub - the publicationpublic boolean hasAlreadyVoted(Publication pub, Member mbr)
pub - the publicationmbr - the memberpublic void removeAllWFNotes(Publication pub)
pub - the publicationpublic void addWFReminderAlarm(Publication pub)
pub - the publicationpublic void removeWFReminderAlarm(Publication pub)
pub - the publicationpublic void addWFExpressAlarm(Publication pub)
pub - the publicationpublic void removeWFExpressAlarm(Publication pub)
pub - the publicationpublic java.util.Comparator<Workflow> getAlphabeticalComparator()
public int[] getVisiblePstatus()
public void invalidateVisiblePstatus()
public int convertPstatus(Workflow wf, int oldPstatus, int newPstatus, Member opAuthor)
wf - the workflowoldPstatus - the current pstatusnewPstatus - the new pstatusopAuthor - the author of the operationpublic boolean convertPstatus(Publication pub, Workflow wf, int oldPstatus, int newPstatus, Member opAuthor)
pub - the publicationwf - the workflow the publication must used to be convertedoldPstatus - the current pstatusnewPstatus - the new pstatusopAuthor - the author of the operationpublic void cleanUnprefixedRoleMap(java.util.Map roleMap)
roleMap - the roleMap to be cleaned.public boolean previewInFO(Publication pub)
pub - the publicationpublic Workflow getDefaultFileDocumentWorkflow()
public void processMessage(ReplicaMessage msg)
ReplicaMessageListenerprocessMessage in interface ReplicaMessageListenermsg - the ReplicaMessage to processCopyright © 2001-2018 Jalios SA. All Rights Reserved.