org.opencms.workplace
Class CmsWidgetDialog

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.CmsWidgetDialog
All Implemented Interfaces:
I_CmsWidgetDialog
Direct Known Subclasses:
CmsResourceInfoDialog, CmsSearchDialog

public abstract class CmsWidgetDialog
extends CmsDialog
implements I_CmsWidgetDialog

Base class for dialogs that use the OpenCms widgets without XML content.

Since:
6.0.0
Version:
$Revision: 1.73 $
Author:
Alexander Kandzior

Field Summary
static int ACTION_ELEMENT_ADD
          Action for optional element creation.
static int ACTION_ELEMENT_REMOVE
          Action for optional element removal.
static int ACTION_ERROR
          Value for the action: error in the form validation.
static int ACTION_SAVE
          Value for the action: save the dialog.
static java.lang.String DIALOG_SAVE
          Request parameter value for the action: save the dialog.
static java.lang.String EDITOR_ACTION_ELEMENT_ADD
          Indicates an optional element should be created.
static java.lang.String EDITOR_ACTION_ELEMENT_REMOVE
          Indicates an optional element should be removed.
static java.lang.String HIDDEN_PARAM_PREFIX
          Prefix for "hidden" parameters, required since these must be unescaped later.
protected  java.util.List m_commitErrors
          The errors thrown by commit actions.
protected  java.lang.Object m_dialogObject
          The object edited with this widget dialog.
protected  java.util.List m_pages
          The allowed pages for this dialog in a List.
protected  java.lang.String m_paramPage
          Controls which page is currently displayed in the dialog.
protected  java.util.List m_validationErrorList
          The validation errors for the input form.
protected  java.util.Map m_widgetParamValues
          Contains all parameter value of this dialog.
protected  java.util.List m_widgets
          The list of widgets used on the dialog.
 
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
CmsWidgetDialog(CmsJspActionElement jsp)
          Public constructor with JSP action element.
CmsWidgetDialog(javax.servlet.jsp.PageContext context, javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res)
          Public constructor with JSP variables.
 
Method Summary
 void actionCancel()
          Deletes the edited dialog object from the session.
abstract  void actionCommit()
          Commits the edited object after pressing the "OK" button.
 void actionToggleElement()
          Adds or removes an optional element.
protected  void addCommitError(java.lang.Exception error)
          Adds the given error to the list of errors that are thrown by save actions or form generation.
protected  void addWidget(CmsWidgetDialogParameter param)
          Adds a new widget parameter definition to the list of all widgets of this dialog.
 java.lang.String buildAddElement(java.lang.String elementName, int insertAfter, boolean enabled)
          Returns the html for a button to add an optional element.
 java.lang.String buildDialogForm()
          Builds the HTML for the dialog form.
 java.lang.String buildRemoveElement(java.lang.String elementName, int index, boolean enabled)
          Returns the html for a button to remove an optional element.
 void clearDialogObject()
          Clears the "dialog object" for this widget dialog by removing it from the current users session.
protected  boolean closeDialogOnCommit()
          Returns true if the dialog should be closed after the values have been committed.
protected  java.util.List commitWidgetValues()
          Commits all values on the dialog.
protected  java.util.List commitWidgetValues(java.lang.String dialogPage)
          Commits all values on the given dialog page.
protected  java.lang.String createDialogHtml()
          Creates the dialog HTML for all defined widgets of this dialog.
protected  java.lang.String createDialogHtml(java.lang.String dialog)
          Creates the dialog HTML for all defined widgets of the named dialog (page).
protected  java.lang.String createDialogRowHtml(CmsWidgetDialogParameter base)
          Creates the dialog HTML for all occurrences of one widget parameter.
protected  java.lang.String createDialogRowsHtml(int startIndex, int endIndex)
          Creates the dialog widget rows HTML for the specified widget indices.
protected  java.lang.String createWidgetBlockEnd()
          Creates the complete widget dialog end block HTML that finishes a widget block.
protected  java.lang.String createWidgetBlockStart(java.lang.String headline)
          Create the complete widget dialog start block HTML that begins a widget block with optional headline.
protected  java.lang.String createWidgetErrorHeader()
          Creates the HTML for the error message if validation errors were found.
