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 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 groupPropMap = new HashMap(); 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> getLogFileItems() { final List> logFileItems = new ArrayList>(); - 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 groupPropMap = new HashMap(); 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 groupPropMap = new HashMap(); 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 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 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> labelTypeItems = getLabelTypeHelper() - .getLabelTypeItemList(); + final List> 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 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> labelTypeItems = getLabelTypeHelper() - .getLabelTypeItemList(); + final List> labelTypeItems = ComponentUtil + .getLabelTypeHelper().getLabelTypeItemList(); buf.append(""); buf.append(labelTypeItems.size()); buf.append(""); 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 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 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 authenticatedRoleList = systemHelper .getAuthenticatedRoleList(); final List roleList = new ArrayList(); 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 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 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> documentItems) { - final SystemHelper systemHelper = SingletonS2Container - .getComponent("systemHelper"); + final SystemHelper systemHelper = ComponentUtil.getSystemHelper(); final Map dataMap = new HashMap( documentItems.size()); for (final Map 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 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 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 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> { } // 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 docMap = new HashMap(); @@ -140,8 +138,7 @@ public class QueryResponseList implements List> { } // ContentTitle - final ViewHelper viewHelper = SingletonS2Container - .getComponent("viewHelper"); + final ViewHelper viewHelper = ComponentUtil.getViewHelper(); if (viewHelper != null) { docMap.put("contentTitle", viewHelper.getContentTitle(docMap));