Class CmsPropertyCustom

  • All Implemented Interfaces:
    org.opencms.configuration.I_CmsConfigurationParameterHandler, org.opencms.workplace.I_CmsDialogHandler, org.opencms.workplace.I_CmsPostUploadDialogHandler
    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:

    • /commons/property_custom.jsp

    Since:
    6.0.0
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int ACTION_EDIT
      Value for the action: edit the properties.
      • 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

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      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.
      org.opencms.workplace.explorer.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​(org.opencms.workplace.CmsWorkplaceSettings settings, javax.servlet.http.HttpServletRequest request)  
      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​(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 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.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
    • Constructor Detail

      • 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 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 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 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​(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​(java.lang.String propName,
                                     java.lang.String propValue,
                                     java.lang.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