Class CmsMultiDialog

    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String DELIMITER_RESOURCES
      The delimiter that is used in the resource list request parameter.
      • Fields inherited from class org.opencms.workplace.CmsDialog

        ACTION_CANCEL, ACTION_CLOSEPOPUP, ACTION_CLOSEPOPUP_SAVE, ACTION_CONFIRMED, ACTION_CONTINUE, ACTION_DEFAULT, ACTION_LOCKS_CONFIRMED, ACTION_OK, ACTION_REPORT_BEGIN, ACTION_REPORT_END, ACTION_REPORT_UPDATE, ACTION_SET, ACTION_WAIT, ATTRIBUTE_THROWABLE, BUTTON_ADVANCED, BUTTON_BACK, BUTTON_CANCEL, BUTTON_CLOSE, BUTTON_CONTINUE, BUTTON_DETAILS, BUTTON_DISCARD, BUTTON_EDIT, BUTTON_OK, BUTTON_OK_NO_SUBMIT, BUTTON_SET, DIALOG_BACK, DIALOG_CANCEL, DIALOG_CONFIRMED, DIALOG_CONTINUE, DIALOG_INITIAL, DIALOG_LOCKS_CONFIRMED, DIALOG_OK, DIALOG_SET, DIALOG_WAIT, PARAM_ACTION, PARAM_ACTION_VALUE_FOR_CHANGED_INDEX, PARAM_CLOSELINK, PARAM_DIALOGTYPE, PARAM_ERRORSTACK, PARAM_FILE, PARAM_FRAMENAME, PARAM_ISPOPUP, PARAM_LOCK, PARAM_MESSAGE, PARAM_ORIGINALPARAMS, PARAM_PREACTIONDONE, PARAM_REDIRECT, PARAM_RESOURCE, PARAM_TARGET, PARAM_THREAD, PARAM_THREAD_HASNEXT, PARAM_TITLE, REPORT_BEGIN, REPORT_END, REPORT_UPDATE
      • Fields inherited from class org.opencms.workplace.tools.CmsToolDialog

        PARAM_ADMIN_PROJECT, PARAM_BASE, PARAM_FORCE, PARAM_PATH, PARAM_ROOT, PARAM_STYLE, STYLE_NEW
      • Fields inherited from class org.opencms.workplace.CmsWorkplace

        DEBUG, DEFAULT_DATE_STRING, DEFAULT_LANGUAGE, DEFAULT_LOCALE, DIALOG_PATH_COMMON, FILE_DIALOG_CLOSE, FILE_DIALOG_SCREEN_CONFIRM, FILE_DIALOG_SCREEN_ERROR, FILE_DIALOG_SCREEN_ERRORPAGE, FILE_DIALOG_SCREEN_WAIT, FILE_EXPLORER_FILELIST, FILE_REPORT_OUTPUT, HTML_END, HTML_START, INPUT_DEFAULT, INPUT_NONE, JSP_WORKPLACE_URI, PARAM_DIRECTPUBLISH, PARAM_MODELFILE, PARAM_NEWRESOURCETYPE, PARAM_PUBLISHSIBLINGS, PARAM_RELATEDRESOURCES, PARAM_RESOURCELIST, PARAM_SUBRESOURCES, PARAM_WP_EXPLORER_RESOURCE, PARAM_WP_PROJECT, PARAM_WP_SITE, PARAM_WP_START, PARAM_WP_VIEW, PATH_DIALOGS, PATH_WORKPLACE, REQUEST_ATTRIBUTE_MULTIPART, REQUEST_ATTRIBUTE_RELOADTREE, RES_PATH_FILETYPES, RFS_PATH_RESOURCES, SESSION_WORKPLACE_CLASS, VFS_DIR_DEFAULTBODIES, VFS_DIR_TEMPLATES, VFS_PATH_COMMONS, VFS_PATH_EDITORS, VFS_PATH_GALLERIES, VFS_PATH_LOCALES, VFS_PATH_MODELDIALOG, VFS_PATH_MODULES, VFS_PATH_NEWRESOURCEDIALOG, VFS_PATH_RESOURCES, VFS_PATH_SITES, VFS_PATH_SYSTEM, VFS_PATH_VIEWS, VFS_PATH_WORKPLACE, VIEW_ADMIN, VIEW_DIRECT_EDIT, VIEW_EXPLORER, VIEW_GALLERY, VIEW_LIST, VIEW_WORKPLACE
    • Constructor Summary

      Constructors 
      Constructor Description
      CmsMultiDialog​(javax.servlet.jsp.PageContext context, javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res)
      Public constructor with JSP variables.
      CmsMultiDialog​(org.opencms.jsp.CmsJspActionElement jsp)
      Public constructor.
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      void addMultiOperationException​(org.opencms.main.CmsException exc)
      Adds an exception thrown during a multi resource operation to the multi exception.
      java.lang.String buildLockHeaderBox()  
      java.lang.String buildResourceList()
      Builds the HTML for the resource list that is affected by the multi operation.
      void checkMultiOperationException​(org.opencms.i18n.I_CmsMessageBundle messages, java.lang.String key)
      Checks if an exception occurred during a multi resource operation, and throws a new exception if necessary.
      protected boolean checkResourcePermissions​(org.opencms.security.CmsPermissionSet required, boolean neededForFolder)
      Checks if the permissions of the current user on the single resource to use in the dialog are sufficient.
      java.lang.String getParamResourcelist()
      Returns the value of the resource list parameter, or null if the parameter is not provided.
      java.util.List<java.lang.String> getResourceList()
      Returns the resources that are defined for the dialog operation.
      java.lang.String getResourceListAsParam()
      Returns the value of the resourcelist parameter in form of a String separated with DELIMITER_RESOURCES, or the value of the resource parameter if the first parameter is not provided (no multiple choice has been done.
      boolean isMultiOperation()
      Returns true if the dialog operation has to be performed on multiple resources.
      protected boolean isOperationOnFolder()
      Checks if the resource operation is an operation on at least one folder.
      protected abstract boolean performDialogOperation()
      Performs the dialog operation for the selected resources.
      void setDialogTitle​(java.lang.String singleKey, java.lang.String multiKey)
      Sets the title of the dialog depending on the operation type, multiple or single operation.
      void setParamResource​(java.lang.String value)  
      void setParamResourcelist​(java.lang.String paramResourcelist)
      Sets the value of the resourcelist parameter.
      • Methods inherited from class org.opencms.workplace.CmsDialog

        actionCloseDialog, appendDelimiter, buildAjaxResultContainer, buildAjaxWaitMessage, buildLockAdditionalOptions, buildLockConfirmationMessageJS, checkResourcePermissions, computeCurrentFolder, dialog, dialogBlock, dialogBlockEnd, dialogBlockStart, dialogButtonRow, dialogButtonRowEnd, dialogButtonRowStart, dialogButtons, dialogButtonsClose, dialogButtonsClose, dialogButtonsCloseDetails, dialogButtonsHtml, dialogButtonsOk, dialogButtonsOk, dialogButtonsOkCancel, dialogButtonsOkCancel, dialogButtonsOkCancelAdvanced, dialogButtonsSetOkCancel, dialogContent, dialogContentEnd, dialogContentStart, dialogEnd, dialogHead, dialogHorizontalSpacer, dialogLockButtons, dialogRow, dialogRowEnd, dialogRowStart, dialogScriptSubmit, dialogSeparator, dialogSpacer, dialogStart, dialogStart, dialogSubheadline, dialogToggleStart, dialogWhiteBox, dialogWhiteBoxEnd, dialogWhiteBoxStart, getAction, getAdministrationBackLink, getCancelAction, getDialogRealUri, getDialogUri, getOnlineHelpUriCustom, getParamAction, getParamCloseLink, getParamDialogtype, getParamFramename, getParamIsPopup, getParamMessage, getParamOriginalParams, getParamPreActionDone, getParamRedirect, getParamResource, getParamTitle, getState, hasCorrectLockstate, hasSiblings, htmlStart, htmlStart, htmlStart, htmlStartStyle, includeErrorpage, initCmsDialog, initWorkplaceRequestValues, isPopup, isPreEditor, openLaunchpad, openWorkplaceLink, pageHtml, pageHtml, setAction, setOnlineHelpUriCustom, setParamAction, setParamCloseLink, setParamDialogtype, setParamFramename, setParamIsPopup, setParamMessage, setParamOriginalParams, setParamPreActionDone, setParamRedirect, setParamTitle
      • Methods inherited from class org.opencms.workplace.tools.CmsToolDialog

        computeUpLevelLink, dialogTitle, getAdminTool, getCurrentToolPath, getParamBase, getParamForce, getParamPath, getParamRoot, getParamStyle, getParentPath, getToolManager, iconsBlockArea, iconsBlockAreaEnd, iconsBlockAreaStart, initAdminTool, pageBody, pageHtmlStyle, setParamBase, setParamForce, setParamPath, setParamRoot, setParamStyle, useNewStyle
      • Methods inherited from class org.opencms.workplace.CmsWorkplace

        addMessages, addMessages, allParamsAsHidden, allParamsAsRequest, allParamValues, bodyEnd, bodyStart, bodyStart, buildSelect, buildSelect, button, button, buttonBar, buttonBar, buttonBarHorizontalLine, buttonBarLabel, buttonBarLabel, buttonBarLine, buttonBarLineSpacer, buttonBarSeparator, buttonBarSpacer, buttonBarStartTab, canEditPermissionsForRoles, checkLock, checkLock, checkRole, decodeParamValue, fillParamValues, fillParamValues, generateCssStyle, generatePageEndExtended, generatePageEndSimple, generatePageStartExtended, generatePageStartSimple, getBroadcastMessageString, getCms, getEncoding, getExplorerFileListFullUri, getFrameSource, getJsp, getLocale, getMacroResolver, getMessages, getMultiPartFileItems, getParameterMap, getResourceUri, getResourceUri, getSession, getSettings, getSkinUri, getStartSiteRoot, getStartSiteRoot, getStaticResourceUri, getStaticResourceUri, getStyleUri, getStyleUri, getStyleUri, getTemporaryFileName, getWorkplaceExplorerLink, getWorkplaceExplorerLink, getWorkplaceSettings, htmlEnd, initMessages, initSettings, initTimeWarp, initUserSettings, initWorkplaceMembers, initWorkplaceMembers, initWorkplaceSettings, isForwarded, isHelpEnabled, isSubElement, isTemporaryFile, key, key, keyDefault, nullToEmpty, paramsAsHidden, paramsAsHidden, paramsAsParameterMap, paramsAsRequest, paramValues, resolveMacros, sendCmsRedirect, sendForward, setForwarded, shortKey, substituteSiteTitle, substituteSiteTitleStatic, switchToCurrentProject, switchToTempProject, updateUserPreferences
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • CmsMultiDialog

        public CmsMultiDialog​(org.opencms.jsp.CmsJspActionElement jsp)
        Public constructor.

        Parameters:
        jsp - an initialized JSP action element
      • CmsMultiDialog

        public CmsMultiDialog​(javax.servlet.jsp.PageContext context,
                              javax.servlet.http.HttpServletRequest req,
                              javax.servlet.http.HttpServletResponse res)
        Public constructor with JSP variables.

        Parameters:
        context - the JSP page context
        req - the JSP request
        res - the JSP response
    • Method Detail

      • buildLockHeaderBox

        public java.lang.String buildLockHeaderBox()
                                            throws org.opencms.main.CmsException
        Overrides:
        buildLockHeaderBox in class org.opencms.workplace.CmsDialog
        Throws:
        org.opencms.main.CmsException
        See Also:
        CmsDialog.buildLockHeaderBox()
      • buildResourceList

        public java.lang.String buildResourceList()
        Builds the HTML for the resource list that is affected by the multi operation.

        Returns:
        the HTML for the resource list that is affected by the multi operation
      • checkMultiOperationException

        public void checkMultiOperationException​(org.opencms.i18n.I_CmsMessageBundle messages,
                                                 java.lang.String key)
                                          throws org.opencms.main.CmsException
        Checks if an exception occurred during a multi resource operation, and throws a new exception if necessary.

        Parameters:
        messages - the message bundle to use for the exception message generation
        key - the key for the exception to throw with one parameter
        Throws:
        org.opencms.main.CmsException - the exception that is thrown when the multi operation was not successful
      • getParamResourcelist

        public java.lang.String getParamResourcelist()
        Returns the value of the resource list parameter, or null if the parameter is not provided.

        This parameter selects the resources to perform operations on.

        Returns:
        the value of the resource list parameter or null, if the parameter is not provided
      • getResourceList

        public java.util.List<java.lang.String> getResourceList()
        Returns the resources that are defined for the dialog operation.

        For single resource operations, the list contains one item: the resource name found in the request parameter value of the "resource" parameter.

        Returns:
        the resources that are defined for the dialog operation
      • getResourceListAsParam

        public java.lang.String getResourceListAsParam()
        Returns the value of the resourcelist parameter in form of a String separated with DELIMITER_RESOURCES, or the value of the resource parameter if the first parameter is not provided (no multiple choice has been done.

        This may be used for jsps as value for the parameter for resources CmsWorkplace.PARAM_RESOURCELIST.

        Returns:
        the value of the resourcelist parameter or null, if the parameter is not provided
      • isMultiOperation

        public boolean isMultiOperation()
        Returns true if the dialog operation has to be performed on multiple resources.

        Returns:
        true if the dialog operation has to be performed on multiple resources, otherwise false
      • setDialogTitle

        public void setDialogTitle​(java.lang.String singleKey,
                                   java.lang.String multiKey)
        Sets the title of the dialog depending on the operation type, multiple or single operation.

        Parameters:
        singleKey - the key for the single operation
        multiKey - the key for the multiple operation
      • setParamResource

        public void setParamResource​(java.lang.String value)
        Overrides:
        setParamResource in class org.opencms.workplace.CmsDialog
        See Also:
        CmsDialog.setParamResource(java.lang.String)
      • setParamResourcelist

        public void setParamResourcelist​(java.lang.String paramResourcelist)
        Sets the value of the resourcelist parameter.

        Parameters:
        paramResourcelist - the value of the resourcelist parameter
      • checkResourcePermissions

        protected boolean checkResourcePermissions​(org.opencms.security.CmsPermissionSet required,
                                                   boolean neededForFolder)
        Checks if the permissions of the current user on the single resource to use in the dialog are sufficient.

        For a multi resource operation, this returns always true, checks only for single resource operations.

        Overrides:
        checkResourcePermissions in class org.opencms.workplace.CmsDialog
        Parameters:
        required - the required permissions for the dialog
        neededForFolder - if true, the permissions are required for the parent folder of the resource (e.g. for editors)
        Returns:
        true if the permissions are sufficient, otherwise false
        See Also:
        CmsDialog.checkResourcePermissions(CmsPermissionSet, boolean)
      • isOperationOnFolder

        protected boolean isOperationOnFolder()
        Checks if the resource operation is an operation on at least one folder.

        Returns:
        true if the operation an operation on at least one folder, otherwise false
      • performDialogOperation

        protected abstract boolean performDialogOperation()
                                                   throws org.opencms.main.CmsException
        Performs the dialog operation for the selected resources.

        Returns:
        true, if the operation was successful, otherwise false
        Throws:
        org.opencms.main.CmsException - if operation was not successful