Class CmsAvailability


  • public class CmsAvailability
    extends CmsMultiDialog
    Provides methods for the resource availability/notification dialog.

    The following files use this class:

    • /commons/availability.jsp

    Since:
    6.0.0
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String DIALOG_TYPE
      The dialog type.
      static java.lang.String PARAM_ENABLE_NOTIFICATION
      Request parameter name for the activation of the notification.
      static java.lang.String PARAM_EXPIREDATE
      Request parameter name for the expire date.
      static java.lang.String PARAM_LEAVEEXPIRE
      Request parameter name for the leave expire.
      static java.lang.String PARAM_LEAVERELEASE
      Request parameter name for the leave release.
      static java.lang.String PARAM_MODIFY_SIBLINGS
      Request parameter name for the include siblings flag.
      static java.lang.String PARAM_NOTIFICATION_INTERVAL
      Request parameter name for the activation of the notification.
      static java.lang.String PARAM_RECURSIVE
      Request parameter name for the recursive flag.
      static java.lang.String PARAM_RELEASEDATE
      Request parameter name for the release date.
      static java.lang.String PARAM_RESETEXPIRE
      Request parameter name for the reset expire.
      static java.lang.String PARAM_RESETRELEASE
      Request parameter name for the reset release.
      • 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
      CmsAvailability​(javax.servlet.jsp.PageContext context, javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res)
      Public constructor with JSP variables.
      CmsAvailability​(org.opencms.jsp.CmsJspActionElement jsp)
      Public constructor.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void actionCloseDialog()  
      void actionUpdate()
      Performs the resource operation, will be called by the JSP page.
      java.lang.String buildCheckboxEnableNotification()
      Creates the check box to enable content notification for a resource.
      java.lang.String buildCheckboxModifySiblings()
      Creates an the check box to modify all siblings.
      java.lang.String buildCheckRecursive()
      Creates the "recursive" check box for touching subresources of folders.
      java.lang.String buildInputNotificationInterval()
      Creates an input field for the notification interval.
      java.lang.String buildResponsibleList()
      Builds a String with HTML code to display the responsibles of a resource.
      java.lang.String getCurrentDateTime()
      Returns the current date and time as String formatted in localized pattern.
      java.lang.String getCurrentExpireDate()
      Returns the current expire date as String formatted in localized pattern.
      java.lang.String getCurrentReleaseDate()
      Returns the current release date as String formatted in localized pattern.
      protected java.lang.String getLocalizedType​(int flags)
      Returns a localized String for "Group", if the flag of a group ACE, and the localization for "User" otherwise.
      java.lang.String getParamEnablenotification()
      Returns the value of the enable_notification parameter.
      java.lang.String getParamExpiredate()
      Returns the value of the new expire date parameter, or null if this parameter was not provided.
      java.lang.String getParamLeaveexpire()
      Returns the value of the leave expire parameter.
      java.lang.String getParamModifysiblings()
      Returns the value of the modify siblings parameter, or null if this parameter was not provided.
      java.lang.String getParamNotificationinterval()
      Returns the value of the notification interval parameter, or null if this parameter was not provided.
      java.lang.String getParamRecursive()
      Returns the value of the recursive parameter, or null if this parameter was not provided.
      java.lang.String getParamReleasedate()
      Returns the value of the new release date parameter, or null if this parameter was not provided.
      java.lang.String getParamResetexpire()
      Returns the value of the reset expire parameter.
      java.lang.String getParamResetrelease()
      Returns the value of the reset release parameter.
      protected void initWorkplaceRequestValues​(org.opencms.workplace.CmsWorkplaceSettings settings, javax.servlet.http.HttpServletRequest request)  
      protected boolean performDialogOperation()
      Modifies the release and expire date of a resource, and changes the notification interval.
      protected void performSingleResourceAvailability​(java.lang.String resName, long releaseDate, long expireDate, boolean leaveRelease, boolean leaveExpire, boolean modifyRecursive)
      Performs the availability operations on a single resource.
      static void performSingleResourceNotification​(org.opencms.file.CmsObject cms, java.lang.String resName, boolean enableNotification, int notificationInterval, boolean modifySiblings)
      Performs the notification operations on a single resource.
      void setParamEnablenotification​(java.lang.String value)
      Sets the value of the enable notification parameter.
      void setParamExpiredate​(java.lang.String value)
      Sets the value of the expire date.
      void setParamLeaveexpire​(java.lang.String paramLeaveexpire)
      Sets the value of the leave expire parameter.
      void setParamModifysiblings​(java.lang.String value)
      Sets the value of the modify siblings parameter.
      void setParamNotificationinterval​(java.lang.String value)
      Sets the value of the new time stamp parameter.
      void setParamRecursive​(java.lang.String value)
      Sets the value of the recursive parameter.
      void setParamReleasedate​(java.lang.String value)
      Sets the value of the release date parameter.
      void setParamResetexpire​(java.lang.String paramResetexpire)
      Sets the value of the reset expire parameter.
      void setParamResetrelease​(java.lang.String paramResetrelease)
      Sets the value of the reset release parameter.
      static void writeProperty​(org.opencms.file.CmsObject cms, java.lang.String resourcePath, java.lang.String propertyName, java.lang.String propertyValue)
      Writes a property value for a resource.
      • Methods inherited from class org.opencms.workplace.CmsDialog

        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, 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

      • CmsAvailability

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

        Parameters:
        jsp - an initialized JSP action element
      • CmsAvailability

        public CmsAvailability​(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

      • performSingleResourceNotification

        public static void performSingleResourceNotification​(org.opencms.file.CmsObject cms,
                                                             java.lang.String resName,
                                                             boolean enableNotification,
                                                             int notificationInterval,
                                                             boolean modifySiblings)
                                                      throws org.opencms.main.CmsException
        Performs the notification operations on a single resource.

        Parameters:
        cms - the CMS context
        resName - the VFS path of the resource
        enableNotification - if the notification is activated
        notificationInterval - the notification interval in days
        modifySiblings - flag indicating to include resource siblings
        Throws:
        org.opencms.main.CmsException - if the availability and notification operations fail
      • writeProperty

        public static void writeProperty​(org.opencms.file.CmsObject cms,
                                         java.lang.String resourcePath,
                                         java.lang.String propertyName,
                                         java.lang.String propertyValue)
                                  throws org.opencms.main.CmsException
        Writes a property value for a resource.

        Parameters:
        cms - the cms context
        resourcePath - the path of the resource
        propertyName - the name of the property
        propertyValue - the new value of the property
        Throws:
        org.opencms.main.CmsException - if something goes wrong
      • actionCloseDialog

        public void actionCloseDialog()
                               throws javax.servlet.jsp.JspException
        Overrides:
        actionCloseDialog in class org.opencms.workplace.CmsDialog
        Throws:
        javax.servlet.jsp.JspException
        See Also:
        CmsDialog.actionCloseDialog()
      • actionUpdate

        public void actionUpdate()
                          throws javax.servlet.jsp.JspException
        Performs the resource operation, will be called by the JSP page.

        Throws:
        javax.servlet.jsp.JspException - if problems including sub-elements occur
      • buildCheckboxEnableNotification

        public java.lang.String buildCheckboxEnableNotification()
        Creates the check box to enable content notification for a resource.

        Returns:
        HTML code for the enable_notification check box.
      • buildCheckboxModifySiblings

        public java.lang.String buildCheckboxModifySiblings()
        Creates an the check box to modify all siblings.

        If no siblings exist for this resource, an empty string will be returned.

        Returns:
        HTML code for the modify siblings check box.
      • buildCheckRecursive

        public java.lang.String buildCheckRecursive()
        Creates the "recursive" check box for touching subresources of folders.

        Returns:
        the String with the check box input field or an empty String for folders.
      • buildInputNotificationInterval

        public java.lang.String buildInputNotificationInterval()
        Creates an input field for the notification interval.

        Returns:
        HTML code for the notification interval input field.
      • buildResponsibleList

        public java.lang.String buildResponsibleList()
        Builds a String with HTML code to display the responsibles of a resource.

        Returns:
        HTML code for the responsibles of the current resource
      • getCurrentDateTime

        public java.lang.String getCurrentDateTime()
        Returns the current date and time as String formatted in localized pattern.

        Returns:
        the current date and time as String formatted in localized pattern
      • getCurrentExpireDate

        public java.lang.String getCurrentExpireDate()
        Returns the current expire date as String formatted in localized pattern.

        Returns:
        the current expire date as String formatted in localized pattern
      • getCurrentReleaseDate

        public java.lang.String getCurrentReleaseDate()
        Returns the current release date as String formatted in localized pattern.

        Returns:
        the current release date as String formatted in localized pattern
      • getParamEnablenotification

        public java.lang.String getParamEnablenotification()
        Returns the value of the enable_notification parameter.

        The enable_notification parameter if content notification is enabled for this resource.

        Returns:
        the value of the enable_notification parameter
      • getParamExpiredate

        public java.lang.String getParamExpiredate()
        Returns the value of the new expire date parameter, or null if this parameter was not provided.

        Returns:
        the value of the new expire date parameter
      • getParamLeaveexpire

        public java.lang.String getParamLeaveexpire()
        Returns the value of the leave expire parameter.

        Returns:
        the value of the leave expire parameter
      • getParamModifysiblings

        public java.lang.String getParamModifysiblings()
        Returns the value of the modify siblings parameter, or null if this parameter was not provided.

        Returns:
        the value of the modify siblings
      • getParamNotificationinterval

        public java.lang.String getParamNotificationinterval()
        Returns the value of the notification interval parameter, or null if this parameter was not provided.

        Returns:
        the value of the notification interval parameter
      • getParamRecursive

        public java.lang.String getParamRecursive()
        Returns the value of the recursive parameter, or null if this parameter was not provided.

        The recursive parameter on folders decides if all subresources of the folder should be touched, too.

        Returns:
        the value of the recursive parameter
      • getParamReleasedate

        public java.lang.String getParamReleasedate()
        Returns the value of the new release date parameter, or null if this parameter was not provided.

        The release date parameter stores the new release date as String.

        Returns:
        the value of the new release date parameter
      • getParamResetexpire

        public java.lang.String getParamResetexpire()
        Returns the value of the reset expire parameter.

        Returns:
        the value of the reset expire parameter
      • getParamResetrelease

        public java.lang.String getParamResetrelease()
        Returns the value of the reset release parameter.

        Returns:
        the value of the reset release parameter
      • setParamEnablenotification

        public void setParamEnablenotification​(java.lang.String value)
        Sets the value of the enable notification parameter.

        Parameters:
        value - the value to set
      • setParamExpiredate

        public void setParamExpiredate​(java.lang.String value)
        Sets the value of the expire date.

        Parameters:
        value - the value to set
      • setParamLeaveexpire

        public void setParamLeaveexpire​(java.lang.String paramLeaveexpire)
        Sets the value of the leave expire parameter.

        Parameters:
        paramLeaveexpire - the value of the leave expire parameter
      • setParamModifysiblings

        public void setParamModifysiblings​(java.lang.String value)
        Sets the value of the modify siblings parameter.

        Parameters:
        value - the value to set
      • setParamNotificationinterval

        public void setParamNotificationinterval​(java.lang.String value)
        Sets the value of the new time stamp parameter.

        Parameters:
        value - the value to set
      • setParamRecursive

        public void setParamRecursive​(java.lang.String value)
        Sets the value of the recursive parameter.

        Parameters:
        value - the value to set
      • setParamReleasedate

        public void setParamReleasedate​(java.lang.String value)
        Sets the value of the release date parameter.

        Parameters:
        value - the value to set
      • setParamResetexpire

        public void setParamResetexpire​(java.lang.String paramResetexpire)
        Sets the value of the reset expire parameter.

        Parameters:
        paramResetexpire - the value of the reset expire parameter
      • setParamResetrelease

        public void setParamResetrelease​(java.lang.String paramResetrelease)
        Sets the value of the reset release parameter.

        Parameters:
        paramResetrelease - the value of the reset release parameter
      • getLocalizedType

        protected java.lang.String getLocalizedType​(int flags)
        Returns a localized String for "Group", if the flag of a group ACE, and the localization for "User" otherwise.

        Parameters:
        flags - the flags of the ACE
        Returns:
        localization for "Group", if the flag belongs to a group ACE
      • initWorkplaceRequestValues

        protected void initWorkplaceRequestValues​(org.opencms.workplace.CmsWorkplaceSettings settings,
                                                  javax.servlet.http.HttpServletRequest request)
        Overrides:
        initWorkplaceRequestValues in class org.opencms.workplace.CmsDialog
        See Also:
        CmsWorkplace.initWorkplaceRequestValues(org.opencms.workplace.CmsWorkplaceSettings, javax.servlet.http.HttpServletRequest)
      • performDialogOperation

        protected boolean performDialogOperation()
                                          throws org.opencms.main.CmsException
        Modifies the release and expire date of a resource, and changes the notification interval.

        Specified by:
        performDialogOperation in class CmsMultiDialog
        Returns:
        true, if the operation was performed, otherwise false
        Throws:
        org.opencms.main.CmsException - if modification is not successful
      • performSingleResourceAvailability

        protected void performSingleResourceAvailability​(java.lang.String resName,
                                                         long releaseDate,
                                                         long expireDate,
                                                         boolean leaveRelease,
                                                         boolean leaveExpire,
                                                         boolean modifyRecursive)
                                                  throws org.opencms.main.CmsException
        Performs the availability operations on a single resource.

        Parameters:
        resName - the VFS path of the resource
        releaseDate - the new release date
        expireDate - the new expiration date
        leaveRelease - if the release date should be left untouched
        leaveExpire - if the expiration date should be left untouched
        modifyRecursive - flag indicating if the operation is recursive for folders
        Throws:
        org.opencms.main.CmsException - if the availability and notification operations fail