org.opencms.workplace.commons
Class CmsPropertyCustom

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.CmsTabDialog
                  extended by org.opencms.workplace.commons.CmsPropertyAdvanced
                      extended by org.opencms.workplace.commons.CmsPropertyCustom
All Implemented Interfaces:
I_CmsConfigurationParameterHandler, I_CmsDialogHandler
Direct Known Subclasses:
CmsDialogProperty

public class CmsPropertyCustom
extends CmsPropertyAdvanced

Provides methods for the customized property dialog.

This is a special dialog that is used for the different resource types in the workplace.

For the xmlpage resource type, this class is extended in the editor subpackage.

The following files use this class:

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

Field Summary
static int ACTION_EDIT
          Value for the action: edit the properties.
 
Fields inherited from class org.opencms.workplace.commons.CmsPropertyAdvanced
ACTION_SAVE_DEFINE, ACTION_SAVE_EDIT, ACTION_SHOW_DEFINE, ACTION_SHOW_EDIT, BUTTON_DEFINE, BUTTON_FINISH, DIALOG_SAVE_DEFINE, DIALOG_SAVE_EDIT, DIALOG_SHOW_DEFAULT, DIALOG_SHOW_DEFINE, DIALOG_SHOW_EDIT, DIALOG_TYPE, MODE_WIZARD, MODE_WIZARD_CREATEINDEX, MODE_WIZARD_INDEXCREATED, PANEL_RESOURCE, PANEL_STRUCTURE, PARAM_DIALOGMODE, PARAM_HIDEADVANCED, PARAM_NEWPROPERTY, PARAM_SHOWGROUP, PREFIX_HIDDEN, PREFIX_RESOURCE, PREFIX_STRUCTURE, PREFIX_USEPROPERTY, PREFIX_VALUE, TAB_RESOURCE, TAB_STRUCTURE, URI_PROPERTY_CUSTOM_DIALOG, URI_PROPERTY_DIALOG, URI_PROPERTY_DIALOG_HANDLER
 
Fields inherited from class org.opencms.workplace.CmsTabDialog
ACTION_SWITCHTAB, DIALOG_SWITCHTAB, PARAM_SETPRESSED, PARAM_TAB
 
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
CmsPropertyCustom(CmsJspActionElement jsp)
          Public constructor with JSP action element.
CmsPropertyCustom(javax.servlet.jsp.PageContext context, javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res)
          Public constructor with JSP variables.
 
Method Summary
 void actionEdit(javax.servlet.http.HttpServletRequest request)
          Performs the edit properties action, will be called by the JSP page.
 java.lang.String buildEditForm()
          Creates the HTML String for the edit properties form.
protected  java.lang.StringBuffer buildNavigationProperties(boolean editable)
          Builds the HTML code for the special properties of an xmlpage resource.
protected  java.lang.StringBuffer buildPropertyEntry(java.lang.String propertyName, java.lang.String propertyTitle, boolean editable)
          Builds the html for a single text input property row.
 java.lang.String buildSetFormValues()
          Builds the JavaScript to set the property form values delayed.
protected  java.lang.String buildTableRowEnd()
          Builds the HTML for the end of a table row for a single property.
protected  java.lang.StringBuffer buildTableRowStart(java.lang.String propertyName)
          Builds the HTML for the start of a table row for a single property.
protected  java.lang.StringBuffer buildTextInput(boolean editable)
          Builds the HTML for the common text input property values stored in the String array "PROPERTIES".
 java.lang.String dialogButtonsOkCancelAdvanced(java.lang.String okAttributes, java.lang.String cancelAttributes, java.lang.String advancedAttributes)
          Builds a button row with an "ok", a "cancel" and an "advanced" button.
 CmsExplorerTypeSettings getExplorerTypeSettings()
          Returns the explorer type settings for the current resource type.
protected  void initExplorerTypeSettings()
          Initializes the explorer type settings for the current resource type.