protected  java.lang.String createWidgetTableEnd()
          Creates the HTML for the table around the dialog widgets.
protected  java.lang.String createWidgetTableStart()
          Creates the HTML to close the table around the dialog widgets.
protected  java.lang.String defaultActionHtml()
          Generates the dialog starting html code.
protected  java.lang.String defaultActionHtmlContent()
          Returns the html code for the default action content.
protected  java.lang.String defaultActionHtmlEnd()
          Generates the dialog ending html code.
protected  java.lang.String defaultActionHtmlStart()
          Generates the dialog starting html code.
protected abstract  void defineWidgets()
          Defines the list of parameters for this dialog.
 java.lang.String dialogBlockEnd()
          Builds the end HTML for a block with 3D border in the dialog content area.
 java.lang.String dialogBlockStart(java.lang.String headline)
          Builds the start HTML for a block with 3D border and optional subheadline in the dialog content area.
 java.lang.String dialogButtonsCustom()
          Creates the HTML for the buttons on the dialog.
 void displayDialog()
          Performs the dialog actions depending on the initialized action and displays the dialog form.
 void displayDialog(boolean writeLater)
          Performs the dialog actions depending on the initialized action and displays the dialog form if needed.
protected  void fillWidgetValues(javax.servlet.http.HttpServletRequest request)
          Fills all widgets of this widget dialog with the values from the request parameters.
 int getButtonStyle()
          Returns the style setting to use when generating buttons for this widget dialog.
 java.util.List getCommitErrors()
          Returns the errors that are thrown by save actions or form generation.
 java.lang.Object getDialogObject()
          Returns the dialog object for this widget dialog, or null if no dialog object has been set.
protected  java.lang.String getDialogTitle()
          Returns the title for this Dialog.
 java.util.Set getHelpMessageIds()
          Returns a set of help messages ids that are already included on the widget dialog.
protected abstract  java.lang.String[] getPageArray()
          Returns the allowed pages for this dialog.
protected  java.util.List getPages()
          Returns the allowed pages for this dialog.
 java.lang.String getParamElementIndex()
          Returns the index of the element to add or remove.
 java.lang.String getParamElementName()
          Returns the name of the element to add or remove.
protected  CmsWidgetDialogParameter getParameterDefinition(java.lang.String name)
          Returns the parameter widget definition for the given parameter name.
protected  java.util.Map getParameters()
          Returns the map with the widget parameter values.
 java.lang.String getParamPage()
          Returns the page parameter.
 java.lang.String getParamValue(java.lang.String name)
          Returns the value of the widget parameter with the given name, or null if no such widget parameter is available.
 java.lang.String getParamValue(java.lang.String name, int index)
          Returns the value of the widget parameter with the given name and index, or null if no such widget parameter is available.
 java.lang.String getUserAgent()
          Returns the "user-agent" of the current request, or null in case no request is available.
protected  java.util.List getValidationErrorList()
          Returns the validation errors for the dialog.
protected  java.lang.String getWidget(CmsWidgetDialogParameter param)
          Returns the widget HTML code for the given parameter.
 java.lang.String getWidgetHtmlEnd()
          Generates the HTML for the end of the widget dialog.
 java.lang.String getWidgetIncludes()
          Generates the HTML include tags for external JavaScripts files of the used widgets.
 java.lang.String getWidgetInitCalls()
          Generates the JavaScript init calls for the used widgets.
 java.lang.String getWidgetInitMethods()
          Generates the JavaScript initialization methods for the used widgets.
protected  java.util.List getWidgets()
          Returns the list of all widgets used on this widget dialog, the List must contain Objects of type CmsWidgetDialogParameter.
protected  boolean hasCommitErrors()
          Returns true if the current dialog (page) has commit errors.
protected  boolean hasValidationErrors()
          Returns true if the current dialog (page) has validation errors.
protected  void initWorkplaceRequestValues(CmsWorkplaceSettings settings, javax.servlet.http.HttpServletRequest request)
          Analyzes the request for workplace parameters and adjusts the workplace settings accordingly.
 java.lang.String paramsAsHidden()
          Returns all initialized parameters of the current workplace class as hidden field tags that can be inserted in a form.
