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);
}