protected  void initWorkplaceRequestValues(CmsWorkplaceSettings settings, javax.servlet.http.HttpServletRequest request)
          Analyzes the request for workplace parameters and adjusts the workplace settings accordingly.
protected  boolean isHideButtonAdvanced()
          Checks the optional parameters of the handler configuration.
protected  boolean performEditOperation(javax.servlet.http.HttpServletRequest request)
          Performs the editing of the resources properties.
 void setExplorerTypeSettings(CmsExplorerTypeSettings typeSettings)
          Sets the explorer type settings for the current resource type.
 void setShowNavigation(boolean showNav)
          Sets if navigation properties are shown.
 boolean showNavigation()
          Returns if navigation properties are shown.
protected  void writeProperty(java.lang.String propName, java.lang.String propValue, java.lang.String oldValue)
          Writes a property value for a resource, if the value was changed.
 
Methods inherited from class org.opencms.workplace.commons.CmsPropertyAdvanced
actionCloseDialog, actionDefine, actionDeleteResource, addConfigurationParameter, buildActivePropertiesList, dialogButtonsHtml, dialogButtonsOkCancelDefine, getActiveProperties, getConfiguration, getDialogHandler, getDialogUri, getParamDialogmode, getParamIndexPageType, getParamNewproperty, getParamUsetempfileproject, getPropertyMap, getSettingsForType, getTabParameterOrder, getTabs, initConfiguration, isEditable, setParamDialogmode, setParamIndexPageType, setParamNewproperty, setParamUsetempfileproject
 
Methods inherited from class org.opencms.workplace.CmsTabDialog
dialogTabContent, dialogTabContentEnd, dialogTabContentStart, dialogTabContentStart, dialogTabRow, getActiveTab, getActiveTabName, getParamSetPressed, getParamTab, htmlStart, htmlStart, paramsAsHidden, setParamSetPressed, setParamTab
 
Methods inherited from class org.opencms.workplace.CmsDialog
appendDelimiter, buildAjaxResultContainer, buildAjaxWaitMessage, buildLockAdditionalOptions, buildLockConfirmationMessageJS, buildLockDialog, buildLockDialog, buildLockHeaderBox, checkResourcePermissions, checkResourcePermissions, computeCurrentFolder, dialog, dialogBlock, dialogBlockEnd, dialogBlockStart, dialogButtonRow, dialogButtonRowEnd, dialogButtonRowStart, dialogButtons, dialogButtonsClose, dialogButtonsClose, dialogButtonsCloseDetails, dialogButtonsOk, dialogButtonsOk, dialogButtonsOkCancel, dialogButtonsOkCancel, 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, 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
 

Field Detail

ACTION_EDIT

public static final int ACTION_EDIT
Value for the action: edit the properties.

See Also:
Constant Field Values
Constructor Detail

CmsPropertyCustom

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

Parameters:
jsp - an initialized JSP action element

CmsPropertyCustom

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

actionEdit

public void actionEdit(javax.servlet.http.HttpServletRequest request)
                throws javax.servlet.jsp.JspException
Performs the edit properties action, will be called by the JSP page.

Overrides:
actionEdit in class CmsPropertyAdvanced
Parameters:
request - the HttpServletRequest
Throws:
javax.servlet.jsp.JspException - if problems including sub-elements occur

buildEditForm

public java.lang.String buildEditForm()
Creates the HTML String for the edit properties form.

Overrides:
buildEditForm in class CmsPropertyAdvanced
Returns:
the HTML output String for the edit properties form

buildSetFormValues

public java.lang.String buildSetFormValues()
Builds the JavaScript to set the property form values delayed.

The values of the properties are not inserted directly in the <input> tag, because there is a display issue when the property values are very long. This method creates JavaScript to set the property input field values delayed. On the JSP, the code which is created from this method has to be executed delayed after the creation of the html form, e.g. in the <body> tag with the attribute onload="window.setTimeout('doSet()',50);".

Overrides:
buildSetFormValues in class CmsPropertyAdvanced
Returns:
the JavaScript to set the property form values delayed

