fix #871 make ActionValidator customizable
This commit is contained in:
parent
bdc0f9aab7
commit
defe812876
2 changed files with 32 additions and 0 deletions
|
@ -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 <MESSAGES extends UserMessages> ActionValidator<MESSAGES> 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
|
||||
// ========
|
||||
|
|
|
@ -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 <MESSAGES extends UserMessages> ActionValidator<MESSAGES> createValidator(MessageManager messageManager,
|
||||
MessageLocaleProvider messageLocaleProvider, UserMessagesCreator<MESSAGES> userMessagesCreator, VaErrorHook apiFailureHook,
|
||||
Class<?>... runtimeGroups) {
|
||||
return new ActionValidator<MESSAGES>(messageManager, messageLocaleProvider, userMessagesCreator, apiFailureHook, runtimeGroups);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue