org.opencms.workplace.commons
Class CmsAvailability

java.lang.Object
  extended by org.opencms.workplace.CmsWorkplace
      extended by org.opencms.workplace.tools.CmsToolDialog
          extended by org.opencms.workplace.CmsDialog
              extended by org.opencms.workplace.CmsMultiDialog
                  extended by org.opencms.workplace.commons.CmsAvailability

public class CmsAvailability
extends CmsMultiDialog

Provides methods for the resource availability/notification dialog.

The following files use this class:

Since:
6.0.0
Version:
$Revision: 1.12 $
Author:
Jan Baudisch, Andreas Zahner

Field Summary
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.CmsMultiDialog
DELIMITER_RESOURCES, PARAM_RESOURCELIST
 
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_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_BASE, PARAM_FORCE, PARAM_PATH, PARAM_ROOT, PARAM_STYLE, STYLE_NEW
 
Fields inherited from class org.opencms.workplace.CmsWorkplace
DEBUG, 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, PARAM_WP_EXPLORER_RESOURCE, PARAM_WP_PROJECT, PARAM_WP_SITE, PATH_DIALOGS, PATH_WORKPLACE, REQUEST_ATTRIBUTE_MULTIPART, REQUEST_ATTRIBUTE_RELOADTREE, RFS_PATH_RESOURCES, SESSION_WORKPLACE_CLASS, TEMP_FILE_PREFIX, VFS_DIR_DEFAULTBODIES, VFS_DIR_TEMPLATES, VFS_PATH_COMMONS, VFS_PATH_EDITORS, VFS_PATH_GALLERIES, VFS_PATH_LOCALES, VFS_PATH_MODULES, VFS_PATH_RESOURCES, VFS_PATH_SYSTEM, VFS_PATH_VIEWS, VFS_PATH_WORKPLACE
 
Constructor Summary
CmsAvailability(CmsJspActionElement jsp)
          Public constructor.
CmsAvailability(javax.servlet.jsp.PageContext context, javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res)
          Public constructor with JSP variables.
 
