This commit is contained in:
Shinsuke Sugaya 2014-01-24 21:20:16 +09:00
parent cb3e20ddfe
commit 9da6b40d44
43 changed files with 421 additions and 266 deletions

View file

@ -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;

View file

@ -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();

View file

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

View file

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

View file

@ -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) {

View file

@ -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) {

View file

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

View file

@ -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()) {

View file

@ -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>");

View file

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

View file

@ -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())) {

View file

@ -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() {

View file

@ -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;

View file

@ -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()) {

View file

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

View file

@ -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()) {

View file

@ -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>();

View file

@ -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) {

View file

@ -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";
}

View file

@ -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) {

View file

@ -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) {

View file

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

View file

@ -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,

View file

@ -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) {

View file

@ -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());

View file

@ -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();

View file

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

View file

@ -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();

View file

@ -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) {

View file

@ -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 + "\"}";

View file

@ -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) {

View file

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

View file

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

View file

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

View file

@ -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());

View file

@ -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;

View file

@ -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;

View file

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

View file

@ -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

View file

@ -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.");
}

View file

@ -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;

View file

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

View file

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