protected  void setCommitErrors(java.util.List errors)
          Sets the errors that are thrown by save actions or form generation.
 void setDialogObject(java.lang.Object dialogObject)
          Stores the given object as "dialog object" for this widget dialog in the current users session.
protected  void setKeyPrefix(java.lang.String prefix)
          Sets an optional localized key prefix identificator for all widgets.
protected  void setPages(java.util.List pages)
          Sets the allowed pages for this dialog.
 void setParamElementIndex(java.lang.String elementIndex)
          Sets the index of the element to add or remove.
 void setParamElementName(java.lang.String elementName)
          Sets the name of the element to add or remove.
 void setParamPage(java.lang.String paramPage)
          Sets the page parameter.
protected  void setValidationErrorList(java.util.List errors)
          Sets the validation errors for the dialog.
protected  void validateParamaters()
          Should be overridden for parameter validation.
 java.lang.String widgetParamsAsHidden()
          Returns the values of all widget parameters of this dialog as HTML hidden fields.
 java.lang.String widgetParamsAsHidden(java.lang.String excludeDialogPage)
          Returns the values of all widget parameters of this dialog as HTML hidden fields, excluding the widget values that are on the given dialog page.
 void writeDialog()
          Writes the dialog html code, only if the CmsDialog.ACTION_DEFAULT is set.
 
Methods inherited from class org.opencms.workplace.CmsDialog
actionCloseDialog, appendDelimiter, buildAjaxResultContainer, buildAjaxWaitMessage, buildLockAdditionalOptions, buildLockConfirmationMessageJS, buildLockDialog, buildLockDialog, buildLockHeaderBox, checkResourcePermissions, checkResourcePermissions, computeCurrentFolder, dialog, dialogBlock, 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, setParamResource, 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, 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
 
Methods inherited from interface org.opencms.widgets.I_CmsWidgetDialog
button, buttonBar, buttonBarHorizontalLine, buttonBarSeparator, buttonBarSpacer, buttonBarStartTab, dialogHorizontalSpacer, getLocale, getMessages, useNewStyle
 

Field Detail

ACTION_ELEMENT_ADD

public static final int ACTION_ELEMENT_ADD
Action for optional element creation.

See Also:
Constant Field Values

ACTION_ELEMENT_REMOVE

public static final int ACTION_ELEMENT_REMOVE
Action for optional element removal.

See Also:
Constant Field Values

ACTION_ERROR

public static final int ACTION_ERROR
Value for the action: error in the form validation.

See Also:
Constant Field Values

ACTION_SAVE

public static final int ACTION_SAVE
Value for the action: save the dialog.

See Also:
Constant Field Values

DIALOG_SAVE

public static final java.lang.String DIALOG_SAVE
Request parameter value for the action: save the dialog.

See Also:
Constant Field Values

EDITOR_ACTION_ELEMENT_ADD

public static final java.lang.String EDITOR_ACTION_ELEMENT_ADD
Indicates an optional element should be created.

See Also:
Constant Field Values

EDITOR_ACTION_ELEMENT_REMOVE

public static final java.lang.String EDITOR_ACTION_ELEMENT_REMOVE
Indicates an optional element should be removed.

See Also:
Constant Field Values

HIDDEN_PARAM_PREFIX

public static final java.lang.String HIDDEN_PARAM_PREFIX
Prefix for "hidden" parameters, required since these must be unescaped later.

See Also:
Constant Field Values

m_commitErrors

protected java.util.List m_commitErrors
The errors thrown by commit actions.


m_dialogObject

protected java.lang.Object m_dialogObject
The object edited with this widget dialog.


m_pages

protected java.util.List m_pages
The allowed pages for this dialog in a List.


m_paramPage

protected java.lang.String m_paramPage
Controls which page is currently displayed in the dialog.


m_validationErrorList

protected java.util.List m_validationErrorList
The validation errors for the input form.


m_widgetParamValues

protected java.util.Map m_widgetParamValues
Contains all parameter value of this dialog.


m_widgets

protected java.util.List m_widgets
The list of widgets used on the dialog.

Constructor Detail

CmsWidgetDialog

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

Parameters:
jsp - an initialized JSP action element

CmsWidgetDialog

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

actionCancel

