Class AdminThemeAction
- 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>
Provides list, detail inspection, upload, deletion, default-theme
assignment, and registry-reload flows for static themes. JSP themes are
managed via the plugin admin and are out of scope here.
Mutating endpoints require the admin-theme role; read-only
endpoints require admin-theme-view.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringRole identifier for theme administration (spec §5.2).Fields inherited from class org.codelibs.fess.app.web.base.FessAdminAction
crawlingConfigHelper, VIEWFields inherited from class org.codelibs.fess.app.web.base.FessBaseAction
accessTokenHelper, activityHelper, APP_TYPE, fessConfig, fessLoginAssist, requestManager, responseManager, sessionManager, systemHelper, timeManager, USER_TYPE, viewHelperFields inherited from class org.lastaflute.web.TypicalAction
GLOBALFields 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 -
Method Summary
Modifier and TypeMethodDescriptionorg.lastaflute.web.response.HtmlResponsedelete(ThemeDeleteForm form) Deletes a static theme via the installer.org.lastaflute.web.response.HtmlResponsedetails(ThemeDetailsForm form) Displays the theme details inspector for the given theme name.protected StringGet the action role.org.lastaflute.web.response.HtmlResponseindex(ThemeListForm form) Displays the theme management index page.org.lastaflute.web.response.HtmlResponsereload(ThemeListForm form) Reloads the in-memory theme registry from disk.org.lastaflute.web.response.HtmlResponsesetdefault(ThemeListForm form) Sets the default theme by writing it throughFessProp.setDefaultTheme(String).protected voidsetupHtmlData(org.lastaflute.web.ruts.process.ActionRuntime runtime) Sets up HTML data for admin pages.org.lastaflute.web.response.HtmlResponseupload(ThemeUploadForm form) Handles a static-theme ZIP upload.org.lastaflute.web.response.HtmlResponseDisplays the theme upload form page.Methods inherited from class org.codelibs.fess.app.web.base.FessAdminAction
document1_CallableSuperMethod, encodePermissions, getServletContext, godHandPrologue, hookBefore, hookFinally, myLoginManager, superGodHandPrologue, validateFilePath, verifyCrudMode, writeMethods inherited from class org.codelibs.fess.app.web.base.FessBaseAction
buildThrowableMessage, copyBeanToBean, copyBeanToNewBean, copyMapToBean, createMessages, createValidator, getUserBean, godHandEpilogue, godHandMonologue, isCheckboxEnabled, myAppType, myUserType, newAccessContextArranger, saveError, saveInfoMethods 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, verifyTokenKeepMethods 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, toActionUrlMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.lastaflute.web.docs.LaActionDocs
document0_Action, document2_OverridableSuperMethod, document3_InjectableLastaComponent, document4_InjectableQuickComponent, document8_WordDictionaryMethods inherited from interface org.lastaflute.web.validation.LaValidatable
throwValidationError, throwValidationErrorApi, validate, validateApi
-
Field Details
-
ROLE
Role identifier for theme administration (spec §5.2).The companion
admin-theme-viewrole is derived by the framework'sROLE + VIEWconvention (inherited fromFessAdminAction). Both roles are granted to the default admin user via the standard FessRadmin-*role derivation — no explicit seeding infess_config.propertiesis required.- See Also:
-
-
Constructor Details
-
AdminThemeAction
public AdminThemeAction()Default constructor.
-
-
Method Details
-
setupHtmlData
protected void setupHtmlData(org.lastaflute.web.ruts.process.ActionRuntime runtime) Description copied from class:FessAdminActionSets up HTML data for admin pages.This method configures common data needed for admin pages including editable flags, user roles, and forum links.
- Overrides:
setupHtmlDatain classFessAdminAction- Parameters:
runtime- the action runtime context
-
getActionRole
Description copied from class:FessAdminActionGet the action role.- Specified by:
getActionRolein classFessAdminAction- Returns:
- The action role.
-
index
@Execute @Secured({"admin-theme","admin-theme-view"}) public org.lastaflute.web.response.HtmlResponse index(ThemeListForm form) Displays the theme management index page.- Parameters:
form- the list form (carries the pre-populated default-theme value)- Returns:
- HTML response for the index page
-
details
@Execute @Secured({"admin-theme","admin-theme-view"}) public org.lastaflute.web.response.HtmlResponse details(ThemeDetailsForm form) Displays the theme details inspector for the given theme name.- Parameters:
form- the details form containing the target theme name- Returns:
- HTML response for the details page
-
reload
@Execute @Secured("admin-theme") public org.lastaflute.web.response.HtmlResponse reload(ThemeListForm form) Reloads the in-memory theme registry from disk.- Parameters:
form- the list form (used for re-rendering on error)- Returns:
- redirect to the theme index
-
uploadpage
Displays the theme upload form page.- Returns:
- HTML response for the upload form
-
upload
@Execute @Secured("admin-theme") public org.lastaflute.web.response.HtmlResponse upload(ThemeUploadForm form) Handles a static-theme ZIP upload. The file extension and size guard here are pre-flight checks at the Action layer (M-1 defense in depth); the installer enforces structural and size limits authoritatively.If the installer raises a
ThemeManifestException(wrapped inside anStaticThemeInstaller.InstallExceptionof codeMANIFEST_INVALID), the structuredcodeis used to surface a localized error key (seeerrors.theme_manifest_*) instead of the raw English diagnostic (M-14).- Parameters:
form- the multipart upload form- Returns:
- redirect to the theme index on success
-
delete
@Execute @Secured("admin-theme") public org.lastaflute.web.response.HtmlResponse delete(ThemeDeleteForm form) Deletes a static theme via the installer. The installer enforces that the theme is not the active default.- Parameters:
form- the delete form containing the theme name- Returns:
- redirect to the theme index
-
setdefault
@Execute @Secured("admin-theme") public org.lastaflute.web.response.HtmlResponse setdefault(ThemeListForm form) Sets the default theme by writing it throughFessProp.setDefaultTheme(String). An empty value clears the default. The registry is reloaded synchronously so the new default takes effect immediately.- Parameters:
form- the list form carrying the selected default theme name- Returns:
- redirect to the theme index
-