浏览代码

fix #2009 check if old value is array

Shinsuke Sugaya 6 年之前
父节点
当前提交
5b0176a2ff
共有 1 个文件被更改,包括 1 次插入1 次删除
  1. 1 1
      src/main/java/org/codelibs/fess/crawler/transformer/FessTransformer.java

+ 1 - 1
src/main/java/org/codelibs/fess/crawler/transformer/FessTransformer.java

@@ -114,7 +114,7 @@ public interface FessTransformer {
         } else if (dataMap.containsKey(key)) {
         } else if (dataMap.containsKey(key)) {
             if (getFessConfig().isCrawlerDocumentAppendData()) {
             if (getFessConfig().isCrawlerDocumentAppendData()) {
                 final Object oldValue = dataMap.get(key);
                 final Object oldValue = dataMap.get(key);
-                final Object[] oldValues = (Object[]) oldValue;
+                final Object[] oldValues = oldValue instanceof Object[] ? (Object[]) oldValue : new Object[] { oldValue };
                 if (value.getClass().isArray()) {
                 if (value.getClass().isArray()) {
                     final Object[] newValues = (Object[]) value;
                     final Object[] newValues = (Object[]) value;
                     final Object[] values = Arrays.copyOf(oldValues, oldValues.length + newValues.length);
                     final Object[] values = Arrays.copyOf(oldValues, oldValues.length + newValues.length);