public void actionCancel()
Deletes the edited dialog object from the session.


actionCommit

public abstract void actionCommit()
                           throws java.io.IOException,
                                  javax.servlet.ServletException
Commits the edited object after pressing the "OK" button.

Throws:
java.io.IOException - in case of errors forwarding to the required result page
javax.servlet.ServletException - in case of errors forwarding to the required result page

actionToggleElement

public void actionToggleElement()
Adds or removes an optional element.

Depends on the value stored in the CmsDialog.getAction() method.


buildAddElement

public java.lang.String buildAddElement(java.lang.String elementName,
                                        int insertAfter,
                                        boolean enabled)
Returns the html for a button to add an optional element.

Parameters:
elementName - name of the element
insertAfter - the index of the element after which the new element should be created
enabled - if true, the button to add an element is shown, otherwise a spacer is returned
Returns:
the html for a button to add an optional element

buildDialogForm

public java.lang.String buildDialogForm()
Builds the HTML for the dialog form.

Returns:
the HTML for the dialog form

buildRemoveElement

public java.lang.String buildRemoveElement(java.lang.String elementName,
                                           int index,
                                           boolean enabled)
Returns the html for a button to remove an optional element.

Parameters:
elementName - name of the element
index - the element index of the element to remove
enabled - if true, the button to remove an element is shown, otherwise a spacer is returned
Returns:
the html for a button to remove an optional element

clearDialogObject

public void clearDialogObject()
Clears the "dialog object" for this widget dialog by removing it from the current users session.


dialogBlockEnd

public java.lang.String dialogBlockEnd()
Builds the end HTML for a block with 3D border in the dialog content area.

Overrides:
dialogBlockEnd in class CmsDialog
Returns:
3D block start / end segment

dialogBlockStart

public java.lang.String dialogBlockStart(java.lang.String headline)
Builds the start HTML for a block with 3D border and optional subheadline in the dialog content area.

Overrides:
dialogBlockStart in class CmsDialog
Parameters:
headline - the headline String for the block
Returns:
3D block start / end segment

dialogButtonsCustom

public java.lang.String dialogButtonsCustom()
Creates the HTML for the buttons on the dialog.

Returns:
the HTML for the buttons on the dialog.


displayDialog

public void displayDialog()
                   throws javax.servlet.jsp.JspException,
                          java.io.IOException,
                          javax.servlet.ServletException
Performs the dialog actions depending on the initialized action and displays the dialog form.

Throws:
javax.servlet.jsp.JspException - if dialog actions fail
java.io.IOException - if writing to the JSP out fails, or in case of errors forwarding to the required result page
javax.servlet.ServletException - in case of errors forwarding to the required result page

displayDialog

public void displayDialog(boolean writeLater)
                   throws javax.servlet.jsp.JspException,
                          java.io.IOException,
                          javax.servlet.ServletException
Performs the dialog actions depending on the initialized action and displays the dialog form if needed.

Parameters:
writeLater - if true no output is written, you have to call manually the defaultActionHtml() method.
Throws:
javax.servlet.jsp.JspException - if dialog actions fail
java.io.IOException - if writing to the JSP out fails, or in case of errors forwarding to the required result page
javax.servlet.ServletException - in case of errors forwarding to the required result page

getButtonStyle

public int getButtonStyle()
Description copied from interface: I_CmsWidgetDialog
Returns the style setting to use when generating buttons for this widget dialog.

Specified by:
getButtonStyle in interface I_CmsWidgetDialog
Returns:
the style setting to use when generating buttons for this widget dialog
See Also:
I_CmsWidgetDialog.getButtonStyle()

getCommitErrors

public java.util.List getCommitErrors()
Returns the errors that are thrown by save actions or form generation.

Returns:
the errors that are thrown by save actions or form generation

getDialogObject

public java.lang.Object getDialogObject()
Returns the dialog object for this widget dialog, or null if no dialog object has been set.

Returns:
the dialog object for this widget dialog, or null

getHelpMessageIds

public java.util.Set getHelpMessageIds()
Description copied from interface: I_CmsWidgetDialog
Returns a set of help messages ids that are already included on the widget dialog.

This is used to prevent the occurence of multiple html div id's with the same value when generating the help texts. For valid html, each id can be used only once.

