Merge pull request #354 from codelibs/10.0.x

10.0.x
This commit is contained in:
Shinsuke Sugaya 2016-02-07 14:30:39 +09:00
commit 91b67174eb
40 changed files with 32 additions and 341 deletions

View file

@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.codelibs.fess</groupId>
<artifactId>fess</artifactId>
<version>10.1.0-SNAPSHOT</version>
<version>10.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>Fess</name>
<description>Fess is Full tExt Search System.</description>

View file

@ -20,13 +20,10 @@ import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import org.codelibs.core.lang.StringUtil;
import org.codelibs.elasticsearch.runner.net.Curl;
import org.codelibs.elasticsearch.runner.net.CurlResponse;
import org.codelibs.fess.app.web.base.FessAdminAction;
import org.codelibs.fess.helper.SystemHelper;
import org.codelibs.fess.util.RenderDataUtil;
import org.codelibs.fess.util.ResourceUtil;
import org.codelibs.fess.util.StreamUtil;
@ -40,9 +37,6 @@ import org.lastaflute.web.ruts.process.ActionRuntime;
*/
public class AdminBackupAction extends FessAdminAction {
@Resource
private SystemHelper systemHelper;
@Override
protected void setupHtmlData(final ActionRuntime runtime) {
super.setupHtmlData(runtime);

View file

@ -36,7 +36,6 @@ import org.codelibs.fess.app.web.base.FessAdminAction;
import org.codelibs.fess.es.config.exentity.BadWord;
import org.codelibs.fess.exception.FessSystemException;
import org.codelibs.fess.helper.SuggestHelper;
import org.codelibs.fess.helper.SystemHelper;
import org.codelibs.fess.util.RenderDataUtil;
import org.dbflute.optional.OptionalEntity;
import org.dbflute.optional.OptionalThing;
@ -59,8 +58,6 @@ public class AdminBadwordAction extends FessAdminAction {
@Resource
private BadWordPager badWordPager;
@Resource
private SystemHelper systemHelper;
@Resource
protected DynamicProperties systemProperties;
@Resource
protected SuggestHelper suggestHelper;

View file

@ -23,7 +23,6 @@ import org.codelibs.fess.app.service.BoostDocumentRuleService;
import org.codelibs.fess.app.web.CrudMode;
import org.codelibs.fess.app.web.base.FessAdminAction;
import org.codelibs.fess.es.config.exentity.BoostDocumentRule;
import org.codelibs.fess.helper.SystemHelper;
import org.codelibs.fess.util.RenderDataUtil;
import org.dbflute.optional.OptionalEntity;
import org.dbflute.optional.OptionalThing;
@ -44,8 +43,6 @@ public class AdminBoostdocAction extends FessAdminAction {
private BoostDocumentRuleService boostDocumentRuleService;
@Resource
private BoostDocPager boostDocPager;
@Resource
private SystemHelper systemHelper;
// ===================================================================================
// Hook

View file

@ -23,7 +23,6 @@ import org.codelibs.fess.app.service.CrawlingInfoService;
import org.codelibs.fess.app.web.CrudMode;
import org.codelibs.fess.app.web.base.FessAdminAction;
import org.codelibs.fess.helper.ProcessHelper;
import org.codelibs.fess.helper.SystemHelper;
import org.codelibs.fess.util.RenderDataUtil;
import org.lastaflute.web.Execute;
import org.lastaflute.web.response.HtmlResponse;
@ -44,8 +43,6 @@ public class AdminCrawlinginfoAction extends FessAdminAction {
@Resource
private CrawlingInfoPager crawlingInfoPager;
@Resource
private SystemHelper systemHelper;
@Resource
protected ProcessHelper processHelper;
// ===================================================================================

View file

@ -19,7 +19,6 @@ import javax.annotation.Resource;
import org.codelibs.fess.api.es.EsApiManager;
import org.codelibs.fess.app.web.base.FessAdminAction;
import org.codelibs.fess.helper.SystemHelper;
import org.codelibs.fess.util.RenderDataUtil;
import org.lastaflute.web.Execute;
import org.lastaflute.web.response.HtmlResponse;
@ -35,9 +34,6 @@ public class AdminDashboardAction extends FessAdminAction {
// Attribute
// =========
@Resource
protected SystemHelper systemHelper;
@Resource
protected EsApiManager esApiManager;

View file

@ -31,7 +31,6 @@ import org.codelibs.fess.app.web.CrudMode;
import org.codelibs.fess.app.web.base.FessAdminAction;
import org.codelibs.fess.ds.DataStoreFactory;
import org.codelibs.fess.es.config.exentity.DataConfig;
import org.codelibs.fess.helper.SystemHelper;
import org.codelibs.fess.util.RenderDataUtil;
import org.dbflute.optional.OptionalEntity;
import org.dbflute.optional.OptionalThing;
@ -59,8 +58,6 @@ public class AdminDataconfigAction extends FessAdminAction {
private LabelTypeService labelTypeService;
@Resource
protected DataStoreFactory dataStoreFactory;
@Resource
private SystemHelper systemHelper;
// ===================================================================================
// Hook

View file

@ -32,7 +32,6 @@ import org.codelibs.core.misc.DynamicProperties;
import org.codelibs.fess.Constants;
import org.codelibs.fess.app.web.base.FessAdminAction;
import org.codelibs.fess.exception.FessSystemException;
import org.codelibs.fess.helper.SystemHelper;
import org.dbflute.optional.OptionalEntity;
import org.lastaflute.web.Execute;
import org.lastaflute.web.response.ActionResponse;
@ -56,8 +55,6 @@ public class AdminDesignAction extends FessAdminAction implements Serializable {
// =========
@Resource
private DynamicProperties systemProperties;
@Resource
private SystemHelper systemHelper;
// ===================================================================================
// Hook

View file

@ -21,7 +21,6 @@ import org.codelibs.fess.app.web.base.FessAdminAction;
import org.codelibs.fess.dict.DictionaryFile;
import org.codelibs.fess.dict.DictionaryItem;
import org.codelibs.fess.dict.DictionaryManager;
import org.codelibs.fess.helper.SystemHelper;
import org.codelibs.fess.util.RenderDataUtil;
import org.lastaflute.web.Execute;
import org.lastaflute.web.response.HtmlResponse;
@ -36,8 +35,6 @@ public class AdminDictAction extends FessAdminAction {
// Attribute
// =========
@Resource
protected SystemHelper systemHelper;
@Resource
protected DictionaryManager dictionaryManager;
// ===================================================================================

View file

@ -31,7 +31,6 @@ import org.codelibs.fess.app.web.CrudMode;
import org.codelibs.fess.app.web.admin.dict.AdminDictAction;
import org.codelibs.fess.app.web.base.FessAdminAction;
import org.codelibs.fess.dict.kuromoji.KuromojiItem;
import org.codelibs.fess.helper.SystemHelper;
import org.codelibs.fess.util.RenderDataUtil;
import org.dbflute.optional.OptionalEntity;
import org.dbflute.optional.OptionalThing;
@ -55,8 +54,6 @@ public class AdminDictKuromojiAction extends FessAdminAction {
@Resource
private KuromojiPager kuromojiPager;
@Resource
private SystemHelper systemHelper;
@Resource
protected DynamicProperties systemProperties;
// ===================================================================================

View file

@ -33,7 +33,6 @@ import org.codelibs.fess.app.web.CrudMode;
import org.codelibs.fess.app.web.admin.dict.AdminDictAction;
import org.codelibs.fess.app.web.base.FessAdminAction;
import org.codelibs.fess.dict.synonym.SynonymItem;
import org.codelibs.fess.helper.SystemHelper;
import org.codelibs.fess.util.RenderDataUtil;
import org.dbflute.optional.OptionalEntity;
import org.dbflute.optional.OptionalThing;
@ -58,8 +57,6 @@ public class AdminDictSynonymAction extends FessAdminAction {
@Resource
private SynonymPager synonymPager;
@Resource
private SystemHelper systemHelper;
@Resource
protected DynamicProperties systemProperties;
// ===================================================================================

View file

@ -23,7 +23,6 @@ import org.codelibs.fess.app.service.DuplicateHostService;
import org.codelibs.fess.app.web.CrudMode;
import org.codelibs.fess.app.web.base.FessAdminAction;
import org.codelibs.fess.es.config.exentity.DuplicateHost;
import org.codelibs.fess.helper.SystemHelper;
import org.codelibs.fess.util.RenderDataUtil;
import org.dbflute.optional.OptionalEntity;
import org.dbflute.optional.OptionalThing;
@ -45,8 +44,6 @@ public class AdminDuplicatehostAction extends FessAdminAction {
private DuplicateHostService duplicateHostService;
@Resource
private DuplicateHostPager duplicateHostPager;
@Resource
private SystemHelper systemHelper;
// ===================================================================================
// Hook

View file

@ -37,7 +37,6 @@ import org.codelibs.fess.app.web.base.FessAdminAction;
import org.codelibs.fess.es.config.exentity.ElevateWord;
import org.codelibs.fess.exception.FessSystemException;
import org.codelibs.fess.helper.SuggestHelper;
import org.codelibs.fess.helper.SystemHelper;
import org.codelibs.fess.util.RenderDataUtil;
import org.dbflute.optional.OptionalEntity;
import org.dbflute.optional.OptionalThing;
@ -60,8 +59,6 @@ public class AdminElevatewordAction extends FessAdminAction {
@Resource
private ElevateWordPager elevateWordPager;
@Resource
private SystemHelper systemHelper;
@Resource
protected DynamicProperties systemProperties;
@Resource
protected SuggestHelper suggestHelper;

View file

@ -22,7 +22,6 @@ import org.codelibs.fess.app.pager.FailureUrlPager;
import org.codelibs.fess.app.service.FailureUrlService;
import org.codelibs.fess.app.web.CrudMode;
import org.codelibs.fess.app.web.base.FessAdminAction;
import org.codelibs.fess.helper.SystemHelper;
import org.codelibs.fess.util.RenderDataUtil;
import org.lastaflute.web.Execute;
import org.lastaflute.web.response.HtmlResponse;
@ -42,8 +41,6 @@ public class AdminFailureurlAction extends FessAdminAction {
private FailureUrlService failureUrlService;
@Resource
private FailureUrlPager failureUrlPager;
@Resource
private SystemHelper systemHelper;
// ===================================================================================
// Hook

View file

@ -31,7 +31,6 @@ import org.codelibs.fess.app.web.CrudMode;
import org.codelibs.fess.app.web.base.FessAdminAction;
import org.codelibs.fess.es.config.exentity.FileAuthentication;
import org.codelibs.fess.es.config.exentity.FileConfig;
import org.codelibs.fess.helper.SystemHelper;
import org.codelibs.fess.util.ComponentUtil;
import org.codelibs.fess.util.RenderDataUtil;
import org.dbflute.optional.OptionalEntity;
@ -55,8 +54,6 @@ public class AdminFileauthAction extends FessAdminAction {
private FileAuthenticationService fileAuthenticationService;
@Resource
private FileAuthPager fileAuthenticationPager;
@Resource
private SystemHelper systemHelper;
@Resource
protected FileConfigService fileConfigService;

View file

@ -25,7 +25,6 @@ import org.codelibs.fess.app.service.RoleTypeService;
import org.codelibs.fess.app.web.CrudMode;
import org.codelibs.fess.app.web.base.FessAdminAction;
import org.codelibs.fess.es.config.exentity.FileConfig;
import org.codelibs.fess.helper.SystemHelper;
import org.codelibs.fess.util.RenderDataUtil;
import org.dbflute.optional.OptionalEntity;
import org.dbflute.optional.OptionalThing;
@ -51,8 +50,6 @@ public class AdminFileconfigAction extends FessAdminAction {
private RoleTypeService roleTypeService;
@Resource
private LabelTypeService labelTypeService;
@Resource
private SystemHelper systemHelper;
// ===================================================================================
// Hook

View file

@ -27,7 +27,6 @@ import org.codelibs.core.lang.StringUtil;
import org.codelibs.core.misc.DynamicProperties;
import org.codelibs.fess.Constants;
import org.codelibs.fess.app.web.base.FessAdminAction;
import org.codelibs.fess.helper.SystemHelper;
import org.codelibs.fess.mylasta.direction.FessConfig;
import org.codelibs.fess.mylasta.mail.TestmailPostcard;
import org.codelibs.fess.util.ComponentUtil;
@ -52,8 +51,6 @@ public class AdminGeneralAction extends FessAdminAction {
// =========
@Resource
protected DynamicProperties systemProperties;
@Resource
protected SystemHelper systemHelper;
// ===================================================================================
// Hook

View file

@ -25,7 +25,6 @@ import org.codelibs.fess.app.service.GroupService;
import org.codelibs.fess.app.web.CrudMode;
import org.codelibs.fess.app.web.base.FessAdminAction;
import org.codelibs.fess.es.user.exentity.Group;
import org.codelibs.fess.helper.SystemHelper;
import org.codelibs.fess.util.RenderDataUtil;
import org.dbflute.optional.OptionalEntity;
import org.dbflute.optional.OptionalThing;
@ -47,8 +46,6 @@ public class AdminGroupAction extends FessAdminAction {
private GroupService groupService;
@Resource
private GroupPager groupPager;
@Resource
private SystemHelper systemHelper;
// ===================================================================================
// Hook

View file

@ -25,7 +25,6 @@ import org.codelibs.fess.app.pager.JobLogPager;
import org.codelibs.fess.app.service.JobLogService;
import org.codelibs.fess.app.web.CrudMode;
import org.codelibs.fess.app.web.base.FessAdminAction;
import org.codelibs.fess.helper.SystemHelper;
import org.codelibs.fess.util.RenderDataUtil;
import org.lastaflute.web.Execute;
import org.lastaflute.web.response.HtmlResponse;
@ -45,8 +44,6 @@ public class AdminJoblogAction extends FessAdminAction {
private JobLogService jobLogService;
@Resource
private JobLogPager jobLogPager;
@Resource
private SystemHelper systemHelper;
// ===================================================================================
// Hook

View file

@ -23,7 +23,6 @@ import org.codelibs.fess.app.service.KeyMatchService;
import org.codelibs.fess.app.web.CrudMode;
import org.codelibs.fess.app.web.base.FessAdminAction;
import org.codelibs.fess.es.config.exentity.KeyMatch;
import org.codelibs.fess.helper.SystemHelper;
import org.codelibs.fess.util.ComponentUtil;
import org.codelibs.fess.util.RenderDataUtil;
import org.dbflute.optional.OptionalEntity;
@ -46,8 +45,6 @@ public class AdminKeymatchAction extends FessAdminAction {
private KeyMatchService keyMatchService;
@Resource
private KeyMatchPager keyMatchPager;
@Resource
private SystemHelper systemHelper;
// ===================================================================================
// Hook

View file

@ -24,7 +24,6 @@ import org.codelibs.fess.app.service.RoleTypeService;
import org.codelibs.fess.app.web.CrudMode;
import org.codelibs.fess.app.web.base.FessAdminAction;
import org.codelibs.fess.es.config.exentity.LabelType;
import org.codelibs.fess.helper.SystemHelper;
import org.codelibs.fess.util.RenderDataUtil;
import org.dbflute.optional.OptionalEntity;
import org.dbflute.optional.OptionalThing;
@ -49,8 +48,6 @@ public class AdminLabeltypeAction extends FessAdminAction {
private LabelTypePager labelTypePager;
@Resource
private RoleTypeService roleTypeService;
@Resource
private SystemHelper systemHelper;
// ===================================================================================
// Hook

View file

@ -29,12 +29,9 @@ import java.util.List;
import java.util.Map;
import java.util.stream.Stream;
import javax.annotation.Resource;
import org.codelibs.core.lang.StringUtil;
import org.codelibs.fess.app.web.base.FessAdminAction;
import org.codelibs.fess.exception.FessSystemException;
import org.codelibs.fess.helper.SystemHelper;
import org.codelibs.fess.util.RenderDataUtil;
import org.lastaflute.di.exception.IORuntimeException;
import org.lastaflute.web.Execute;
@ -48,9 +45,6 @@ import org.lastaflute.web.ruts.process.ActionRuntime;
*/
public class AdminLogAction extends FessAdminAction {
@Resource
private SystemHelper systemHelper;
@Override
protected void setupHtmlData(final ActionRuntime runtime) {
super.setupHtmlData(runtime);

View file

@ -23,7 +23,6 @@ import org.codelibs.fess.app.service.PathMappingService;
import org.codelibs.fess.app.web.CrudMode;
import org.codelibs.fess.app.web.base.FessAdminAction;
import org.codelibs.fess.es.config.exentity.PathMapping;
import org.codelibs.fess.helper.SystemHelper;
import org.codelibs.fess.util.RenderDataUtil;
import org.dbflute.optional.OptionalEntity;
import org.dbflute.optional.OptionalThing;
@ -46,8 +45,6 @@ public class AdminPathmapAction extends FessAdminAction {
private PathMappingService pathMappingService;
@Resource
private PathMapPager pathMapPager;
@Resource
private SystemHelper systemHelper;
// ===================================================================================
// Hook

View file

@ -31,7 +31,6 @@ import org.codelibs.fess.app.web.CrudMode;
import org.codelibs.fess.app.web.base.FessAdminAction;
import org.codelibs.fess.es.config.exentity.RequestHeader;
import org.codelibs.fess.es.config.exentity.WebConfig;
import org.codelibs.fess.helper.SystemHelper;
import org.codelibs.fess.util.ComponentUtil;
import org.codelibs.fess.util.RenderDataUtil;
import org.dbflute.optional.OptionalEntity;
@ -58,8 +57,6 @@ public class AdminReqheaderAction extends FessAdminAction {
private ReqHeaderPager reqHeaderPager;
@Resource
protected WebConfigService webConfigService;
@Resource
private SystemHelper systemHelper;
// ===================================================================================
// Hook

View file

@ -25,7 +25,6 @@ import org.codelibs.fess.app.service.RoleService;
import org.codelibs.fess.app.web.CrudMode;
import org.codelibs.fess.app.web.base.FessAdminAction;
import org.codelibs.fess.es.user.exentity.Role;
import org.codelibs.fess.helper.SystemHelper;
import org.codelibs.fess.util.RenderDataUtil;
import org.dbflute.optional.OptionalEntity;
import org.dbflute.optional.OptionalThing;
@ -47,8 +46,6 @@ public class AdminRoleAction extends FessAdminAction {
private RoleService roleService;
@Resource
private RolePager rolePager;
@Resource
private SystemHelper systemHelper;
// ===================================================================================
// Hook

View file

@ -23,7 +23,6 @@ import org.codelibs.fess.app.service.RoleTypeService;
import org.codelibs.fess.app.web.CrudMode;
import org.codelibs.fess.app.web.base.FessAdminAction;
import org.codelibs.fess.es.config.exentity.RoleType;
import org.codelibs.fess.helper.SystemHelper;
import org.codelibs.fess.util.RenderDataUtil;
import org.dbflute.optional.OptionalEntity;
import org.dbflute.optional.OptionalThing;
@ -45,8 +44,6 @@ public class AdminRoletypeAction extends FessAdminAction {
private RoleTypeService roleTypeService;
@Resource
private RoleTypePager roleTypePager;
@Resource
private SystemHelper systemHelper;
// ===================================================================================
// Hook

View file

@ -26,7 +26,6 @@ import org.codelibs.fess.app.web.CrudMode;
import org.codelibs.fess.app.web.base.FessAdminAction;
import org.codelibs.fess.es.config.exentity.ScheduledJob;
import org.codelibs.fess.helper.ProcessHelper;
import org.codelibs.fess.helper.SystemHelper;
import org.codelibs.fess.util.RenderDataUtil;
import org.dbflute.optional.OptionalEntity;
import org.dbflute.optional.OptionalThing;
@ -50,8 +49,6 @@ public class AdminSchedulerAction extends FessAdminAction {
@Resource
private SchedulerPager schedulerPager;
@Resource
private SystemHelper systemHelper;
@Resource
protected ProcessHelper processHelper;
// ===================================================================================

View file

@ -31,7 +31,6 @@ import org.codelibs.fess.exception.InvalidQueryException;
import org.codelibs.fess.exception.ResultOffsetExceededException;
import org.codelibs.fess.helper.ProcessHelper;
import org.codelibs.fess.helper.QueryHelper;
import org.codelibs.fess.helper.SystemHelper;
import org.codelibs.fess.util.RenderDataUtil;
import org.elasticsearch.index.query.QueryBuilder;
import org.elasticsearch.index.query.QueryBuilders;
@ -56,8 +55,6 @@ public class AdminSearchlistAction extends FessAdminAction {
// ===================================================================================
// Attribute
// =========
@Resource
private SystemHelper systemHelper;
@Resource
protected FessEsClient fessEsClient;

View file

@ -26,7 +26,6 @@ import org.codelibs.core.lang.StringUtil;
import org.codelibs.core.misc.DynamicProperties;
import org.codelibs.fess.Constants;
import org.codelibs.fess.app.web.base.FessAdminAction;
import org.codelibs.fess.helper.SystemHelper;
import org.codelibs.fess.util.RenderDataUtil;
import org.lastaflute.web.Execute;
import org.lastaflute.web.response.HtmlResponse;
@ -42,8 +41,6 @@ public class AdminSysteminfoAction extends FessAdminAction {
// Attribute
// =========
@Resource
private SystemHelper systemHelper;
@Resource
protected DynamicProperties systemProperties;
private static final String[] bugReportLabels = { "file.separator", "file.encoding", "java.runtime.version", "java.vm.info",

View file

@ -31,7 +31,6 @@ import org.codelibs.fess.app.service.UserService;
import org.codelibs.fess.app.web.CrudMode;
import org.codelibs.fess.app.web.base.FessAdminAction;
import org.codelibs.fess.es.user.exentity.User;
import org.codelibs.fess.helper.SystemHelper;
import org.codelibs.fess.util.RenderDataUtil;
import org.dbflute.optional.OptionalEntity;
import org.dbflute.optional.OptionalThing;
@ -58,8 +57,6 @@ public class AdminUserAction extends FessAdminAction {
private GroupService groupService;
@Resource
private UserPager userPager;
@Resource
private SystemHelper systemHelper;
// ===================================================================================
// Hook

View file

@ -31,7 +31,6 @@ import org.codelibs.fess.app.web.CrudMode;
import org.codelibs.fess.app.web.base.FessAdminAction;
import org.codelibs.fess.es.config.exentity.WebAuthentication;
import org.codelibs.fess.es.config.exentity.WebConfig;
import org.codelibs.fess.helper.SystemHelper;
import org.codelibs.fess.util.ComponentUtil;
import org.codelibs.fess.util.RenderDataUtil;
import org.dbflute.optional.OptionalEntity;
@ -55,9 +54,6 @@ public class AdminWebauthAction extends FessAdminAction {
private WebAuthenticationService webAuthenticationService;
@Resource
private WebAuthPager webAuthPager;
@Resource
private SystemHelper systemHelper;
@Resource
protected WebConfigService webConfigService;

View file

@ -26,7 +26,6 @@ import org.codelibs.fess.app.service.WebConfigService;
import org.codelibs.fess.app.web.CrudMode;
import org.codelibs.fess.app.web.base.FessAdminAction;
import org.codelibs.fess.es.config.exentity.WebConfig;
import org.codelibs.fess.helper.SystemHelper;
import org.codelibs.fess.util.RenderDataUtil;
import org.dbflute.optional.OptionalEntity;
import org.dbflute.optional.OptionalThing;
@ -55,8 +54,6 @@ public class AdminWebconfigAction extends FessAdminAction {
private RoleTypeService roleTypeService;
@Resource
private LabelTypeService labelTypeService;
@Resource
private SystemHelper systemHelper;
// ===================================================================================
// Hook

View file

@ -34,7 +34,6 @@ import org.codelibs.fess.es.config.exentity.FileConfig;
import org.codelibs.fess.es.config.exentity.ScheduledJob;
import org.codelibs.fess.es.config.exentity.WebConfig;
import org.codelibs.fess.helper.ProcessHelper;
import org.codelibs.fess.helper.SystemHelper;
import org.codelibs.fess.util.ComponentUtil;
import org.codelibs.fess.util.StreamUtil;
import org.lastaflute.job.JobManager;
@ -64,9 +63,6 @@ public class AdminWizardAction extends FessAdminAction {
@Resource
protected FileConfigService fileConfigService;
@Resource
protected SystemHelper systemHelper;
@Resource
protected ProcessHelper processHelper;

View file

@ -17,11 +17,13 @@ package org.codelibs.fess.app.web.base;
import java.util.function.Consumer;
import javax.annotation.Resource;
import javax.servlet.ServletContext;
import org.codelibs.core.beans.util.BeanUtil;
import org.codelibs.core.beans.util.CopyOptions;
import org.codelibs.fess.exception.UserRoleLoginException;
import org.codelibs.fess.helper.SystemHelper;
import org.codelibs.fess.util.ActivityUtil;
import org.dbflute.optional.OptionalThing;
import org.lastaflute.di.util.LdiFileUtil;
@ -40,10 +42,19 @@ public abstract class FessAdminAction extends FessBaseAction {
// Attribute
// =========
@Resource
protected SystemHelper systemHelper;
// ===================================================================================
// Small Helper
// ============
@Override
protected void setupHtmlData(final ActionRuntime runtime) {
super.setupHtmlData(runtime);
systemHelper.setupAdminHtmlData(this, runtime);
}
protected void write(final String path, final byte[] data) {
LdiFileUtil.write(path, data);
}

View file

@ -1,43 +0,0 @@
/*
* Copyright 2012-2016 CodeLibs Project and the Others.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
* either express or implied. See the License for the specific language
* governing permissions and limitations under the License.
*/
package org.codelibs.fess.entity;
import org.codelibs.fess.util.ComponentUtil;
public class LoginInfo extends UserInfo {
private static final long serialVersionUID = 1L;
protected long updatedTime = System.currentTimeMillis();
public void setUpdatedTime(final long updatedTime) {
this.updatedTime = updatedTime;
}
public long getUpdatedTime() {
return updatedTime;
}
public boolean isAdministrator() {
for (final String role : ComponentUtil.getSystemHelper().getAdminRoleSet()) {
if (isUserInRole(role)) {
return true;
}
}
return false;
}
}

View file

@ -1,56 +0,0 @@
/*
* Copyright 2012-2016 CodeLibs Project and the Others.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
* either express or implied. See the License for the specific language
* governing permissions and limitations under the License.
*/
package org.codelibs.fess.entity;
import java.io.Serializable;
import java.util.Set;
public class UserInfo implements Serializable {
private static final long serialVersionUID = 1L;
private String username;
protected Set<String> roleSet;
public Set<String> getRoleSet() {
return roleSet;
}
public void setRoleSet(final Set<String> roleSet) {
this.roleSet = roleSet;
}
public String getUsername() {
return username;
}
public void setUsername(final String username) {
this.username = username;
}
public boolean isUserInRole(final String role) {
if (roleSet != null) {
return roleSet.contains(role);
}
return false;
}
@Override
public String toString() {
return "UserInfo [username=" + username + ", roleSet=" + roleSet + "]";
}
}

View file

@ -81,28 +81,28 @@ public class Crawler implements Serializable {
@Resource
protected DynamicProperties systemProperties;
protected static class Options {
public static class Options {
@Option(name = "-s", aliases = "--sessionId", metaVar = "sessionId", usage = "Session ID")
protected String sessionId;
public String sessionId;
@Option(name = "-n", aliases = "--name", metaVar = "name", usage = "Name")
protected String name;
public String name;
@Option(name = "-w", aliases = "--webConfigIds", metaVar = "webConfigIds", usage = "Web Config IDs")
protected String webConfigIds;
public String webConfigIds;
@Option(name = "-f", aliases = "--fileConfigIds", metaVar = "fileConfigIds", usage = "File Config IDs")
protected String fileConfigIds;
public String fileConfigIds;
@Option(name = "-d", aliases = "--dataConfigIds", metaVar = "dataConfigIds", usage = "Data Config IDs")
protected String dataConfigIds;
public String dataConfigIds;
@Option(name = "-p", aliases = "--properties", metaVar = "properties", usage = "Properties File")
protected String propertiesPath;
public String propertiesPath;
@Option(name = "-e", aliases = "--expires", metaVar = "expires", usage = "Expires for documents")
protected String expires;
public String expires;
protected Options() {
// noghing
@ -403,7 +403,7 @@ public class Crawler implements Serializable {
}
}
private void writeTimeToSessionInfo(final CrawlingInfoHelper crawlingInfoHelper, final String key) {
protected void writeTimeToSessionInfo(final CrawlingInfoHelper crawlingInfoHelper, final String key) {
if (crawlingInfoHelper != null) {
final SimpleDateFormat dateFormat = new SimpleDateFormat(CoreLibConstants.DATE_FORMAT_ISO_8601_EXTEND);
crawlingInfoHelper.putToInfoMap(key, dateFormat.format(new Date()));

View file

@ -1,87 +0,0 @@
/*
* Copyright 2012-2016 CodeLibs Project and the Others.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
* either express or implied. See the License for the specific language
* governing permissions and limitations under the License.
*/
package org.codelibs.fess.filter;
import java.io.IOException;
import java.util.HashSet;
import java.util.Set;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.codelibs.fess.Constants;
import org.codelibs.fess.entity.LoginInfo;
import org.codelibs.fess.helper.SystemHelper;
import org.codelibs.fess.util.ComponentUtil;
// TODO refactoring...
public class LoginInfoFilter implements Filter {
private long updateInterval = 60 * 60 * 1000L; // 1h
@Override
public void init(final FilterConfig filterConfig) throws ServletException {
final String value = filterConfig.getInitParameter("updateInterval");
if (value != null) {
updateInterval = Long.parseLong(value);
}
}
@Override
public void doFilter(final ServletRequest request, final ServletResponse response, final FilterChain chain) throws IOException,
ServletException {
final HttpServletRequest hRequest = (HttpServletRequest) request;
final HttpSession session = hRequest.getSession();
LoginInfo loginInfo = (LoginInfo) session.getAttribute(Constants.USER_INFO);
if (loginInfo == null) {
loginInfo = new LoginInfo();
session.setAttribute(Constants.USER_INFO, loginInfo);
updateRoleList(hRequest, loginInfo);
} else {
final long now = System.currentTimeMillis();
if (now - loginInfo.getUpdatedTime() > updateInterval) {
updateRoleList(hRequest, loginInfo);
loginInfo.setUpdatedTime(now);
}
}
chain.doFilter(request, response);
}
private void updateRoleList(final HttpServletRequest hRequest, final LoginInfo loginInfo) {
final SystemHelper systemHelper = ComponentUtil.getSystemHelper();
final Set<String> authenticatedRoleList = systemHelper.getAuthenticatedRoleSet();
final Set<String> roleSet = new HashSet<>();
for (final String role : authenticatedRoleList) {
if (hRequest.isUserInRole(role)) {
roleSet.add(role);
}
}
loginInfo.setRoleSet(roleSet);
}
@Override
public void destroy() {
// nothing
}
}

View file

@ -23,14 +23,11 @@ import java.net.URLEncoder;
import java.net.UnknownHostException;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Set;
import java.util.UUID;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit;
@ -43,13 +40,12 @@ import org.apache.commons.lang3.LocaleUtils;
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.crawler.util.CharUtil;
import org.codelibs.fess.es.config.exentity.RoleType;
import org.codelibs.fess.mylasta.action.FessUserBean;
import org.codelibs.fess.mylasta.direction.FessConfig;
import org.codelibs.fess.util.ComponentUtil;
import org.lastaflute.di.core.SingletonLaContainer;
import org.lastaflute.web.TypicalAction;
import org.lastaflute.web.ruts.process.ActionRuntime;
import org.lastaflute.web.servlet.request.RequestManager;
import org.lastaflute.web.util.LaRequestUtil;
import org.slf4j.Logger;
@ -65,19 +61,17 @@ public class SystemHelper implements Serializable {
private static final long serialVersionUID = 1L;
private final Set<String> adminRoleSet = new HashSet<>();
protected final Map<String, String> designJspFileNameMap = new HashMap<String, String>();
private final Map<String, String> designJspFileNameMap = new HashMap<String, String>();
private final AtomicBoolean forceStop = new AtomicBoolean(false);
protected final AtomicBoolean forceStop = new AtomicBoolean(false);
protected LoadingCache<String, List<Map<String, String>>> langItemsCache;
private String filterPathEncoding;
protected String filterPathEncoding;
private String[] supportedLanguages;
protected String[] supportedLanguages;
private List<Runnable> shutdownHookList = new ArrayList<>();
protected List<Runnable> shutdownHookList = new ArrayList<>();
@PostConstruct
public void init() {
@ -190,7 +184,7 @@ public class SystemHelper implements Serializable {
}).orElse(getDefaultHelpLink(url));
}
private String getDefaultHelpLink(final String url) {
protected String getDefaultHelpLink(final String url) {
return url.replaceFirst("/\\{lang\\}/", "/").replaceFirst("\\{version\\}", Constants.MAJOR_VERSION + "." + Constants.MINOR_VERSION);
}
@ -202,29 +196,6 @@ public class SystemHelper implements Serializable {
return designJspFileNameMap.get(fileName);
}
public Set<String> getAdminRoleSet() {
return adminRoleSet;
}
public void addAdminRoles(final Collection<String> adminRoles) {
adminRoleSet.addAll(adminRoles);
}
public Set<String> getAuthenticatedRoleSet() {
final RoleTypeService roleTypeService = SingletonLaContainer.getComponent(RoleTypeService.class);
final List<RoleType> roleTypeList = roleTypeService.getRoleTypeList();
final Set<String> roleList = new HashSet<>(roleTypeList.size() + adminRoleSet.size());
for (final RoleType roleType : roleTypeList) {
roleList.add(roleType.getValue());
}
// system roles
roleList.addAll(adminRoleSet);
return roleList;
}
public boolean isForceStop() {
return forceStop.get();
}
@ -298,4 +269,7 @@ public class SystemHelper implements Serializable {
return "Unknown";
}
public void setupAdminHtmlData(TypicalAction action, ActionRuntime runtime) {
// nothing
}
}

View file

@ -23,9 +23,6 @@
<component name="sambaHelper" class="org.codelibs.fess.helper.SambaHelper">
</component>
<component name="systemHelper" class="org.codelibs.fess.helper.SystemHelper">
<postConstruct name="addAdminRoles">
<arg>["fess"]</arg>
</postConstruct>
<postConstruct name="addDesignJspFileName">
<arg>"index"</arg>
<arg>"index.jsp"</arg>