diff --git a/src/main/java/org/codelibs/fess/crawler/transformer/AbstractFessFileTransformer.java b/src/main/java/org/codelibs/fess/crawler/transformer/AbstractFessFileTransformer.java index ca629e06e..8326deb45 100644 --- a/src/main/java/org/codelibs/fess/crawler/transformer/AbstractFessFileTransformer.java +++ b/src/main/java/org/codelibs/fess/crawler/transformer/AbstractFessFileTransformer.java @@ -82,6 +82,19 @@ public abstract class AbstractFessFileTransformer extends AbstractTransformer im throw new CrawlingAccessException("No response body."); } + final ResultData resultData = new ResultData(); + resultData.setTransformerName(getName()); + try { + resultData.setData(SerializeUtil.fromObjectToBinary(generateData(responseData))); + } catch (final Exception e) { + throw new CrawlingAccessException("Could not serialize object", e); + } + resultData.setEncoding(fessConfig.getCrawlerCrawlingDataEncoding()); + + return resultData; + } + + protected Map generateData(final ResponseData responseData) { final Extractor extractor = getExtractor(responseData); final Map params = new HashMap(); params.put(TikaMetadataKeys.RESOURCE_NAME_KEY, getResourceName(responseData)); @@ -152,9 +165,6 @@ public abstract class AbstractFessFileTransformer extends AbstractTransformer im } final String contentMeta = contentMetaBuf.toString(); - final ResultData resultData = new ResultData(); - resultData.setTransformerName(getName()); - final FessConfig fessConfig = ComponentUtil.getFessConfig(); final CrawlingInfoHelper crawlingInfoHelper = ComponentUtil.getCrawlingInfoHelper(); final String sessionId = crawlingInfoHelper.getCanonicalSessionId(responseData.getSessionId()); @@ -335,14 +345,7 @@ public abstract class AbstractFessFileTransformer extends AbstractTransformer im putResultDataWithTemplate(dataMap, key, entry.getValue(), scriptConfigMap.get(key)); } - try { - resultData.setData(SerializeUtil.fromObjectToBinary(dataMap)); - } catch (final Exception e) { - throw new CrawlingAccessException("Could not serialize object: " + url, e); - } - resultData.setEncoding(fessConfig.getCrawlerCrawlingDataEncoding()); - - return resultData; + return dataMap; } protected String abbreviate(final String str, final int maxWidth) {