Specified by:
getHelpMessageIds in interface I_CmsWidgetDialog
Returns:
a set of help messages ids that are already included on the widget dialog
See Also:
I_CmsWidgetDialog.getHelpMessageIds()

getParamElementIndex

public java.lang.String getParamElementIndex()
Returns the index of the element to add or remove.

Returns:
the index of the element to add or remove

getParamElementName

public java.lang.String getParamElementName()
Returns the name of the element to add or remove.

Returns:
the name of the element to add or remove

getParamPage

public java.lang.String getParamPage()
Returns the page parameter.

Returns:
the page parameter

getParamValue

public java.lang.String getParamValue(java.lang.String name)
Returns the value of the widget parameter with the given name, or null if no such widget parameter is available.

Parameters:
name - the widget parameter name to get the value for
Returns:
the value of the widget parameter with the given name

getParamValue

public java.lang.String getParamValue(java.lang.String name,
                                      int index)
Returns the value of the widget parameter with the given name and index, or null if no such widget parameter is available.

Parameters:
name - the widget parameter name to get the value for
index - the widget parameter index
Returns:
the value of the widget parameter with the given name and index

getUserAgent

public java.lang.String getUserAgent()
Description copied from interface: I_CmsWidgetDialog
Returns the "user-agent" of the current request, or null in case no request is available.

Specified by:
getUserAgent in interface I_CmsWidgetDialog
Returns:
the "user-agent" of the current request
See Also:
I_CmsWidgetDialog.getUserAgent()

getWidgetHtmlEnd

public java.lang.String getWidgetHtmlEnd()
Generates the HTML for the end of the widget dialog.

This HTML includes additional components, for example the <div> tags containing the help texts.

Returns:
the HTML for the end of the widget dialog

getWidgetIncludes

public java.lang.String getWidgetIncludes()
                                   throws javax.servlet.jsp.JspException
Generates the HTML include tags for external JavaScripts files of the used widgets.

Returns:
the HTML include tags for external JavaScripts files of the used widgets
Throws:
javax.servlet.jsp.JspException - if an error occurs during JavaScript generation

getWidgetInitCalls

public java.lang.String getWidgetInitCalls()
                                    throws javax.servlet.jsp.JspException
Generates the JavaScript init calls for the used widgets.

Returns:
the JavaScript init calls for the used widgets
Throws:
javax.servlet.jsp.JspException - the JavaScript init calls for the used widgets

getWidgetInitMethods

public java.lang.String getWidgetInitMethods()
                                      throws javax.servlet.jsp.JspException
Generates the JavaScript initialization methods for the used widgets.

Returns:
the JavaScript initialization methods for the used widgets
Throws:
javax.servlet.jsp.JspException - if an error occurs during JavaScript generation

paramsAsHidden

public java.lang.String paramsAsHidden()
Description copied from class: CmsWorkplace
Returns all initialized parameters of the current workplace class as hidden field tags that can be inserted in a form.

Overrides:
paramsAsHidden in class CmsWorkplace
Returns:
all initialized parameters of the current workplace class as hidden field tags that can be inserted in a html form
See Also:
CmsWorkplace.paramsAsHidden()

setDialogObject

public void setDialogObject(java.lang.Object dialogObject)
Stores the given object as "dialog object" for this widget dialog in the current users session.

Parameters:
dialogObject - the object to store

setParamElementIndex

public void setParamElementIndex(java.lang.String elementIndex)
Sets the index of the element to add or remove.

Parameters:
elementIndex - the index of the element to add or remove

setParamElementName

public void setParamElementName(java.lang.String elementName)
Sets the name of the element to add or remove.

Parameters:
elementName - the name of the element to add or remove

setParamPage

public void setParamPage(java.lang.String paramPage)
Sets the page parameter.

Parameters:
paramPage - the page parameter to set

widgetParamsAsHidden

public java.lang.String widgetParamsAsHidden()
Returns the values of all widget parameters of this dialog as HTML hidden fields.

Returns:
the values of all widget parameters of this dialog as HTML hidden fields
See Also:
CmsWorkplace.paramsAsHidden()

widgetParamsAsHidden

