From 9da6b40d44cc665d5e428ab5e1ec65a4051c23f7 Mon Sep 17 00:00:00 2001
From: Shinsuke Sugaya <shinsuke@yahoo.co.jp>
Date: Fri, 24 Jan 2014 21:20:16 +0900
Subject: [PATCH] fix #83
---
.../java/jp/sf/fess/action/IndexAction.java | 22 +-
.../java/jp/sf/fess/action/MobileAction.java | 6 +-
.../sf/fess/action/admin/DocumentAction.java | 6 +-
.../jp/sf/fess/action/admin/LogAction.java | 10 +-
.../jp/sf/fess/action/admin/SystemAction.java | 15 +-
.../jp/sf/fess/action/admin/WizardAction.java | 10 +-
.../java/jp/sf/fess/api/BaseApiManager.java | 16 --
.../jp/sf/fess/api/json/JsonApiManager.java | 12 +-
.../jp/sf/fess/api/xml/XmlApiManager.java | 15 +-
.../jp/sf/fess/db/exentity/FailureUrl.java | 19 +-
.../fess/db/exentity/FileCrawlingConfig.java | 4 +-
.../jp/sf/fess/db/exentity/ScheduledJob.java | 7 +-
.../fess/ds/impl/AbstractDataStoreImpl.java | 9 +-
.../fess/ds/impl/IndexUpdateCallbackImpl.java | 23 +-
src/main/java/jp/sf/fess/exec/Crawler.java | 27 ++-
.../sf/fess/filter/AuthenticationFilter.java | 8 +-
.../jp/sf/fess/filter/LoginInfoFilter.java | 6 +-
.../java/jp/sf/fess/filter/WebApiFilter.java | 7 +-
.../form/admin/WebCrawlingConfigForm.java | 4 +-
.../sf/fess/helper/CrawlingConfigHelper.java | 8 +-
.../jp/sf/fess/helper/DataIndexHelper.java | 12 +-
.../jp/sf/fess/helper/RobotLogHelper.java | 4 +-
.../jp/sf/fess/helper/WebFsIndexHelper.java | 11 +-
.../fess/interval/FessIntervalController.java | 6 +-
src/main/java/jp/sf/fess/job/CrawlJob.java | 11 +-
src/main/java/jp/sf/fess/job/DailyJob.java | 9 +-
.../java/jp/sf/fess/job/JobScheduler.java | 4 +-
src/main/java/jp/sf/fess/job/MinutelyJob.java | 6 +-
.../java/jp/sf/fess/job/TriggeredJob.java | 16 +-
.../jp/sf/fess/robot/FessS2RobotThread.java | 43 ++--
.../sf/fess/screenshot/ScreenShotManager.java | 8 +-
.../jp/sf/fess/service/DatabaseService.java | 6 +-
.../jp/sf/fess/service/FailureUrlService.java | 4 +-
.../jp/sf/fess/service/LabelTypeService.java | 6 +-
.../jp/sf/fess/service/SearchService.java | 6 +-
.../java/jp/sf/fess/solr/IndexUpdater.java | 9 +-
.../sf/fess/solr/policy/FessStatusPolicy.java | 9 +-
.../java/jp/sf/fess/taglib/FessFunctions.java | 17 +-
.../AbstractFessFileTransformer.java | 27 ++-
.../fess/transformer/FessFileTransformer.java | 6 +-
.../transformer/FessXpathTransformer.java | 25 ++-
.../java/jp/sf/fess/util/ComponentUtil.java | 201 ++++++++++++++++++
.../jp/sf/fess/util/QueryResponseList.java | 7 +-
43 files changed, 421 insertions(+), 266 deletions(-)
create mode 100644 src/main/java/jp/sf/fess/util/ComponentUtil.java
diff --git a/src/main/java/jp/sf/fess/action/IndexAction.java b/src/main/java/jp/sf/fess/action/IndexAction.java
index 0d8a3185d..d9a049cfe 100644
--- a/src/main/java/jp/sf/fess/action/IndexAction.java
+++ b/src/main/java/jp/sf/fess/action/IndexAction.java
@@ -67,6 +67,7 @@ import jp.sf.fess.screenshot.ScreenShotManager;
import jp.sf.fess.service.FavoriteLogService;
import jp.sf.fess.service.SearchService;
import jp.sf.fess.suggest.Suggester;
+import jp.sf.fess.util.ComponentUtil;
import jp.sf.fess.util.FacetResponse;
import jp.sf.fess.util.MoreLikeThisResponse;
import jp.sf.fess.util.QueryResponseList;
@@ -79,7 +80,6 @@ import org.codelibs.core.util.DynamicProperties;
import org.codelibs.sastruts.core.exception.SSCActionMessagesException;
import org.codelibs.solr.lib.exception.SolrLibQueryException;
import org.seasar.framework.beans.util.Beans;
-import org.seasar.framework.container.SingletonS2Container;
import org.seasar.framework.container.annotation.tiger.Binding;
import org.seasar.framework.container.annotation.tiger.BindingType;
import org.seasar.framework.util.InputStreamUtil;
@@ -309,8 +309,8 @@ public class IndexAction {
Constants.SEARCH_LOG_PROPERTY, Constants.TRUE))) {
final String userSessionId = userInfoHelper.getUserCode();
if (userSessionId != null) {
- final SearchLogHelper searchLogHelper = SingletonS2Container
- .getComponent(SearchLogHelper.class);
+ final SearchLogHelper searchLogHelper = ComponentUtil
+ .getSearchLogHelper();
final ClickLog clickLog = new ClickLog();
clickLog.setUrl(url);
clickLog.setRequestedTime(new Timestamp(System
@@ -325,8 +325,8 @@ public class IndexAction {
if (isFileSystemPath(url)) {
if (Constants.TRUE.equals(crawlerProperties.getProperty(
Constants.SEARCH_FILE_PROXY_PROPERTY, Constants.TRUE))) {
- final CrawlingConfigHelper crawlingConfigHelper = SingletonS2Container
- .getComponent(CrawlingConfigHelper.class);
+ final CrawlingConfigHelper crawlingConfigHelper = ComponentUtil
+ .getCrawlingConfigHelper();
try {
crawlingConfigHelper.writeContent(doc);
return null;
@@ -575,8 +575,8 @@ public class IndexAction {
}
try {
- final HotSearchWordHelper hotSearchWordHelper = SingletonS2Container
- .getComponent(HotSearchWordHelper.class);
+ final HotSearchWordHelper hotSearchWordHelper = ComponentUtil
+ .getHotSearchWordHelper();
final List<String> hotSearchWordList = hotSearchWordHelper
.getHotSearchWordList(range);
WebApiUtil.setObject("hotSearchWordList", hotSearchWordList);
@@ -635,8 +635,8 @@ public class IndexAction {
return null;
}
- final DocumentHelper documentHelper = SingletonS2Container
- .getComponent("documentHelper");
+ final DocumentHelper documentHelper = ComponentUtil
+ .getDocumentHelper();
final Object count = doc.get(systemHelper.favoriteCountField);
if (count instanceof Long) {
documentHelper.update(indexForm.docId,
@@ -840,8 +840,8 @@ public class IndexAction {
if (searchLogSupport) {
final Timestamp now = new Timestamp(rt);
- final SearchLogHelper searchLogHelper = SingletonS2Container
- .getComponent(SearchLogHelper.class);
+ final SearchLogHelper searchLogHelper = ComponentUtil
+ .getSearchLogHelper();
final SearchLog searchLog = new SearchLog();
String userCode = null;
diff --git a/src/main/java/jp/sf/fess/action/MobileAction.java b/src/main/java/jp/sf/fess/action/MobileAction.java
index be1810ca0..79f2272ef 100644
--- a/src/main/java/jp/sf/fess/action/MobileAction.java
+++ b/src/main/java/jp/sf/fess/action/MobileAction.java
@@ -36,13 +36,13 @@ import jp.sf.fess.helper.QueryHelper;
import jp.sf.fess.helper.SearchLogHelper;
import jp.sf.fess.helper.UserInfoHelper;
import jp.sf.fess.service.SearchService;
+import jp.sf.fess.util.ComponentUtil;
import jp.sf.fess.util.QueryResponseList;
import org.apache.commons.lang.StringUtils;
import org.codelibs.core.util.DynamicProperties;
import org.codelibs.sastruts.core.exception.SSCActionMessagesException;
import org.seasar.framework.beans.util.Beans;
-import org.seasar.framework.container.SingletonS2Container;
import org.seasar.framework.util.StringUtil;
import org.seasar.struts.annotation.ActionForm;
import org.seasar.struts.annotation.Execute;
@@ -181,8 +181,8 @@ public class MobileAction {
// search log
if (Constants.TRUE.equals(crawlerProperties.getProperty(
Constants.SEARCH_LOG_PROPERTY, Constants.TRUE))) {
- final SearchLogHelper searchLogHelper = SingletonS2Container
- .getComponent(SearchLogHelper.class);
+ final SearchLogHelper searchLogHelper = ComponentUtil
+ .getSearchLogHelper();
final Timestamp now = new Timestamp(System.currentTimeMillis());
final SearchLog searchLog = new SearchLog();
diff --git a/src/main/java/jp/sf/fess/action/admin/DocumentAction.java b/src/main/java/jp/sf/fess/action/admin/DocumentAction.java
index 3a7345d72..8811f1391 100644
--- a/src/main/java/jp/sf/fess/action/admin/DocumentAction.java
+++ b/src/main/java/jp/sf/fess/action/admin/DocumentAction.java
@@ -31,6 +31,7 @@ import jp.sf.fess.form.admin.DocumentForm;
import jp.sf.fess.helper.JobHelper;
import jp.sf.fess.helper.SystemHelper;
import jp.sf.fess.helper.WebManagementHelper;
+import jp.sf.fess.util.ComponentUtil;
import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.SolrQuery.ORDER;
@@ -44,7 +45,6 @@ import org.codelibs.solr.lib.SolrGroupManager;
import org.codelibs.solr.lib.SolrLibConstants;
import org.codelibs.solr.lib.policy.QueryType;
import org.codelibs.solr.lib.policy.impl.StatusPolicyImpl;
-import org.seasar.framework.container.SingletonS2Container;
import org.seasar.framework.util.StringUtil;
import org.seasar.struts.annotation.ActionForm;
import org.seasar.struts.annotation.Execute;
@@ -84,8 +84,8 @@ public class DocumentAction implements Serializable {
protected String showIndex(final boolean redirect) {
final Map<String, DynamicProperties> groupPropMap = new HashMap<String, DynamicProperties>();
for (final String groupName : solrGroupManager.getSolrGroupNames()) {
- final DynamicProperties props = SingletonS2Container
- .getComponent(groupName + "Properties");
+ final DynamicProperties props = ComponentUtil
+ .getSolrGroupProperties(groupName);
if (props != null) {
groupPropMap.put(groupName, props);
}
diff --git a/src/main/java/jp/sf/fess/action/admin/LogAction.java b/src/main/java/jp/sf/fess/action/admin/LogAction.java
index 3e666d73d..288e4c69c 100644
--- a/src/main/java/jp/sf/fess/action/admin/LogAction.java
+++ b/src/main/java/jp/sf/fess/action/admin/LogAction.java
@@ -36,10 +36,10 @@ import javax.annotation.Resource;
import jp.sf.fess.Constants;
import jp.sf.fess.form.admin.LogForm;
import jp.sf.fess.helper.SystemHelper;
+import jp.sf.fess.util.ComponentUtil;
import org.apache.commons.codec.binary.Base64;
import org.codelibs.sastruts.core.exception.SSCActionMessagesException;
-import org.seasar.framework.container.SingletonS2Container;
import org.seasar.framework.util.StringUtil;
import org.seasar.struts.annotation.ActionForm;
import org.seasar.struts.annotation.Execute;
@@ -72,8 +72,8 @@ public class LogAction implements Serializable {
@Execute(validator = true, input = "index", urlPattern = "download/{logFileName}")
public String download() {
- final String logFilePath = SingletonS2Container.getComponent(
- SystemHelper.class).getLogFilePath();
+ final String logFilePath = ComponentUtil.getSystemHelper()
+ .getLogFilePath();
if (StringUtil.isNotBlank(logFilePath)) {
final File file = new File(logFilePath);
final File parentDir = file.getParentFile();
@@ -104,8 +104,8 @@ public class LogAction implements Serializable {
public List<Map<String, Object>> getLogFileItems() {
final List<Map<String, Object>> logFileItems = new ArrayList<Map<String, Object>>();
- final String logFilePath = SingletonS2Container.getComponent(
- SystemHelper.class).getLogFilePath();
+ final String logFilePath = ComponentUtil.getSystemHelper()
+ .getLogFilePath();
if (StringUtil.isNotBlank(logFilePath)) {
try {
final File file = new File(logFilePath);
diff --git a/src/main/java/jp/sf/fess/action/admin/SystemAction.java b/src/main/java/jp/sf/fess/action/admin/SystemAction.java
index 2b6137814..3c5a1baae 100644
--- a/src/main/java/jp/sf/fess/action/admin/SystemAction.java
+++ b/src/main/java/jp/sf/fess/action/admin/SystemAction.java
@@ -33,6 +33,7 @@ import jp.sf.fess.helper.JobHelper;
import jp.sf.fess.helper.SystemHelper;
import jp.sf.fess.helper.WebManagementHelper;
import jp.sf.fess.service.ScheduledJobService;
+import jp.sf.fess.util.ComponentUtil;
import org.codelibs.core.util.DynamicProperties;
import org.codelibs.sastruts.core.annotation.Token;
@@ -42,7 +43,6 @@ import org.codelibs.solr.lib.SolrGroupManager;
import org.codelibs.solr.lib.SolrLibConstants;
import org.codelibs.solr.lib.policy.QueryType;
import org.codelibs.solr.lib.policy.impl.StatusPolicyImpl;
-import org.seasar.framework.container.SingletonS2Container;
import org.seasar.framework.util.StringUtil;
import org.seasar.struts.annotation.ActionForm;
import org.seasar.struts.annotation.Execute;
@@ -74,6 +74,9 @@ public class SystemAction implements Serializable {
@Resource
protected JobHelper jobHelper;
+ @Resource
+ protected ScheduledJobService scheduledJobService;
+
private boolean executed = false;
public String getHelpLink() {
@@ -83,8 +86,8 @@ public class SystemAction implements Serializable {
protected String showIndex(final boolean redirect) {
final Map<String, DynamicProperties> groupPropMap = new HashMap<String, DynamicProperties>();
for (final String groupName : solrGroupManager.getSolrGroupNames()) {
- final DynamicProperties props = SingletonS2Container
- .getComponent(groupName + "Properties");
+ final DynamicProperties props = ComponentUtil
+ .getSolrGroupProperties(groupName);
if (props != null) {
groupPropMap.put(groupName, props);
}
@@ -163,8 +166,8 @@ public class SystemAction implements Serializable {
// load solr group properties
final Map<String, DynamicProperties> groupPropMap = new HashMap<String, DynamicProperties>();
for (final String groupName : solrGroupManager.getSolrGroupNames()) {
- final DynamicProperties props = SingletonS2Container
- .getComponent(groupName + "Properties");
+ final DynamicProperties props = ComponentUtil
+ .getSolrGroupProperties(groupName);
if (props != null) {
groupPropMap.put(groupName, props);
}
@@ -221,8 +224,6 @@ public class SystemAction implements Serializable {
final SolrGroup solrGroup = solrGroupManager.getSolrGroup(groupName);
if (solrGroup != null) {
if (!jobHelper.isCrawlProcessRunning()) {
- final ScheduledJobService scheduledJobService = SingletonS2Container
- .getComponent(ScheduledJobService.class);
final List<ScheduledJob> scheduledJobList = scheduledJobService
.getCrawloerJobList();
for (final ScheduledJob scheduledJob : scheduledJobList) {
diff --git a/src/main/java/jp/sf/fess/action/admin/WizardAction.java b/src/main/java/jp/sf/fess/action/admin/WizardAction.java
index 4520c946d..f88f41c83 100644
--- a/src/main/java/jp/sf/fess/action/admin/WizardAction.java
+++ b/src/main/java/jp/sf/fess/action/admin/WizardAction.java
@@ -40,12 +40,12 @@ import jp.sf.fess.service.BrowserTypeService;
import jp.sf.fess.service.FileCrawlingConfigService;
import jp.sf.fess.service.ScheduledJobService;
import jp.sf.fess.service.WebCrawlingConfigService;
+import jp.sf.fess.util.ComponentUtil;
import org.apache.commons.lang.StringUtils;
import org.codelibs.core.util.DynamicProperties;
import org.codelibs.sastruts.core.annotation.Token;
import org.codelibs.sastruts.core.exception.SSCActionMessagesException;
-import org.seasar.framework.container.SingletonS2Container;
import org.seasar.framework.util.StringUtil;
import org.seasar.robot.util.CharUtil;
import org.seasar.struts.annotation.ActionForm;
@@ -81,6 +81,9 @@ public class WizardAction implements Serializable {
@Resource
protected JobHelper jobHelper;
+ @Resource
+ protected ScheduledJobService scheduledJobService;
+
public String getHelpLink() {
return systemHelper.getHelpLink("wizard");
}
@@ -193,8 +196,7 @@ public class WizardAction implements Serializable {
wConfig.setUrls(configPath);
wConfig.setUserAgent(getDefaultString(
"default.config.web.userAgent",
- (String) SingletonS2Container
- .getComponent("userAgentName")));
+ ComponentUtil.getUserAgentName()));
if (!browserTypeIdList.isEmpty()) {
wConfig.setBrowserTypeIds(browserTypeIdList
@@ -329,8 +331,6 @@ public class WizardAction implements Serializable {
@Execute(validator = false)
public String startCrawling() {
if (!jobHelper.isCrawlProcessRunning()) {
- final ScheduledJobService scheduledJobService = SingletonS2Container
- .getComponent(ScheduledJobService.class);
final List<ScheduledJob> scheduledJobList = scheduledJobService
.getCrawloerJobList();
for (final ScheduledJob scheduledJob : scheduledJobList) {
diff --git a/src/main/java/jp/sf/fess/api/BaseApiManager.java b/src/main/java/jp/sf/fess/api/BaseApiManager.java
index 102695ed2..e30f4d247 100644
--- a/src/main/java/jp/sf/fess/api/BaseApiManager.java
+++ b/src/main/java/jp/sf/fess/api/BaseApiManager.java
@@ -16,11 +16,6 @@
package jp.sf.fess.api;
-import jp.sf.fess.helper.LabelTypeHelper;
-import jp.sf.fess.helper.QueryHelper;
-
-import org.codelibs.core.util.DynamicProperties;
-import org.seasar.framework.container.SingletonS2Container;
public class BaseApiManager {
protected static final String FAVORITES_API = "/favoritesApi";
@@ -68,15 +63,4 @@ public class BaseApiManager {
}
}
- protected DynamicProperties getCrawlerProperties() {
- return SingletonS2Container.getComponent("crawlerProperties");
- }
-
- protected QueryHelper getQueryHelper() {
- return SingletonS2Container.getComponent("queryHelper");
- }
-
- protected LabelTypeHelper getLabelTypeHelper() {
- return SingletonS2Container.getComponent("labelTypeHelper");
- }
}
\ No newline at end of file
diff --git a/src/main/java/jp/sf/fess/api/json/JsonApiManager.java b/src/main/java/jp/sf/fess/api/json/JsonApiManager.java
index 11da7900d..fef72b1eb 100644
--- a/src/main/java/jp/sf/fess/api/json/JsonApiManager.java
+++ b/src/main/java/jp/sf/fess/api/json/JsonApiManager.java
@@ -38,6 +38,7 @@ import jp.sf.fess.db.allcommon.CDef;
import jp.sf.fess.entity.FieldAnalysisResponse;
import jp.sf.fess.entity.SuggestResponse;
import jp.sf.fess.entity.SuggestResponse.SuggestResponseList;
+import jp.sf.fess.util.ComponentUtil;
import jp.sf.fess.util.FacetResponse;
import jp.sf.fess.util.FacetResponse.Field;
import jp.sf.fess.util.MoreLikeThisResponse;
@@ -60,8 +61,8 @@ public class JsonApiManager extends BaseApiManager implements WebApiManager {
@Override
public boolean matches(final HttpServletRequest request) {
- if (Constants.FALSE.equals(getCrawlerProperties().getProperty(
- Constants.WEB_API_JSON_PROPERTY, Constants.TRUE))) {
+ if (Constants.FALSE.equals(ComponentUtil.getCrawlerProperties()
+ .getProperty(Constants.WEB_API_JSON_PROPERTY, Constants.TRUE))) {
return false;
}
@@ -168,7 +169,8 @@ public class JsonApiManager extends BaseApiManager implements WebApiManager {
final String name = entry.getKey();
if (StringUtil.isNotBlank(name)
&& entry.getValue() != null
- && getQueryHelper().isApiResponseField(name)) {
+ && ComponentUtil.getQueryHelper()
+ .isApiResponseField(name)) {
if (!first2) {
buf.append(',');
} else {
@@ -303,8 +305,8 @@ public class JsonApiManager extends BaseApiManager implements WebApiManager {
String errMsg = Constants.EMPTY_STRING;
final StringBuilder buf = new StringBuilder(255);
try {
- final List<Map<String, String>> labelTypeItems = getLabelTypeHelper()
- .getLabelTypeItemList();
+ final List<Map<String, String>> labelTypeItems = ComponentUtil
+ .getLabelTypeHelper().getLabelTypeItemList();
buf.append("\"recordCount\":");
buf.append(labelTypeItems.size());
if (!labelTypeItems.isEmpty()) {
diff --git a/src/main/java/jp/sf/fess/api/xml/XmlApiManager.java b/src/main/java/jp/sf/fess/api/xml/XmlApiManager.java
index fe973aa2a..a176aed27 100644
--- a/src/main/java/jp/sf/fess/api/xml/XmlApiManager.java
+++ b/src/main/java/jp/sf/fess/api/xml/XmlApiManager.java
@@ -37,6 +37,7 @@ import jp.sf.fess.db.allcommon.CDef;
import jp.sf.fess.entity.FieldAnalysisResponse;
import jp.sf.fess.entity.SuggestResponse;
import jp.sf.fess.entity.SuggestResponse.SuggestResponseList;
+import jp.sf.fess.util.ComponentUtil;
import jp.sf.fess.util.FacetResponse;
import jp.sf.fess.util.FacetResponse.Field;
import jp.sf.fess.util.MoreLikeThisResponse;
@@ -57,8 +58,8 @@ public class XmlApiManager extends BaseApiManager implements WebApiManager {
@Override
public boolean matches(final HttpServletRequest request) {
- if (Constants.FALSE.equals(getCrawlerProperties().getProperty(
- Constants.WEB_API_XML_PROPERTY, Constants.TRUE))) {
+ if (Constants.FALSE.equals(ComponentUtil.getCrawlerProperties()
+ .getProperty(Constants.WEB_API_XML_PROPERTY, Constants.TRUE))) {
return false;
}
@@ -148,8 +149,10 @@ public class XmlApiManager extends BaseApiManager implements WebApiManager {
for (final Map.Entry<String, Object> entry : document
.entrySet()) {
final String name = entry.getKey();
- if (StringUtil.isNotBlank(name) && entry.getValue() != null
- && getQueryHelper().isApiResponseField(name)) {
+ if (StringUtil.isNotBlank(name)
+ && entry.getValue() != null
+ && ComponentUtil.getQueryHelper()
+ .isApiResponseField(name)) {
final String tagName = convertTagName(name);
buf.append('<');
buf.append(tagName);
@@ -255,8 +258,8 @@ public class XmlApiManager extends BaseApiManager implements WebApiManager {
String errMsg = Constants.EMPTY_STRING;
final StringBuilder buf = new StringBuilder(255);
try {
- final List<Map<String, String>> labelTypeItems = getLabelTypeHelper()
- .getLabelTypeItemList();
+ final List<Map<String, String>> labelTypeItems = ComponentUtil
+ .getLabelTypeHelper().getLabelTypeItemList();
buf.append("<record-count>");
buf.append(labelTypeItems.size());
buf.append("</record-count>");
diff --git a/src/main/java/jp/sf/fess/db/exentity/FailureUrl.java b/src/main/java/jp/sf/fess/db/exentity/FailureUrl.java
index 66959bdf7..aeefb830c 100644
--- a/src/main/java/jp/sf/fess/db/exentity/FailureUrl.java
+++ b/src/main/java/jp/sf/fess/db/exentity/FailureUrl.java
@@ -20,9 +20,7 @@ import java.text.SimpleDateFormat;
import jp.sf.fess.Constants;
import jp.sf.fess.db.bsentity.BsFailureUrl;
-import jp.sf.fess.helper.CrawlingConfigHelper;
-
-import org.seasar.framework.container.SingletonS2Container;
+import jp.sf.fess.util.ComponentUtil;
/**
* The entity of FAILURE_URL.
@@ -47,9 +45,8 @@ public class FailureUrl extends BsFailureUrl {
}
public String getWebConfigName() {
- final CrawlingConfig crawlingConfig = SingletonS2Container
- .getComponent(CrawlingConfigHelper.class).getCrawlingConfig(
- getConfigId());
+ final CrawlingConfig crawlingConfig = ComponentUtil
+ .getCrawlingConfigHelper().getCrawlingConfig(getConfigId());
if (crawlingConfig != null) {
return crawlingConfig.getName();
}
@@ -57,9 +54,8 @@ public class FailureUrl extends BsFailureUrl {
}
public String getFileConfigName() {
- final CrawlingConfig crawlingConfig = SingletonS2Container
- .getComponent(CrawlingConfigHelper.class).getCrawlingConfig(
- getConfigId());
+ final CrawlingConfig crawlingConfig = ComponentUtil
+ .getCrawlingConfigHelper().getCrawlingConfig(getConfigId());
if (crawlingConfig != null) {
return crawlingConfig.getName();
}
@@ -67,9 +63,8 @@ public class FailureUrl extends BsFailureUrl {
}
public String getDataConfigName() {
- final CrawlingConfig crawlingConfig = SingletonS2Container
- .getComponent(CrawlingConfigHelper.class).getCrawlingConfig(
- getConfigId());
+ final CrawlingConfig crawlingConfig = ComponentUtil
+ .getCrawlingConfigHelper().getCrawlingConfig(getConfigId());
if (crawlingConfig != null) {
return crawlingConfig.getName();
}
diff --git a/src/main/java/jp/sf/fess/db/exentity/FileCrawlingConfig.java b/src/main/java/jp/sf/fess/db/exentity/FileCrawlingConfig.java
index df97b8a7a..4f7d21f5c 100644
--- a/src/main/java/jp/sf/fess/db/exentity/FileCrawlingConfig.java
+++ b/src/main/java/jp/sf/fess/db/exentity/FileCrawlingConfig.java
@@ -27,6 +27,7 @@ import jp.sf.fess.Constants;
import jp.sf.fess.db.bsentity.BsFileCrawlingConfig;
import jp.sf.fess.helper.SystemHelper;
import jp.sf.fess.service.FileAuthenticationService;
+import jp.sf.fess.util.ComponentUtil;
import jp.sf.fess.util.ParameterUtil;
import org.seasar.framework.container.SingletonS2Container;
@@ -166,8 +167,7 @@ public class FileCrawlingConfig extends BsFileCrawlingConfig implements
}
protected synchronized void initDocPathPattern() {
- final SystemHelper systemHelper = SingletonS2Container
- .getComponent("systemHelper");
+ final SystemHelper systemHelper = ComponentUtil.getSystemHelper();
if (includedDocPathPatterns == null) {
if (StringUtil.isNotBlank(getIncludedDocPaths())) {
diff --git a/src/main/java/jp/sf/fess/db/exentity/ScheduledJob.java b/src/main/java/jp/sf/fess/db/exentity/ScheduledJob.java
index f8e2f8c99..58a0f3022 100644
--- a/src/main/java/jp/sf/fess/db/exentity/ScheduledJob.java
+++ b/src/main/java/jp/sf/fess/db/exentity/ScheduledJob.java
@@ -18,10 +18,8 @@ package jp.sf.fess.db.exentity;
import jp.sf.fess.Constants;
import jp.sf.fess.db.bsentity.BsScheduledJob;
-import jp.sf.fess.helper.JobHelper;
import jp.sf.fess.job.TriggeredJob;
-
-import org.seasar.framework.container.SingletonS2Container;
+import jp.sf.fess.util.ComponentUtil;
/**
* The entity of SCHEDULED_JOB.
@@ -49,8 +47,7 @@ public class ScheduledJob extends BsScheduledJob {
}
public boolean isRunning() {
- return SingletonS2Container.getComponent(JobHelper.class)
- .getJobExecutoer(getId()) != null;
+ return ComponentUtil.getJobHelper().getJobExecutoer(getId()) != null;
}
public void start() {
diff --git a/src/main/java/jp/sf/fess/ds/impl/AbstractDataStoreImpl.java b/src/main/java/jp/sf/fess/ds/impl/AbstractDataStoreImpl.java
index 533f6fbed..d4a4798a7 100644
--- a/src/main/java/jp/sf/fess/ds/impl/AbstractDataStoreImpl.java
+++ b/src/main/java/jp/sf/fess/ds/impl/AbstractDataStoreImpl.java
@@ -29,8 +29,8 @@ import jp.sf.fess.ds.IndexUpdateCallback;
import jp.sf.fess.helper.CrawlingSessionHelper;
import jp.sf.fess.helper.SystemHelper;
import jp.sf.fess.taglib.FessFunctions;
+import jp.sf.fess.util.ComponentUtil;
-import org.seasar.framework.container.SingletonS2Container;
import org.seasar.framework.util.OgnlUtil;
import org.seasar.framework.util.StringUtil;
import org.slf4j.Logger;
@@ -58,11 +58,10 @@ public abstract class AbstractDataStoreImpl implements DataStore {
.getHandlerParameterMap();
final Map<String, String> configScriptMap = config
.getHandlerScriptMap();
- final CrawlingSessionHelper crawlingSessionHelper = SingletonS2Container
- .getComponent("crawlingSessionHelper");
+ final CrawlingSessionHelper crawlingSessionHelper = ComponentUtil
+ .getCrawlingSessionHelper();
final Date documentExpires = crawlingSessionHelper.getDocumentExpires();
- final SystemHelper systemHelper = SingletonS2Container
- .getComponent("systemHelper");
+ final SystemHelper systemHelper = ComponentUtil.getSystemHelper();
initParamMap.putAll(configParamMap);
final Map<String, String> paramMap = initParamMap;
diff --git a/src/main/java/jp/sf/fess/ds/impl/IndexUpdateCallbackImpl.java b/src/main/java/jp/sf/fess/ds/impl/IndexUpdateCallbackImpl.java
index a59b6314d..9f84c39ab 100644
--- a/src/main/java/jp/sf/fess/ds/impl/IndexUpdateCallbackImpl.java
+++ b/src/main/java/jp/sf/fess/ds/impl/IndexUpdateCallbackImpl.java
@@ -27,10 +27,10 @@ import jp.sf.fess.ds.IndexUpdateCallback;
import jp.sf.fess.helper.CrawlingSessionHelper;
import jp.sf.fess.helper.SearchLogHelper;
import jp.sf.fess.helper.SystemHelper;
+import jp.sf.fess.util.ComponentUtil;
import org.apache.solr.common.SolrInputDocument;
import org.codelibs.solr.lib.SolrGroup;
-import org.seasar.framework.container.SingletonS2Container;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -71,8 +71,8 @@ public class IndexUpdateCallbackImpl implements IndexUpdateCallback {
throw new FessSystemException("url is null. dataMap=" + dataMap);
}
- final CrawlingSessionHelper crawlingSessionHelper = SingletonS2Container
- .getComponent(CrawlingSessionHelper.class);
+ final CrawlingSessionHelper crawlingSessionHelper = ComponentUtil
+ .getCrawlingSessionHelper();
dataMap.put("id", crawlingSessionHelper.generateId(dataMap));
final SolrInputDocument doc = createSolrDocument(dataMap);
@@ -132,8 +132,7 @@ public class IndexUpdateCallbackImpl implements IndexUpdateCallback {
}
if (!dataMap.containsKey(Constants.DOC_ID)) {
- final SystemHelper systemHelper = SingletonS2Container
- .getComponent("systemHelper");
+ final SystemHelper systemHelper = ComponentUtil.getSystemHelper();
doc.addField(Constants.DOC_ID, systemHelper.generateDocId(dataMap));
}
@@ -180,10 +179,9 @@ public class IndexUpdateCallbackImpl implements IndexUpdateCallback {
protected void addClickCountField(final SolrInputDocument doc,
final String url) {
- final SearchLogHelper searchLogHelper = SingletonS2Container
- .getComponent(SearchLogHelper.class);
- final SystemHelper systemHelper = SingletonS2Container
- .getComponent("systemHelper");
+ final SearchLogHelper searchLogHelper = ComponentUtil
+ .getSearchLogHelper();
+ final SystemHelper systemHelper = ComponentUtil.getSystemHelper();
final int count = searchLogHelper.getClickCount(url);
doc.addField(systemHelper.clickCountField, count);
if (logger.isDebugEnabled()) {
@@ -193,10 +191,9 @@ public class IndexUpdateCallbackImpl implements IndexUpdateCallback {
protected void addFavoriteCountField(final SolrInputDocument doc,
final String url) {
- final SearchLogHelper searchLogHelper = SingletonS2Container
- .getComponent(SearchLogHelper.class);
- final SystemHelper systemHelper = SingletonS2Container
- .getComponent("systemHelper");
+ final SearchLogHelper searchLogHelper = ComponentUtil
+ .getSearchLogHelper();
+ final SystemHelper systemHelper = ComponentUtil.getSystemHelper();
final long count = searchLogHelper.getFavoriteCount(url);
doc.addField(systemHelper.favoriteCountField, count);
if (logger.isDebugEnabled()) {
diff --git a/src/main/java/jp/sf/fess/exec/Crawler.java b/src/main/java/jp/sf/fess/exec/Crawler.java
index ff8ed1817..1acd32d3b 100644
--- a/src/main/java/jp/sf/fess/exec/Crawler.java
+++ b/src/main/java/jp/sf/fess/exec/Crawler.java
@@ -48,6 +48,7 @@ import jp.sf.fess.screenshot.ScreenShotManager;
import jp.sf.fess.service.CrawlingSessionService;
import jp.sf.fess.service.PathMappingService;
import jp.sf.fess.taglib.FessFunctions;
+import jp.sf.fess.util.ComponentUtil;
import jp.sf.fess.util.ResourceUtil;
import org.codelibs.core.CoreLibConstants;
@@ -256,8 +257,7 @@ public class Crawler implements Serializable {
final Crawler crawler = SingletonS2Container
.getComponent(Crawler.class);
- final DatabaseHelper databaseHelper = SingletonS2Container
- .getComponent("databaseHelper");
+ final DatabaseHelper databaseHelper = ComponentUtil.getDatabaseHelper();
databaseHelper.optimize();
if (StringUtil.isBlank(options.sessionId)) {
@@ -266,10 +266,10 @@ public class Crawler implements Serializable {
options.sessionId = sdf.format(new Date());
}
- final CrawlingSessionHelper crawlingSessionHelper = SingletonS2Container
- .getComponent("crawlingSessionHelper");
- final DynamicProperties crawlerProperties = SingletonS2Container
- .getComponent("crawlerProperties");
+ final CrawlingSessionHelper crawlingSessionHelper = ComponentUtil
+ .getCrawlingSessionHelper();
+ final DynamicProperties crawlerProperties = ComponentUtil
+ .getCrawlerProperties();
if (StringUtil.isNotBlank(options.propertiesPath)) {
crawlerProperties.reload(options.propertiesPath);
@@ -372,15 +372,14 @@ public class Crawler implements Serializable {
logger.info("Starting Crawler..");
}
- final PathMappingHelper pathMappingHelper = SingletonS2Container
- .getComponent("pathMappingHelper");
+ final PathMappingHelper pathMappingHelper = ComponentUtil
+ .getPathMappingHelper();
final long totalTime = System.currentTimeMillis();
- final CrawlingSessionHelper crawlingSessionHelper = SingletonS2Container
- .getComponent("crawlingSessionHelper");
- final SystemHelper systemHelper = SingletonS2Container
- .getComponent("systemHelper");
+ final CrawlingSessionHelper crawlingSessionHelper = ComponentUtil
+ .getCrawlingSessionHelper();
+ final SystemHelper systemHelper = ComponentUtil.getSystemHelper();
boolean completed = false;
int exitCode = Constants.EXIT_OK;
@@ -404,8 +403,8 @@ public class Crawler implements Serializable {
// overlapping host
try {
- final OverlappingHostHelper overlappingHostHelper = SingletonS2Container
- .getComponent("overlappingHostHelper");
+ final OverlappingHostHelper overlappingHostHelper = ComponentUtil
+ .getOverlappingHostHelper();
overlappingHostHelper.init();
} catch (final Exception e) {
logger.warn("Could not initialize overlappingHostHelper.", e);
diff --git a/src/main/java/jp/sf/fess/filter/AuthenticationFilter.java b/src/main/java/jp/sf/fess/filter/AuthenticationFilter.java
index 5ddeb4b3b..45e1f4ca3 100644
--- a/src/main/java/jp/sf/fess/filter/AuthenticationFilter.java
+++ b/src/main/java/jp/sf/fess/filter/AuthenticationFilter.java
@@ -35,8 +35,8 @@ import javax.servlet.http.HttpServletResponse;
import jp.sf.fess.Constants;
import jp.sf.fess.crypto.FessCipher;
import jp.sf.fess.entity.LoginInfo;
+import jp.sf.fess.util.ComponentUtil;
-import org.seasar.framework.container.SingletonS2Container;
import org.seasar.framework.util.StringUtil;
public class AuthenticationFilter implements Filter {
@@ -52,10 +52,6 @@ public class AuthenticationFilter implements Filter {
protected boolean useSecureLogin;
- protected FessCipher getFessCipher() {
- return SingletonS2Container.getComponent(cipherName);
- }
-
@Override
public void destroy() {
urlPatternList = null;
@@ -69,7 +65,7 @@ public class AuthenticationFilter implements Filter {
final HttpServletRequest req = (HttpServletRequest) request;
final HttpServletResponse res = (HttpServletResponse) response;
final String uri = req.getRequestURI();
- final FessCipher fessCipher = getFessCipher();
+ final FessCipher fessCipher = ComponentUtil.getCipher(cipherName);
for (final Pattern pattern : urlPatternList) {
final Matcher matcher = pattern.matcher(uri);
if (matcher.matches()) {
diff --git a/src/main/java/jp/sf/fess/filter/LoginInfoFilter.java b/src/main/java/jp/sf/fess/filter/LoginInfoFilter.java
index 062521692..56941e808 100644
--- a/src/main/java/jp/sf/fess/filter/LoginInfoFilter.java
+++ b/src/main/java/jp/sf/fess/filter/LoginInfoFilter.java
@@ -32,8 +32,7 @@ import javax.servlet.http.HttpSession;
import jp.sf.fess.Constants;
import jp.sf.fess.entity.LoginInfo;
import jp.sf.fess.helper.SystemHelper;
-
-import org.seasar.framework.container.SingletonS2Container;
+import jp.sf.fess.util.ComponentUtil;
public class LoginInfoFilter implements Filter {
private long updateInterval = 60 * 60 * 1000L; // 1h
@@ -72,8 +71,7 @@ public class LoginInfoFilter implements Filter {
private void updateRoleList(final HttpServletRequest hRequest,
final LoginInfo loginInfo) {
- final SystemHelper systemHelper = SingletonS2Container
- .getComponent("systemHelper");
+ final SystemHelper systemHelper = ComponentUtil.getSystemHelper();
final List<String> authenticatedRoleList = systemHelper
.getAuthenticatedRoleList();
final List<String> roleList = new ArrayList<String>();
diff --git a/src/main/java/jp/sf/fess/filter/WebApiFilter.java b/src/main/java/jp/sf/fess/filter/WebApiFilter.java
index 68622894b..7bfec7daf 100644
--- a/src/main/java/jp/sf/fess/filter/WebApiFilter.java
+++ b/src/main/java/jp/sf/fess/filter/WebApiFilter.java
@@ -29,8 +29,7 @@ import javax.servlet.http.HttpServletResponse;
import jp.sf.fess.api.WebApiManager;
import jp.sf.fess.api.WebApiManagerFactory;
-
-import org.seasar.framework.container.SingletonS2Container;
+import jp.sf.fess.util.ComponentUtil;
public class WebApiFilter implements Filter {
@@ -48,8 +47,8 @@ public class WebApiFilter implements Filter {
public void doFilter(final ServletRequest request,
final ServletResponse response, final FilterChain chain)
throws IOException, ServletException {
- final WebApiManagerFactory webApiManagerFactory = SingletonS2Container
- .getComponent(WebApiManagerFactory.class);
+ final WebApiManagerFactory webApiManagerFactory = ComponentUtil
+ .getWebApiManagerFactory();
final WebApiManager webApiManager = webApiManagerFactory
.get((HttpServletRequest) request);
if (webApiManager == null) {
diff --git a/src/main/java/jp/sf/fess/form/admin/WebCrawlingConfigForm.java b/src/main/java/jp/sf/fess/form/admin/WebCrawlingConfigForm.java
index 0059bf890..3fd7ac119 100644
--- a/src/main/java/jp/sf/fess/form/admin/WebCrawlingConfigForm.java
+++ b/src/main/java/jp/sf/fess/form/admin/WebCrawlingConfigForm.java
@@ -22,8 +22,8 @@ import java.util.Date;
import jp.sf.fess.Constants;
import jp.sf.fess.crud.form.admin.BsWebCrawlingConfigForm;
+import jp.sf.fess.util.ComponentUtil;
-import org.seasar.framework.container.SingletonS2Container;
import org.seasar.framework.util.StringUtil;
public class WebCrawlingConfigForm extends BsWebCrawlingConfigForm implements
@@ -41,7 +41,7 @@ public class WebCrawlingConfigForm extends BsWebCrawlingConfigForm implements
public void initialize() {
super.initialize();
sortOrder = "0";
- userAgent = SingletonS2Container.getComponent("userAgentName");
+ userAgent = ComponentUtil.getUserAgentName();
if (StringUtil.isBlank(userAgent)) {
userAgent = "Fess Robot/1.0";
}
diff --git a/src/main/java/jp/sf/fess/helper/CrawlingConfigHelper.java b/src/main/java/jp/sf/fess/helper/CrawlingConfigHelper.java
index 10a134a0f..e31be865a 100644
--- a/src/main/java/jp/sf/fess/helper/CrawlingConfigHelper.java
+++ b/src/main/java/jp/sf/fess/helper/CrawlingConfigHelper.java
@@ -37,6 +37,7 @@ import jp.sf.fess.helper.UserAgentHelper.UserAgentType;
import jp.sf.fess.service.DataCrawlingConfigService;
import jp.sf.fess.service.FileCrawlingConfigService;
import jp.sf.fess.service.WebCrawlingConfigService;
+import jp.sf.fess.util.ComponentUtil;
import org.apache.commons.io.IOUtils;
import org.seasar.framework.container.SingletonS2Container;
@@ -135,8 +136,7 @@ public class CrawlingConfigHelper implements Serializable {
if (logger.isDebugEnabled()) {
logger.debug("writing the content of: " + doc);
}
- final SystemHelper systemHelper = SingletonS2Container
- .getComponent("systemHelper");
+ final SystemHelper systemHelper = ComponentUtil.getSystemHelper();
final Object configIdObj = doc.get(systemHelper.configIdField);
if (configIdObj == null) {
throw new FessSystemException("configId is null.");
@@ -215,8 +215,8 @@ public class CrawlingConfigHelper implements Serializable {
protected void writeFileName(final HttpServletResponse response,
final ResponseData responseData) {
- final UserAgentHelper userAgentHelper = SingletonS2Container
- .getComponent(UserAgentHelper.class);
+ final UserAgentHelper userAgentHelper = ComponentUtil
+ .getUserAgentHelper();
final UserAgentType userAgentType = userAgentHelper.getUserAgentType();
String charset = responseData.getCharSet();
if (charset == null) {
diff --git a/src/main/java/jp/sf/fess/helper/DataIndexHelper.java b/src/main/java/jp/sf/fess/helper/DataIndexHelper.java
index 53a02652b..41403d1e4 100644
--- a/src/main/java/jp/sf/fess/helper/DataIndexHelper.java
+++ b/src/main/java/jp/sf/fess/helper/DataIndexHelper.java
@@ -31,6 +31,7 @@ import jp.sf.fess.ds.DataStore;
import jp.sf.fess.ds.DataStoreFactory;
import jp.sf.fess.ds.IndexUpdateCallback;
import jp.sf.fess.service.DataCrawlingConfigService;
+import jp.sf.fess.util.ComponentUtil;
import org.codelibs.core.util.DynamicProperties;
import org.codelibs.solr.lib.SolrGroup;
@@ -143,8 +144,7 @@ public class DataIndexHelper implements Serializable {
}
- final SystemHelper systemHelper = SingletonS2Container
- .getComponent("systemHelper");
+ final SystemHelper systemHelper = ComponentUtil.getSystemHelper();
int startedCrawlerNum = 0;
int activeCrawlerNum = 0;
@@ -211,8 +211,8 @@ public class DataIndexHelper implements Serializable {
indexUpdateCallback.commit();
// put cralwing info
- final CrawlingSessionHelper crawlingSessionHelper = SingletonS2Container
- .getComponent("crawlingSessionHelper");
+ final CrawlingSessionHelper crawlingSessionHelper = ComponentUtil
+ .getCrawlingSessionHelper();
final long execTime = System.currentTimeMillis() - startTime;
crawlingSessionHelper.putToInfoMap(Constants.DATA_CRAWLING_EXEC_TIME,
@@ -259,8 +259,8 @@ public class DataIndexHelper implements Serializable {
@Override
public void run() {
running = true;
- final DataStoreFactory dataStoreFactory = SingletonS2Container
- .getComponent(DataStoreFactory.class);
+ final DataStoreFactory dataStoreFactory = ComponentUtil
+ .getDataStoreFactory();
dataStore = dataStoreFactory.getDataStore(dataCrawlingConfig
.getHandlerName());
if (dataStore == null) {
diff --git a/src/main/java/jp/sf/fess/helper/RobotLogHelper.java b/src/main/java/jp/sf/fess/helper/RobotLogHelper.java
index 67f171a5a..070b539a4 100644
--- a/src/main/java/jp/sf/fess/helper/RobotLogHelper.java
+++ b/src/main/java/jp/sf/fess/helper/RobotLogHelper.java
@@ -18,6 +18,7 @@ package jp.sf.fess.helper;
import jp.sf.fess.db.exentity.CrawlingConfig;
import jp.sf.fess.service.FailureUrlService;
+import jp.sf.fess.util.ComponentUtil;
import org.seasar.framework.container.SingletonS2Container;
import org.seasar.robot.RobotMultipleCrawlAccessException;
@@ -90,8 +91,7 @@ public class RobotLogHelper extends LogHelperImpl {
}
private CrawlingConfig getCrawlingConfig(final String sessionCountId) {
- return SingletonS2Container.getComponent(CrawlingConfigHelper.class)
- .get(sessionCountId);
+ return ComponentUtil.getCrawlingConfigHelper().get(sessionCountId);
}
}
diff --git a/src/main/java/jp/sf/fess/helper/WebFsIndexHelper.java b/src/main/java/jp/sf/fess/helper/WebFsIndexHelper.java
index 145311e23..6ea4887c1 100644
--- a/src/main/java/jp/sf/fess/helper/WebFsIndexHelper.java
+++ b/src/main/java/jp/sf/fess/helper/WebFsIndexHelper.java
@@ -32,6 +32,7 @@ import jp.sf.fess.service.FileAuthenticationService;
import jp.sf.fess.service.FileCrawlingConfigService;
import jp.sf.fess.service.WebCrawlingConfigService;
import jp.sf.fess.solr.IndexUpdater;
+import jp.sf.fess.util.ComponentUtil;
import org.codelibs.core.util.DynamicProperties;
import org.codelibs.solr.lib.SolrGroup;
@@ -150,8 +151,7 @@ public class WebFsIndexHelper implements Serializable {
// NOP
}
- final SystemHelper systemHelper = SingletonS2Container
- .getComponent("systemHelper");
+ final SystemHelper systemHelper = ComponentUtil.getSystemHelper();
final long startTime = System.currentTimeMillis();
@@ -402,8 +402,7 @@ public class WebFsIndexHelper implements Serializable {
}
// run index update
- final IndexUpdater indexUpdater = SingletonS2Container
- .getComponent("indexUpdater");
+ final IndexUpdater indexUpdater = ComponentUtil.getIndexUpdater();
indexUpdater.setName("IndexUpdater");
indexUpdater.setPriority(indexUpdaterPriority);
indexUpdater.setSessionIdList(sessionIdList);
@@ -478,8 +477,8 @@ public class WebFsIndexHelper implements Serializable {
s2RobotStatusList.clear();
// put cralwing info
- final CrawlingSessionHelper crawlingSessionHelper = SingletonS2Container
- .getComponent("crawlingSessionHelper");
+ final CrawlingSessionHelper crawlingSessionHelper = ComponentUtil
+ .getCrawlingSessionHelper();
final long execTime = System.currentTimeMillis() - startTime;
crawlingSessionHelper.putToInfoMap(Constants.WEB_FS_CRAWLING_EXEC_TIME,
diff --git a/src/main/java/jp/sf/fess/interval/FessIntervalController.java b/src/main/java/jp/sf/fess/interval/FessIntervalController.java
index f50225793..809b5ce25 100644
--- a/src/main/java/jp/sf/fess/interval/FessIntervalController.java
+++ b/src/main/java/jp/sf/fess/interval/FessIntervalController.java
@@ -17,8 +17,8 @@
package jp.sf.fess.interval;
import jp.sf.fess.helper.IntervalControlHelper;
+import jp.sf.fess.util.ComponentUtil;
-import org.seasar.framework.container.SingletonS2Container;
import org.seasar.robot.interval.impl.DefaultIntervalController;
public class FessIntervalController extends DefaultIntervalController {
@@ -62,8 +62,8 @@ public class FessIntervalController extends DefaultIntervalController {
@Override
protected void delayForWaitingNewUrl() {
try {
- final IntervalControlHelper intervalControlHelper = SingletonS2Container
- .getComponent("intervalControlHelper");
+ final IntervalControlHelper intervalControlHelper = ComponentUtil
+ .getIntervalControlHelper();
intervalControlHelper.checkCrawlerStatus();
intervalControlHelper.delayByRules();
} catch (final Exception e) {
diff --git a/src/main/java/jp/sf/fess/job/CrawlJob.java b/src/main/java/jp/sf/fess/job/CrawlJob.java
index 6625bd22a..5f5a213a2 100644
--- a/src/main/java/jp/sf/fess/job/CrawlJob.java
+++ b/src/main/java/jp/sf/fess/job/CrawlJob.java
@@ -31,6 +31,7 @@ import jp.sf.fess.exec.Crawler;
import jp.sf.fess.helper.JobHelper;
import jp.sf.fess.helper.SystemHelper;
import jp.sf.fess.job.JobExecutor.ShutdownListener;
+import jp.sf.fess.util.ComponentUtil;
import jp.sf.fess.util.InputStreamThread;
import org.apache.commons.lang.StringUtils;
@@ -185,8 +186,8 @@ public class CrawlJob {
jobExecutor.addShutdownListener(new ShutdownListener() {
@Override
public void onShutdown() {
- SingletonS2Container.getComponent(JobHelper.class)
- .destroyCrawlerProcess(sessionId);
+ ComponentUtil.getJobHelper().destroyCrawlerProcess(
+ sessionId);
}
});
}
@@ -208,10 +209,8 @@ public class CrawlJob {
final String cpSeparator = SystemUtils.IS_OS_WINDOWS ? ";" : ":";
final ServletContext servletContext = SingletonS2Container
.getComponent(ServletContext.class);
- final SystemHelper systemHelper = SingletonS2Container
- .getComponent("systemHelper");
- final JobHelper jobHelper = SingletonS2Container
- .getComponent(JobHelper.class);
+ final SystemHelper systemHelper = ComponentUtil.getSystemHelper();
+ final JobHelper jobHelper = ComponentUtil.getJobHelper();
crawlerCmdList.add(systemHelper.getJavaCommandPath());
diff --git a/src/main/java/jp/sf/fess/job/DailyJob.java b/src/main/java/jp/sf/fess/job/DailyJob.java
index ae705284b..2ba4e5940 100644
--- a/src/main/java/jp/sf/fess/job/DailyJob.java
+++ b/src/main/java/jp/sf/fess/job/DailyJob.java
@@ -24,6 +24,7 @@ import jp.sf.fess.service.CrawlingSessionService;
import jp.sf.fess.service.JobLogService;
import jp.sf.fess.service.SearchLogService;
import jp.sf.fess.service.UserInfoService;
+import jp.sf.fess.util.ComponentUtil;
import org.codelibs.core.util.DynamicProperties;
import org.seasar.framework.container.SingletonS2Container;
@@ -44,10 +45,10 @@ public class DailyJob {
.getComponent(JobLogService.class);
final UserInfoService userInfoService = SingletonS2Container
.getComponent(UserInfoService.class);
- final HotSearchWordHelper hotSearchWordHelper = SingletonS2Container
- .getComponent(HotSearchWordHelper.class);
- final DynamicProperties crawlerProperties = SingletonS2Container
- .getComponent("crawlerProperties");
+ final HotSearchWordHelper hotSearchWordHelper = ComponentUtil
+ .getHotSearchWordHelper();
+ final DynamicProperties crawlerProperties = ComponentUtil
+ .getCrawlerProperties();
final StringBuilder resultBuf = new StringBuilder();
diff --git a/src/main/java/jp/sf/fess/job/JobScheduler.java b/src/main/java/jp/sf/fess/job/JobScheduler.java
index 0fe0a3b03..05b7d8c5e 100644
--- a/src/main/java/jp/sf/fess/job/JobScheduler.java
+++ b/src/main/java/jp/sf/fess/job/JobScheduler.java
@@ -29,6 +29,7 @@ import jp.sf.fess.db.cbean.ScheduledJobCB;
import jp.sf.fess.db.exbhv.ScheduledJobBhv;
import jp.sf.fess.db.exentity.ScheduledJob;
import jp.sf.fess.helper.JobHelper;
+import jp.sf.fess.util.ComponentUtil;
import org.quartz.Job;
import org.quartz.JobDataMap;
@@ -84,8 +85,7 @@ public class JobScheduler {
@DestroyMethod
public void destroy() {
- final JobHelper jobHelper = SingletonS2Container
- .getComponent(JobHelper.class);
+ final JobHelper jobHelper = ComponentUtil.getJobHelper();
for (final String sessionId : jobHelper.getRunningSessionIdSet()) {
jobHelper.destroyCrawlerProcess(sessionId);
}
diff --git a/src/main/java/jp/sf/fess/job/MinutelyJob.java b/src/main/java/jp/sf/fess/job/MinutelyJob.java
index 60c8d8dd1..8b0768566 100644
--- a/src/main/java/jp/sf/fess/job/MinutelyJob.java
+++ b/src/main/java/jp/sf/fess/job/MinutelyJob.java
@@ -17,8 +17,8 @@
package jp.sf.fess.job;
import jp.sf.fess.helper.SearchLogHelper;
+import jp.sf.fess.util.ComponentUtil;
-import org.seasar.framework.container.SingletonS2Container;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -28,8 +28,8 @@ public class MinutelyJob {
.getLogger(MinutelyJob.class);
public String execute() {
- final SearchLogHelper searchLogHelper = SingletonS2Container
- .getComponent(SearchLogHelper.class);
+ final SearchLogHelper searchLogHelper = ComponentUtil
+ .getSearchLogHelper();
final StringBuilder resultBuf = new StringBuilder();
diff --git a/src/main/java/jp/sf/fess/job/TriggeredJob.java b/src/main/java/jp/sf/fess/job/TriggeredJob.java
index 8784f8bc2..369b46c2f 100644
--- a/src/main/java/jp/sf/fess/job/TriggeredJob.java
+++ b/src/main/java/jp/sf/fess/job/TriggeredJob.java
@@ -24,6 +24,7 @@ import jp.sf.fess.db.exentity.ScheduledJob;
import jp.sf.fess.helper.JobHelper;
import jp.sf.fess.helper.SystemHelper;
import jp.sf.fess.service.JobLogService;
+import jp.sf.fess.util.ComponentUtil;
import org.quartz.Job;
import org.quartz.JobDataMap;
@@ -37,8 +38,6 @@ public class TriggeredJob implements Job {
private static final Logger logger = LoggerFactory
.getLogger(TriggeredJob.class);
- private static final String JOB_EXECUTOR_SUFFIX = "JobExecutor";
-
@Override
public void execute(final JobExecutionContext context)
throws JobExecutionException {
@@ -50,20 +49,17 @@ public class TriggeredJob implements Job {
}
public void execute(final ScheduledJob scheduledJob) {
- final SystemHelper systemHelper = SingletonS2Container
- .getComponent("systemHelper");
- final JobHelper jobHelper = SingletonS2Container
- .getComponent(JobHelper.class);
+ final SystemHelper systemHelper = ComponentUtil.getSystemHelper();
+ final JobHelper jobHelper = ComponentUtil.getJobHelper();
final JobLog jobLog = new JobLog(scheduledJob);
final String scriptType = scheduledJob.getScriptType();
final String script = scheduledJob.getScriptData();
final Long id = scheduledJob.getId();
final String jobId = Constants.JOB_ID_PREFIX + id;
- final JobExecutor jobExecutor = SingletonS2Container
- .getComponent(scriptType + JOB_EXECUTOR_SUFFIX);
+ final JobExecutor jobExecutor = ComponentUtil
+ .getJobExecutor(scriptType);
if (jobExecutor == null) {
- throw new ScheduledJobException("No jobExecutor: " + scriptType
- + JOB_EXECUTOR_SUFFIX);
+ throw new ScheduledJobException("No jobExecutor: " + scriptType);
}
if (jobHelper.startJobExecutoer(id, jobExecutor) != null) {
diff --git a/src/main/java/jp/sf/fess/robot/FessS2RobotThread.java b/src/main/java/jp/sf/fess/robot/FessS2RobotThread.java
index 3111b54ba..b9308fc62 100644
--- a/src/main/java/jp/sf/fess/robot/FessS2RobotThread.java
+++ b/src/main/java/jp/sf/fess/robot/FessS2RobotThread.java
@@ -34,6 +34,7 @@ import jp.sf.fess.helper.CrawlingSessionHelper;
import jp.sf.fess.helper.SambaHelper;
import jp.sf.fess.helper.SearchLogHelper;
import jp.sf.fess.helper.SystemHelper;
+import jp.sf.fess.util.ComponentUtil;
import org.apache.commons.io.IOUtils;
import org.apache.solr.client.solrj.SolrQuery;
@@ -45,7 +46,6 @@ import org.codelibs.core.util.DynamicProperties;
import org.codelibs.solr.lib.SolrGroup;
import org.codelibs.solr.lib.SolrGroupManager;
import org.codelibs.solr.lib.policy.QueryType;
-import org.seasar.framework.container.SingletonS2Container;
import org.seasar.robot.S2RobotThread;
import org.seasar.robot.client.S2RobotClient;
import org.seasar.robot.client.smb.SmbClient;
@@ -66,22 +66,20 @@ public class FessS2RobotThread extends S2RobotThread {
@Override
protected boolean isContentUpdated(final S2RobotClient client,
final UrlQueue urlQueue) {
- final DynamicProperties crawlerProperties = SingletonS2Container
- .getComponent("crawlerProperties");
+ final DynamicProperties crawlerProperties = ComponentUtil
+ .getCrawlerProperties();
if (crawlerProperties.getProperty(Constants.DIFF_CRAWLING_PROPERTY,
Constants.TRUE).equals(Constants.TRUE)) {
log(logHelper, LogType.CHECK_LAST_MODIFIED, robotContext, urlQueue);
final long startTime = System.currentTimeMillis();
- final CrawlingConfigHelper crawlingConfigHelper = SingletonS2Container
- .getComponent(CrawlingConfigHelper.class);
- final CrawlingSessionHelper crawlingSessionHelper = SingletonS2Container
- .getComponent(CrawlingSessionHelper.class);
- final SystemHelper systemHelper = SingletonS2Container
- .getComponent("systemHelper");
- final SambaHelper sambaHelper = SingletonS2Container
- .getComponent(SambaHelper.class);
+ final CrawlingConfigHelper crawlingConfigHelper = ComponentUtil
+ .getCrawlingConfigHelper();
+ final CrawlingSessionHelper crawlingSessionHelper = ComponentUtil
+ .getCrawlingSessionHelper();
+ final SystemHelper systemHelper = ComponentUtil.getSystemHelper();
+ final SambaHelper sambaHelper = ComponentUtil.getSambaHelper();
final boolean useAclAsRole = crawlerProperties.getProperty(
Constants.USE_ACL_AS_ROLE, Constants.FALSE).equals(
Constants.TRUE);
@@ -164,8 +162,8 @@ public class FessS2RobotThread extends S2RobotThread {
final Integer clickCount = (Integer) solrDocument
.get(systemHelper.clickCountField);
if (clickCount != null) {
- final SearchLogHelper searchLogHelper = SingletonS2Container
- .getComponent(SearchLogHelper.class);
+ final SearchLogHelper searchLogHelper = ComponentUtil
+ .getSearchLogHelper();
final int count = searchLogHelper.getClickCount(urlQueue
.getUrl());
if (count != clickCount.intValue()) {
@@ -177,8 +175,8 @@ public class FessS2RobotThread extends S2RobotThread {
final Integer favoriteCount = (Integer) solrDocument
.get(systemHelper.favoriteCountField);
if (favoriteCount != null) {
- final SearchLogHelper searchLogHelper = SingletonS2Container
- .getComponent(SearchLogHelper.class);
+ final SearchLogHelper searchLogHelper = ComponentUtil
+ .getSearchLogHelper();
final long count = searchLogHelper
.getFavoriteCount(urlQueue.getUrl());
if (count != favoriteCount.longValue()) {
@@ -261,10 +259,9 @@ public class FessS2RobotThread extends S2RobotThread {
protected SolrDocumentList getSolrDocumentList(final String id,
final boolean wildcard, final String expiresField) {
- final SolrGroupManager solrGroupManager = SingletonS2Container
- .getComponent(SolrGroupManager.class);
- final SystemHelper systemHelper = SingletonS2Container
- .getComponent("systemHelper");
+ final SolrGroupManager solrGroupManager = ComponentUtil
+ .getSolrGroupManager();
+ final SystemHelper systemHelper = ComponentUtil.getSystemHelper();
final SolrGroup solrGroup = solrGroupManager
.getSolrGroup(QueryType.ADD);
final SolrQuery solrQuery = new SolrQuery();
@@ -304,8 +301,8 @@ public class FessS2RobotThread extends S2RobotThread {
}
protected Set<String> getChildUrlSet(final String id) {
- final SolrGroupManager solrGroupManager = SingletonS2Container
- .getComponent(SolrGroupManager.class);
+ final SolrGroupManager solrGroupManager = ComponentUtil
+ .getSolrGroupManager();
final SolrGroup solrGroup = solrGroupManager
.getSolrGroup(QueryType.ADD);
final SolrQuery solrQuery = new SolrQuery();
@@ -344,8 +341,8 @@ public class FessS2RobotThread extends S2RobotThread {
}
protected void deleteSolrDocument(final String id) {
- final SolrGroupManager solrGroupManager = SingletonS2Container
- .getComponent(SolrGroupManager.class);
+ final SolrGroupManager solrGroupManager = ComponentUtil
+ .getSolrGroupManager();
final SolrGroup solrGroup = solrGroupManager
.getSolrGroup(QueryType.DELETE);
final String query = "{!raw f=parentId v=\"" + id + "\"}";
diff --git a/src/main/java/jp/sf/fess/screenshot/ScreenShotManager.java b/src/main/java/jp/sf/fess/screenshot/ScreenShotManager.java
index 54a36d69f..8e91d2f15 100644
--- a/src/main/java/jp/sf/fess/screenshot/ScreenShotManager.java
+++ b/src/main/java/jp/sf/fess/screenshot/ScreenShotManager.java
@@ -33,9 +33,9 @@ import javax.servlet.http.HttpSession;
import jp.sf.fess.Constants;
import jp.sf.fess.FessSystemException;
import jp.sf.fess.helper.SystemHelper;
+import jp.sf.fess.util.ComponentUtil;
import org.apache.commons.io.FileUtils;
-import org.seasar.framework.container.SingletonS2Container;
import org.seasar.framework.container.annotation.tiger.InitMethod;
import org.seasar.framework.util.StringUtil;
import org.seasar.robot.util.LruHashMap;
@@ -90,8 +90,7 @@ public class ScreenShotManager {
}
public void generate(final Map<String, Object> docMap) {
- final SystemHelper systemHelper = SingletonS2Container
- .getComponent("systemHelper");
+ final SystemHelper systemHelper = ComponentUtil.getSystemHelper();
for (final ScreenShotGenerator generator : generatorList) {
if (generator.isTarget(docMap)) {
final String segment = (String) docMap.get("segment");
@@ -107,8 +106,7 @@ public class ScreenShotManager {
public void storeRequest(final String queryId,
final List<Map<String, Object>> documentItems) {
- final SystemHelper systemHelper = SingletonS2Container
- .getComponent("systemHelper");
+ final SystemHelper systemHelper = ComponentUtil.getSystemHelper();
final Map<String, String> dataMap = new HashMap<String, String>(
documentItems.size());
for (final Map<String, Object> docMap : documentItems) {
diff --git a/src/main/java/jp/sf/fess/service/DatabaseService.java b/src/main/java/jp/sf/fess/service/DatabaseService.java
index 71a24e702..1ae207ae8 100644
--- a/src/main/java/jp/sf/fess/service/DatabaseService.java
+++ b/src/main/java/jp/sf/fess/service/DatabaseService.java
@@ -110,11 +110,11 @@ import jp.sf.fess.db.exentity.WebConfigToLabelTypeMapping;
import jp.sf.fess.db.exentity.WebConfigToRoleTypeMapping;
import jp.sf.fess.db.exentity.WebCrawlingConfig;
import jp.sf.fess.helper.LabelTypeHelper;
+import jp.sf.fess.util.ComponentUtil;
import org.codelibs.core.util.DynamicProperties;
import org.seasar.dbflute.bhv.DeleteOption;
import org.seasar.framework.beans.util.Beans;
-import org.seasar.framework.container.SingletonS2Container;
import org.seasar.framework.util.StringUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -548,8 +548,8 @@ public class DatabaseService {
}
}
// restore labels
- final LabelTypeHelper labelTypeHelper = SingletonS2Container
- .getComponent("labelTypeHelper");
+ final LabelTypeHelper labelTypeHelper = ComponentUtil
+ .getLabelTypeHelper();
if (labelTypeHelper != null) {
labelTypeHelper.init();
}
diff --git a/src/main/java/jp/sf/fess/service/FailureUrlService.java b/src/main/java/jp/sf/fess/service/FailureUrlService.java
index cfd253aad..2b7b2e219 100644
--- a/src/main/java/jp/sf/fess/service/FailureUrlService.java
+++ b/src/main/java/jp/sf/fess/service/FailureUrlService.java
@@ -35,6 +35,7 @@ import jp.sf.fess.db.exentity.CrawlingConfig;
import jp.sf.fess.db.exentity.FailureUrl;
import jp.sf.fess.helper.SystemHelper;
import jp.sf.fess.pager.FailureUrlPager;
+import jp.sf.fess.util.ComponentUtil;
import org.apache.commons.lang.StringUtils;
import org.codelibs.core.util.DynamicProperties;
@@ -201,8 +202,7 @@ public class FailureUrlService extends BsFailureUrlService implements
}
private String getStackTrace(final Throwable t) {
- final SystemHelper systemHelper = SingletonS2Container
- .getComponent("systemHelper");
+ final SystemHelper systemHelper = ComponentUtil.getSystemHelper();
final StringWriter sw = new StringWriter();
final PrintWriter pw = new PrintWriter(sw, true);
t.printStackTrace(pw);
diff --git a/src/main/java/jp/sf/fess/service/LabelTypeService.java b/src/main/java/jp/sf/fess/service/LabelTypeService.java
index 70a438f42..7fab56fa0 100644
--- a/src/main/java/jp/sf/fess/service/LabelTypeService.java
+++ b/src/main/java/jp/sf/fess/service/LabelTypeService.java
@@ -31,10 +31,10 @@ import jp.sf.fess.db.exentity.LabelType;
import jp.sf.fess.db.exentity.LabelTypeToRoleTypeMapping;
import jp.sf.fess.helper.LabelTypeHelper;
import jp.sf.fess.pager.LabelTypePager;
+import jp.sf.fess.util.ComponentUtil;
import org.seasar.dbflute.bhv.ConditionBeanSetupper;
import org.seasar.dbflute.cbean.ListResultBean;
-import org.seasar.framework.container.SingletonS2Container;
public class LabelTypeService extends BsLabelTypeService implements
Serializable {
@@ -162,8 +162,8 @@ public class LabelTypeService extends BsLabelTypeService implements
}
}
- final LabelTypeHelper labelTypeHelper = SingletonS2Container
- .getComponent("labelTypeHelper");
+ final LabelTypeHelper labelTypeHelper = ComponentUtil
+ .getLabelTypeHelper();
if (labelTypeHelper != null) {
labelTypeHelper.refresh(getLabelTypeListWithRoles());
}
diff --git a/src/main/java/jp/sf/fess/service/SearchService.java b/src/main/java/jp/sf/fess/service/SearchService.java
index 5c849677f..68d2a191e 100644
--- a/src/main/java/jp/sf/fess/service/SearchService.java
+++ b/src/main/java/jp/sf/fess/service/SearchService.java
@@ -40,6 +40,7 @@ import jp.sf.fess.helper.RoleQueryHelper;
import jp.sf.fess.solr.FessSolrQueryException;
import jp.sf.fess.suggest.SuggestConstants;
import jp.sf.fess.suggest.Suggester;
+import jp.sf.fess.util.ComponentUtil;
import jp.sf.fess.util.QueryResponseList;
import org.apache.solr.client.solrj.SolrQuery;
@@ -50,7 +51,6 @@ import org.apache.solr.common.util.NamedList;
import org.codelibs.solr.lib.SolrGroup;
import org.codelibs.solr.lib.SolrGroupManager;
import org.codelibs.solr.lib.policy.QueryType;
-import org.seasar.framework.container.SingletonS2Container;
import org.seasar.framework.util.StringUtil;
public class SearchService implements Serializable {
@@ -267,8 +267,8 @@ public class SearchService implements Serializable {
}
final long execTime = System.currentTimeMillis() - startTime;
- final QueryResponseList queryResponseList = SingletonS2Container
- .getComponent(QueryResponseList.class);
+ final QueryResponseList queryResponseList = ComponentUtil
+ .getQueryResponseList();
queryResponseList.init(queryResponse, rows);
queryResponseList.setSearchQuery(q);
queryResponseList.setSolrQuery(solrQuery.toString());
diff --git a/src/main/java/jp/sf/fess/solr/IndexUpdater.java b/src/main/java/jp/sf/fess/solr/IndexUpdater.java
index 93ee71c72..93b91f04f 100644
--- a/src/main/java/jp/sf/fess/solr/IndexUpdater.java
+++ b/src/main/java/jp/sf/fess/solr/IndexUpdater.java
@@ -34,6 +34,7 @@ import jp.sf.fess.db.exentity.customize.FavoriteUrlCount;
import jp.sf.fess.helper.IntervalControlHelper;
import jp.sf.fess.helper.SystemHelper;
import jp.sf.fess.screenshot.ScreenShotManager;
+import jp.sf.fess.util.ComponentUtil;
import org.apache.solr.common.SolrInputDocument;
import org.codelibs.solr.lib.SolrGroup;
@@ -189,8 +190,8 @@ public class IndexUpdater extends Thread {
int solrErrorCount = 0;
int errorCount = 0;
int emptyListCount = 0;
- final IntervalControlHelper intervalControlHelper = SingletonS2Container
- .getComponent("intervalControlHelper");
+ final IntervalControlHelper intervalControlHelper = ComponentUtil
+ .getIntervalControlHelper();
try {
while (!finishCrawling || !accessResultList.isEmpty()) {
try {
@@ -579,8 +580,8 @@ public class IndexUpdater extends Thread {
+ unprocessedDocumentSize + ") "
+ " unprocessed documents.");
}
- final IntervalControlHelper intervalControlHelper = SingletonS2Container
- .getComponent("intervalControlHelper");
+ final IntervalControlHelper intervalControlHelper = ComponentUtil
+ .getIntervalControlHelper();
intervalControlHelper.setCrawlerRunning(false);
}
return arList;
diff --git a/src/main/java/jp/sf/fess/solr/policy/FessStatusPolicy.java b/src/main/java/jp/sf/fess/solr/policy/FessStatusPolicy.java
index ff2f19643..ab2292727 100644
--- a/src/main/java/jp/sf/fess/solr/policy/FessStatusPolicy.java
+++ b/src/main/java/jp/sf/fess/solr/policy/FessStatusPolicy.java
@@ -24,12 +24,12 @@ import java.util.Map;
import jp.sf.fess.Constants;
import jp.sf.fess.helper.MailHelper;
+import jp.sf.fess.util.ComponentUtil;
import jp.sf.fess.util.ResourceUtil;
import org.codelibs.core.util.DynamicProperties;
import org.codelibs.solr.lib.policy.QueryType;
import org.codelibs.solr.lib.policy.impl.StatusPolicyImpl;
-import org.seasar.framework.container.SingletonS2Container;
import org.seasar.framework.util.StringUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -152,15 +152,14 @@ public class FessStatusPolicy extends StatusPolicyImpl {
}
protected void send(final String subject, final Map<String, Object> dataMap) {
- final DynamicProperties crawlerProperties = SingletonS2Container
- .getComponent("crawlerProperties");
+ final DynamicProperties crawlerProperties = ComponentUtil
+ .getCrawlerProperties();
if (crawlerProperties == null) {
logger.info("crawlerProperties is not found.");
return;
}
- final MailHelper mailHelper = SingletonS2Container
- .getComponent("mailHelper");
+ final MailHelper mailHelper = ComponentUtil.getMailHelper();
if (mailHelper == null) {
logger.info("mailHelper is not found.");
return;
diff --git a/src/main/java/jp/sf/fess/taglib/FessFunctions.java b/src/main/java/jp/sf/fess/taglib/FessFunctions.java
index 2f1b5ab4c..f87f2bfdc 100644
--- a/src/main/java/jp/sf/fess/taglib/FessFunctions.java
+++ b/src/main/java/jp/sf/fess/taglib/FessFunctions.java
@@ -30,11 +30,11 @@ import jp.sf.fess.entity.FacetQueryView;
import jp.sf.fess.helper.HotSearchWordHelper;
import jp.sf.fess.helper.HotSearchWordHelper.Range;
import jp.sf.fess.helper.ViewHelper;
+import jp.sf.fess.util.ComponentUtil;
import org.apache.commons.lang.StringEscapeUtils;
import org.apache.solr.common.util.DateUtil;
import org.codelibs.core.util.DynamicProperties;
-import org.seasar.framework.container.SingletonS2Container;
import org.seasar.struts.util.RequestUtil;
import org.seasar.struts.util.URLEncoderUtil;
@@ -92,8 +92,8 @@ public class FessFunctions {
range = Range.ENTIRE;
}
- final HotSearchWordHelper hotSearchWordHelper = SingletonS2Container
- .getComponent(HotSearchWordHelper.class);
+ final HotSearchWordHelper hotSearchWordHelper = ComponentUtil
+ .getHotSearchWordHelper();
final List<String> wordList = hotSearchWordHelper
.getHotSearchWordList(range);
if (wordList.size() > size) {
@@ -122,14 +122,14 @@ public class FessFunctions {
range = Range.ENTIRE;
}
- final HotSearchWordHelper hotSearchWordHelper = SingletonS2Container
- .getComponent(HotSearchWordHelper.class);
+ final HotSearchWordHelper hotSearchWordHelper = ComponentUtil
+ .getHotSearchWordHelper();
return hotSearchWordHelper.getHotSearchWordList(range).size();
}
private static boolean isSupportHotSearchWord() {
- final DynamicProperties crawlerProperties = SingletonS2Container
- .getComponent("crawlerProperties");
+ final DynamicProperties crawlerProperties = ComponentUtil
+ .getCrawlerProperties();
return crawlerProperties != null
&& Constants.TRUE.equals(crawlerProperties.getProperty(
Constants.WEB_API_HOT_SEARCH_WORD_PROPERTY,
@@ -183,8 +183,7 @@ public class FessFunctions {
}
public static List<FacetQueryView> facetQueryViewList() {
- final ViewHelper viewHelper = SingletonS2Container
- .getComponent("viewHelper");
+ final ViewHelper viewHelper = ComponentUtil.getViewHelper();
return viewHelper.getFacetQueryViewList();
}
diff --git a/src/main/java/jp/sf/fess/transformer/AbstractFessFileTransformer.java b/src/main/java/jp/sf/fess/transformer/AbstractFessFileTransformer.java
index c10e7eb70..a43852182 100644
--- a/src/main/java/jp/sf/fess/transformer/AbstractFessFileTransformer.java
+++ b/src/main/java/jp/sf/fess/transformer/AbstractFessFileTransformer.java
@@ -39,6 +39,7 @@ import jp.sf.fess.helper.PathMappingHelper;
import jp.sf.fess.helper.SambaHelper;
import jp.sf.fess.helper.SystemHelper;
import jp.sf.fess.taglib.FessFunctions;
+import jp.sf.fess.util.ComponentUtil;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.StringUtils;
@@ -166,28 +167,26 @@ public abstract class AbstractFessFileTransformer extends
final ResultData resultData = new ResultData();
resultData.setTransformerName(getName());
- final CrawlingSessionHelper crawlingSessionHelper = SingletonS2Container
- .getComponent("crawlingSessionHelper");
+ final CrawlingSessionHelper crawlingSessionHelper = ComponentUtil
+ .getCrawlingSessionHelper();
final String sessionId = crawlingSessionHelper
.getCanonicalSessionId(responseData.getSessionId());
final Date documentExpires = crawlingSessionHelper.getDocumentExpires();
- final PathMappingHelper pathMappingHelper = SingletonS2Container
- .getComponent("pathMappingHelper");
+ final PathMappingHelper pathMappingHelper = ComponentUtil
+ .getPathMappingHelper();
final String url = pathMappingHelper.replaceUrl(sessionId,
responseData.getUrl());
- final SambaHelper sambaHelper = SingletonS2Container
- .getComponent("sambaHelper");
- final DynamicProperties crawlerProperties = SingletonS2Container
- .getComponent("crawlerProperties");
+ final SambaHelper sambaHelper = ComponentUtil.getSambaHelper();
+ final DynamicProperties crawlerProperties = ComponentUtil
+ .getCrawlerProperties();
final boolean useAclAsRole = crawlerProperties.getProperty(
Constants.USE_ACL_AS_ROLE, Constants.FALSE).equals(
Constants.TRUE);
- final CrawlingConfigHelper crawlingConfigHelper = SingletonS2Container
- .getComponent("crawlingConfigHelper");
+ final CrawlingConfigHelper crawlingConfigHelper = ComponentUtil
+ .getCrawlingConfigHelper();
final CrawlingConfig crawlingConfig = crawlingConfigHelper
.get(responseData.getSessionId());
- final SystemHelper systemHelper = SingletonS2Container
- .getComponent("systemHelper");
+ final SystemHelper systemHelper = ComponentUtil.getSystemHelper();
String urlEncoding;
final UrlQueue urlQueue = CrawlingParameterUtil.getUrlQueue();
if (urlQueue != null && urlQueue.getEncoding() != null) {
@@ -286,8 +285,8 @@ public abstract class AbstractFessFileTransformer extends
for (final String labelType : crawlingConfig.getLabelTypeValues()) {
labelTypeSet.add(labelType);
}
- final LabelTypeHelper labelTypeHelper = SingletonS2Container
- .getComponent("labelTypeHelper");
+ final LabelTypeHelper labelTypeHelper = ComponentUtil
+ .getLabelTypeHelper();
labelTypeSet.addAll(labelTypeHelper.getMatchedLabelValueSet(url));
putResultDataBody(dataMap, "label", labelTypeSet);
// role: roleType
diff --git a/src/main/java/jp/sf/fess/transformer/FessFileTransformer.java b/src/main/java/jp/sf/fess/transformer/FessFileTransformer.java
index e4c89584e..3321c889b 100644
--- a/src/main/java/jp/sf/fess/transformer/FessFileTransformer.java
+++ b/src/main/java/jp/sf/fess/transformer/FessFileTransformer.java
@@ -17,8 +17,8 @@
package jp.sf.fess.transformer;
import jp.sf.fess.FessSystemException;
+import jp.sf.fess.util.ComponentUtil;
-import org.seasar.framework.container.SingletonS2Container;
import org.seasar.robot.entity.ResponseData;
import org.seasar.robot.extractor.Extractor;
import org.seasar.robot.extractor.ExtractorFactory;
@@ -31,8 +31,8 @@ public class FessFileTransformer extends AbstractFessFileTransformer {
@Override
protected Extractor getExtractor(final ResponseData responseData) {
- final ExtractorFactory extractorFactory = SingletonS2Container
- .getComponent("extractorFactory");
+ final ExtractorFactory extractorFactory = ComponentUtil
+ .getExtractorFactory();
if (extractorFactory == null) {
throw new FessSystemException("Could not find extractorFactory.");
}
diff --git a/src/main/java/jp/sf/fess/transformer/FessXpathTransformer.java b/src/main/java/jp/sf/fess/transformer/FessXpathTransformer.java
index 067d44021..a0dd94696 100644
--- a/src/main/java/jp/sf/fess/transformer/FessXpathTransformer.java
+++ b/src/main/java/jp/sf/fess/transformer/FessXpathTransformer.java
@@ -45,12 +45,12 @@ import jp.sf.fess.helper.OverlappingHostHelper;
import jp.sf.fess.helper.PathMappingHelper;
import jp.sf.fess.helper.SystemHelper;
import jp.sf.fess.taglib.FessFunctions;
+import jp.sf.fess.util.ComponentUtil;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.xpath.objects.XObject;
import org.cyberneko.html.parsers.DOMParser;
-import org.seasar.framework.container.SingletonS2Container;
import org.seasar.framework.util.SerializeUtil;
import org.seasar.framework.util.StringUtil;
import org.seasar.robot.RobotCrawlAccessException;
@@ -208,21 +208,20 @@ public class FessXpathTransformer extends AbstractFessXpathTransformer {
}
}
- final CrawlingSessionHelper crawlingSessionHelper = SingletonS2Container
- .getComponent("crawlingSessionHelper");
+ final CrawlingSessionHelper crawlingSessionHelper = ComponentUtil
+ .getCrawlingSessionHelper();
final String sessionId = crawlingSessionHelper
.getCanonicalSessionId(responseData.getSessionId());
final Date documentExpires = crawlingSessionHelper.getDocumentExpires();
- final PathMappingHelper pathMappingHelper = SingletonS2Container
- .getComponent("pathMappingHelper");
+ final PathMappingHelper pathMappingHelper = ComponentUtil
+ .getPathMappingHelper();
final String url = pathMappingHelper.replaceUrl(sessionId,
responseData.getUrl());
- final CrawlingConfigHelper crawlingConfigHelper = SingletonS2Container
- .getComponent("crawlingConfigHelper");
+ final CrawlingConfigHelper crawlingConfigHelper = ComponentUtil
+ .getCrawlingConfigHelper();
final CrawlingConfig crawlingConfig = crawlingConfigHelper
.get(responseData.getSessionId());
- final SystemHelper systemHelper = SingletonS2Container
- .getComponent("systemHelper");
+ final SystemHelper systemHelper = ComponentUtil.getSystemHelper();
String urlEncoding;
final UrlQueue urlQueue = CrawlingParameterUtil.getUrlQueue();
if (urlQueue != null && urlQueue.getEncoding() != null) {
@@ -290,8 +289,8 @@ public class FessXpathTransformer extends AbstractFessXpathTransformer {
for (final String labelType : crawlingConfig.getLabelTypeValues()) {
labelTypeSet.add(labelType);
}
- final LabelTypeHelper labelTypeHelper = SingletonS2Container
- .getComponent("labelTypeHelper");
+ final LabelTypeHelper labelTypeHelper = ComponentUtil
+ .getLabelTypeHelper();
labelTypeSet.addAll(labelTypeHelper.getMatchedLabelValueSet(url));
putResultDataBody(dataMap, "label", labelTypeSet);
// role: roleType
@@ -469,8 +468,8 @@ public class FessXpathTransformer extends AbstractFessXpathTransformer {
protected String replaceOverlappingHost(final String url) {
try {
// remove overlapping host
- final OverlappingHostHelper overlappingHostHelper = SingletonS2Container
- .getComponent("overlappingHostHelper");
+ final OverlappingHostHelper overlappingHostHelper = ComponentUtil
+ .getOverlappingHostHelper();
return overlappingHostHelper.convert(url);
} catch (final Exception e) {
return url;
diff --git a/src/main/java/jp/sf/fess/util/ComponentUtil.java b/src/main/java/jp/sf/fess/util/ComponentUtil.java
new file mode 100644
index 000000000..a0ff82a26
--- /dev/null
+++ b/src/main/java/jp/sf/fess/util/ComponentUtil.java
@@ -0,0 +1,201 @@
+package jp.sf.fess.util;
+
+import jp.sf.fess.api.WebApiManagerFactory;
+import jp.sf.fess.crypto.FessCipher;
+import jp.sf.fess.ds.DataStoreFactory;
+import jp.sf.fess.helper.CrawlingConfigHelper;
+import jp.sf.fess.helper.CrawlingSessionHelper;
+import jp.sf.fess.helper.DatabaseHelper;
+import jp.sf.fess.helper.DocumentHelper;
+import jp.sf.fess.helper.HotSearchWordHelper;
+import jp.sf.fess.helper.IntervalControlHelper;
+import jp.sf.fess.helper.JobHelper;
+import jp.sf.fess.helper.LabelTypeHelper;
+import jp.sf.fess.helper.MailHelper;
+import jp.sf.fess.helper.OverlappingHostHelper;
+import jp.sf.fess.helper.PathMappingHelper;
+import jp.sf.fess.helper.QueryHelper;
+import jp.sf.fess.helper.SambaHelper;
+import jp.sf.fess.helper.SearchLogHelper;
+import jp.sf.fess.helper.SystemHelper;
+import jp.sf.fess.helper.UserAgentHelper;
+import jp.sf.fess.helper.ViewHelper;
+import jp.sf.fess.job.JobExecutor;
+import jp.sf.fess.solr.IndexUpdater;
+
+import org.codelibs.core.util.DynamicProperties;
+import org.codelibs.solr.lib.SolrGroupManager;
+import org.seasar.framework.container.SingletonS2Container;
+import org.seasar.robot.extractor.ExtractorFactory;
+
+public final class ComponentUtil {
+ private static final String USER_AGENT_NAME = "userAgentName";
+
+ private static final String INDEX_UPDATER = "indexUpdater";
+
+ private static final String DATABASE_HELPER = "databaseHelper";
+
+ private static final String MAIL_HELPER = "mailHelper";
+
+ private static final String EXTRACTOR_FACTORY = "extractorFactory";
+
+ private static final String INTERVAL_CONTROL_HELPER = "intervalControlHelper";
+
+ private static final String DATA_STORE_FACTORY = "dataStoreFactory";
+
+ private static final String USER_AGENT_HELPER = "userAgentHelper";
+
+ private static final String WEB_API_MANAGER_FACTORY = "webApiManagerFactory";
+
+ private static final String DOCUMENT_HELPER = "documentHelper";
+
+ private static final String JOB_HELPER = "jobHelper";
+
+ private static final String OVERLAPPING_HOST_HELPER = "overlappingHostHelper";
+
+ private static final String PATH_MAPPING_HELPER = "pathMappingHelper";
+
+ private static final String HOT_SEARCH_WORD_HELPER = "hotSearchWordHelper";
+
+ private static final String CRAWLING_SESSION_HELPER = "crawlingSessionHelper";
+
+ private static final String CRAWLING_CONFIG_HELPER = "crawlingConfigHelper";
+
+ private static final String SEARCH_LOG_HELPER = "searchLogHelper";
+
+ private static final String LABEL_TYPE_HELPER = "labelTypeHelper";
+
+ private static final String QUERY_HELPER = "queryHelper";
+
+ private static final String SAMBA_HELPER = "sambaHelper";
+
+ private static final String VIEW_HELPER = "viewHelper";
+
+ private static final String SYSTEM_HELPER = "systemHelper";
+
+ private static final String SOLR_GROUP_MANAGER = "solrGroupManager";
+
+ private static final String CRAWLER_PROPERTIES = "crawlerProperties";
+
+ private static final String PROPERTIES_SUFFIX = "Properties";
+
+ private static final String QUERY_RESPONSE_LIST = "queryResponseList";
+
+ private static final String JOB_EXECUTOR_SUFFIX = "JobExecutor";
+
+ private ComponentUtil() {
+ }
+
+ public static FessCipher getCipher(final String cipherName) {
+ return SingletonS2Container.getComponent(cipherName);
+ }
+
+ public static QueryResponseList getQueryResponseList() {
+ return SingletonS2Container.getComponent(QUERY_RESPONSE_LIST);
+ }
+
+ public static DynamicProperties getSolrGroupProperties(
+ final String groupName) {
+ return SingletonS2Container.getComponent(groupName + PROPERTIES_SUFFIX);
+ }
+
+ public static DynamicProperties getCrawlerProperties() {
+ return SingletonS2Container.getComponent(CRAWLER_PROPERTIES);
+ }
+
+ public static SolrGroupManager getSolrGroupManager() {
+ return SingletonS2Container.getComponent(SOLR_GROUP_MANAGER);
+ }
+
+ public static SystemHelper getSystemHelper() {
+ return SingletonS2Container.getComponent(SYSTEM_HELPER);
+ }
+
+ public static ViewHelper getViewHelper() {
+ return SingletonS2Container.getComponent(VIEW_HELPER);
+ }
+
+ public static SambaHelper getSambaHelper() {
+ return SingletonS2Container.getComponent(SAMBA_HELPER);
+ }
+
+ public static QueryHelper getQueryHelper() {
+ return SingletonS2Container.getComponent(QUERY_HELPER);
+ }
+
+ public static LabelTypeHelper getLabelTypeHelper() {
+ return SingletonS2Container.getComponent(LABEL_TYPE_HELPER);
+ }
+
+ public static SearchLogHelper getSearchLogHelper() {
+ return SingletonS2Container.getComponent(SEARCH_LOG_HELPER);
+ }
+
+ public static CrawlingConfigHelper getCrawlingConfigHelper() {
+ return SingletonS2Container.getComponent(CRAWLING_CONFIG_HELPER);
+ }
+
+ public static CrawlingSessionHelper getCrawlingSessionHelper() {
+ return SingletonS2Container.getComponent(CRAWLING_SESSION_HELPER);
+ }
+
+ public static HotSearchWordHelper getHotSearchWordHelper() {
+ return SingletonS2Container.getComponent(HOT_SEARCH_WORD_HELPER);
+ }
+
+ public static PathMappingHelper getPathMappingHelper() {
+ return SingletonS2Container.getComponent(PATH_MAPPING_HELPER);
+ }
+
+ public static OverlappingHostHelper getOverlappingHostHelper() {
+ return SingletonS2Container.getComponent(OVERLAPPING_HOST_HELPER);
+ }
+
+ public static JobHelper getJobHelper() {
+ return SingletonS2Container.getComponent(JOB_HELPER);
+ }
+
+ public static DocumentHelper getDocumentHelper() {
+ return SingletonS2Container.getComponent(DOCUMENT_HELPER);
+ }
+
+ public static WebApiManagerFactory getWebApiManagerFactory() {
+ return SingletonS2Container.getComponent(WEB_API_MANAGER_FACTORY);
+ }
+
+ public static UserAgentHelper getUserAgentHelper() {
+ return SingletonS2Container.getComponent(USER_AGENT_HELPER);
+ }
+
+ public static DataStoreFactory getDataStoreFactory() {
+ return SingletonS2Container.getComponent(DATA_STORE_FACTORY);
+ }
+
+ public static IntervalControlHelper getIntervalControlHelper() {
+ return SingletonS2Container.getComponent(INTERVAL_CONTROL_HELPER);
+ }
+
+ public static ExtractorFactory getExtractorFactory() {
+ return SingletonS2Container.getComponent(EXTRACTOR_FACTORY);
+ }
+
+ public static JobExecutor getJobExecutor(final String name) {
+ return SingletonS2Container.getComponent(name + JOB_EXECUTOR_SUFFIX);
+ }
+
+ public static MailHelper getMailHelper() {
+ return SingletonS2Container.getComponent(MAIL_HELPER);
+ }
+
+ public static DatabaseHelper getDatabaseHelper() {
+ return SingletonS2Container.getComponent(DATABASE_HELPER);
+ }
+
+ public static IndexUpdater getIndexUpdater() {
+ return SingletonS2Container.getComponent(INDEX_UPDATER);
+ }
+
+ public static String getUserAgentName() {
+ return SingletonS2Container.getComponent(USER_AGENT_NAME);
+ }
+}
diff --git a/src/main/java/jp/sf/fess/util/QueryResponseList.java b/src/main/java/jp/sf/fess/util/QueryResponseList.java
index 155483ee2..e1376c2fb 100644
--- a/src/main/java/jp/sf/fess/util/QueryResponseList.java
+++ b/src/main/java/jp/sf/fess/util/QueryResponseList.java
@@ -33,7 +33,6 @@ import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.common.SolrDocument;
import org.apache.solr.common.SolrDocumentList;
import org.apache.solr.common.util.SimpleOrderedMap;
-import org.seasar.framework.container.SingletonS2Container;
import org.seasar.framework.util.StringUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -109,8 +108,7 @@ public class QueryResponseList implements List<Map<String, Object>> {
}
// build highlighting fields
- final QueryHelper queryHelper = SingletonS2Container
- .getComponent(QueryHelper.class);
+ final QueryHelper queryHelper = ComponentUtil.getQueryHelper();
final String hlPrefix = queryHelper.getHighlightingPrefix();
for (final SolrDocument solrDocMap : sdList) {
final Map<String, Object> docMap = new HashMap<String, Object>();
@@ -140,8 +138,7 @@ public class QueryResponseList implements List<Map<String, Object>> {
}
// ContentTitle
- final ViewHelper viewHelper = SingletonS2Container
- .getComponent("viewHelper");
+ final ViewHelper viewHelper = ComponentUtil.getViewHelper();
if (viewHelper != null) {
docMap.put("contentTitle",
viewHelper.getContentTitle(docMap));
--
GitLab