Class CmsSearchWidgetDialog

java.lang.Object
org.opencms.workplace.CmsWorkplace
org.opencms.workplace.tools.CmsToolDialog
org.opencms.workplace.CmsDialog
All Implemented Interfaces:
org.opencms.widgets.I_CmsWidgetDialog

A CmsWidgetDialog that performs a search on the CmsSearchIndex identified by request parameter A_CmsEditSearchIndexDialog.PARAM_INDEXNAME using an instance of CmsSearchParameters as widget object to fill.

Since:
6.0.0
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected org.opencms.search.CmsSearch
    The search instance used with the search parameters.
    protected org.opencms.search.CmsSearchParameters
    The search parameter instance used for storing widget values and performing search.
    static final String
    The request parameter for the search object.
    static final String
    The request parameter for the search parameters.

    Fields inherited from class org.opencms.workplace.tools.searchindex.A_CmsEditSearchIndexDialog

    INDEX_NAME_CONSTRAINTS, KEY_PREFIX, m_index, m_searchManager, PAGES, PARAM_INDEXNAME

    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
  • Constructor Summary

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

    Modifier and Type
    Method
    Description
    void
    Overrides this action that is performed in case an element has been added to a widget parameter (CmsWidgetDialog.ACTION_ELEMENT_ADD) or removed (CmsWidgetDialog.ACTION_ELEMENT_REMOVE) from a widget parameter to additionally commit these values to the underlying lists.
    protected boolean
    This dialog does not return on commit but stay for many search requests until it is exited with cancel or up in the workplace.
    protected String
    Creates the dialog HTML for all defined widgets of the named dialog (page).
    protected String
    Returns the html code for the default action content.
    protected void
    Initializes the user object (a A_CmsSearchIndex instance.
    Builds the standard javascript for submitting the dialog.
    Returns the fields parameter value.
    Returns the creation date the resources have to have as maximum.
    Returns the last modification date the resources have to have as maximum.
    Returns the creation date the resources have to have as minimum.
    Returns the last modification date the resources have to have as minimum.
    List<org.opencms.search.fields.CmsSearchField>
    Returns the list of searchable fields used in the workplace search index.
    protected void
    Overridden to additionally get a hold on the widget object of type CmsSearchParameters.
    protected void
    initWorkplaceRequestValues(org.opencms.workplace.CmsWorkplaceSettings settings, javax.servlet.http.HttpServletRequest request)
    Additionally saves PARAM_SEARCH_PARAMS to the dialog object map.
    void
    setFields(String fields)
    Sets the fields parameter value.
    void
    setMaxDateCreated(String maxCreationDate)
    Sets the creation date the resources have to have as maximum.
    void
    setMaxDateLastModified(String maxDateLastModified)
    Sets the last modification date the resources have to have as maximum.
    void
    setMinDateCreated(String minCreationDate)
    Sets the creation date the resources have to have as minimum.
    void
    setMinDateLastModified(String minDateLastModified)
    Sets the last modification date the resources have to have as minimum.

    Methods inherited from class org.opencms.workplace.CmsDialog

    actionCloseDialog, appendDelimiter, buildAjaxResultContainer, buildAjaxWaitMessage, buildLockAdditionalOptions, buildLockConfirmationMessageJS, 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, 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, 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, initSettings, initTimeWarp, initUserSettings, 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

    Methods inherited from interface org.opencms.widgets.I_CmsWidgetDialog

    button, buttonBar, buttonBarHorizontalLine, buttonBarSeparator, buttonBarSpacer, buttonBarStartTab, dialogHorizontalSpacer, getLocale, getMessages, useNewStyle
  • Field Details

    • PARAM_SEARCH_OBJECT

      public static final String PARAM_SEARCH_OBJECT
      The request parameter for the search object.
      See Also:
    • PARAM_SEARCH_PARAMS

      public static final String PARAM_SEARCH_PARAMS
      The request parameter for the search parameters.
      See Also:
    • m_searchParams

      protected org.opencms.search.CmsSearchParameters m_searchParams
      The search parameter instance used for storing widget values and performing search.
  • Constructor Details

    • CmsSearchWidgetDialog

      public CmsSearchWidgetDialog(org.opencms.jsp.CmsJspActionElement jsp)
      Public constructor with JSP action element.

      Parameters:
      jsp - an initialized JSP action element
    • CmsSearchWidgetDialog

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

    • actionToggleElement

      public void actionToggleElement()
      Overrides this action that is performed in case an element has been added to a widget parameter (CmsWidgetDialog.ACTION_ELEMENT_ADD) or removed (CmsWidgetDialog.ACTION_ELEMENT_REMOVE) from a widget parameter to additionally commit these values to the underlying lists.

      This is necessary because this dialog performs a search for every request (not only if OK is pressed, also if a category or field is added/removed). The search directly uses the underlying Lists of categories, fields,... . More precise: The very same lists that are in the search parameter instance used for search are contained as base collections of the widget parameters. Therefore before every search the changes of categories, fields,... have to be committed here.

      Overrides:
      actionToggleElement in class CmsWidgetDialog
      See Also:
    • dialogScriptSubmit

      Builds the standard javascript for submitting the dialog.

      Overridden to allow additional validation and encoding of the search query.

      Overrides:
      dialogScriptSubmit in class org.opencms.workplace.CmsDialog
      Returns:
      the standard javascript for submitting the dialog
    • getFields

      public String getFields()
      Returns the fields parameter value.

      Returns:
      the fields parameter value
    • getMaxDateCreated

      Returns the creation date the resources have to have as maximum.

      Returns:
      the creation date the resources have to have as maximum
    • getMaxDateLastModified

      Returns the last modification date the resources have to have as maximum.

      Returns:
      the last modification date the resources have to have as maximum
    • getMinDateCreated

      Returns the creation date the resources have to have as minimum.

      Returns:
      the creation date the resources have to have as minimum
    • getMinDateLastModified

      Returns the last modification date the resources have to have as minimum.

      Returns:
      the last modification date the resources have to have as minimum
    • getSearchFields

      public List<org.opencms.search.fields.CmsSearchField> getSearchFields()
      Returns the list of searchable fields used in the workplace search index.

      Returns:
      the list of searchable fields used in the workplace search index
    • setFields

      public void setFields(String fields)
      Sets the fields parameter value.

      Parameters:
      fields - the fields parameter value to set
    • setMaxDateCreated

      public void setMaxDateCreated(String maxCreationDate)
      Sets the creation date the resources have to have as maximum.

      Parameters:
      maxCreationDate - the creation date the resources have to have as maximum to set
    • setMaxDateLastModified

      public void setMaxDateLastModified(String maxDateLastModified)
      Sets the last modification date the resources have to have as maximum.

      Parameters:
      maxDateLastModified - the last modification date the resources have to have as maximum to set
    • setMinDateCreated

      public void setMinDateCreated(String minCreationDate)
      Sets the creation date the resources have to have as minimum.

      Parameters:
      minCreationDate - the creation date the resources have to have as minimum to set
    • setMinDateLastModified

      public void setMinDateLastModified(String minDateLastModified)
      Sets the last modification date the resources have to have as minimum.

      Parameters:
      minDateLastModified - the last modification date the resources have to have as minimum to set
    • closeDialogOnCommit

      protected boolean closeDialogOnCommit()
      This dialog does not return on commit but stay for many search requests until it is exited with cancel or up in the workplace.

      Overrides:
      closeDialogOnCommit in class CmsWidgetDialog
      Returns:
      false always to ensure the dialog is not left
      See Also:
    • createDialogHtml

      protected String createDialogHtml(String dialog)
      Description copied from class: CmsWidgetDialog
      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.

      Overrides:
      createDialogHtml in class CmsWidgetDialog
      Parameters:
      dialog - the dialog (page) to get the HTML for
      Returns:
      the dialog HTML for all defined widgets of the named dialog (page)
      See Also:
    • defaultActionHtmlContent

      Returns the html code for the default action content.

      Overrides CmsWidgetDialog.defaultActionHtml() in order to put additional forms for page links and search results after OK - CANCEL buttons and outside the main form.

      Overrides:
      defaultActionHtmlContent in class CmsWidgetDialog
      Returns:
      html code
    • defineWidgets

      protected void defineWidgets()
      Description copied from class: A_CmsEditSearchIndexDialog
      Initializes the user object (a A_CmsSearchIndex instance.

      Implementation always have to call "super.defineWidgets()" first as this action may only be done here (relies on filled request parameters, the next following operation CmsWidgetDialog.createDialogHtml() will rely on this.

      Overrides:
      defineWidgets in class A_CmsEditSearchIndexDialog
      See Also:
    • initUserObject

      protected void initUserObject()
      Overridden to additionally get a hold on the widget object of type CmsSearchParameters.

      Overrides:
      initUserObject in class A_CmsEditSearchIndexDialog
      See Also:
    • initWorkplaceRequestValues

      protected void initWorkplaceRequestValues(org.opencms.workplace.CmsWorkplaceSettings settings, javax.servlet.http.HttpServletRequest request)
      Additionally saves PARAM_SEARCH_PARAMS to the dialog object map.

      Overrides:
      initWorkplaceRequestValues in class A_CmsEditSearchIndexDialog
      See Also:
      • CmsWorkplace.initWorkplaceRequestValues(org.opencms.workplace.CmsWorkplaceSettings, javax.servlet.http.HttpServletRequest)