org.opencms.workplace.commons
Class CmsDelete

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.CmsDelete
All Implemented Interfaces:
I_CmsConfigurationParameterHandler, 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.26 $
Author:
Andreas Zahner, Michael Moossen

Field Summary
static int ACTION_DELETE
          Value for the action: delete the resource.
static java.lang.String DIALOG_TYPE
          The dialog type.
static org.apache.commons.logging.Log LOG
          The log object for this class.
static java.lang.String PARAM_DELETE_SIBLINGS
          Request parameter name for the deletesiblings 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_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
 
Fields inherited from interface org.opencms.configuration.I_CmsConfigurationParameterHandler
ADD_PARAMETER_METHOD, INIT_CONFIGURATION_METHOD
 
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.
 void addConfigurationParameter(java.lang.String paramName, java.lang.String paramValue)
          Adds a configuration parameter to this parameter configurable class instance.
 java.lang.String buildConfirmation()
          Returns the html for the confirmation message.
 java.lang.String buildDeleteSiblings()
          Returns the html for the "delete siblings" options when deleting a a resource with siblings.
 java.lang.String buildReport()
          Returns html code for the possible broken relations.
 java.util.Map getConfiguration()
          Returns the configuration of this parameter configurable class instance, or null if the class does not need to be configured.
 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 getParamDeleteSiblings()
          Returns the value of the boolean option to delete siblings.
 void initConfiguration()
          Initializes a configuration after all parameters have been added.
protected  void initWorkplaceRequestValues(CmsWorkplaceSettings settings, javax.servlet.http.HttpServletRequest request)
          Analyzes the request for workplace parameters and adjusts the workplace settings accordingly.
 boolean isCanDelete()
          Returns true if the current user is allowed to delete the selected resources.
protected  boolean performDialogOperation()
          Performs the resource deletion.
protected  void performSingleDeleteOperation(java.lang.String resource, CmsResource.CmsResourceDeleteMode deleteOption)
          Performs the delete operation for a single VFS resource.
 void setParamDeleteSiblings(java.lang.String value)
          Sets the value of the boolean option to delete siblings.
 
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
actionCloseDialog, 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

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

LOG

public static final org.apache.commons.logging.Log LOG
The log object for this class.


PARAM_DELETE_SIBLINGS

public static final java.lang.String PARAM_DELETE_SIBLINGS
Request parameter name for the deletesiblings 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

addConfigurationParameter

public void addConfigurationParameter(java.lang.String paramName,
                                      java.lang.String paramValue)
Description copied from interface: I_CmsConfigurationParameterHandler
Adds a configuration parameter to this parameter configurable class instance.

Specified by:
addConfigurationParameter in interface I_CmsConfigurationParameterHandler
Parameters:
paramName - the name of the parameter
paramValue - the value for the parameter
See Also:
I_CmsConfigurationParameterHandler.addConfigurationParameter(java.lang.String, java.lang.String)

buildConfirmation

public java.lang.String buildConfirmation()
Returns the html for the confirmation message.

Returns:
the html for the confirmation message

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

buildReport

public java.lang.String buildReport()
                             throws javax.servlet.jsp.JspException,
                                    javax.servlet.ServletException,
                                    java.io.IOException
Returns html code for the possible broken relations.

Returns:
html code for the possible broken relations
Throws:
javax.servlet.jsp.JspException - if dialog actions fail
java.io.IOException - in case of errros forwarding to the required result page
javax.servlet.ServletException - in case of errros forwarding to the required result page

getConfiguration

public java.util.Map getConfiguration()
Description copied from interface: I_CmsConfigurationParameterHandler
Returns the configuration of this parameter configurable class instance, or null if the class does not need to be configured.

All elements in the configuration are key, value String pairs, set using the I_CmsConfigurationParameterHandler.addConfigurationParameter(String, String) method during initialization of the loader.

Implementations will (should) not to return a direct reference to the internal configuration but just a copy of it, to avoid unwanted external manipulation.

Specified by:
getConfiguration in interface I_CmsConfigurationParameterHandler
Returns:
the configuration of this resource loader, or null
See Also:
I_CmsConfigurationParameterHandler.getConfiguration()

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)

getParamDeleteSiblings

public java.lang.String getParamDeleteSiblings()
Returns the value of the boolean option to delete siblings.

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

initConfiguration

public void initConfiguration()
Description copied from interface: I_CmsConfigurationParameterHandler
Initializes a configuration after all parameters have been added.

Specified by:
initConfiguration in interface I_CmsConfigurationParameterHandler
See Also:
I_CmsConfigurationParameterHandler.initConfiguration()

isCanDelete

public boolean isCanDelete()
Returns true if the current user is allowed to delete the selected resources.

Returns:
true if the current user is allowed to delete the selected resources

setParamDeleteSiblings

public void setParamDeleteSiblings(java.lang.String value)
Sets the value of the boolean option to delete siblings.

Parameters:
value - the value of the boolean option to delete siblings

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
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,
                                            CmsResource.CmsResourceDeleteMode 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