1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.codelibs.fess.app.web.api.admin.dict;
17
18 import java.util.stream.Collectors;
19 import java.util.stream.Stream;
20
21 import org.codelibs.fess.app.web.api.ApiResult;
22 import org.codelibs.fess.app.web.api.admin.FessApiAdminAction;
23 import org.codelibs.fess.dict.DictionaryFile;
24 import org.codelibs.fess.dict.DictionaryItem;
25 import org.codelibs.fess.dict.DictionaryManager;
26 import org.lastaflute.web.Execute;
27 import org.lastaflute.web.response.JsonResponse;
28
29 import jakarta.annotation.Resource;
30
31
32
33
34
35 public class ApiAdminDictAction extends FessApiAdminAction {
36
37
38
39
40 public ApiAdminDictAction() {
41 super();
42 }
43
44
45 @Resource
46 protected DictionaryManager dictionaryManager;
47
48
49
50
51
52
53
54 @Execute
55 public JsonResponse<ApiResult> get$index() {
56 final DictionaryFile<? extends DictionaryItem>[] dictFiles = dictionaryManager.getDictionaryFiles();
57 return asJson(new ApiResult.ApiConfigsResponse<ListBody>()
58 .settings(Stream.of(dictFiles).map(this::createListBody).collect(Collectors.toList()))
59 .status(ApiResult.Status.OK)
60 .result());
61 }
62
63
64
65
66
67
68
69 protected ListBody createListBody(final DictionaryFile<? extends DictionaryItem> dictionaryFile) {
70 final ListBody body = new ListBody();
71 body.id = dictionaryFile.getId();
72 body.type = dictionaryFile.getType();
73 body.path = dictionaryFile.getPath();
74 body.timestamp = dictionaryFile.getTimestamp();
75 return body;
76 }
77 }