Package com.jalios.jcms.handler
Class DuplicateModalHandler
- java.lang.Object
-
- com.jalios.jcms.context.JcmsContext
-
- com.jalios.jcms.context.JcmsJspContext
-
- com.jalios.jcms.handler.JcmsFormHandler
-
- com.jalios.jcms.handler.EditDataHandler
-
- com.jalios.jcms.handler.EditPublicationHandler
-
- com.jalios.jcms.handler.DuplicateModalHandler
-
- All Implemented Interfaces:
JcmsConstants,JaliosConstants
public class DuplicateModalHandler extends EditPublicationHandler
Handler dedicated to publication duplication.
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.Set<Workspace>compliantWorkspaceSetprotected PublicationcopyThe copy created -if any- during duplicate operation.protected booleanopDuplicateprotected java.lang.StringorigRedirectThe original redirect URL.protected WorkspaceselectedWorkspace-
Fields inherited from class com.jalios.jcms.handler.EditPublicationHandler
adate, anchor, attachWorkspaceSet, author, authorizedGroupsAddCount, authorizedGroupSet, authorizedMemberSet, authorizedMemberSetAddCount, categorySet, checkMemberForRequestUnlock, cids, classificationLevel, CTX_SKIP_ACTIVITY, DISPLAY_URL_TOKEN, doNotStore, edate, fieldStatusMap, friendlyURLSet, ID_TOKEN, ignoreWorkspaceCompliance, internalWf, isAuthorForced, isContentType, isDBType, isFormType, isPortletType, isTracked, isUGCType, itemPos, LAST_PUBLICATION_NOT_STORED, listToProcess, mainLanguage, majorUpdate, oldPstatus, opAddItem, opAddItemReadRights, opAddItemUpdateRights, openTab, opLock, opMerge, opRequestUnlock, opTrash, opUnlock, opUntrash, pdate, PREVIEW_URL_TOKEN, pstatus, pubClass, publication, readAck, requestUnlockMessage, restrictUpdateRights, reviewRating, roleIds, roleMap, roleMembers, sdate, showAllTabs, showContentTabOnly, skipActivity, templates, title, titleML, typeLabel, updateGroupsAddCount, updateGroupSet, updateMemberSet, updateMemberSetAddCount, useDefaultCategories, useDefaultCategoriesModified, useDefaultReadRights, useDefaultReadRightsModified, useDefaultUpdateRights, useDefaultUpdateRightsModified, wf, wfNote, workingPub, wste
-
Fields inherited from class com.jalios.jcms.handler.EditDataHandler
extFormHandler, id, isDeleteForced, opCancel, opCreate, opDelete, opRefresh, opUpdate, resultOpCreate, resultOpDelete, resultOpUpdate
-
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 DuplicateModalHandler()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.StringgetModalTitle()ControlSettingsgetWorkspaceSettings()protected voidinit()Method to implement if you need to initialize your handler from parameter received, prior to all security validation.protected booleanperformDuplicate()booleanprocessAction()Method to be implemented to check/validate action to be performed and process them.voidsetOpDuplicate(java.lang.String v)voidsetRedirect(java.lang.String url)Saves a backup of original redirect, for later use if needed.voidsetSelectedWorkspace(java.lang.String id)booleanshowLanguageChooser()protected booleanvalidateDuplicate()-
Methods inherited from class com.jalios.jcms.handler.EditPublicationHandler
cannotRead, checkStrongLock, containsHiddenFields, containsHiddenParts, doWorkflowUpdate, getAllAvailableTitleML, getAnchor, getAuthorizedGroupsCount, getAuthorizedMemberSetCount, getAvailableAdate, getAvailableAttachWorkspaceSet, getAvailableAuthor, getAvailableAuthorizedGroupSet, getAvailableAuthorizedMemberSet, getAvailableCategories, getAvailableClassificationLevel, getAvailableEdate, getAvailableField, getAvailableFriendlyURLSet, getAvailableInternalWorkflow, getAvailableMainLanguage, getAvailableMajorUpdate, getAvailablePdate, getAvailablePstatus, getAvailableReadAck, getAvailableRestrictUpdateRights, getAvailableRoleMap, getAvailableSdate, getAvailableSkipActivity, getAvailableTemplateEntry, getAvailableTemplates, getAvailableTitle, getAvailableTitle, getAvailableTitleML, getAvailableTracked, getAvailableUpdateGroupSet, getAvailableUpdateMemberSet, getAvailableUseDefaultCategories, getAvailableUseDefaultReadRights, getAvailableUseDefaultUpdateRights, getAvailableWFNote, getAvailableWorkspace, getCategorySet, getClassificationLevelSettings, getClosePopupUrl, getControllerContext, getDataClass, getDefaultAuthorizedGroupSet, getDefaultAuthorizedMemberSet, getDefaultCategorySet, getDefaultTemplateUsage, getDefaultUpdateGroupSet, getDefaultUpdateMemberSet, getDoNotStore, getFieldStatus, getHiddenCatSet, getIgnoreWorkspaceCompliance, getMemberSetAssignedToRole, getOldPstatus, getOpenTab, getPublication, getPublicationClass, getShowAllTabs, getShowContentTabOnly, getTabLabel, getTitleFieldValue, getTypeLabel, getUpdateGroupsCount, getUpdateMemberSetCount, getWorkAreaCss, getWorkflow, getWorkspaceComplianceWarning, getWSTypeEntry, initWorkspace, internalPerformCreate, internalPerformDelete, internalPerformUpdate, isAdvancedTabHidden, isCategoryTabHidden, isClassificationTabHidden, isCommonRightTabHidden, isContentTabOnly, isDBType, isExpanded, isFieldEdition, isForm, isFormStepClickable, isLocked, isReadRightTabHidden, isStrongLocked, isTabForced, isTemplateTabHidden, isUpdateRightTabHidden, isWorkflowTabHidden, lock, mustSendForbiddenOnCSRF, performAddItem, performAddItemReadRights, performAddItemUpdateRights, performCreate, performDelete, performLock, performMerge, performRefresh, performRequestUnlock, performTrash, performUnlock, performUntrash, performUpdate, prepare, processStatus, releaseDBWorkingPub, resetCategorySet, sendRedirect, setAdate, setAnchor, setAttachWorkspaceIds, setAuthor, setAuthorForced, setAuthorizedGroupIds, setAuthorizedMemberIds, setAuthorizedMemberSetAddCount, setCheckMemberForRequestUnlock, setCids, setClassificationLevel, setDoNotStore, setEdate, setFields, setFriendlyURL, setId, setIgnoreWorkspaceCompliance, setInternalWf, setItemPos, setMainLanguage, setMajorUpdate, setOpAddItem, setOpAddItemReadRights, setOpAddItemUpdateRights, setOpenTab, setOpLock, setOpMerge, setOpRequestUnlock, setOpTrash, setOpUnlock, setOpUntrash, setOpUpdateMajor, setPdate, setPstatus, setReadAck, setRequestUnlockMessage, setRestrictUpdateRights, setRoleId, setSdate, setShowAllTabs, setShowContentTabOnly, setSilentUpdate, setSkipActivity, setTemplates, setTitle, setTracked, setUpdateGroupIds, setUpdateMemberIds, setUpdateMemberSetAddCount, setUseDefaultCategories, setUseDefaultReadRights, setUseDefaultUpdateRights, setWfNote, setWorkspaceComplianceWarning, setWSTypeEntry, showAttachWorkspaceSet, showForceDelete, showFriendlyURL, showLockWarning, showMainLanguage, showReadAck, showReaderTracker, showSDate, showWFRole, unlock, updateCids, validateAddItem, validateAddItemReadRights, validateAddItemUpdateRights, validateBeforeOp, validateCreate, validateDelete, validateFieldFormat, validateForm, validateLock, validateMember, validateMerge, validateRequestUnlock, validateTrash, validateUnlock, validateUntrash, validateUpdate, validateWorkspace, workflowHasNotBeenChanged
-
Methods inherited from class com.jalios.jcms.handler.EditDataHandler
afterValidation, createUploadedFileDocument, createUploadedFileDocument, createUploadedFileDocument, createUploadedFileDocument, getAvailableData, getAvailableDataArray, getAvailableExtraDataMap, getAvailableExtraDBDataMap, getDeleteRedirect, getEnumLabels, getEnumValues, getExtFormHandler, getId, getModalRedirect, getTabGroupMaxCount, handleRestResponse, isFirstAccess, performCancel, performCreateExtension, performUpdateExtension, processDataId, processDataIds, processDataIds, processMLData, processMLDataArray, restValidation, setExtFormHandler, setExtraDBKeys, setExtraDBValues, setExtraKeys, setExtraValues, setFields, setForceDelete, setOpCancel, setOpCreate, setOpDelete, setOpRefresh, setOpUpdate, validateCancel, validateCreateExtension, validateRefresh, validateUpdateExtension, validateUploadedFileDocument, validateUploadedFileDocument, validateUploadedFileDocument, validateUploadedFileDocument
-
Methods inherited from class com.jalios.jcms.handler.JcmsFormHandler
canStartProcess, checkMissingField, getBackgroundProcess, 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, getMonolingualValue, getMonolingualValueArray, getMultilingualMainValue, getMultilingualMainValueArray, getMultilingualMLMap, getMultilingualMLMapArray, getRedirect, getRedirectOnClosePopup, getWorkspace, isFieldMissing, isPartialFieldEdition, isPopupEdition, isWorkspaceForced, mapStringArrayToMapStringList, mapStringListToMapStringArray, performFinish, performNext, performPrevious, sanitize, sanitize, sendRedirect, sendRedirect, setEditField, setFormStep, setNoRedirect, setNoSendRedirect, setOpFinish, setOpNext, setOpPrevious, setPopupEdition, 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, 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
-
compliantWorkspaceSet
protected java.util.Set<Workspace> compliantWorkspaceSet
-
opDuplicate
protected boolean opDuplicate
-
selectedWorkspace
protected Workspace selectedWorkspace
-
origRedirect
protected java.lang.String origRedirect
The original redirect URL.To be reused in the edit JSP url user will be redirected to after duplication, as a "?redirect=" HTTP parameter.
- Since:
- jcms-10.0.8 / JCMS-10823
-
copy
protected Publication copy
The copy created -if any- during duplicate operation.Protected access, originally created for unittest purpose.
- Since:
- jcms-10.0.8 / JCMS-10823
-
-
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 classEditPublicationHandler
-
setRedirect
public void setRedirect(java.lang.String url)
Saves a backup of original redirect, for later use if needed.Original redirect will be appended to the editPub.jsp URL as an encodedURL "redirect=" parameter.
- Overrides:
setRedirectin classJcmsFormHandler- Parameters:
url- Value to assign to redirect.- Since:
- jcms-10.0.8 / JCMS-10823
-
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 classEditPublicationHandler- Returns:
- false if no redirection is needed, true otherwise
- Throws:
java.io.IOException- IO Exception
-
validateDuplicate
protected boolean validateDuplicate() throws java.io.IOException- Throws:
java.io.IOException
-
performDuplicate
protected boolean performDuplicate() throws java.io.IOException- Throws:
java.io.IOException
-
showLanguageChooser
public boolean showLanguageChooser()
- Overrides:
showLanguageChooserin classEditPublicationHandler- Returns:
- true if channel is multilingual and current Publication type has at least one multilingual field.
-
getModalTitle
public java.lang.String getModalTitle()
-
getWorkspaceSettings
public ControlSettings getWorkspaceSettings()
- Overrides:
getWorkspaceSettingsin classEditPublicationHandler
-
setOpDuplicate
public void setOpDuplicate(java.lang.String v)
-
setSelectedWorkspace
public void setSelectedWorkspace(java.lang.String id)
-
-