public java.lang.String widgetParamsAsHidden(java.lang.String excludeDialogPage)
Returns the values of all widget parameters of this dialog as HTML hidden fields, excluding the widget values that are on the given dialog page.

This can be used to create multi-page dialogs where the values are passed from one page to another before everything is submitted. If a widget A is used on page X, there should be no "hidden" HTML field for A since otherwise A would have 2 values when submitting the dialog page: The one from the widget itself and the one from the hidden field. This may lead to undefined results when processing the submitted values.

Parameters:
excludeDialogPage - the dialog page to exclude the values for
Returns:
the values of all widget parameters of this dialog as HTML hidden fields, excluding the widget values that are on the given dialog page
See Also:
CmsWorkplace.paramsAsHidden()

writeDialog

public void writeDialog()
                 throws java.io.IOException,
                        javax.servlet.jsp.JspException
Writes the dialog html code, only if the CmsDialog.ACTION_DEFAULT is set.

Throws:
javax.servlet.jsp.JspException - if dialog actions fail
java.io.IOException - if writing to the JSP out fails, or in case of errors forwarding to the required result page

addCommitError

protected void addCommitError(java.lang.Exception error)
Adds the given error to the list of errors that are thrown by save actions or form generation.

If the error list has not been initialized yet, this is done automatically.

Parameters:
error - the errors to add

addWidget

protected void addWidget(CmsWidgetDialogParameter param)
Adds a new widget parameter definition to the list of all widgets of this dialog.

Parameters:
param - the widget parameter definition to add

closeDialogOnCommit

protected boolean closeDialogOnCommit()
Returns true if the dialog should be closed after the values have been committed.

The default implementation returns true in case there are no commit errors.

Returns:
true if the dialog should be closed after the values have been committed

commitWidgetValues

protected java.util.List commitWidgetValues()
Commits all values on the dialog.

Returns:
a List of all Exceptions that occurred when comitting the dialog.


commitWidgetValues

protected java.util.List commitWidgetValues(java.lang.String dialogPage)
Commits all values on the given dialog page.

Parameters:
dialogPage - the dialog (page) to commit
Returns:
a List of all Exceptions that occurred when committing the dialog page.


createDialogHtml

protected java.lang.String createDialogHtml()
Creates the dialog HTML for all defined widgets of this dialog.

Returns:
the dialog HTML for all defined widgets of this dialog

createDialogHtml

protected java.lang.String createDialogHtml(java.lang.String dialog)
Creates the dialog HTML for all defined widgets of the named dialog (page).

To get a more complex layout variation, you have to overwrite this method in your dialog class.

Parameters:
dialog - the dialog (page) to get the HTML for
Returns:
the dialog HTML for all defined widgets of the named dialog (page)

createDialogRowHtml

protected java.lang.String createDialogRowHtml(CmsWidgetDialogParameter base)
Creates the dialog HTML for all occurrences of one widget parameter.

Parameters:
base - the widget parameter base
Returns:
the dialog HTML for one widget parameter

createDialogRowsHtml

protected java.lang.String createDialogRowsHtml(int startIndex,
                                                int endIndex)
Creates the dialog widget rows HTML for the specified widget indices.

Parameters:
startIndex - the widget index to start with
endIndex - the widget index to stop at
Returns:
the dialog widget rows HTML for the specified widget indices

createWidgetBlockEnd

protected java.lang.String createWidgetBlockEnd()
Creates the complete widget dialog end block HTML that finishes a widget block.

Returns:
the complete widget dialog end block HTML that finishes a widget block

createWidgetBlockStart

protected java.lang.String createWidgetBlockStart(java.lang.String headline)
Create the complete widget dialog start block HTML that begins a widget block with optional headline.

Parameters:
headline - the headline String for the block
Returns:
the complete widget dialog start block HTML that begins a widget block with optional headline

createWidgetErrorHeader

protected java.lang.String createWidgetErrorHeader()
Creates the HTML for the error message if validation errors were found.

Returns:
the HTML for the error message if validation errors were found

createWidgetTableEnd

protected java.lang.String createWidgetTableEnd()
Creates the HTML for the table around the dialog widgets.

Returns:
the HTML for the table around the dialog widgets

createWidgetTableStart

