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>
compliantWorkspaceSet
protected Publication
copy
The copy created -if any- during duplicate operation.protected boolean
opDuplicate
protected java.lang.String
origRedirect
The original redirect URL.protected Workspace
selectedWorkspace
-
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.String
getModalTitle()
ControlSettings
getWorkspaceSettings()
protected void
init()
Method to implement if you need to initialize your handler from parameter received, prior to all security validation.protected boolean
performDuplicate()
boolean
processAction()
Method to be implemented to check/validate action to be performed and process them.void
setOpDuplicate(java.lang.String v)
void
setRedirect(java.lang.String url)
Saves a backup of original redirect, for later use if needed.void
setSelectedWorkspace(java.lang.String id)
boolean
showLanguageChooser()
protected boolean
validateDuplicate()
-
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: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 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:
setRedirect
in classJcmsFormHandler
- Parameters:
url
- Value to assign to redirect.- Since:
- jcms-10.0.8 / JCMS-10823
-
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 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:
showLanguageChooser
in 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:
getWorkspaceSettings
in classEditPublicationHandler
-
setOpDuplicate
public void setOpDuplicate(java.lang.String v)
-
setSelectedWorkspace
public void setSelectedWorkspace(java.lang.String id)
-
-