diff --git a/src/main/java/org/codelibs/fess/Constants.java b/src/main/java/org/codelibs/fess/Constants.java index 18ec21f5f..e1b693026 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 3367ff2c8..f06f92fb1 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 {