org.opencms.workplace.commons
Class CmsDelete

java.lang.Object
  extended byorg.opencms.workplace.CmsWorkplace
      extended byorg.opencms.workplace.tools.CmsToolDialog
          extended byorg.opencms.workplace.CmsDialog
              extended byorg.opencms.workplace.CmsMultiDialog
                  extended byorg.opencms.workplace.commons.CmsDelete
All Implemented Interfaces:
I_CmsDialogHandler

public class CmsDelete
extends CmsMultiDialog
implements I_CmsDialogHandler

Provides methods for the delete resources dialog.

The following files use this class:

Since:
6.0.0
Version:
$Revision: 1.17 $
Author:
Andreas Zahner

Field Summary
static int ACTION_DELETE
          Value for the action: delete the resource.
static java.lang.String DIALOG_TYPE
          The dialog type.
static java.lang.String PARAM_DELETEVFSLINKS
          Request parameter name for the deletevfslinks parameter.
static java.lang.String URI_DELETE_DIALOG
          The delete dialog URI.
 
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_DEFAULT, 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_OK, DIALOG_SET, DIALOG_WAIT, PARAM_ACTION, PARAM_CLOSELINK, PARAM_DIALOGTYPE, PARAM_ERRORSTACK, PARAM_FILE, PARAM_FRAMENAME, PARAM_ISPOPUP, PARAM_LOCK, PARAM_MESSAGE, 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_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
CmsDelete()
          Default constructor needed for dialog handler implementation.
CmsDelete(CmsJspActionElement jsp)
          Public constructor with JSP action element.
CmsDelete(javax.servlet.jsp.PageContext context, javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res)
          Public constructor with JSP variables.
 
Method Summary
 void actionDelete()
          Performs the delete action, will be called by the JSP page.
 java.lang.String buildDeleteSiblings()
          Returns the html for the "delete siblings" options when deleting a a resource with siblings.
 java.lang.String getDialogHandler()
          Returns the name of the handler which is used as key for the OpenCms runtime properties.
 java.lang.String getDialogUri(java.lang.String resource, CmsJspActionElement jsp)
          Returns the dialog URI in the OpenCms VFS to the dialog selector class.
 java.lang.String getParamDeleteVfsLinks()
          Returns the value of the boolean option to delete VFS links.
 boolean hasCorrectLockstate()
          Checks if the current resource has lock state exclusive or inherited.
 boolean hasVfsLinks()
          Checks if VFS links are pointing to this resource.
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()
          Performs the resource deletion.
protected  void performSingleDeleteOperation(java.lang.String resource, int deleteOption)
          Performs the delete operation for a single VFS resource.
 void setParamDeleteVfsLinks(java.lang.String value)
          Sets the value of the boolean option to delete VFS links.
 
Methods inherited from class org.opencms.workplace.CmsMultiDialog
addMultiOperationException, buildResourceList, checkMultiOperationException, checkResourcePermissions, getParamResourcelist, getResourceList, isMultiOperation, isOperationOnFolder, setDialogTitle, setParamResourcelist
 
Methods inherited from class org.opencms.workplace.CmsDialog
actionCloseDialog, appendDelimiter, checkResourcePermissions, dialog, dialogBlock, dialogBlockEnd, dialogBlockStart, dialogButtonRow, dialogButtonRowEnd, dialogButtonRowStart, dialogButtons, dialogButtonsClose, dialogButtonsClose, dialogButtonsCloseDetails, dialogButtonsHtml, dialogButtonsOk, dialogButtonsOk, dialogButtonsOkCancel, dialogButtonsOkCancel, dialogButtonsOkCancelAdvanced, dialogButtonsSetOkCancel, dialogContent, dialogContentEnd, dialogContentStart, dialogEnd, dialogHead, dialogHorizontalSpacer, 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, getParamRedirect, getParamResource, getParamTitle, getState, htmlStart, htmlStart, htmlStart, htmlStartStyle, includeErrorpage, initCmsDialog, isPopup, pageHtml, pageHtml, setAction, setOnlineHelpUriCustom, setParamAction, setParamCloseLink, setParamDialogtype, setParamFramename, setParamIsPopup, setParamMessage, setParamRedirect, setParamResource, setParamTitle
 
