diff --git a/src/main/java/org/codelibs/fess/Constants.java b/src/main/java/org/codelibs/fess/Constants.java index 18ec21f5ffe453edc6cd7a130d86b4227280200d..e1b693026374827ea7bd672b0cb0c3c333985822 100644 --- a/src/main/java/org/codelibs/fess/Constants.java +++ b/src/main/java/org/codelibs/fess/Constants.java @@ -402,6 +402,8 @@ public class Constants extends CoreLibConstants { public static final String MAPPING_TYPE_DATE = "date"; + public static final String MAPPING_TYPE_PDF_DATE = "pdf_date"; + public static final String PAGING_QUERY_LIST = "pagingQueryList"; public static final String REQUEST_LANGUAGES = "requestLanguages"; 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 3367ff2c8e9ecc4bb95074a1fb5d2f3a4b6fb324..f06f92fb1c8eaca2154f6f166149a10b988577c3 100644 --- a/src/main/java/org/codelibs/fess/crawler/transformer/AbstractFessFileTransformer.java +++ b/src/main/java/org/codelibs/fess/crawler/transformer/AbstractFessFileTransformer.java @@ -138,11 +138,17 @@ public abstract class AbstractFessFileTransformer extends AbstractTransformer im dataMap.put(mapping.getValue1(), Long.parseLong(values[0])); } else if (Constants.MAPPING_TYPE_DOUBLE.equalsIgnoreCase(mapping.getValue2())) { dataMap.put(mapping.getValue1(), Double.parseDouble(values[0])); - } else if (Constants.MAPPING_TYPE_DATE.equalsIgnoreCase(mapping.getValue2())) { - final Date dt = - FessFunctions.parseDate(values[0], - StringUtil.isNotBlank(mapping.getValue3()) ? mapping.getValue3() - : Constants.DATE_OPTIONAL_TIME); + } else if (Constants.MAPPING_TYPE_DATE.equalsIgnoreCase(mapping.getValue2()) + || Constants.MAPPING_TYPE_PDF_DATE.equalsIgnoreCase(mapping.getValue2())) { + final String dateFormate; + if (StringUtil.isNotBlank(mapping.getValue3())) { + dateFormate = mapping.getValue3(); + } else if (Constants.MAPPING_TYPE_PDF_DATE.equalsIgnoreCase(mapping.getValue2())) { + dateFormate = mapping.getValue2(); + } else { + dateFormate = Constants.DATE_OPTIONAL_TIME; + } + final Date dt = FessFunctions.parseDate(values[0], dateFormate); if (dt != null) { dataMap.put(mapping.getValue1(), FessFunctions.formatDate(dt)); } else {