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, URL_REGEXP, WARNING_MSG, WEBAPP_PROP, WFEXPRESS_ALARM, WFREMINDER_ALARM, WORKFLOW_TAB, WORKFLOW_XML
CRLF, 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_YEAR
ACTION, 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_PUBLISH
ALL_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, wait
init
public 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 Class
public 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)
ReplicaMessageListener
processMessage
in interface ReplicaMessageListener
msg
- the ReplicaMessage to processCopyright © 2001-2017 Jalios SA. All Rights Reserved.