Methods inherited from class org.opencms.workplace.tools.CmsToolDialog
dialogTitle, getAdminTool, getCurrentToolPath, getParamBase, getParamPath, getParamRoot, getParamStyle, getParentPath, getToolManager, iconsBlockArea, iconsBlockAreaEnd, iconsBlockAreaStart, initAdminTool, pageBody, pageHtmlStyle, setParamBase, 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, calendarIncludes, calendarIncludes, calendarInit, calendarInit, checkLock, checkLock, decodeParamValue, fillParamValues, fillParamValues, getBroadcastMessageString, getCalendarDate, getCalendarJavaDateFormat, getCalendarLocalizedTime, getCms, getEncoding, getExplorerFileListFullUri, getFrameSource, getJsp, getLocale, getMacroResolver, getMessages, getMultiPartFileItems, getParameterMap, getResourceUri, getResourceUri, getSession, getSettings, getSkinUri, getStyleUri, getStyleUri, getStyleUri, htmlEnd, initMessages, initSettings, initUserSettings, initWorkplaceMembers, initWorkplaceSettings, isForwarded, isHelpEnabled, isSubElement, 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

ACTION_DELETE

public static final int ACTION_DELETE
Value for the action: delete the resource.

See Also:
Constant Field Values

DIALOG_TYPE

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

See Also:
Constant Field Values

PARAM_DELETEVFSLINKS

public static final java.lang.String PARAM_DELETEVFSLINKS
Request parameter name for the deletevfslinks parameter.

See Also:
Constant Field Values

URI_DELETE_DIALOG

public static final java.lang.String URI_DELETE_DIALOG
The delete dialog URI.

See Also:
Constant Field Values
Constructor Detail

CmsDelete

public CmsDelete()
Default constructor needed for dialog handler implementation.


CmsDelete

public CmsDelete(CmsJspActionElement jsp)
Public constructor with JSP action element.

Parameters:
jsp - an initialized JSP action element

CmsDelete

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

actionDelete

public void actionDelete()
                  throws javax.servlet.jsp.JspException
Performs the delete action, will be called by the JSP page.

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

buildDeleteSiblings

public java.lang.String buildDeleteSiblings()
Returns the html for the "delete siblings" options when deleting a a resource with siblings.

Returns:
the html for the "delete siblings" options

getDialogHandler

public java.lang.String getDialogHandler()
Description copied from interface: I_CmsDialogHandler
Returns the name of the handler which is used as key for the OpenCms runtime properties.

Store the name of the key as a public String constant in the CmsDialogSelector class.

Specified by:
getDialogHandler in interface I_CmsDialogHandler
Returns:
the name of the dialog handler
See Also:
I_CmsDialogHandler.getDialogHandler()

getDialogUri

public java.lang.String getDialogUri(java.lang.String resource,
                                     CmsJspActionElement jsp)
Description copied from interface: I_CmsDialogHandler
Returns the dialog URI in the OpenCms VFS to the dialog selector class.

Specified by:
getDialogUri in interface I_CmsDialogHandler
Parameters:
resource - the selected resource
jsp - the CmsJspActionElement
Returns:
the absolute path to the property dialog
See Also:
I_CmsDialogHandler.getDialogUri(java.lang.String, CmsJspActionElement)

getParamDeleteVfsLinks

public java.lang.String getParamDeleteVfsLinks()
Returns the value of the boolean option to delete VFS links.

Returns:
the value of the boolean option to delete VFS links as a lower case string

hasCorrectLockstate

public boolean hasCorrectLockstate()
Checks if the current resource has lock state exclusive or inherited.

This is used to determine whether the dialog shows the option to delete all siblings of the resource or not.

Returns:
true if lock state is exclusive or inherited, otherwise false

hasVfsLinks

public boolean hasVfsLinks()
Checks if VFS links are pointing to this resource.

Returns:
true if one or more VFS links are pointing to this resource

setParamDeleteVfsLinks

public void setParamDeleteVfsLinks(java.lang.String value)
Sets the value of the boolean option to delete VFS links.

Parameters:
value - the value of the boolean option to delete VFS links

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
See Also:
CmsWorkplace.initWorkplaceRequestValues(org.opencms.workplace.CmsWorkplaceSettings, javax.servlet.http.HttpServletRequest)

performDialogOperation

protected boolean performDialogOperation()
                                  throws CmsException
Performs the resource deletion.

Specified by:
performDialogOperation in class CmsMultiDialog
Returns:
true, if the resource(s) was/were deleted, otherwise false
Throws:
CmsException - if deletion is not successful

performSingleDeleteOperation

protected void performSingleDeleteOperation(java.lang.String resource,
                                            int deleteOption)
                                     throws CmsException
Performs the delete operation for a single VFS resource.

Parameters:
resource - the resource VFS path
deleteOption - the delete option for sibling deletion
Throws:
CmsException - if deleting the resource fails