diff --git a/src/main/java/org/codelibs/fess/app/web/base/FessAdminAction.java b/src/main/java/org/codelibs/fess/app/web/base/FessAdminAction.java index a977c0b64..066b32763 100644 --- a/src/main/java/org/codelibs/fess/app/web/base/FessAdminAction.java +++ b/src/main/java/org/codelibs/fess/app/web/base/FessAdminAction.java @@ -25,11 +25,15 @@ import org.codelibs.core.beans.util.CopyOptions; import org.codelibs.fess.exception.UserRoleLoginException; import org.codelibs.fess.helper.SystemHelper; import org.dbflute.optional.OptionalThing; +import org.lastaflute.core.message.MessageManager; +import org.lastaflute.core.message.UserMessages; import org.lastaflute.di.util.LdiFileUtil; import org.lastaflute.web.login.LoginManager; import org.lastaflute.web.response.ActionResponse; import org.lastaflute.web.ruts.process.ActionRuntime; +import org.lastaflute.web.servlet.request.RequestManager; import org.lastaflute.web.util.LaServletContextUtil; +import org.lastaflute.web.validation.ActionValidator; /** * @author codelibs @@ -44,6 +48,12 @@ public abstract class FessAdminAction extends FessBaseAction { @Resource protected SystemHelper systemHelper; + @Resource + private MessageManager messageManager; + + @Resource + private RequestManager requestManager; + // =================================================================================== // Small Helper // ============ @@ -76,6 +86,16 @@ public abstract class FessAdminAction extends FessBaseAction { return buf.toString(); } + @SuppressWarnings("unchecked") + @Override + protected ActionValidator createValidator(Class... groups) { // for explicit groups + return systemHelper.createValidator(messageManager // to get validation message + , () -> requestManager.getUserLocale() // used with messageManager + , () -> (MESSAGES) createMessages() // for new user messages + , () -> handleApiValidationError() // apiFailureHook + , groups); + } + // =================================================================================== // Document // ======== diff --git a/src/main/java/org/codelibs/fess/helper/SystemHelper.java b/src/main/java/org/codelibs/fess/helper/SystemHelper.java index 770c5e658..02aed669e 100644 --- a/src/main/java/org/codelibs/fess/helper/SystemHelper.java +++ b/src/main/java/org/codelibs/fess/helper/SystemHelper.java @@ -47,9 +47,15 @@ import org.codelibs.fess.crawler.util.CharUtil; import org.codelibs.fess.mylasta.action.FessUserBean; import org.codelibs.fess.mylasta.direction.FessConfig; import org.codelibs.fess.util.ComponentUtil; +import org.lastaflute.core.message.MessageManager; +import org.lastaflute.core.message.UserMessages; +import org.lastaflute.core.message.supplier.MessageLocaleProvider; +import org.lastaflute.core.message.supplier.UserMessagesCreator; import org.lastaflute.web.TypicalAction; import org.lastaflute.web.ruts.process.ActionRuntime; import org.lastaflute.web.servlet.request.RequestManager; +import org.lastaflute.web.validation.ActionValidator; +import org.lastaflute.web.validation.VaErrorHook; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -316,4 +322,10 @@ public class SystemHelper { return previousClusterState.getAndSet(status) != status; } + public ActionValidator createValidator(MessageManager messageManager, + MessageLocaleProvider messageLocaleProvider, UserMessagesCreator userMessagesCreator, VaErrorHook apiFailureHook, + Class... runtimeGroups) { + return new ActionValidator(messageManager, messageLocaleProvider, userMessagesCreator, apiFailureHook, runtimeGroups); + } + }