dialogButtonsOkCancelAdvanced

public java.lang.String dialogButtonsOkCancelAdvanced(java.lang.String okAttributes,
                                                      java.lang.String cancelAttributes,
                                                      java.lang.String advancedAttributes)
Builds a button row with an "ok", a "cancel" and an "advanced" button.

Overrides:
dialogButtonsOkCancelAdvanced in class CmsDialog
Parameters:
okAttributes - additional attributes for the "ok" button
cancelAttributes - additional attributes for the "cancel" button
advancedAttributes - additional attributes for the "advanced" button
Returns:
the button row

getExplorerTypeSettings

public CmsExplorerTypeSettings getExplorerTypeSettings()
Returns the explorer type settings for the current resource type.

Returns:
the explorer type settings for the current resource type

setExplorerTypeSettings

public void setExplorerTypeSettings(CmsExplorerTypeSettings typeSettings)
Sets the explorer type settings for the current resource type.

Parameters:
typeSettings - the explorer type settings for the current resource type

setShowNavigation

public void setShowNavigation(boolean showNav)
Sets if navigation properties are shown.

Parameters:
showNav - true, if navigation properties are shown, otherwise false

showNavigation

public boolean showNavigation()
Returns if navigation properties are shown.

Returns:
true, if navigation properties are shown, otherwise false

buildNavigationProperties

protected java.lang.StringBuffer buildNavigationProperties(boolean editable)
Builds the HTML code for the special properties of an xmlpage resource.

Parameters:
editable - indicates if the properties are editable
Returns:
the HTML code for the special properties of a file resource

buildPropertyEntry

protected java.lang.StringBuffer buildPropertyEntry(java.lang.String propertyName,
                                                    java.lang.String propertyTitle,
                                                    boolean editable)
Builds the html for a single text input property row.

The html does not include the value of the created property, the values are set delayed (see buildSetFormValues() for details).

Parameters:
propertyName - the name of the property
propertyTitle - the nice name of the property
editable - indicates if the properties are editable
Returns:
the html for a single text input property row

buildTableRowEnd

protected java.lang.String buildTableRowEnd()
Builds the HTML for the end of a table row for a single property.

Returns:
the HTML code for a table row end

buildTableRowStart

protected java.lang.StringBuffer buildTableRowStart(java.lang.String propertyName)
Builds the HTML for the start of a table row for a single property.

Parameters:
propertyName - the name of the current property
Returns:
the HTML code for the start of a table row

buildTextInput

protected java.lang.StringBuffer buildTextInput(boolean editable)
Builds the HTML for the common text input property values stored in the String array "PROPERTIES".

Parameters:
editable - indicates if the properties are editable
Returns:
the HTML code for the common text input fields

initExplorerTypeSettings

protected void initExplorerTypeSettings()
Initializes the explorer type settings for the current resource type.


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

isHideButtonAdvanced

protected boolean isHideButtonAdvanced()
Checks the optional parameters of the handler configuration.

Decides if the "advanced" button should be shown or not. The "advanced" button is shown if no parameters are given (default) or the "hideadvanced" attribute is set to false. The "advanced" button is hidden only, if "hideadvanced" is true and the user is not a member of the specified user groups.

Returns:
false if the "advanced" button is shown (default)
true if the "advanced" button is hidden

performEditOperation

protected boolean performEditOperation(javax.servlet.http.HttpServletRequest request)
                                throws CmsException
Performs the editing of the resources properties.

Parameters:
request - the HttpServletRequest
Returns:
true, if the properties were successfully changed, otherwise false
Throws:
CmsException - if editing is not successful

writeProperty

protected void writeProperty(java.lang.String propName,
                             java.lang.String propValue,
                             java.lang.String oldValue)
                      throws CmsException
Writes a property value for a resource, if the value was changed.

If a property definition for the resource does not exist, it is automatically created by this method.

Parameters:
propName - the name of the property
propValue - the new value of the property
oldValue - the old value of the property
Throws:
CmsException - if something goes wrong