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.StringINFO_ID_PARAMstatic java.lang.StringINFO_REQ_ATTRprotected static BackgroundProcessManagerMGR-
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 booleancanBeNotified()voiddeleteInfo(java.lang.String infoId)java.lang.StringgetAvailableDomain()BackgroundProcessInfogetAvailableInfo()java.lang.StringgetAvailableProcessLabel()java.util.List<BackgroundProcessInfo>getAvailableProcessList()booleangetAvailableUnique()java.lang.StringgetBackgroundProcessDataAttr()java.lang.StringgetCompletedMessage()java.lang.StringgetEllapsedFriendlyTime()java.lang.StringgetJsonProgress()Note that it marks an undefined or maybe deleted process as completed.longgetPendingProcessCount()java.lang.StringgetRemainingFriendlyTime()java.lang.LonggetRemainingTime()java.lang.StringgetRunningMessage()java.lang.StringgetStatusHtml()longgetUserPendingProcessCount()protected voidinit()Method to implement if you need to initialize your handler from parameter received, prior to all security validation.booleanisModal()booleanprocessAction()Method to be implemented to check/validate action to be performed and process them.java.lang.StringprogressToJson()voidsetBackgroundProcessInfoId(java.lang.String v)voidsetDomain(java.lang.String v)voidsetOpDelete(java.lang.String v)voidsetOpNotifyMe(java.lang.String v)voidsetProcessLabel(java.lang.String processLabel)For periodical xhr to be able to access a completed and delete process.voidsetUnique(java.lang.String v)booleanshowNotifyBtn()booleanshowRemainingTime()java.lang.StringtoString()java.lang.StringtoString(org.apache.commons.lang3.builder.ToStringStyle style)protected booleanvalidateDelete()protected booleanvalidateNotifyMe()-
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:JcmsFormHandlerMethod 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:
initin classJcmsFormHandler
-
processAction
public boolean processAction() throws java.io.IOExceptionDescription copied from class:JcmsFormHandlerMethod 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:
processActionin 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:
toStringin classjava.lang.Object
-
toString
public java.lang.String toString(org.apache.commons.lang3.builder.ToStringStyle style)
-
-