diff --git a/pom.xml b/pom.xml index 1bea50aa4..3e79d28f9 100644 --- a/pom.xml +++ b/pom.xml @@ -40,7 +40,7 @@ 1.1.1 - 0.8.3-A-SNAPSHOT + 0.8.3-RC1 0.7.0 0.2.2 0.5.1 diff --git a/src/main/java/org/codelibs/fess/app/web/base/FessBaseAction.java b/src/main/java/org/codelibs/fess/app/web/base/FessBaseAction.java index 9d933b962..efea5fa79 100644 --- a/src/main/java/org/codelibs/fess/app/web/base/FessBaseAction.java +++ b/src/main/java/org/codelibs/fess/app/web/base/FessBaseAction.java @@ -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 getUserBean() { // to return as concrete class - return fessLoginAssist.getSessionUserBean(); + return fessLoginAssist.getSavedUserBean(); } @Override diff --git a/src/main/java/org/codelibs/fess/app/web/base/FessSearchAction.java b/src/main/java/org/codelibs/fess/app/web/base/FessSearchAction.java index f08e088a7..c36f3d181 100644 --- a/src/main/java/org/codelibs/fess/app/web/base/FessSearchAction.java +++ b/src/main/java/org/codelibs/fess/app/web/base/FessSearchAction.java @@ -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; diff --git a/src/main/java/org/codelibs/fess/app/web/base/login/FessLoginAssist.java b/src/main/java/org/codelibs/fess/app/web/base/login/FessLoginAssist.java index 86b9107fb..91fa27fe9 100644 --- a/src/main/java/org/codelibs/fess/app/web/base/login/FessLoginAssist.java +++ b/src/main/java/org/codelibs/fess/app/web/base/login/FessLoginAssist.java @@ -113,7 +113,7 @@ public class FessLoginAssist extends TypicalLoginAssist { + getSavedUserBean().ifPresent(user -> { if (!user.hasRoles(fessConfig.getAuthenticationAdminRolesAsArray())) { throw new UserRoleLoginException(RootAction.class); } diff --git a/src/main/java/org/codelibs/fess/app/web/thumbnail/ThumbnailAction.java b/src/main/java/org/codelibs/fess/app/web/thumbnail/ThumbnailAction.java index eb4b25860..e957a6cb8 100644 --- a/src/main/java/org/codelibs/fess/app/web/thumbnail/ThumbnailAction.java +++ b/src/main/java/org/codelibs/fess/app/web/thumbnail/ThumbnailAction.java @@ -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 -> { diff --git a/src/main/java/org/codelibs/fess/helper/OpenSearchHelper.java b/src/main/java/org/codelibs/fess/helper/OpenSearchHelper.java index 664c39aaf..065258679 100644 --- a/src/main/java/org/codelibs/fess/helper/OpenSearchHelper.java +++ b/src/main/java/org/codelibs/fess/helper/OpenSearchHelper.java @@ -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 -> { diff --git a/src/main/java/org/codelibs/fess/helper/SuggestHelper.java b/src/main/java/org/codelibs/fess/helper/SuggestHelper.java index 6adbec7d8..e59726b8e 100644 --- a/src/main/java/org/codelibs/fess/helper/SuggestHelper.java +++ b/src/main/java/org/codelibs/fess/helper/SuggestHelper.java @@ -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; diff --git a/src/main/java/org/codelibs/fess/mylasta/direction/sponsor/FessMultipartRequestHandler.java b/src/main/java/org/codelibs/fess/mylasta/direction/sponsor/FessMultipartRequestHandler.java index 82c3e668b..036176371 100644 --- a/src/main/java/org/codelibs/fess/mylasta/direction/sponsor/FessMultipartRequestHandler.java +++ b/src/main/java/org/codelibs/fess/mylasta/direction/sponsor/FessMultipartRequestHandler.java @@ -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() { diff --git a/src/main/java/org/codelibs/fess/util/ComponentUtil.java b/src/main/java/org/codelibs/fess/util/ComponentUtil.java index 4e2242704..9ab685baf 100644 --- a/src/main/java/org/codelibs/fess/util/ComponentUtil.java +++ b/src/main/java/org/codelibs/fess/util/ComponentUtil.java @@ -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); }