Package com.jalios.jcms.caddy
Class AbstractCaddyProcess<T extends AbstractCaddyContext>
- java.lang.Object
-
- com.jalios.jcms.backgroundprocess.BackgroundProcess
-
- com.jalios.jcms.caddy.AbstractCaddyProcess<T>
-
- Type Parameters:
T
- The type of caddy context associated to this process.
- All Implemented Interfaces:
JcmsConstants
,JaliosConstants
- Direct Known Subclasses:
AbstractMemberCaddyProcess
,CategoryCaddyProcess
,GroupCaddyProcess
,PublicationCaddyProcess
,WorkspaceCaddyProcess
public abstract class AbstractCaddyProcess<T extends AbstractCaddyContext> extends BackgroundProcess
Super class of all Caddy RunningProcess- Since:
- jcms-10.0.8
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.jalios.jcms.backgroundprocess.BackgroundProcess
BackgroundProcess.Scope, BackgroundProcess.Status
-
-
Field Summary
-
Fields inherited from class com.jalios.jcms.backgroundprocess.BackgroundProcess
COMPLETED_PROGRESS, DEFAULT_LABEL_PROP, MGR
-
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 Modifier Constructor Description protected
AbstractCaddyProcess(java.lang.String domain, T context)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected void
addWarningMsg(java.lang.String msg)
protected boolean
deleteDataExtension(Data data, java.util.HashMap<java.lang.String,java.lang.Object> controllerContext)
Delete the data extension of the given data, if asked.protected void
doSearchAndReplace(java.util.function.Supplier<java.lang.String> titleGetter, java.util.function.Supplier<java.util.Map<java.lang.String,java.lang.String>> titleMLGetter, java.util.function.Consumer<java.lang.String> titleSetter, java.util.function.Consumer<java.util.HashMap<java.lang.String,java.lang.String>> titleMLSetter)
Do a search and replace on using specified getter/setter.protected java.util.HashMap<java.lang.String,java.lang.Object>
getControllerContext()
protected abstract void
performDelete()
protected abstract void
performUpdate()
protected boolean
processMultipleStatus(Data data, ControllerStatus status)
Process the ControllerStatus: do nothing if OK, or send on forbidden, or accumulate warning message with the previous ones in the request.protected void
runCaddyProcess()
protected void
runProcess()
Override to implement the process.protected java.lang.String
searchAndReplace(java.lang.String input)
Do a search and replace using previously specifed patterns (if specified and validated).void
setCurrentStep(int stepNbr)
Set the current step number of this processing.protected void
setEndMessage(java.lang.String msg)
Set the message to displayed on process end.void
setRunningMessageProp(java.lang.String runningMessageProp)
protected void
setWarningMessageIntro(java.lang.String msg)
Set the warning message to use as an introduction of all statuses warning encountered during processing (if any).-
Methods inherited from class com.jalios.jcms.backgroundprocess.BackgroundProcess
allowNulLAuthor, canBeNotified, canStart, channel, debugSleep, getAuthor, getCompletedMessage, getCompletedMessage, getCompletedMessage, getCompletedStatus, getCurrentStep, getDetailsMessage, getDomain, getInfo, getInfoId, getLabel, getLabelProp, getProgress, getRunningMessage, getStartTime, getTotalStep, getUserLang, getUserLocale, glp, handleComplete, hasProgression, incrementStep, isAuthor, isCompleted, isCompletedFailed, isCompletedSuccess, isCompletedWarn, save, setCompletedMessage, setCompletedStatus, setDetailsMessage, setLabelProp, setProgress, setRunningMessage, setStartTime, setTotalStep, start, toString
-
-
-
-
Constructor Detail
-
AbstractCaddyProcess
protected AbstractCaddyProcess(java.lang.String domain, T context)
-
-
Method Detail
-
runCaddyProcess
protected void runCaddyProcess()
-
runProcess
protected final void runProcess()
Description copied from class:BackgroundProcess
Override to implement the process.- Specified by:
runProcess
in classBackgroundProcess
-
performUpdate
protected abstract void performUpdate()
-
performDelete
protected abstract void performDelete()
-
getControllerContext
protected java.util.HashMap<java.lang.String,java.lang.Object> getControllerContext()
-
setWarningMessageIntro
protected void setWarningMessageIntro(java.lang.String msg)
Set the warning message to use as an introduction of all statuses warning encountered during processing (if any).- Parameters:
msg
- the message to set- Since:
- jcms-10.0.8
-
setEndMessage
protected void setEndMessage(java.lang.String msg)
Set the message to displayed on process end.- Parameters:
msg
- the message to set- Since:
- jcms-10.0.8
-
processMultipleStatus
protected final boolean processMultipleStatus(Data data, ControllerStatus status)
Process the ControllerStatus: do nothing if OK, or send on forbidden, or accumulate warning message with the previous ones in the request.- Parameters:
data
- the Data that is being manipulatedstatus
- the ControllerStatus to be processed- Returns:
- final status of all process
- Since:
- jcms-10.0.8
-
addWarningMsg
protected void addWarningMsg(java.lang.String msg)
-
searchAndReplace
protected final java.lang.String searchAndReplace(java.lang.String input)
Do a search and replace using previously specifed patterns (if specified and validated). Take into account the too option "apply in empty field" and "use regexp".- Parameters:
input
- the string to be modified- Returns:
- the string modified
- Since:
- jcms-10.0.8
-
doSearchAndReplace
protected void doSearchAndReplace(java.util.function.Supplier<java.lang.String> titleGetter, java.util.function.Supplier<java.util.Map<java.lang.String,java.lang.String>> titleMLGetter, java.util.function.Consumer<java.lang.String> titleSetter, java.util.function.Consumer<java.util.HashMap<java.lang.String,java.lang.String>> titleMLSetter)
Do a search and replace on using specified getter/setter.- Parameters:
titleGetter
- a Supplier for the data name/title in the main site languagetitleMLGetter
- a Supplier for the data ML map in other languagestitleSetter
- a Consummer to set the modified data name/title in the main site languagetitleMLSetter
- a Consummer to set the modified data ML map in other languages- Since:
- jcms-10.0.8
-
deleteDataExtension
protected final boolean deleteDataExtension(Data data, java.util.HashMap<java.lang.String,java.lang.Object> controllerContext)
Delete the data extension of the given data, if asked.- Parameters:
data
- the data of which extension will be removed.controllerContext
- the controller context used for checkDelete and performDelete method.- Returns:
- true if extension was deleted, false otherwise.
- Since:
- jcms-10.0.8
-
setRunningMessageProp
public void setRunningMessageProp(java.lang.String runningMessageProp)
-
setCurrentStep
public void setCurrentStep(int stepNbr)
Description copied from class:BackgroundProcess
Set the current step number of this processing.Implementation detail : If this step changes the progress percentage, it triggers an update in database of the BackgroundProcessInfo used to track the process progress
- Overrides:
setCurrentStep
in classBackgroundProcess
- Parameters:
stepNbr
- the step number to set
-
-