1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.codelibs.fess.es.config.bsbhv;
17
18 import java.util.List;
19 import java.util.Map;
20
21 import org.codelibs.fess.es.config.allcommon.EsAbstractBehavior;
22 import org.codelibs.fess.es.config.allcommon.EsAbstractEntity.RequestOptionCall;
23 import org.codelibs.fess.es.config.bsentity.dbmeta.ElevateWordDbm;
24 import org.codelibs.fess.es.config.cbean.ElevateWordCB;
25 import org.codelibs.fess.es.config.exentity.ElevateWord;
26 import org.dbflute.Entity;
27 import org.dbflute.bhv.readable.CBCall;
28 import org.dbflute.bhv.readable.EntityRowHandler;
29 import org.dbflute.cbean.ConditionBean;
30 import org.dbflute.cbean.result.ListResultBean;
31 import org.dbflute.cbean.result.PagingResultBean;
32 import org.dbflute.exception.IllegalBehaviorStateException;
33 import org.dbflute.optional.OptionalEntity;
34 import org.dbflute.util.DfTypeUtil;
35 import org.elasticsearch.action.bulk.BulkRequestBuilder;
36 import org.elasticsearch.action.delete.DeleteRequestBuilder;
37 import org.elasticsearch.action.index.IndexRequestBuilder;
38
39
40
41
42 public abstract class BsElevateWordBhv extends EsAbstractBehavior<ElevateWord, ElevateWordCB> {
43
44
45
46
47 @Override
48 public String asTableDbName() {
49 return asEsIndexType();
50 }
51
52 @Override
53 protected String asEsIndex() {
54 return ".fess_config";
55 }
56
57 @Override
58 public String asEsIndexType() {
59 return "elevate_word";
60 }
61
62 @Override
63 public String asEsSearchType() {
64 return "elevate_word";
65 }
66
67 @Override
68 public ElevateWordDbm asDBMeta() {
69 return ElevateWordDbm.getInstance();
70 }
71
72 @Override
73 protected <RESULT extends ElevateWord> RESULT createEntity(Map<String, Object> source, Class<? extends RESULT> entityType) {
74 try {
75 final RESULT result = entityType.newInstance();
76 result.setBoost(DfTypeUtil.toFloat(source.get("boost")));
77 result.setCreatedBy(DfTypeUtil.toString(source.get("createdBy")));
78 result.setCreatedTime(DfTypeUtil.toLong(source.get("createdTime")));
79 result.setReading(DfTypeUtil.toString(source.get("reading")));
80 result.setSuggestWord(DfTypeUtil.toString(source.get("suggestWord")));
81 result.setTargetLabel(DfTypeUtil.toString(source.get("targetLabel")));
82 result.setTargetRole(DfTypeUtil.toString(source.get("targetRole")));
83 result.setPermissions(toStringArray(source.get("permissions")));
84 result.setUpdatedBy(DfTypeUtil.toString(source.get("updatedBy")));
85 result.setUpdatedTime(DfTypeUtil.toLong(source.get("updatedTime")));
86 return updateEntity(source, result);
87 } catch (InstantiationException | IllegalAccessException e) {
88 final String msg = "Cannot create a new instance: " + entityType.getName();
89 throw new IllegalBehaviorStateException(msg, e);
90 }
91 }
92
93 protected <RESULT extends ElevateWord> RESULT updateEntity(Map<String, Object> source, RESULT result) {
94 return result;
95 }
96
97
98
99
100 public int selectCount(CBCall<ElevateWordCB> cbLambda) {
101 return facadeSelectCount(createCB(cbLambda));
102 }
103
104 public OptionalEntity<ElevateWord> selectEntity(CBCall<ElevateWordCB> cbLambda) {
105 return facadeSelectEntity(createCB(cbLambda));
106 }
107
108 protected OptionalEntity<ElevateWord> facadeSelectEntity(ElevateWordCB cb) {
109 return doSelectOptionalEntity(cb, typeOfSelectedEntity());
110 }
111
112 protected <ENTITY extends ElevateWord> OptionalEntity<ENTITY> doSelectOptionalEntity(ElevateWordCB cb, Class<? extends ENTITY> tp) {
113 return createOptionalEntity(doSelectEntity(cb, tp), cb);
114 }
115
116 @Override
117 public ElevateWordCB newConditionBean() {
118 return new ElevateWordCB();
119 }
120
121 @Override
122 protected Entity doReadEntity(ConditionBean cb) {
123 return facadeSelectEntity(downcast(cb)).orElse(null);
124 }
125
126 public ElevateWord selectEntityWithDeletedCheck(CBCall<ElevateWordCB> cbLambda) {
127 return facadeSelectEntityWithDeletedCheck(createCB(cbLambda));
128 }
129
130 public OptionalEntity<ElevateWord> selectByPK(String id) {
131 return facadeSelectByPK(id);
132 }
133
134 protected OptionalEntity<ElevateWord> facadeSelectByPK(String id) {
135 return doSelectOptionalByPK(id, typeOfSelectedEntity());
136 }
137
138 protected <ENTITY extends ElevateWord> ENTITY doSelectByPK(String id, Class<? extends ENTITY> tp) {
139 return doSelectEntity(xprepareCBAsPK(id), tp);
140 }
141
142 protected ElevateWordCB xprepareCBAsPK(String id) {
143 assertObjectNotNull("id", id);
144 return newConditionBean().acceptPK(id);
145 }
146
147 protected <ENTITY extends ElevateWord> OptionalEntity<ENTITY> doSelectOptionalByPK(String id, Class<? extends ENTITY> tp) {
148 return createOptionalEntity(doSelectByPK(id, tp), id);
149 }
150
151 @Override
152 protected Class<? extends ElevateWord> typeOfSelectedEntity() {
153 return ElevateWord.class;
154 }
155
156 @Override
157 protected Class<ElevateWord> typeOfHandlingEntity() {
158 return ElevateWord.class;
159 }
160
161 @Override
162 protected Class<ElevateWordCB> typeOfHandlingConditionBean() {
163 return ElevateWordCB.class;
164 }
165
166 public ListResultBean<ElevateWord> selectList(CBCall<ElevateWordCB> cbLambda) {
167 return facadeSelectList(createCB(cbLambda));
168 }
169
170 public PagingResultBean<ElevateWord> selectPage(CBCall<ElevateWordCB> cbLambda) {
171
172 return (PagingResultBean<ElevateWord>) facadeSelectList(createCB(cbLambda));
173 }
174
175 public void selectCursor(CBCall<ElevateWordCB> cbLambda, EntityRowHandler<ElevateWord> entityLambda) {
176 facadeSelectCursor(createCB(cbLambda), entityLambda);
177 }
178
179 public void selectBulk(CBCall<ElevateWordCB> cbLambda, EntityRowHandler<List<ElevateWord>> entityLambda) {
180 delegateSelectBulk(createCB(cbLambda), entityLambda, typeOfSelectedEntity());
181 }
182
183
184
185
186 public void insert(ElevateWord entity) {
187 doInsert(entity, null);
188 }
189
190 public void insert(ElevateWord entity, RequestOptionCall<IndexRequestBuilder> opLambda) {
191 entity.asDocMeta().indexOption(opLambda);
192 doInsert(entity, null);
193 }
194
195 public void update(ElevateWord entity) {
196 doUpdate(entity, null);
197 }
198
199 public void update(ElevateWord entity, RequestOptionCall<IndexRequestBuilder> opLambda) {
200 entity.asDocMeta().indexOption(opLambda);
201 doUpdate(entity, null);
202 }
203
204 public void insertOrUpdate(ElevateWord entity) {
205 doInsertOrUpdate(entity, null, null);
206 }
207
208 public void insertOrUpdate(ElevateWord entity, RequestOptionCall<IndexRequestBuilder> opLambda) {
209 entity.asDocMeta().indexOption(opLambda);
210 doInsertOrUpdate(entity, null, null);
211 }
212
213 public void delete(ElevateWord entity) {
214 doDelete(entity, null);
215 }
216
217 public void delete(ElevateWord entity, RequestOptionCall<DeleteRequestBuilder> opLambda) {
218 entity.asDocMeta().deleteOption(opLambda);
219 doDelete(entity, null);
220 }
221
222 public int queryDelete(CBCall<ElevateWordCB> cbLambda) {
223 return doQueryDelete(createCB(cbLambda), null);
224 }
225
226 public int[] batchInsert(List<ElevateWord> list) {
227 return batchInsert(list, null, null);
228 }
229
230 public int[] batchInsert(List<ElevateWord> list, RequestOptionCall<BulkRequestBuilder> call) {
231 return batchInsert(list, call, null);
232 }
233
234 public int[] batchInsert(List<ElevateWord> list, RequestOptionCall<BulkRequestBuilder> call,
235 RequestOptionCall<IndexRequestBuilder> entityCall) {
236 return doBatchInsert(new BulkList<>(list, call, entityCall), null);
237 }
238
239 public int[] batchUpdate(List<ElevateWord> list) {
240 return batchUpdate(list, null, null);
241 }
242
243 public int[] batchUpdate(List<ElevateWord> list, RequestOptionCall<BulkRequestBuilder> call) {
244 return batchUpdate(list, call, null);
245 }
246
247 public int[] batchUpdate(List<ElevateWord> list, RequestOptionCall<BulkRequestBuilder> call,
248 RequestOptionCall<IndexRequestBuilder> entityCall) {
249 return doBatchUpdate(new BulkList<>(list, call, entityCall), null);
250 }
251
252 public int[] batchDelete(List<ElevateWord> list) {
253 return batchDelete(list, null, null);
254 }
255
256 public int[] batchDelete(List<ElevateWord> list, RequestOptionCall<BulkRequestBuilder> call) {
257 return batchDelete(list, call, null);
258 }
259
260 public int[] batchDelete(List<ElevateWord> list, RequestOptionCall<BulkRequestBuilder> call,
261 RequestOptionCall<IndexRequestBuilder> entityCall) {
262 return doBatchDelete(new BulkList<>(list, call, entityCall), null);
263 }
264
265
266 }