1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.codelibs.fess.util;
17
18 import java.util.Collection;
19 import java.util.List;
20 import java.util.stream.Collectors;
21
22 import org.codelibs.core.beans.util.BeanUtil;
23 import org.dbflute.Entity;
24 import org.lastaflute.web.response.render.RenderData;
25
26 public class RenderDataUtil {
27
28 public static void register(final RenderData data, final String key, final Object value) {
29 if (value == null) {
30 return;
31 } else if (value instanceof Entity) {
32 data.register(key, BeanUtil.copyBeanToNewMap(value));
33 } else if (value instanceof Collection<?>) {
34 final Collection<?> coll = ((Collection<?>) value);
35 if (!coll.isEmpty()) {
36
37 final Object first = coll instanceof List<?> ? ((List<?>) coll).get(0) : coll.iterator().next();
38 if (first instanceof Entity) {
39 data.register(key, coll.stream().map(e -> BeanUtil.copyBeanToNewMap(e)).collect(Collectors.toList()));
40 return;
41 }
42 }
43 data.register(key, value);
44 } else {
45 data.register(key, value);
46 }
47 }
48
49 }