Package com.jalios.jcms.caddy
Class AbstractCaddyHandler<T extends AbstractCaddyContext>
- java.lang.Object
-
- com.jalios.jcms.context.JcmsContext
-
- com.jalios.jcms.context.JcmsJspContext
-
- com.jalios.jcms.handler.JcmsFormHandler
-
- com.jalios.jcms.caddy.AbstractCaddyHandler<T>
-
- Type Parameters:
T- The type of caddy context associated to this handler.
- All Implemented Interfaces:
JcmsConstants,JaliosConstants
- Direct Known Subclasses:
AbstractMemberCaddyHandler,CategoryCaddyHandler,GroupCaddyHandler,PublicationCaddyHandler,WorkspaceCaddyHandler
public abstract class AbstractCaddyHandler<T extends AbstractCaddyContext> extends JcmsFormHandler
This form handler is the super class of the formhandler class to process Caddy Manager actions.
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.StringmessageOnSuccessI18N message to display on success instead of the generic message (not the property, the already resolved message)protected booleanopClearCaddyprotected intopenTabprotected booleanopPreviewprotected booleanopRemoveCaddystatic intPREVIOUS_TAB-
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, 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 AbstractCaddyHandler()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected Tcontext()booleangetAvailableForceDelete()EnumerateSettingsgetClassificationLevelSettings()Retrieve an EnumerateSettings suitable to edit classification level in the caddy.abstract java.lang.Class<? extends Data>getDataClass()Retrieve the type of data being handled by this handlerprotected booleangetDefaultForceDelete()Return weither forceDelete option should be enabled by default.protected abstract java.lang.StringgetJsp()Retrieve the path of the JSP.protected abstract TgetNewCaddyContext(Caddy caddy, Member member)Retrieve a new instance of CaddyContext.protected abstract AbstractCaddyProcess<T>getNewCaddyProcess()Retrieve a new instance of CaddyProcess to start action when required.intgetOpenTab()java.lang.StringgetReplacePattern()java.lang.StringgetSearchPattern()protected voidinit()Method to implement if you need to initialize your handler from parameter received, prior to all security validation.booleanisApplyingInEmptyFields()booleanisDeletingDataExtension()booleanisIgnoringIntegrityCheck()booleanisPreviewing()booleanisSearchAndReplaceLangSelected(java.lang.String lang)booleanisTabForced()booleanisUsingRegExp()protected booleanperformClearCaddy()protected booleanperformDelete()protected booleanperformRemoveCaddy()protected booleanperformUpdate()java.lang.StringpreviewSearchAndReplace(java.lang.String input, java.lang.String lang)Preview the search and replace given a string and its language.booleanprocessAction()Method to be implemented to check/validate action to be performed and process them.protected java.lang.StringsearchAndReplace(java.lang.String input)Do a search and replace using previously specifed patterns (if specified and validated).voidsetApplyInEmptyFields(boolean applyInEmptyFields)voidsetClassificationLevel(int level)Set the new classification level to use for the Data supporting it.voidsetDeleteDataExtension(boolean deleteDataExtension)voidsetForceDelete(java.lang.String v)Sets forceDelete option.voidsetIgnoreIntegrityCheck(boolean ignoreIntegrityCheck)voidsetOpClearCaddy(java.lang.String v)voidsetOpDelete(java.lang.String v)voidsetOpenTab(int openTab)voidsetOpPreview(java.lang.String v)voidsetOpRemoveCaddy(java.lang.String v)voidsetOpUpdate(java.lang.String v)voidsetRemoveIds(java.lang.String[] rids)Sets the ids ofDatato remove from caddy.voidsetReplacePattern(java.lang.String replacePattern)voidsetSearchAndReplaceLang(java.lang.String[] langs)voidsetSearchPattern(java.lang.String searchPattern)voidsetUseRegExp(boolean useRegExp)booleanshowClassificationLevel()Check if the classification level field should be displayedprotected booleanstartBackgroundProcessAndRedirect(java.lang.String operation)Create a new Process, set its label and domain automatically from current Data type and specified operation, then start it.protected booleanvalidateClearCaddy()protected booleanvalidateDelete()protected booleanvalidateRemoveCaddy()protected booleanvalidateSearchAndReplace()For search and replace to be functionnal, you MUST call this method once prior to calling searchAndReplace method.protected booleanvalidateUpdate()-
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
-
PREVIOUS_TAB
public static final int PREVIOUS_TAB
- See Also:
- Constant Field Values
-
openTab
protected int openTab
-
opClearCaddy
protected boolean opClearCaddy
-
opRemoveCaddy
protected boolean opRemoveCaddy
-
opPreview
protected boolean opPreview
-
messageOnSuccess
protected java.lang.String messageOnSuccess
I18N message to display on success instead of the generic message (not the property, the already resolved message)
-
-
Method Detail
-
context
protected T context()
-
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
-
getDataClass
public abstract java.lang.Class<? extends Data> getDataClass()
Retrieve the type of data being handled by this handler- Returns:
- a Data class
-
getNewCaddyContext
protected abstract T getNewCaddyContext(Caddy caddy, Member member)
Retrieve a new instance of CaddyContext.- Parameters:
caddy- the current Caddymember- the logged Member- Returns:
- a AbstractCaddyContext instance
-
getNewCaddyProcess
protected abstract AbstractCaddyProcess<T> getNewCaddyProcess()
Retrieve a new instance of CaddyProcess to start action when required.- Returns:
- a AbstractCaddyProcess instance
-
getJsp
protected abstract java.lang.String getJsp()
Retrieve the path of the JSP.- Returns:
- a path relative to the webapp root.
-
startBackgroundProcessAndRedirect
protected boolean startBackgroundProcessAndRedirect(java.lang.String operation) throws java.io.IOExceptionCreate a new Process, set its label and domain automatically from current Data type and specified operation, then start it.- Parameters:
operation- the operation- Returns:
- true to indicate a redirect was performed
- Throws:
java.io.IOException- if redirection after process fails
-
validateUpdate
protected boolean validateUpdate()
-
performUpdate
protected boolean performUpdate() throws java.io.IOException- Throws:
java.io.IOException
-
validateDelete
protected boolean validateDelete()
-
performDelete
protected boolean performDelete() throws java.io.IOException- Throws:
java.io.IOException
-
validateClearCaddy
protected boolean validateClearCaddy()
-
performClearCaddy
protected boolean performClearCaddy() throws java.io.IOException- Throws:
java.io.IOException
-
validateSearchAndReplace
protected final boolean validateSearchAndReplace()
For search and replace to be functionnal, you MUST call this method once prior to calling searchAndReplace method.- Returns:
- true if operation can be performed
-
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
-
validateRemoveCaddy
protected final boolean validateRemoveCaddy()
-
performRemoveCaddy
protected final boolean performRemoveCaddy() throws java.io.IOException- Throws:
java.io.IOException
-
setRemoveIds
public final void setRemoveIds(java.lang.String[] rids)
Sets the ids ofDatato remove from caddy.- Parameters:
rids- ids ofpublicationto remove from caddy
-
previewSearchAndReplace
public final java.lang.String previewSearchAndReplace(java.lang.String input, java.lang.String lang)Preview the search and replace given a string and its language.- Parameters:
input- the string to previewlang- the language of the string (in order to apply specified option, if null, check is not done)- Returns:
- the input string modified according to given string
-
getSearchPattern
public final java.lang.String getSearchPattern()
-
setSearchPattern
public final void setSearchPattern(java.lang.String searchPattern)
-
getReplacePattern
public final java.lang.String getReplacePattern()
-
setReplacePattern
public final void setReplacePattern(java.lang.String replacePattern)
-
setUseRegExp
public final void setUseRegExp(boolean useRegExp)
-
isUsingRegExp
public final boolean isUsingRegExp()
-
setApplyInEmptyFields
public final void setApplyInEmptyFields(boolean applyInEmptyFields)
-
isApplyingInEmptyFields
public final boolean isApplyingInEmptyFields()
-
setSearchAndReplaceLang
public final void setSearchAndReplaceLang(java.lang.String[] langs)
-
isSearchAndReplaceLangSelected
public final boolean isSearchAndReplaceLangSelected(java.lang.String lang)
-
setDeleteDataExtension
public final void setDeleteDataExtension(boolean deleteDataExtension)
-
isDeletingDataExtension
public final boolean isDeletingDataExtension()
-
setIgnoreIntegrityCheck
public final void setIgnoreIntegrityCheck(boolean ignoreIntegrityCheck)
-
isIgnoringIntegrityCheck
public final boolean isIgnoringIntegrityCheck()
-
setOpenTab
public final void setOpenTab(int openTab)
-
getOpenTab
public final int getOpenTab()
-
isTabForced
public final boolean isTabForced()
-
setOpUpdate
public final void setOpUpdate(java.lang.String v)
-
setOpDelete
public final void setOpDelete(java.lang.String v)
-
setForceDelete
public void setForceDelete(java.lang.String v)
Sets forceDelete option.- Parameters:
v- the value to set- Since:
- jcms-9.0.5 jcms-10.0.2 JCMS-6305
-
getAvailableForceDelete
public boolean getAvailableForceDelete()
-
getDefaultForceDelete
protected boolean getDefaultForceDelete()
Return weither forceDelete option should be enabled by default.- Returns:
- false by default
- Since:
- jcms-9.0.5 jcms-10.0.2 JCMS-6305 JCMS-6718
-
setOpRemoveCaddy
public final void setOpRemoveCaddy(java.lang.String v)
-
setOpClearCaddy
public final void setOpClearCaddy(java.lang.String v)
-
setOpPreview
public final void setOpPreview(java.lang.String v)
-
isPreviewing
public final boolean isPreviewing()
-
setClassificationLevel
public void setClassificationLevel(int level)
Set the new classification level to use for the Data supporting it.- Parameters:
level- a value from 0 for unclassified publication toClassificationManager.getMaximumLevel()(included) for highly classified publication.- Since:
- 10.0.8 / JCMS-10746
- See Also:
ClassificationManager
-
showClassificationLevel
public boolean showClassificationLevel()
Check if the classification level field should be displayed- Returns:
- true to display field, false otherwise
- Since:
- 10.0.8 / JCMS-10746
-
getClassificationLevelSettings
public EnumerateSettings getClassificationLevelSettings()
Retrieve an EnumerateSettings suitable to edit classification level in the caddy.- Returns:
- an EnumerateSettings, never return null
- Since:
- 10.0.8 / JCMS-10746
-
-