protected java.lang.String createWidgetTableStart()
Creates the HTML to close the table around the dialog widgets.

Returns:
the HTML to close the table around the dialog widgets

defaultActionHtml

protected java.lang.String defaultActionHtml()
                                      throws javax.servlet.jsp.JspException
Generates the dialog starting html code.

Returns:
html code
Throws:
javax.servlet.jsp.JspException - if something goes wrong

defaultActionHtmlContent

protected java.lang.String defaultActionHtmlContent()
Returns the html code for the default action content.

Returns:
html code

defaultActionHtmlEnd

protected java.lang.String defaultActionHtmlEnd()
Generates the dialog ending html code.

Returns:
html code

defaultActionHtmlStart

protected java.lang.String defaultActionHtmlStart()
                                           throws javax.servlet.jsp.JspException
Generates the dialog starting html code.

Returns:
html code
Throws:
javax.servlet.jsp.JspException - if something goes wrong

defineWidgets

protected abstract void defineWidgets()
Defines the list of parameters for this dialog.


fillWidgetValues

protected void fillWidgetValues(javax.servlet.http.HttpServletRequest request)
Fills all widgets of this widget dialog with the values from the request parameters.

Parameters:
request - the current HTTP servlet request

getDialogTitle

protected java.lang.String getDialogTitle()
Returns the title for this Dialog.

In the default implementation this method returns null. Override this if needed.

Returns:
the title for this Dialog, or null if this dialog has no title

getPageArray

protected abstract java.lang.String[] getPageArray()
Returns the allowed pages for this dialog.

Returns:
the allowed pages for this dialog

getPages

protected java.util.List getPages()
Returns the allowed pages for this dialog.

Returns:
the allowed pages for this dialog

getParameterDefinition

protected CmsWidgetDialogParameter getParameterDefinition(java.lang.String name)
Returns the parameter widget definition for the given parameter name.

Parameters:
name - the parameter name to get the definition for
Returns:
the parameter widget definition for the given parameter name

getParameters

protected java.util.Map getParameters()
Returns the map with the widget parameter values.

Returns:
the map with the widget parameter values

getValidationErrorList

protected java.util.List getValidationErrorList()
Returns the validation errors for the dialog.

The method (@link CmsWidgetDialog#commitWidgetValues(String)) has to set this list.

Returns:
the validation errors for the dialog

getWidget

protected java.lang.String getWidget(CmsWidgetDialogParameter param)
Returns the widget HTML code for the given parameter.

Parameters:
param - the name (id) of the parameter to get the widget HTML for
Returns:
the widget HTML code for the given parameter

getWidgets

protected java.util.List getWidgets()
Returns the list of all widgets used on this widget dialog, the List must contain Objects of type CmsWidgetDialogParameter.

Returns:
the list of all widgets used on this widget dialog

hasCommitErrors

protected boolean hasCommitErrors()
Returns true if the current dialog (page) has commit errors.

Returns:
true if the current dialog (page) has commit errors

hasValidationErrors

protected boolean hasValidationErrors()
Returns true if the current dialog (page) has validation errors.

Returns:
true if the current dialog (page) has validation errors

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)

setCommitErrors

protected void setCommitErrors(java.util.List errors)
Sets the errors that are thrown by save actions or form generation.

Parameters:
errors - the errors that are thrown by save actions or form generation

setKeyPrefix

protected void setKeyPrefix(java.lang.String prefix)
Sets an optional localized key prefix identificator for all widgets.

Parameters:
prefix - the optional localized key prefix identificator for all widgets
See Also:
I_CmsWidgetParameter.setKeyPrefix(java.lang.String)

setPages

protected void setPages(java.util.List pages)
Sets the allowed pages for this dialog.

Parameters:
pages - the allowed pages for this dialog

setValidationErrorList

protected void setValidationErrorList(java.util.List errors)
Sets the validation errors for the dialog.

Use this in the method (@link CmsWidgetDialog#commitWidgetValues(String)) to set the list.

Parameters:
errors - the validation errors

validateParamaters

protected void validateParamaters()
                           throws java.lang.Exception
Should be overridden for parameter validation.

The exception is never seen by the user, so it can be just a new Exception().

Throws:
java.lang.Exception - if the parameters are not valid