1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.codelibs.fess.app.service;
17
18 import java.util.List;
19
20 import org.codelibs.core.beans.util.BeanUtil;
21 import org.codelibs.core.lang.StringUtil;
22 import org.codelibs.fess.Constants;
23 import org.codelibs.fess.app.pager.LabelTypePager;
24 import org.codelibs.fess.helper.LabelTypeHelper;
25 import org.codelibs.fess.mylasta.direction.FessConfig;
26 import org.codelibs.fess.opensearch.config.cbean.LabelTypeCB;
27 import org.codelibs.fess.opensearch.config.exbhv.LabelTypeBhv;
28 import org.codelibs.fess.opensearch.config.exentity.LabelType;
29 import org.codelibs.fess.util.ComponentUtil;
30 import org.dbflute.cbean.result.PagingResultBean;
31 import org.dbflute.optional.OptionalEntity;
32
33 import jakarta.annotation.Resource;
34
35
36
37
38 public class LabelTypeService extends FessAppService {
39
40
41 @Resource
42 protected LabelTypeBhv labelTypeBhv;
43
44
45 @Resource
46 protected FessConfig fessConfig;
47
48
49
50
51 public LabelTypeService() {
52 super();
53 }
54
55
56
57
58
59
60
61 public List<LabelType> getLabelTypeList(final LabelTypePager labelTypePager) {
62
63 final PagingResultBean<LabelType> labelTypeList = labelTypeBhv.selectPage(cb -> {
64 cb.paging(labelTypePager.getPageSize(), labelTypePager.getCurrentPageNumber());
65 setupListCondition(cb, labelTypePager);
66 });
67
68
69 BeanUtil.copyBeanToBean(labelTypeList, labelTypePager, option -> option.include(Constants.PAGER_CONVERSION_RULE));
70 labelTypePager.setPageNumberList(labelTypeList.pageRange(op -> {
71 op.rangeSize(fessConfig.getPagingPageRangeSizeAsInteger());
72 }).createPageNumberList());
73
74 return labelTypeList;
75 }
76
77
78
79
80
81
82 public void delete(final LabelType labelType) {
83
84 labelTypeBhv.delete(labelType, op -> {
85 op.setRefreshPolicy(Constants.TRUE);
86 });
87
88 final LabelTypeHelper labelTypeHelper = ComponentUtil.getLabelTypeHelper();
89 if (labelTypeHelper != null) {
90 labelTypeHelper.refresh(getLabelTypeList());
91 }
92 }
93
94
95
96
97
98
99
100 protected void setupListCondition(final LabelTypeCB cb, final LabelTypePager labelTypePager) {
101 if (StringUtil.isNotBlank(labelTypePager.name)) {
102 cb.query().setName_Wildcard(wrapQuery(labelTypePager.name));
103 }
104 if (StringUtil.isNotBlank(labelTypePager.value)) {
105 cb.query().setValue_Wildcard(wrapQuery(labelTypePager.value));
106 }
107
108
109
110 cb.query().addOrderBy_SortOrder_Asc();
111 cb.query().addOrderBy_Name_Asc();
112
113
114 }
115
116
117
118
119
120
121 public List<LabelType> getLabelTypeList() {
122 return labelTypeBhv.selectList(cb -> {
123 cb.query().addOrderBy_SortOrder_Asc();
124 cb.query().addOrderBy_Name_Asc();
125 cb.paging(fessConfig.getPageLabeltypeMaxFetchSizeAsInteger(), 1);
126 });
127 }
128
129
130
131
132
133
134 public void store(final LabelType labelType) {
135 labelTypeBhv.insertOrUpdate(labelType, op -> {
136 op.setRefreshPolicy(Constants.TRUE);
137 });
138
139 final LabelTypeHelper labelTypeHelper = ComponentUtil.getLabelTypeHelper();
140 if (labelTypeHelper != null) {
141 labelTypeHelper.refresh(getLabelTypeList());
142 }
143 }
144
145
146
147
148
149
150
151 public OptionalEntity<LabelType> getLabelType(final String id) {
152 return labelTypeBhv.selectByPK(id);
153 }
154
155 }