diff --git a/src/main/java/org/codelibs/fess/ds/IndexUpdateCallback.java b/src/main/java/org/codelibs/fess/ds/IndexUpdateCallback.java index 56999c6e1..4e8c7324d 100644 --- a/src/main/java/org/codelibs/fess/ds/IndexUpdateCallback.java +++ b/src/main/java/org/codelibs/fess/ds/IndexUpdateCallback.java @@ -19,7 +19,7 @@ import java.util.Map; public interface IndexUpdateCallback { - boolean store(Map dataMap); + boolean store(Map paramMap, Map dataMap); long getDocumentSize(); diff --git a/src/main/java/org/codelibs/fess/ds/impl/CsvDataStoreImpl.java b/src/main/java/org/codelibs/fess/ds/impl/CsvDataStoreImpl.java index 95ac2a0fe..db144a635 100644 --- a/src/main/java/org/codelibs/fess/ds/impl/CsvDataStoreImpl.java +++ b/src/main/java/org/codelibs/fess/ds/impl/CsvDataStoreImpl.java @@ -234,7 +234,7 @@ public class CsvDataStoreImpl extends AbstractDataStoreImpl { } try { - loop = callback.store(dataMap); + loop = callback.store(paramMap, dataMap); } catch (final CrawlingAccessException e) { logger.warn("Crawling Access Exception at : " + dataMap, e); diff --git a/src/main/java/org/codelibs/fess/ds/impl/DatabaseDataStoreImpl.java b/src/main/java/org/codelibs/fess/ds/impl/DatabaseDataStoreImpl.java index 3d26d878c..f9dc7f370 100644 --- a/src/main/java/org/codelibs/fess/ds/impl/DatabaseDataStoreImpl.java +++ b/src/main/java/org/codelibs/fess/ds/impl/DatabaseDataStoreImpl.java @@ -110,7 +110,7 @@ public class DatabaseDataStoreImpl extends AbstractDataStoreImpl { } try { - loop = callback.store(dataMap); + loop = callback.store(paramMap, dataMap); } catch (final Exception e) { logger.warn("Failed to store data: " + dataMap, e); } diff --git a/src/main/java/org/codelibs/fess/ds/impl/FileListDataStoreImpl.java b/src/main/java/org/codelibs/fess/ds/impl/FileListDataStoreImpl.java index 9dcb970c0..49717bd33 100644 --- a/src/main/java/org/codelibs/fess/ds/impl/FileListDataStoreImpl.java +++ b/src/main/java/org/codelibs/fess/ds/impl/FileListDataStoreImpl.java @@ -143,22 +143,22 @@ public class FileListDataStoreImpl extends CsvDataStoreImpl { } @Override - public boolean store(final Map dataMap) { + public boolean store(final Map paramMap, final Map dataMap) { final Object eventType = dataMap.remove(eventTypeField); if (createEventName.equals(eventType) || modifyEventName.equals(eventType)) { // updated file - return addDocument(dataMap); + return addDocument(paramMap, dataMap); } else if (deleteEventName.equals(eventType)) { // deleted file - return deleteDocument(dataMap); + return deleteDocument(paramMap, dataMap); } logger.warn("unknown event: " + eventType + ", data: " + dataMap); return false; } - protected boolean addDocument(final Map dataMap) { + protected boolean addDocument(final Map paramMap, final Map dataMap) { final FessConfig fessConfig = ComponentUtil.getFessConfig(); synchronized (indexUpdateCallback) { // required check @@ -178,7 +178,11 @@ public class FileListDataStoreImpl extends CsvDataStoreImpl { final long startTime = System.currentTimeMillis(); final ResponseData responseData = client.execute(RequestDataBuilder.newRequestData().get().url(url).build()); responseData.setExecutionTime(System.currentTimeMillis() - startTime); - responseData.setSessionId((String) dataMap.get(Constants.CRAWLING_INFO_ID)); + if (dataMap.containsKey(Constants.SESSION_ID)) { + responseData.setSessionId((String) dataMap.get(Constants.SESSION_ID)); + } else { + responseData.setSessionId((String) paramMap.get(Constants.CRAWLING_INFO_ID)); + } final RuleManager ruleManager = SingletonLaContainer.getComponent(RuleManager.class); final Rule rule = ruleManager.getRule(responseData); @@ -208,7 +212,7 @@ public class FileListDataStoreImpl extends CsvDataStoreImpl { dataMap.remove(fieldName); } - return indexUpdateCallback.store(dataMap); + return indexUpdateCallback.store(paramMap, dataMap); } else { logger.warn("The response processor is not DefaultResponseProcessor. responseProcessor: " + responseProcessor + ", Data: " + dataMap); @@ -221,7 +225,7 @@ public class FileListDataStoreImpl extends CsvDataStoreImpl { } } - protected boolean deleteDocument(final Map dataMap) { + protected boolean deleteDocument(final Map paramMap, final Map dataMap) { if (logger.isDebugEnabled()) { logger.debug("Deleting " + dataMap); diff --git a/src/main/java/org/codelibs/fess/ds/impl/IndexUpdateCallbackImpl.java b/src/main/java/org/codelibs/fess/ds/impl/IndexUpdateCallbackImpl.java index e11d50093..36bde1b0f 100644 --- a/src/main/java/org/codelibs/fess/ds/impl/IndexUpdateCallbackImpl.java +++ b/src/main/java/org/codelibs/fess/ds/impl/IndexUpdateCallbackImpl.java @@ -45,7 +45,7 @@ public class IndexUpdateCallbackImpl implements IndexUpdateCallback { * @see org.codelibs.fess.ds.impl.IndexUpdateCallback#store(java.util.Map) */ @Override - public synchronized boolean store(final Map dataMap) { + public synchronized boolean store(final Map paramMap, final Map dataMap) { final long startTime = System.currentTimeMillis(); final FessConfig fessConfig = ComponentUtil.getFessConfig(); final FessEsClient fessEsClient = ComponentUtil.getElasticsearchClient();