Method Summary
 void actionCloseDialog()
          Used to close the current JSP dialog.
 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(CmsWorkplaceSettings settings, javax.servlet.http.HttpServletRequest request)
          Analyzes the request for workplace parameters and adjusts the workplace settings accordingly.
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.
protected  void performSingleResourceNotification(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.
protected  void writeProperty(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.CmsMultiDialog
addMultiOperationException, buildLockHeaderBox, buildResourceList, checkMultiOperationException, checkResourcePermissions, getParamResourcelist, getResourceList, getResourceListAsParam, isMultiOperation, isOperationOnFolder, setDialogTitle, setParamResource, setParamResourcelist
 
Methods inherited from class org.opencms.workplace.CmsDialog
appendDelimiter, buildAjaxResultContainer, buildAjaxWaitMessage, buildLockAdditionalOptions, buildLockConfirmationMessageJS, buildLockDialog, buildLockDialog, 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, pageHtml, pageHtml, setAction, setOnlineHelpUriCustom, setParamAction, setParamCloseLink, setParamDialogtype, setParamFramename, setParamIsPopup, setParamMessage, setParamOriginalParams, setParamPreActionDone, setParamRedirect, setParamTitle
 
Methods inherited from class org.opencms.workplace.tools.CmsToolDialog
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, checkLock, checkLock, checkRole, decodeParamValue, fillParamValues, fillParamValues, getBroadcastMessageString, getCms, getEncoding, getExplorerFileListFullUri, getFrameSource, getJsp, getLocale, getMacroResolver, getMessages, getMultiPartFileItems, getParameterMap, getResourceUri, getResourceUri, getSession, getSettings, getSkinUri, getStyleUri, getStyleUri, getStyleUri, getTemporaryFileName, htmlEnd, initMessages, initSettings, initTimeWarp, initUserSettings, initWorkplaceMembers, initWorkplaceSettings, isForwarded, isHelpEnabled, isSubElement, isTemporaryFile, isTemporaryFileName, key, key, keyDefault, nullToEmpty, paramsAsHidden, paramsAsHidden, paramsAsParameterMap, paramsAsRequest, paramValues, resolveMacros, sendCmsRedirect, sendForward, setForwarded, shortKey, switchToCurrentProject, switchToTempProject
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DIALOG_TYPE

public static final java.lang.String DIALOG_TYPE
The dialog type.

See Also:
Constant Field Values

PARAM_ENABLE_NOTIFICATION

public static final java.lang.String PARAM_ENABLE_NOTIFICATION
Request parameter name for the activation of the notification.

See Also:
Constant Field Values

PARAM_EXPIREDATE

public static final java.lang.String PARAM_EXPIREDATE
Request parameter name for the expire date.

See Also:
Constant Field Values

PARAM_LEAVEEXPIRE

public static final java.lang.String PARAM_LEAVEEXPIRE
Request parameter name for the leave expire.

See Also:
Constant Field Values

PARAM_LEAVERELEASE

public static final java.lang.String PARAM_LEAVERELEASE
Request parameter name for the leave release.

See Also:
Constant Field Values

PARAM_MODIFY_SIBLINGS

public static final java.lang.String PARAM_MODIFY_SIBLINGS
Request parameter name for the include siblings flag.

See Also:
Constant Field Values

PARAM_NOTIFICATION_INTERVAL

public static final java.lang.String PARAM_NOTIFICATION_INTERVAL
Request parameter name for the activation of the notification.

See Also:
Constant Field Values

PARAM_RECURSIVE

public static final java.lang.String PARAM_RECURSIVE
Request parameter name for the recursive flag.

See Also:
Constant Field Values

PARAM_RELEASEDATE

public static final java.lang.String PARAM_RELEASEDATE
Request parameter name for the release date.

See Also:
Constant Field Values

PARAM_RESETEXPIRE

public static final java.lang.String PARAM_RESETEXPIRE
Request parameter name for the reset expire.

See Also:
Constant Field Values

PARAM_RESETRELEASE

public static final java.lang.String PARAM_RESETRELEASE
Request parameter name for the reset release.

See Also:
Constant Field Values
Constructor Detail

CmsAvailability

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

actionCloseDialog

public void actionCloseDialog()
                       throws javax.servlet.jsp.JspException
Description copied from class: CmsDialog
Used to close the current JSP dialog.

This method tries to include the URI stored in the workplace settings. This URI is determined by the frame name, which has to be set in the frame name parameter.

Overrides:
actionCloseDialog in class CmsDialog
Throws:
javax.servlet.jsp.JspException - if including an element fails
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(CmsWorkplaceSettings settings,
                                          javax.servlet.http.HttpServletRequest request)
Description copied from class: CmsWorkplace
Analyzes the request for workplace parameters and adjusts the workplace settings accordingly.

Overrides:
initWorkplaceRequestValues in class CmsDialog
Parameters:
settings - the workplace settings
request - the current request
See Also:
CmsWorkplace.initWorkplaceRequestValues(org.opencms.workplace.CmsWorkplaceSettings, javax.servlet.http.HttpServletRequest)

performDialogOperation

protected boolean performDialogOperation()
                                  throws 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:
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 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:
CmsException - if the availability and notification operations fail

performSingleResourceNotification

protected void performSingleResourceNotification(java.lang.String resName,
                                                 boolean enableNotification,
                                                 int notificationInterval,
                                                 boolean modifySiblings)
                                          throws CmsException
Performs the notification operations on a single resource.

Parameters:
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:
CmsException - if the availability and notification operations fail

writeProperty

protected void writeProperty(java.lang.String resourcePath,
                             java.lang.String propertyName,
                             java.lang.String propertyValue)
                      throws CmsException
Writes a property value for a resource.

Parameters:
resourcePath - the path of the resource
propertyName - the name of the property
propertyValue - the new value of the property
Throws:
CmsException - if something goes wrong