Class CmsPropertyCustom

java.lang.Object
org.opencms.workplace.CmsWorkplace
org.opencms.workplace.tools.CmsToolDialog
org.opencms.workplace.CmsDialog
All Implemented Interfaces:
org.opencms.configuration.I_CmsConfigurationParameterHandler, org.opencms.workplace.I_CmsDialogHandler, org.opencms.workplace.I_CmsPostUploadDialogHandler
Direct Known Subclasses:
CmsDialogProperty

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:

  • /commons/property_custom.jsp

Since:
6.0.0
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    Value for the action: edit the properties.

    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_ACTION_VALUE_FOR_CHANGED_INDEX, 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_ADMIN_PROJECT, PARAM_BASE, PARAM_FORCE, PARAM_PATH, PARAM_ROOT, PARAM_STYLE, STYLE_NEW

    Fields inherited from class org.opencms.workplace.CmsWorkplace

    DEBUG, DEFAULT_DATE_STRING, 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, INPUT_DEFAULT, INPUT_NONE, JSP_WORKPLACE_URI, PARAM_DIRECTPUBLISH, PARAM_MODELFILE, PARAM_NEWRESOURCETYPE, PARAM_PUBLISHSIBLINGS, PARAM_RELATEDRESOURCES, PARAM_RESOURCELIST, PARAM_SUBRESOURCES, PARAM_WP_EXPLORER_RESOURCE, PARAM_WP_PROJECT, PARAM_WP_SITE, PARAM_WP_START, PARAM_WP_VIEW, PATH_DIALOGS, PATH_WORKPLACE, REQUEST_ATTRIBUTE_MULTIPART, REQUEST_ATTRIBUTE_RELOADTREE, RES_PATH_FILETYPES, RFS_PATH_RESOURCES, SESSION_WORKPLACE_CLASS, VFS_DIR_DEFAULTBODIES, VFS_DIR_TEMPLATES, VFS_PATH_COMMONS, VFS_PATH_EDITORS, VFS_PATH_GALLERIES, VFS_PATH_LOCALES, VFS_PATH_MODELDIALOG, VFS_PATH_MODULES, VFS_PATH_NEWRESOURCEDIALOG, VFS_PATH_RESOURCES, VFS_PATH_SITES, VFS_PATH_SYSTEM, VFS_PATH_VIEWS, VFS_PATH_WORKPLACE, VIEW_ADMIN, VIEW_DIRECT_EDIT, VIEW_EXPLORER, VIEW_GALLERY, VIEW_LIST, VIEW_WORKPLACE

    Fields inherited from interface org.opencms.configuration.I_CmsConfigurationParameterHandler

    ADD_PARAMETER_METHOD, INIT_CONFIGURATION_METHOD
  • Constructor Summary

    Constructors
    Constructor
    Description
    CmsPropertyCustom(javax.servlet.jsp.PageContext context, javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res)
    Public constructor with JSP variables.
    CmsPropertyCustom(org.opencms.jsp.CmsJspActionElement jsp)
    Public constructor with JSP action element.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    actionEdit(javax.servlet.http.HttpServletRequest request)
    Performs the edit properties action, will be called by the JSP page.
    Creates the HTML String for the edit properties form.
    protected StringBuffer
    buildNavigationProperties(boolean editable)
    Builds the HTML code for the special properties of an xmlpage resource.
    protected StringBuffer
    buildPropertyEntry(String propertyName, String propertyTitle, boolean editable)
    Builds the html for a single text input property row.
    Builds the JavaScript to set the property form values delayed.
    protected String
    Builds the HTML for the end of a table row for a single property.
    protected StringBuffer
    buildTableRowStart(String propertyName)
    Builds the HTML for the start of a table row for a single property.
    protected StringBuffer
    buildTextInput(boolean editable)
    Builds the HTML for the common text input property values stored in the String array "PROPERTIES".
    dialogButtonsOkCancelAdvanced(String okAttributes, String cancelAttributes, String advancedAttributes)
    Builds a button row with an "ok", a "cancel" and an "advanced" button.
    org.opencms.workplace.explorer.CmsExplorerTypeSettings
    Returns the explorer type settings for the current resource type.
    protected void
    Initializes the explorer type settings for the current resource type.
    protected void
    initWorkplaceRequestValues(org.opencms.workplace.CmsWorkplaceSettings settings, javax.servlet.http.HttpServletRequest request)
     
    protected boolean
    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(org.opencms.workplace.explorer.CmsExplorerTypeSettings typeSettings)
    Sets the explorer type settings for the current resource type.
    void
    setShowNavigation(boolean showNav)
    Sets if navigation properties are shown.
    boolean
    Returns if navigation properties are shown.
    protected void
    writeProperty(String propName, String propValue, String oldValue)
    Writes a property value for a resource, if the value was changed.

    Methods inherited from class org.opencms.workplace.CmsDialog

    appendDelimiter, buildAjaxResultContainer, buildAjaxWaitMessage, buildLockAdditionalOptions, buildLockConfirmationMessageJS, 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, openLaunchpad, openWorkplaceLink, pageHtml, pageHtml, setAction, setOnlineHelpUriCustom, setParamAction, setParamCloseLink, setParamDialogtype, setParamFramename, setParamIsPopup, setParamMessage, setParamOriginalParams, setParamPreActionDone, setParamRedirect, setParamResource, setParamTitle

    Methods inherited from class org.opencms.workplace.tools.CmsToolDialog

    computeUpLevelLink, 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, canEditPermissionsForRoles, checkLock, checkLock, checkRole, decodeParamValue, fillParamValues, fillParamValues, generateCssStyle, generatePageEndExtended, generatePageEndSimple, generatePageStartExtended, generatePageStartSimple, getBroadcastMessageString, getCms, getEncoding, getExplorerFileListFullUri, getFrameSource, getJsp, getLocale, getMacroResolver, getMessages, getMultiPartFileItems, getParameterMap, getResourceUri, getResourceUri, getSession, getSettings, getSkinUri, getStartSiteRoot, getStartSiteRoot, getStaticResourceUri, getStaticResourceUri, getStyleUri, getStyleUri, getStyleUri, getTemporaryFileName, getWorkplaceExplorerLink, getWorkplaceExplorerLink, getWorkplaceSettings, htmlEnd, initMessages, initSettings, initTimeWarp, initUserSettings, initWorkplaceMembers, initWorkplaceMembers, initWorkplaceSettings, isForwarded, isHelpEnabled, isSubElement, isTemporaryFile, key, key, keyDefault, nullToEmpty, paramsAsHidden, paramsAsParameterMap, paramsAsRequest, paramValues, resolveMacros, sendCmsRedirect, sendForward, setForwarded, shortKey, substituteSiteTitle, substituteSiteTitleStatic, switchToCurrentProject, switchToTempProject, updateUserPreferences

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Constructor Details

    • CmsPropertyCustom

      public CmsPropertyCustom(org.opencms.jsp.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 Details

    • 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

      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

      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 String dialogButtonsOkCancelAdvanced(String okAttributes, String cancelAttributes, String advancedAttributes)
      Builds a button row with an "ok", a "cancel" and an "advanced" button.

      Overrides:
      dialogButtonsOkCancelAdvanced in class org.opencms.workplace.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 org.opencms.workplace.explorer.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(org.opencms.workplace.explorer.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 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 StringBuffer buildPropertyEntry(String propertyName, 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 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 StringBuffer buildTableRowStart(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 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(org.opencms.workplace.CmsWorkplaceSettings settings, javax.servlet.http.HttpServletRequest request)
      Overrides:
      initWorkplaceRequestValues in class CmsPropertyAdvanced
      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 org.opencms.main.CmsException
      Performs the editing of the resources properties.

      Parameters:
      request - the HttpServletRequest
      Returns:
      true, if the properties were successfully changed, otherwise false
      Throws:
      org.opencms.main.CmsException - if editing is not successful
    • writeProperty

      protected void writeProperty(String propName, String propValue, String oldValue) throws org.opencms.main.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:
      org.opencms.main.CmsException - if something goes wrong