update to lastaflute 0.8.3-RC1

This commit is contained in:
Shinsuke Sugaya 2016-08-07 19:29:11 +09:00
parent c7e8f194dc
commit b3e07571f8
9 changed files with 25 additions and 14 deletions

View file

@ -40,7 +40,7 @@
<!-- Main Framework -->
<dbflute.version>1.1.1</dbflute.version>
<lastaflute.version>0.8.3-A-SNAPSHOT</lastaflute.version>
<lastaflute.version>0.8.3-RC1</lastaflute.version>
<lasta.taglib.version>0.7.0</lasta.taglib.version>
<lasta.job.version>0.2.2</lasta.job.version>
<mailflute.version>0.5.1</mailflute.version>

View file

@ -25,10 +25,12 @@ import org.codelibs.fess.mylasta.action.FessUserBean;
import org.codelibs.fess.mylasta.direction.FessConfig;
import org.dbflute.hook.AccessContext;
import org.dbflute.optional.OptionalThing;
import org.lastaflute.core.time.TimeManager;
import org.lastaflute.db.dbflute.accesscontext.AccessContextArranger;
import org.lastaflute.web.TypicalAction;
import org.lastaflute.web.response.ActionResponse;
import org.lastaflute.web.ruts.process.ActionRuntime;
import org.lastaflute.web.servlet.request.ResponseManager;
import org.lastaflute.web.servlet.session.SessionManager;
import org.lastaflute.web.validation.ActionValidator;
import org.lastaflute.web.validation.LaValidatable;
@ -64,6 +66,12 @@ public abstract class FessBaseAction extends TypicalAction // has several interf
@Resource
protected ActivityHelper activityHelper;
@Resource
protected ResponseManager responseManager;
@Resource
protected TimeManager timeManager;
// ===================================================================================
// Hook
// ======
@ -103,7 +111,7 @@ public abstract class FessBaseAction extends TypicalAction // has several interf
// fess does not use DBFlute, and this is unneeded so dummy
return resource -> {
final AccessContext context = new AccessContext();
context.setAccessLocalDateTimeProvider(() -> currentDateTime());
context.setAccessLocalDateTimeProvider(() -> timeManager.currentDateTime());
context.setAccessUserProvider(() -> "unused");
return context;
};
@ -114,7 +122,7 @@ public abstract class FessBaseAction extends TypicalAction // has several interf
// =========
@Override
protected OptionalThing<FessUserBean> getUserBean() { // to return as concrete class
return fessLoginAssist.getSessionUserBean();
return fessLoginAssist.getSavedUserBean();
}
@Override

View file

@ -133,7 +133,7 @@ public abstract class FessSearchAction extends FessBaseAction {
// Helpers
// =========
protected boolean isLoginRequired() {
if (fessConfig.isLoginRequired() && !fessLoginAssist.getSessionUserBean().isPresent()) {
if (fessConfig.isLoginRequired() && !fessLoginAssist.getSavedUserBean().isPresent()) {
return true;
}
return false;

View file

@ -113,7 +113,7 @@ public class FessLoginAssist extends TypicalLoginAssist<String, FessUserBean, Fe
@Override
protected void checkPermission(final LoginHandlingResource resource) throws LoginRequiredException {
if (resource.getActionClass().getName().startsWith(Constants.ADMIN_PACKAGE)) {
getSessionUserBean().ifPresent(user -> {
getSavedUserBean().ifPresent(user -> {
if (!user.hasRoles(fessConfig.getAuthenticationAdminRolesAsArray())) {
throw new UserRoleLoginException(RootAction.class);
}

View file

@ -65,16 +65,14 @@ public class ThumbnailAction extends FessSearchAction {
final String url = DocumentUtil.getValue(doc, fessConfig.getIndexFieldUrl(), String.class);
if (StringUtil.isBlank(form.queryId) || StringUtil.isBlank(url) || !thumbnailSupport) {
// 404
throw404("Thumbnail for " + form.docId + " is not found.");
return null;
throw responseManager.new404("Thumbnail for " + form.docId + " is not found.");
}
final File thumbnailFile = thumbnailManager.getThumbnailFile(form.queryId, form.docId);
if (thumbnailFile == null) {
// 404
thumbnailManager.generate(doc);
throw404("Thumbnail for " + form.docId + " is under generating.");
return null;
throw responseManager.new404("Thumbnail for " + form.docId + " is under generating.");
}
return asStream(form.docId).contentType(getImageMimeType(thumbnailFile)).stream(out -> {

View file

@ -23,7 +23,7 @@ import javax.annotation.PostConstruct;
import org.codelibs.core.lang.StringUtil;
import org.codelibs.fess.Constants;
import org.lastaflute.web.exception.ForcedRequest404NotFoundException;
import org.codelibs.fess.util.ComponentUtil;
import org.lastaflute.web.response.StreamResponse;
import org.lastaflute.web.util.LaServletContextUtil;
import org.slf4j.Logger;
@ -66,7 +66,7 @@ public class OpenSearchHelper {
public StreamResponse asStream() {
if (osddFile == null) {
throw new ForcedRequest404NotFoundException("Unsupported OpenSearch response.");
throw ComponentUtil.getResponseManager().new404("Unsupported OpenSearch response.");
}
return new StreamResponse(osddFile.getName()).contentType(contentType + "; charset=" + encoding).stream(out -> {

View file

@ -44,7 +44,6 @@ import org.codelibs.fess.suggest.Suggester;
import org.codelibs.fess.suggest.constants.FieldNames;
import org.codelibs.fess.suggest.entity.SuggestItem;
import org.codelibs.fess.suggest.index.contents.document.ESSourceReader;
import org.codelibs.fess.suggest.settings.AnalyzerSettings;
import org.codelibs.fess.suggest.settings.SuggestSettings;
import org.codelibs.fess.suggest.util.SuggestUtil;
import org.codelibs.fess.util.ComponentUtil;

View file

@ -33,8 +33,9 @@ import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.dbflute.helper.message.ExceptionMessageBuilder;
import org.lastaflute.core.message.UserMessages;
import org.lastaflute.web.LastaWebKey;
import org.lastaflute.web.exception.ForcedRequest404NotFoundException;
import org.lastaflute.web.exception.Forced404NotFoundException;
import org.lastaflute.web.ruts.config.ModuleConfig;
import org.lastaflute.web.ruts.multipart.MultipartFormFile;
import org.lastaflute.web.ruts.multipart.MultipartRequestHandler;
@ -144,7 +145,7 @@ public class FessMultipartRequestHandler implements MultipartRequestHandler {
br.addItem("Limit Size");
br.addElement(limitSize);
final String msg = br.buildExceptionMessage();
throw new ForcedRequest404NotFoundException(msg); // heavy attack!? so give no page to tell wasted action
throw new Forced404NotFoundException(msg, UserMessages.empty()); // heavy attack!? so give no page to tell wasted action
}
protected DiskFileItemFactory createDiskFileItemFactory() {

View file

@ -66,6 +66,7 @@ import org.lastaflute.di.core.factory.SingletonLaContainerFactory;
import org.lastaflute.di.core.smart.hot.HotdeployUtil;
import org.lastaflute.job.JobManager;
import org.lastaflute.web.servlet.request.RequestManager;
import org.lastaflute.web.servlet.request.ResponseManager;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -344,6 +345,10 @@ public final class ComponentUtil {
return getComponent(RequestManager.class);
}
public static ResponseManager getResponseManager() {
return getComponent(ResponseManager.class);
}
public static JobManager getJobManager() {
return getComponent(JobManager.class);
}