Class AdminMaintenanceAction

java.lang.Object
org.lastaflute.web.LastaAction
org.lastaflute.web.TypicalAction
org.codelibs.fess.app.web.base.FessBaseAction
org.codelibs.fess.app.web.base.FessAdminAction
org.codelibs.fess.app.web.admin.maintenance.AdminMaintenanceAction
All Implemented Interfaces:
org.codelibs.fess.mylasta.action.FessHtmlPath, org.lastaflute.web.docs.LaActionDocs, org.lastaflute.web.hook.ActionHook, org.lastaflute.web.validation.LaValidatable<org.codelibs.fess.mylasta.action.FessMessages>

public class AdminMaintenanceAction extends FessAdminAction
Admin action for maintenance operations including reindexing, log management, and system diagnostics.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    Role identifier for admin maintenance operations.
    Search engine client for performing maintenance operations on indices.

    Fields inherited from class org.codelibs.fess.app.web.base.FessAdminAction

    crawlingConfigHelper, VIEW

    Fields inherited from class org.lastaflute.web.TypicalAction

    GLOBAL

    Fields inherited from interface org.codelibs.fess.mylasta.action.FessHtmlPath

    path_AdminAccesstoken_AdminAccesstokenDetailsJsp, path_AdminAccesstoken_AdminAccesstokenEditJsp, path_AdminAccesstoken_AdminAccesstokenJsp, path_AdminBackup_AdminBackupJsp, path_AdminBadword_AdminBadwordDetailsJsp, path_AdminBadword_AdminBadwordDownloadJsp, path_AdminBadword_AdminBadwordEditJsp, path_AdminBadword_AdminBadwordJsp, path_AdminBadword_AdminBadwordUploadJsp, path_AdminBoostdoc_AdminBoostdocDetailsJsp, path_AdminBoostdoc_AdminBoostdocEditJsp, path_AdminBoostdoc_AdminBoostdocJsp, path_AdminCrawlinginfo_AdminCrawlinginfoDetailsJsp, path_AdminCrawlinginfo_AdminCrawlinginfoJsp, path_AdminDashboard_AdminDashboardJsp, path_AdminDataconfig_AdminDataconfigDetailsJsp, path_AdminDataconfig_AdminDataconfigEditJsp, path_AdminDataconfig_AdminDataconfigJsp, path_AdminDesign_AdminDesignEditJsp, path_AdminDesign_AdminDesignJsp, path_AdminDict_AdminDictJsp, path_AdminDictKuromoji_AdminDictKuromojiDetailsJsp, path_AdminDictKuromoji_AdminDictKuromojiDownloadJsp, path_AdminDictKuromoji_AdminDictKuromojiEditJsp, path_AdminDictKuromoji_AdminDictKuromojiJsp, path_AdminDictKuromoji_AdminDictKuromojiUploadJsp, path_AdminDictMapping_AdminDictMappingDetailsJsp, path_AdminDictMapping_AdminDictMappingDownloadJsp, path_AdminDictMapping_AdminDictMappingEditJsp, path_AdminDictMapping_AdminDictMappingJsp, path_AdminDictMapping_AdminDictMappingUploadJsp, path_AdminDictProtwords_AdminDictProtwordsDetailsJsp, path_AdminDictProtwords_AdminDictProtwordsDownloadJsp, path_AdminDictProtwords_AdminDictProtwordsEditJsp, path_AdminDictProtwords_AdminDictProtwordsJsp, path_AdminDictProtwords_AdminDictProtwordsUploadJsp, path_AdminDictStemmeroverride_AdminDictStemmeroverrideDetailsJsp, path_AdminDictStemmeroverride_AdminDictStemmeroverrideDownloadJsp, path_AdminDictStemmeroverride_AdminDictStemmeroverrideEditJsp, path_AdminDictStemmeroverride_AdminDictStemmeroverrideJsp, path_AdminDictStemmeroverride_AdminDictStemmeroverrideUploadJsp, path_AdminDictStopwords_AdminDictStopwordsDetailsJsp, path_AdminDictStopwords_AdminDictStopwordsDownloadJsp, path_AdminDictStopwords_AdminDictStopwordsEditJsp, path_AdminDictStopwords_AdminDictStopwordsJsp, path_AdminDictStopwords_AdminDictStopwordsUploadJsp, path_AdminDictSynonym_AdminDictSynonymDetailsJsp, path_AdminDictSynonym_AdminDictSynonymDownloadJsp, path_AdminDictSynonym_AdminDictSynonymEditJsp, path_AdminDictSynonym_AdminDictSynonymJsp, path_AdminDictSynonym_AdminDictSynonymUploadJsp, path_AdminDuplicatehost_AdminDuplicatehostDetailsJsp, path_AdminDuplicatehost_AdminDuplicatehostEditJsp, path_AdminDuplicatehost_AdminDuplicatehostJsp, path_AdminElevateword_AdminElevatewordDetailsJsp, path_AdminElevateword_AdminElevatewordDownloadJsp, path_AdminElevateword_AdminElevatewordEditJsp, path_AdminElevateword_AdminElevatewordJsp, path_AdminElevateword_AdminElevatewordUploadJsp, path_AdminError_AdminErrorJsp, path_AdminFailureurl_AdminFailureurlDetailsJsp, path_AdminFailureurl_AdminFailureurlJsp, path_AdminFileauth_AdminFileauthDetailsJsp, path_AdminFileauth_AdminFileauthEditJsp, path_AdminFileauth_AdminFileauthJsp, path_AdminFileconfig_AdminFileconfigDetailsJsp, path_AdminFileconfig_AdminFileconfigEditJsp, path_AdminFileconfig_AdminFileconfigJsp, path_AdminGeneral_AdminGeneralJsp, path_AdminGroup_AdminGroupDetailsJsp, path_AdminGroup_AdminGroupEditJsp, path_AdminGroup_AdminGroupJsp, path_AdminJoblog_AdminJoblogDetailsJsp, path_AdminJoblog_AdminJoblogJsp, path_AdminKeymatch_AdminKeymatchDetailsJsp, path_AdminKeymatch_AdminKeymatchEditJsp, path_AdminKeymatch_AdminKeymatchJsp, path_AdminLabeltype_AdminLabeltypeDetailsJsp, path_AdminLabeltype_AdminLabeltypeEditJsp, path_AdminLabeltype_AdminLabeltypeJsp, path_AdminLog_AdminLogJsp, path_AdminMaintenance_AdminMaintenanceJsp, path_AdminPathmap_AdminPathmapDetailsJsp, path_AdminPathmap_AdminPathmapEditJsp, path_AdminPathmap_AdminPathmapJsp, path_AdminPlugin_AdminPluginInstallpluginJsp, path_AdminPlugin_AdminPluginJsp, path_AdminRelatedcontent_AdminRelatedcontentDetailsJsp, path_AdminRelatedcontent_AdminRelatedcontentEditJsp, path_AdminRelatedcontent_AdminRelatedcontentJsp, path_AdminRelatedquery_AdminRelatedqueryDetailsJsp, path_AdminRelatedquery_AdminRelatedqueryEditJsp, path_AdminRelatedquery_AdminRelatedqueryJsp, path_AdminReqheader_AdminReqheaderDetailsJsp, path_AdminReqheader_AdminReqheaderEditJsp, path_AdminReqheader_AdminReqheaderJsp, path_AdminRole_AdminRoleDetailsJsp, path_AdminRole_AdminRoleEditJsp, path_AdminRole_AdminRoleJsp, path_AdminScheduler_AdminSchedulerDetailsJsp, path_AdminScheduler_AdminSchedulerEditJsp, path_AdminScheduler_AdminSchedulerJsp, path_AdminSearchlist_AdminSearchlistEditJsp, path_AdminSearchlist_AdminSearchlistJsp, path_AdminSearchlog_AdminSearchlogDetailsJsp, path_AdminSearchlog_AdminSearchlogJsp, path_AdminSereq_AdminSereqJsp, path_AdminStorage_AdminStorageJsp, path_AdminStorage_AdminStorageTagEditJsp, path_AdminSuggest_AdminSuggestJsp, path_AdminSysteminfo_AdminSysteminfoJsp, path_AdminTheme_AdminThemeDetailsJsp, path_AdminTheme_AdminThemeJsp, path_AdminTheme_AdminThemeUploadJsp, path_AdminUser_AdminUserDetailsJsp, path_AdminUser_AdminUserEditJsp, path_AdminUser_AdminUserJsp, path_AdminWebauth_AdminWebauthDetailsJsp, path_AdminWebauth_AdminWebauthEditJsp, path_AdminWebauth_AdminWebauthJsp, path_AdminWebconfig_AdminWebconfigDetailsJsp, path_AdminWebconfig_AdminWebconfigEditJsp, path_AdminWebconfig_AdminWebconfigJsp, path_AdminWizard_AdminWizardConfigJsp, path_AdminWizard_AdminWizardJsp, path_AdminWizard_AdminWizardStartJsp, path_AdvanceJsp, path_Chat_ChatJsp, path_Error_BadRequestJsp, path_Error_BusyJsp, path_Error_ErrorJsp, path_Error_NotFoundJsp, path_Error_RedirectJsp, path_Error_SystemJsp, path_FooterJsp, path_HeaderJsp, path_HelpJsp, path_IndexJsp, path_Login_IndexJsp, path_Login_NewpasswordJsp, path_Profile_IndexJsp, path_SearchJsp, path_SearchNoResultJsp, path_SearchOptionsJsp, path_SearchResultsJsp
  • Constructor Summary

    Constructors
    Constructor
    Description
    Default constructor for AdminMaintenanceAction.
  • Method Summary

    Modifier and Type
    Method
    Description
    org.lastaflute.web.response.HtmlResponse
    Clears all crawler indices including queue, data, and filter indices.
    org.lastaflute.web.response.ActionResponse
    Downloads diagnostic logs and system information as a ZIP file.
    protected String
    Get the action role.
    protected String
    Gets host information including hostname and IP address.
    org.lastaflute.web.response.HtmlResponse
    Displays the main maintenance page.
    protected boolean
    Checks if the given filename is a log file based on its extension.
    org.lastaflute.web.response.HtmlResponse
    Rebuilds selected configuration indices with the latest mappings.
    org.lastaflute.web.response.HtmlResponse
    Starts a reindex operation based on the provided form parameters.
    org.lastaflute.web.response.HtmlResponse
    Reloads the document index by closing and reopening it.
    protected void
    setupHtmlData(org.lastaflute.web.ruts.process.ActionRuntime runtime)
    Sets up HTML data for admin pages.
    protected boolean
    startReindex(boolean replaceAliases, boolean resetDictionaries, String numberOfShards, String autoExpandReplicas)
    Starts a reindex operation with the specified parameters.
    protected void
    Writes a specific OpenSearch API response to the ZIP output stream.
    protected void
    Writes OpenSearch CAT API responses to the ZIP output stream.
    protected void
    Writes OpenSearch JSON API responses to the ZIP output stream.
    protected void
    Writes Fess basic configuration data in bulk format to the ZIP output stream.
    protected void
    Writes Fess configuration properties to the ZIP output stream.
    protected void
    Writes log files from the log directory to the ZIP output stream.
    protected void
    Writes system properties to the ZIP output stream.

    Methods inherited from class org.lastaflute.web.TypicalAction

    calculateSqlExecutionCountLimit, createGodHandEpilogue, createGodHandMonologue, createGodHandPrologue, createGodHandResource, createTooManySqlOption, defineSqlExecutionCountDefaultLimit, filterApplicationExceptionMessageValues, handleApplicationException, myTokenGroupType, newEmbeddedMessageKeySupplier, newGodHandEpilogue, newGodHandMonologue, newGodHandPrologue, saveToken, throwVerifiedClientError, throwVerifiedIllegalTransition, verifyOrClientError, verifyOrIllegalTransition, verifyToken, verifyTokenKeep

    Methods inherited from class org.lastaflute.web.LastaAction

    asHtml, asJson, assertArgumentNotNull, asStream, asXml, doCreateValidator, doForward, doRedirect, forward, forwardById, forwardByParam, forwardWith, hash, moreUrl, movedPermanently, myValidationGroups, newActionValidator, newHtmlResponseAsForward, newHtmlResponseAsForward, newHtmlResponseAsRedirect, newJsonResponse, newStreamResponse, newUrlChain, newXmlResponse, params, redirect, redirectById, redirectByParam, redirectWith, toActionUrl, toActionUrl

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.lastaflute.web.docs.LaActionDocs

    document0_Action, document2_OverridableSuperMethod, document3_InjectableLastaComponent, document4_InjectableQuickComponent, document8_WordDictionary

    Methods inherited from interface org.lastaflute.web.validation.LaValidatable

    throwValidationError, throwValidationErrorApi, validate, validateApi
  • Field Details

    • ROLE

      public static final String ROLE
      Role identifier for admin maintenance operations.
      See Also:
    • searchEngineClient

      protected SearchEngineClient searchEngineClient
      Search engine client for performing maintenance operations on indices.
  • Constructor Details

    • AdminMaintenanceAction

      public AdminMaintenanceAction()
      Default constructor for AdminMaintenanceAction.
  • Method Details

    • setupHtmlData

      protected void setupHtmlData(org.lastaflute.web.ruts.process.ActionRuntime runtime)
      Description copied from class: FessAdminAction
      Sets up HTML data for admin pages.

      This method configures common data needed for admin pages including editable flags, user roles, and forum links.

      Overrides:
      setupHtmlData in class FessAdminAction
      Parameters:
      runtime - the action runtime context
    • getActionRole

      protected String getActionRole()
      Description copied from class: FessAdminAction
      Get the action role.
      Specified by:
      getActionRole in class FessAdminAction
      Returns:
      The action role.
    • index

      @Execute @Secured({"admin-maintenance","admin-maintenance-view"}) public org.lastaflute.web.response.HtmlResponse index()
      Displays the main maintenance page.
      Returns:
      HTML response for the maintenance index page
    • reindexOnly

      @Execute @Secured("admin-maintenance") public org.lastaflute.web.response.HtmlResponse reindexOnly(ActionForm form)
      Starts a reindex operation based on the provided form parameters.
      Parameters:
      form - the action form containing reindex configuration
      Returns:
      HTML response redirecting to the maintenance page
    • reloadDocIndex

      @Execute @Secured("admin-maintenance") public org.lastaflute.web.response.HtmlResponse reloadDocIndex(ActionForm form)
      Reloads the document index by closing and reopening it.
      Parameters:
      form - the action form (validated but not used for configuration)
      Returns:
      HTML response redirecting to the maintenance page
    • clearCrawlerIndex

      @Execute @Secured("admin-maintenance") public org.lastaflute.web.response.HtmlResponse clearCrawlerIndex(ActionForm form)
      Clears all crawler indices including queue, data, and filter indices.
      Parameters:
      form - the action form (validated but not used for configuration)
      Returns:
      HTML response redirecting to the maintenance page
    • downloadLogs

      @Execute @Secured({"admin-maintenance","admin-maintenance-view"}) public org.lastaflute.web.response.ActionResponse downloadLogs(ActionForm form)
      Downloads diagnostic logs and system information as a ZIP file.
      Parameters:
      form - the action form (validated but not used for configuration)
      Returns:
      streaming response containing the diagnostic ZIP file
    • writeFesenJson

      protected void writeFesenJson(ZipOutputStream zos, String id)
      Writes OpenSearch JSON API responses to the ZIP output stream.
      Parameters:
      zos - the ZIP output stream to write to
      id - the diagnostic ID for organizing files in the ZIP
    • writeElastisearchJsonApi

      protected void writeElastisearchJsonApi(ZipOutputStream zos, String id, String v1, String v2)
      Writes a specific OpenSearch API response to the ZIP output stream.
      Parameters:
      zos - the ZIP output stream to write to
      id - the diagnostic ID for organizing files in the ZIP
      v1 - the first part of the API path (e.g., "cluster", "nodes")
      v2 - the second part of the API path (e.g., "health", "stats")
    • writeFesenCat

      protected void writeFesenCat(ZipOutputStream zos, String id)
      Writes OpenSearch CAT API responses to the ZIP output stream.
      Parameters:
      zos - the ZIP output stream to write to
      id - the diagnostic ID for organizing files in the ZIP
    • writeFessConfig

      protected void writeFessConfig(ZipOutputStream zos, String id)
      Writes Fess configuration properties to the ZIP output stream.
      Parameters:
      zos - the ZIP output stream to write to
      id - the diagnostic ID for organizing files in the ZIP
    • writeFessBasicConfig

      protected void writeFessBasicConfig(ZipOutputStream zos, String id)
      Writes Fess basic configuration data in bulk format to the ZIP output stream.
      Parameters:
      zos - the ZIP output stream to write to
      id - the diagnostic ID for organizing files in the ZIP
    • writeSystemProperties

      protected void writeSystemProperties(ZipOutputStream zos, String id)
      Writes system properties to the ZIP output stream.
      Parameters:
      zos - the ZIP output stream to write to
      id - the diagnostic ID for organizing files in the ZIP
    • writeLogFiles

      protected void writeLogFiles(ZipOutputStream zos, String id)
      Writes log files from the log directory to the ZIP output stream.
      Parameters:
      zos - the ZIP output stream to write to
      id - the diagnostic ID for organizing files in the ZIP
    • getHostInfo

      protected String getHostInfo()
      Gets host information including hostname and IP address.
      Returns:
      formatted string containing hostname and IP address
    • isLogFilename

      protected boolean isLogFilename(String name)
      Checks if the given filename is a log file based on its extension.
      Parameters:
      name - the filename to check
      Returns:
      true if the file is a log file (.log or .log.gz), false otherwise
    • reindexConfigIndices

      @Execute @Secured("admin-maintenance") public org.lastaflute.web.response.HtmlResponse reindexConfigIndices(ActionForm form)
      Rebuilds selected configuration indices with the latest mappings. Executes asynchronously in a background thread.
      Parameters:
      form - the action form containing the target index checkboxes and loadBulkData flag
      Returns:
      HTML response redirecting to the maintenance page
    • startReindex

      protected boolean startReindex(boolean replaceAliases, boolean resetDictionaries, String numberOfShards, String autoExpandReplicas)
      Starts a reindex operation with the specified parameters.
      Parameters:
      replaceAliases - whether to replace aliases after reindexing
      resetDictionaries - whether to reset dictionaries during reindexing
      numberOfShards - the number of shards for the new index
      autoExpandReplicas - the auto expand replicas setting for the new index
      Returns:
      true if the reindex operation started successfully, false otherwise