diff --git a/pom.xml b/pom.xml index 274c9831e..468501a63 100644 --- a/pom.xml +++ b/pom.xml @@ -41,7 +41,7 @@ 1.1.0-sp9 - 0.7.3-RC2 + 0.7.3 0.6.6 3.1.0 2.3.1 @@ -56,7 +56,7 @@ 4.12 - 0.6.0B-RC3 + 0.6.0B 1.0.2-SNAPSHOT diff --git a/src/main/java/org/codelibs/fess/api/es/EsApiManager.java b/src/main/java/org/codelibs/fess/api/es/EsApiManager.java index 59d1fb5fa..b1a4b683d 100644 --- a/src/main/java/org/codelibs/fess/api/es/EsApiManager.java +++ b/src/main/java/org/codelibs/fess/api/es/EsApiManager.java @@ -37,11 +37,12 @@ import org.codelibs.elasticsearch.runner.net.Curl.Method; import org.codelibs.elasticsearch.runner.net.CurlRequest; import org.codelibs.fess.Constants; import org.codelibs.fess.api.BaseApiManager; -import org.codelibs.fess.app.web.base.login.FessLoginAssist; import org.codelibs.fess.exception.FessSystemException; import org.codelibs.fess.exception.WebApiException; +import org.codelibs.fess.mylasta.action.FessUserBean; import org.codelibs.fess.util.ComponentUtil; import org.codelibs.fess.util.ResourceUtil; +import org.lastaflute.web.servlet.request.RequestManager; import org.lastaflute.web.servlet.session.SessionManager; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -64,8 +65,9 @@ public class EsApiManager extends BaseApiManager { public boolean matches(final HttpServletRequest request) { final String servletPath = request.getServletPath(); if (servletPath.startsWith(pathPrefix)) { - final FessLoginAssist loginAssist = ComponentUtil.getComponent(FessLoginAssist.class); - return loginAssist.getSessionUserBean().map(user -> user.hasRoles(acceptedRoles)).orElseGet(() -> Boolean.FALSE).booleanValue(); + final RequestManager requestManager = ComponentUtil.getRequestManager(); + return requestManager.findUserBean(FessUserBean.class).map(user -> user.hasRoles(acceptedRoles)).orElseGet(() -> Boolean.FALSE) + .booleanValue(); } return false; } diff --git a/src/main/java/org/codelibs/fess/app/service/SearchService.java b/src/main/java/org/codelibs/fess/app/service/SearchService.java index 1ceac0e27..e63eefaa9 100644 --- a/src/main/java/org/codelibs/fess/app/service/SearchService.java +++ b/src/main/java/org/codelibs/fess/app/service/SearchService.java @@ -33,7 +33,6 @@ import org.apache.commons.lang3.StringUtils; import org.codelibs.core.lang.StringUtil; import org.codelibs.core.misc.DynamicProperties; import org.codelibs.fess.Constants; -import org.codelibs.fess.app.web.base.login.FessLoginAssist; import org.codelibs.fess.entity.QueryContext; import org.codelibs.fess.entity.SearchRenderData; import org.codelibs.fess.entity.SearchRequestParams; @@ -46,6 +45,7 @@ import org.codelibs.fess.helper.RoleQueryHelper; import org.codelibs.fess.helper.SearchLogHelper; import org.codelibs.fess.helper.SystemHelper; import org.codelibs.fess.helper.UserInfoHelper; +import org.codelibs.fess.mylasta.action.FessUserBean; import org.codelibs.fess.mylasta.direction.FessConfig; import org.codelibs.fess.util.ComponentUtil; import org.codelibs.fess.util.QueryResponseList; @@ -217,7 +217,7 @@ public class SearchService { searchLog.setRequestedAt(requestedTime); searchLog.setQueryOffset(pageStart); searchLog.setQueryPageSize(pageSize); - ComponentUtil.getComponent(FessLoginAssist.class).getSessionUserBean().ifPresent(user -> { + ComponentUtil.getRequestManager().findUserBean(FessUserBean.class).ifPresent(user -> { searchLog.setUser(user.getUserId()); }); diff --git a/src/main/java/org/codelibs/fess/app/web/RootAction.java b/src/main/java/org/codelibs/fess/app/web/RootAction.java index 2ca6c577c..632c94d68 100644 --- a/src/main/java/org/codelibs/fess/app/web/RootAction.java +++ b/src/main/java/org/codelibs/fess/app/web/RootAction.java @@ -16,6 +16,7 @@ package org.codelibs.fess.app.web; import org.codelibs.fess.app.web.base.FessSearchAction; +import org.codelibs.fess.app.web.base.SearchForm; import org.lastaflute.web.Execute; import org.lastaflute.web.response.HtmlResponse; diff --git a/src/main/java/org/codelibs/fess/app/web/admin/general/AdminGeneralAction.java b/src/main/java/org/codelibs/fess/app/web/admin/general/AdminGeneralAction.java index f222db943..0cbd0b03c 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/general/AdminGeneralAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/general/AdminGeneralAction.java @@ -94,7 +94,7 @@ public class AdminGeneralAction extends FessAdminAction { dataMap.put("hostname", "UNKNOWN"); } - final FessConfig fessConfig = ComponentUtil.getComponent(FessConfig.class); + final FessConfig fessConfig = ComponentUtil.getFessConfig(); final Postbox postbox = ComponentUtil.getComponent(Postbox.class); try { TestmailPostcard.droppedInto(postbox, postcard -> { diff --git a/src/main/java/org/codelibs/fess/app/web/SearchForm.java b/src/main/java/org/codelibs/fess/app/web/base/SearchForm.java similarity index 98% rename from src/main/java/org/codelibs/fess/app/web/SearchForm.java rename to src/main/java/org/codelibs/fess/app/web/base/SearchForm.java index ea6c495ba..378d2160e 100644 --- a/src/main/java/org/codelibs/fess/app/web/SearchForm.java +++ b/src/main/java/org/codelibs/fess/app/web/base/SearchForm.java @@ -13,7 +13,7 @@ * either express or implied. See the License for the specific language * governing permissions and limitations under the License. */ -package org.codelibs.fess.app.web; +package org.codelibs.fess.app.web.base; import java.io.Serializable; import java.util.HashMap; 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 94834e643..fce51d86a 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 @@ -31,7 +31,7 @@ import org.dbflute.optional.OptionalThing; import org.lastaflute.core.magic.async.AsyncManager; import org.lastaflute.core.time.TimeManager; import org.lastaflute.web.login.LoginHandlingResource; -import org.lastaflute.web.login.LoginManager; +import org.lastaflute.web.login.PrimaryLoginManager; import org.lastaflute.web.login.TypicalLoginAssist; import org.lastaflute.web.login.exception.LoginRequiredException; import org.lastaflute.web.login.option.LoginSpecifiedOption; @@ -41,7 +41,7 @@ import org.lastaflute.web.login.option.LoginSpecifiedOption; * @author shinsuke */ public class FessLoginAssist extends TypicalLoginAssist // #change_it also UserBean - implements LoginManager { + implements PrimaryLoginManager { // =================================================================================== // Attribute diff --git a/src/main/java/org/codelibs/fess/app/web/help/HelpAction.java b/src/main/java/org/codelibs/fess/app/web/help/HelpAction.java index ffedd9b27..83f38d51e 100644 --- a/src/main/java/org/codelibs/fess/app/web/help/HelpAction.java +++ b/src/main/java/org/codelibs/fess/app/web/help/HelpAction.java @@ -15,8 +15,8 @@ */ package org.codelibs.fess.app.web.help; -import org.codelibs.fess.app.web.SearchForm; import org.codelibs.fess.app.web.base.FessSearchAction; +import org.codelibs.fess.app.web.base.SearchForm; import org.codelibs.fess.util.RenderDataUtil; import org.lastaflute.web.Execute; import org.lastaflute.web.response.HtmlResponse; diff --git a/src/main/java/org/codelibs/fess/app/web/search/SearchAction.java b/src/main/java/org/codelibs/fess/app/web/search/SearchAction.java index a5037373b..2618ccc59 100644 --- a/src/main/java/org/codelibs/fess/app/web/search/SearchAction.java +++ b/src/main/java/org/codelibs/fess/app/web/search/SearchAction.java @@ -27,8 +27,8 @@ import javax.servlet.http.HttpSession; import org.codelibs.core.lang.StringUtil; import org.codelibs.fess.Constants; import org.codelibs.fess.app.service.SearchService; -import org.codelibs.fess.app.web.SearchForm; import org.codelibs.fess.app.web.base.FessSearchAction; +import org.codelibs.fess.app.web.base.SearchForm; import org.codelibs.fess.entity.SearchRenderData; import org.codelibs.fess.exception.InvalidQueryException; import org.codelibs.fess.exception.ResultOffsetExceededException; diff --git a/src/main/java/org/codelibs/fess/exec/Crawler.java b/src/main/java/org/codelibs/fess/exec/Crawler.java index ffc2d2f00..c1ddaea95 100644 --- a/src/main/java/org/codelibs/fess/exec/Crawler.java +++ b/src/main/java/org/codelibs/fess/exec/Crawler.java @@ -290,7 +290,7 @@ public class Crawler implements Serializable { // ignore } - final FessConfig fessConfig = ComponentUtil.getComponent(FessConfig.class); + final FessConfig fessConfig = ComponentUtil.getFessConfig(); final Postbox postbox = ComponentUtil.getComponent(Postbox.class); CrawlerPostcard.droppedInto(postbox, postcard -> { postcard.setFrom(fessConfig.getMailFromAddress(), fessConfig.getMailFromName()); diff --git a/src/main/java/org/codelibs/fess/helper/SystemHelper.java b/src/main/java/org/codelibs/fess/helper/SystemHelper.java index 2116ac188..bdc32fd0d 100644 --- a/src/main/java/org/codelibs/fess/helper/SystemHelper.java +++ b/src/main/java/org/codelibs/fess/helper/SystemHelper.java @@ -41,11 +41,12 @@ import org.apache.commons.lang3.StringUtils; import org.codelibs.core.lang.StringUtil; import org.codelibs.fess.Constants; import org.codelibs.fess.app.service.RoleTypeService; -import org.codelibs.fess.app.web.base.login.FessLoginAssist; import org.codelibs.fess.crawler.util.CharUtil; import org.codelibs.fess.es.config.exentity.RoleType; +import org.codelibs.fess.mylasta.action.FessUserBean; import org.codelibs.fess.util.ComponentUtil; import org.lastaflute.di.core.SingletonLaContainer; +import org.lastaflute.web.servlet.request.RequestManager; import org.lastaflute.web.util.LaRequestUtil; import com.google.common.cache.CacheBuilder; @@ -114,7 +115,8 @@ public class SystemHelper implements Serializable { } public String getUsername() { - return ComponentUtil.getComponent(FessLoginAssist.class).getSessionUserBean().map(user -> { + final RequestManager requestManager = ComponentUtil.getRequestManager(); + return requestManager.findUserBean(FessUserBean.class).map(user -> { return user.getUserId(); }).orElse(Constants.GUEST_USER); } diff --git a/src/main/java/org/codelibs/fess/helper/impl/RoleQueryHelperImpl.java b/src/main/java/org/codelibs/fess/helper/impl/RoleQueryHelperImpl.java index 95a7f6f1d..964b5051b 100644 --- a/src/main/java/org/codelibs/fess/helper/impl/RoleQueryHelperImpl.java +++ b/src/main/java/org/codelibs/fess/helper/impl/RoleQueryHelperImpl.java @@ -30,10 +30,11 @@ import javax.servlet.http.HttpServletRequest; import org.codelibs.core.crypto.CachedCipher; import org.codelibs.core.lang.StringUtil; -import org.codelibs.fess.app.web.base.login.FessLoginAssist; import org.codelibs.fess.helper.RoleQueryHelper; +import org.codelibs.fess.mylasta.action.FessUserBean; import org.codelibs.fess.util.ComponentUtil; import org.codelibs.fess.util.StreamUtil; +import org.lastaflute.web.servlet.request.RequestManager; import org.lastaflute.web.util.LaRequestUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -110,8 +111,9 @@ public class RoleQueryHelperImpl implements RoleQueryHelper, Serializable { roleList.addAll(buildByCookieNameMapping(request)); } - final FessLoginAssist fessLoginAssist = ComponentUtil.getComponent(FessLoginAssist.class); - fessLoginAssist.getSessionUserBean().ifPresent(fessUserBean -> StreamUtil.of(fessUserBean.getRoles()).forEach(roleList::add)); + final RequestManager requestManager = ComponentUtil.getRequestManager(); + requestManager.findUserBean(FessUserBean.class).ifPresent( + fessUserBean -> StreamUtil.of(fessUserBean.getRoles()).forEach(roleList::add)); if (defaultRoleList != null) { roleList.addAll(defaultRoleList); diff --git a/src/main/java/org/codelibs/fess/util/ComponentUtil.java b/src/main/java/org/codelibs/fess/util/ComponentUtil.java index f92999702..9b9ecaca8 100644 --- a/src/main/java/org/codelibs/fess/util/ComponentUtil.java +++ b/src/main/java/org/codelibs/fess/util/ComponentUtil.java @@ -52,6 +52,7 @@ import org.codelibs.fess.mylasta.direction.FessConfig; import org.lastaflute.core.message.MessageManager; import org.lastaflute.di.core.SingletonLaContainer; import org.lastaflute.di.core.factory.SingletonLaContainerFactory; +import org.lastaflute.web.servlet.request.RequestManager; public final class ComponentUtil { private static final String LDAP_MANAGER = "ldapManager"; @@ -269,10 +270,6 @@ public final class ComponentUtil { return SingletonLaContainer.getComponent(FessConfig.class); } - public static T getComponent(final Class clazz) { - return SingletonLaContainer.getComponent(clazz); - } - public static SuggestHelper getSuggestHelper() { return SingletonLaContainer.getComponent(SUGGEST_HELPER); } @@ -285,7 +282,16 @@ public final class ComponentUtil { return SingletonLaContainer.getComponent(LDAP_MANAGER); } + public static RequestManager getRequestManager() { + return SingletonLaContainer.getComponent(RequestManager.class); + } + + public static T getComponent(final Class clazz) { + return SingletonLaContainer.getComponent(clazz); + } + public static boolean hasQueryHelper() { return SingletonLaContainerFactory.getContainer().hasComponentDef(QUERY_HELPER); } + }