Class BackgroundProcessHandler
- java.lang.Object
-
- com.jalios.jcms.context.JcmsContext
-
- com.jalios.jcms.context.JcmsJspContext
-
- com.jalios.jcms.handler.JcmsFormHandler
-
- com.jalios.jcms.backgroundprocess.BackgroundProcessHandler
-
- All Implemented Interfaces:
JcmsConstants
,JaliosConstants
- Direct Known Subclasses:
BackgroundProcessManagerHandler
,BackgroundProcessTagHandler
,BackgroundProcessTopbarHandler
public class BackgroundProcessHandler extends JcmsFormHandler
- Since:
- jcms-10.0.8 / JCMS-9179
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
INFO_ID_PARAM
static java.lang.String
INFO_REQ_ATTR
protected static BackgroundProcessManager
MGR
-
Fields inherited from class com.jalios.jcms.handler.JcmsFormHandler
contextMap, csrfValidationEnabled, editFieldSet, formStep, noRedirect, noSendRedirect, op, opFinish, opNext, opPrevious, popupEdition, redirect, redirectOnClosePopup, workspaceForced
-
Fields inherited from class com.jalios.jcms.context.JcmsJspContext
AJAX_REQUEST_ATTRIBUTES, BODY_HEADER, CSS_FOOTER, CSS_HEADER, cssboMap, cssfoMap, CUSTOM_HEADER, editIcon, HTTPEQUIV_HEADER, httpequivMap, HTTPNAME_HEADER, httpnameMap, initEditIcon, JAVASCRIPT_CODE_SET_ATTRIBUTE, JAVASCRIPT_SET_ATTRIBUTE, jsboSet, jsfoSet, out, pageContext, SHOW_EDIT_ICON, STYLE_HEADER
-
Fields inherited from class com.jalios.jcms.context.JcmsContext
browser, caddy, channel, inFO, initDone, initWorkspace, isAdmin, isAjaxRequest, isDBMember, isDebug, isDebugTemplatePath, isLogged, loggedMember, request, response, userCountry, userLang, userLocale, userZoneId, workspace
-
Fields inherited from interface com.jalios.util.JaliosConstants
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
-
Fields inherited from interface com.jalios.jcms.JcmsConstants
ADATE_SEARCH, ADMIN_NOTES_PROP, ADVANCED_TAB, AJAX_MODE_ATTR, ARCHIVES_DIR, ASCII_WIDTH, CATEGORY_TAB, CDATE_SEARCH, CLASS_PROPERTY, COMMON_ALARM, CONTENT_TAB, COOKIE_MAX_AGE, COUNTRY_SPRITE, CS_TYPOLOGY_ROOT_CAT_VID, CTRL_TOPIC_INTERNAL, CTRL_TOPIC_REF, CTRL_TOPIC_VALUE, CTRL_TOPIC_WRITE, CUSTOM_PROP, DATA_DIRECTORY, DEFAULT_PHOTO_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, IS_IN_FRONT_OFFICE, 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_MINI, PHOTO_MINI_HEIGHT, PHOTO_MINI_PROP_PREFIX, PHOTO_MINI_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, RAW_CONTENT_ICON_PREFIX, READ_RIGHT_TAB, SDATE_SEARCH, SEARCHENGINE_ALARM, SECURITY_LOG_FILE, SESSION_AUTHORIZED_FILENAMES_SET, SPRITE_ICON_PREFIX, STATS_REPORT_DIR, STATUS_PROP, STORE_DIR, STORE_XML, SUCCESS_MSG, SVG_ICON_PREFIX, SVGINLINE_ICON_PREFIX, 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_COUNT_PROP_PREFIX, UPLOAD_PERMISSION_SIZE_PROP_PREFIX, URL_REGEXP, VID_LOGGED_MEMBER, WARNING_MSG, WEBAPP_PROP, WFEXPRESS_ALARM, WFREMINDER_ALARM, WORKFLOW_TAB, WORKFLOW_XML
-
-
Constructor Summary
Constructors Constructor Description BackgroundProcessHandler()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
canBeNotified()
void
deleteInfo(java.lang.String infoId)
java.lang.String
getAvailableDomain()
BackgroundProcessInfo
getAvailableInfo()
java.lang.String
getAvailableProcessLabel()
java.util.List<BackgroundProcessInfo>
getAvailableProcessList()
boolean
getAvailableUnique()
java.lang.String
getBackgroundProcessDataAttr()
java.lang.String
getCompletedMessage()
java.lang.String
getEllapsedFriendlyTime()
java.lang.String
getJsonProgress()
Note that it marks an undefined or maybe deleted process as completed.long
getPendingProcessCount()
java.lang.String
getRemainingFriendlyTime()
java.lang.Long
getRemainingTime()
java.lang.String
getRunningMessage()
java.lang.String
getStatusHtml()
long
getUserPendingProcessCount()
protected void
init()
Method to implement if you need to initialize your handler from parameter received, prior to all security validation.boolean
isModal()
boolean
processAction()
Method to be implemented to check/validate action to be performed and process them.java.lang.String
progressToJson()
void
setBackgroundProcessInfoId(java.lang.String v)
void
setDomain(java.lang.String v)
void
setOpDelete(java.lang.String v)
void
setOpNotifyMe(java.lang.String v)
void
setProcessLabel(java.lang.String processLabel)
For periodical xhr to be able to access a completed and delete process.void
setUnique(java.lang.String v)
boolean
showNotifyBtn()
boolean
showRemainingTime()
java.lang.String
toString()
java.lang.String
toString(org.apache.commons.lang3.builder.ToStringStyle style)
protected boolean
validateDelete()
protected boolean
validateNotifyMe()
-
Methods inherited from class com.jalios.jcms.handler.JcmsFormHandler
afterValidation, canStartProcess, checkMissingField, getAvailableMainLanguage, getBackgroundProcess, getClosePopupUrl, getControllerContext, getEditFieldSet, getFormStep, getFormStepCount, getFormStepFinishLabel, getFormStepHiddenFields, getFormStepLabels, getFormStepPrefixProp, getHiddenField, getHiddenField, getHiddenField, getHiddenField, getHiddenField, getHiddenField, getHiddenField, getHiddenField, getHiddenField, getHiddenField, getHiddenField, getHiddenField, getHiddenField, getHiddenField, getHiddenField, getHiddenFieldML, getMainLangValue, getMainLangValueArray, getMLMap, getMLMapArray, getModalRedirect, getMonolingualValue, getMonolingualValueArray, getMultilingualMainValue, getMultilingualMainValueArray, getMultilingualMLMap, getMultilingualMLMapArray, getRedirect, getRedirectOnClosePopup, getWorkspace, isFieldEdition, isFieldMissing, isFormStepClickable, isPartialFieldEdition, isPopupEdition, isWorkspaceForced, mapStringArrayToMapStringList, mapStringListToMapStringArray, mustSendForbiddenOnCSRF, performFinish, performNext, performPrevious, processStatus, sanitize, sanitize, sendRedirect, sendRedirect, setEditField, setFormStep, setNoRedirect, setNoSendRedirect, setOpFinish, setOpNext, setOpPrevious, setPopupEdition, setRedirect, setRedirectOnClosePopup, setWorkspace, setWs, showCancelButton, showFinishButton, showNextButton, showPreviousButton, startProcess, updateUploadedField, updateUploadedFields, updateUploadedFields, validate, validateCSRF, validateFinish, validateNext, validatePrevious
-
Methods inherited from class com.jalios.jcms.context.JcmsJspContext
addAvoidanceLink, addBodyAttributes, addCSSHeader, addCSSHeader, addCSSHeader, addCSSHeader, addCustomHeader, addHandlebarTemplate, addHttpEquivHeader, addHttpNameHeader, addJavaScript, addJavaScript, addJavaScript, addJavaScriptCode, addPrefetchHeader, addStyleHeader, addStyleHeader, addWebAssets, checkAccess, checkAccess, checkCSRF, debugDisplayContext, disablePacker, forceEditIcon, forceUpdate, getAjaxRequestAttribute, getAjaxRequestId, getAllHeadersDiffMap, getAllHeadersMap, getAvoidanceLinks, getBackOfficeCSSHeader, getBackOfficeJavaScriptSet, getBodyAttributes, getContentForm, getCSSHeaders, getCtxCategories, getCurrentCategory, getCustomHeaders, getDocType, getFinalCSSFooterMap, getFinalCSSMap, getFinalJavaScriptSet, getFrontOfficeCSSHeader, getFrontOfficeJavaScriptSet, getHandlebarTemplates, getHttpEquivHeaders, getHttpNameHeaders, getJavaScriptCodeSet, getJavaScriptSet, getJSONBridge, getPageContext, getPageTitle, getPageZone, getPortal, getPortalCategory, getPortlet, getPublication, getStyleHeaders, getTemplateUsage, internalSetupEmptyHeader, isEditIcon, isEditIcon, isEditIconForPublish, isEditIconForPublish, isPrintView, registerDisplayContext, removeAjaxRequestAttribute, setAjaxRequestAttribute, setAjaxRequestId, setAllHeadersDiffMap, setDocType, setEditIcon, setPageContext, setPageTitle, setPageZone, setShowEditIcon, setTemplateUsage, showEditIcon, showEditIcon, showEditIcon, workaroundBrowserBaseHrefBug
-
Methods inherited from class com.jalios.jcms.context.JcmsContext
addCookie, addMsg, addMsg, addMsgSession, addMsgSession, addToastr, addToastr, addToastrSession, addToastrSession, applySelector, copyMsgListToMsgSessionList, forceWorkspaceUpdate, getBaseUrl, getBrowser, getCaddy, getContextPath, getErrorMsg, getErrorMsgList, getErrorMsgSession, getErrorMsgSessionList, getInfoMsg, getInfoMsgList, getInfoMsgSession, getInfoMsgSessionList, getLoggedMember, getMsgList, getMsgSessionList, getRequest, getResponse, getSession, getSuccessMsg, getSuccessMsgList, getSuccessMsgSession, getSuccessMsgSessionList, getToastrCollection, getToastrSessionCollection, getUploadedFile, getUploadedFileList, getUploadedFiles, getUploadedFiles, getUrlWithCommonUpdatedParams, getUserCountry, getUserLang, getUserLocale, getUserZoneId, getWarningMsg, getWarningMsgList, getWarningMsgSession, getWarningMsgSessionList, glp, isAdmin, isAdminZone, isAjaxRequest, isDBMember, isDebug, isDebugTemplate, isInFrontOffice, isLogged, isWebdavAccess, isWorkZone, removeMessage, removeMessage, removeMsg, retrieveUploadedFile, select, sendError, sendError, sendForbidden, sendForbidden, sendRedirect, sendRedirect, sendRedirect, setErrorMsg, setErrorMsg, setErrorMsgSession, setErrorMsgSession, setInfoMsg, setInfoMsg, setInfoMsgSession, setInfoMsgSession, setLoggedMember, setRequest, setResponse, setSuccessMsg, setSuccessMsg, setSuccessMsgSession, setSuccessMsgSession, setWarningMsg, setWarningMsg, setWarningMsgSession, setWarningMsgSession, updateWorkspace, validateRegexp, validateSchedule
-
-
-
-
Field Detail
-
MGR
protected static final BackgroundProcessManager MGR
-
INFO_ID_PARAM
public static final java.lang.String INFO_ID_PARAM
- See Also:
- Constant Field Values
-
INFO_REQ_ATTR
public static final java.lang.String INFO_REQ_ATTR
-
-
Method Detail
-
init
protected void init()
Description copied from class:JcmsFormHandler
Method to implement if you need to initialize your handler from parameter received, prior to all security validation.You must absolutely not perform any action which modify data or site configuration.
Therefore it is strongly recommend NOT TO implement this method, or use very wisely.
- Overrides:
init
in classJcmsFormHandler
-
processAction
public boolean processAction() throws java.io.IOException
Description copied from class:JcmsFormHandler
Method to be implemented to check/validate action to be performed and process them.Default implementation is to return false. No need to call super method.
This method may NOT be invoked at all if security validation are not met.
You must ensure your handler and JSP can work properly without any code invoked in this method.
- Overrides:
processAction
in classJcmsFormHandler
- Returns:
- false if no redirection is needed, true otherwise
- Throws:
java.io.IOException
- IO Exception
-
validateNotifyMe
protected boolean validateNotifyMe()
-
validateDelete
protected boolean validateDelete()
-
getJsonProgress
public java.lang.String getJsonProgress()
Note that it marks an undefined or maybe deleted process as completed.- Returns:
- json representation of the process for client-side UI updates
-
progressToJson
public java.lang.String progressToJson()
-
showRemainingTime
public boolean showRemainingTime()
- Returns:
- true if process started more than 5s ago
- Since:
- jcms-10.0.8
-
getStatusHtml
public java.lang.String getStatusHtml()
- Returns:
- HTML that describes the process current status.
- Since:
- jcms-10.0.8
-
getCompletedMessage
public java.lang.String getCompletedMessage()
- Returns:
- the process completedMessage or empty String
- Since:
- jcms-10.0.8
-
getRunningMessage
public java.lang.String getRunningMessage()
- Returns:
- the process runningMessage or empty String
- Since:
- jcms-10.0.8
-
getEllapsedFriendlyTime
public java.lang.String getEllapsedFriendlyTime()
- Returns:
- ellapsed time, formated as localized duration
- Since:
- jcms-10.0.8
-
getRemainingTime
public java.lang.Long getRemainingTime()
- Returns:
BackgroundProcessInfo.getRemainingTime()
- Since:
- jcms-10.0.8
-
getRemainingFriendlyTime
public java.lang.String getRemainingFriendlyTime()
- Returns:
- estimated remaining time, formated as localized duration
- Since:
- jcms-10.0.8
-
getAvailableProcessList
public java.util.List<BackgroundProcessInfo> getAvailableProcessList()
- Returns:
- all background and completed process
-
getAvailableInfo
public BackgroundProcessInfo getAvailableInfo()
-
setBackgroundProcessInfoId
public void setBackgroundProcessInfoId(java.lang.String v)
-
getAvailableProcessLabel
public java.lang.String getAvailableProcessLabel()
-
setProcessLabel
public void setProcessLabel(java.lang.String processLabel)
For periodical xhr to be able to access a completed and delete process.- Parameters:
processLabel
- the label a get JSON progress request will post.
-
setOpNotifyMe
public void setOpNotifyMe(java.lang.String v)
-
setOpDelete
public void setOpDelete(java.lang.String v)
-
isModal
public boolean isModal()
-
getBackgroundProcessDataAttr
public java.lang.String getBackgroundProcessDataAttr()
-
getPendingProcessCount
public long getPendingProcessCount()
- Returns:
- currently background process count of all users
-
getUserPendingProcessCount
public long getUserPendingProcessCount()
- Returns:
- background process count of loggedMember
-
getAvailableUnique
public boolean getAvailableUnique()
-
setUnique
public void setUnique(java.lang.String v)
-
getAvailableDomain
public java.lang.String getAvailableDomain()
-
setDomain
public void setDomain(java.lang.String v)
-
deleteInfo
public void deleteInfo(java.lang.String infoId)
-
canBeNotified
public boolean canBeNotified()
-
showNotifyBtn
public boolean showNotifyBtn()
- Returns:
- true only after a 3sec delay.
See property "background-process.topbar.created-before-delay".
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
toString
public java.lang.String toString(org.apache.commons.lang3.builder.ToStringStyle style)
-
-