1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.codelibs.fess.app.web.admin.failureurl;
17
18 import javax.annotation.Resource;
19
20 import org.codelibs.fess.Constants;
21 import org.codelibs.fess.app.pager.FailureUrlPager;
22 import org.codelibs.fess.app.service.FailureUrlService;
23 import org.codelibs.fess.app.web.CrudMode;
24 import org.codelibs.fess.app.web.base.FessAdminAction;
25 import org.codelibs.fess.util.RenderDataUtil;
26 import org.lastaflute.web.Execute;
27 import org.lastaflute.web.response.HtmlResponse;
28 import org.lastaflute.web.response.render.RenderData;
29 import org.lastaflute.web.ruts.process.ActionRuntime;
30
31
32
33
34
35 public class AdminFailureurlAction extends FessAdminAction {
36
37
38
39
40 @Resource
41 private FailureUrlService failureUrlService;
42 @Resource
43 private FailureUrlPager failureUrlPager;
44
45
46
47
48 @Override
49 protected void setupHtmlData(final ActionRuntime runtime) {
50 super.setupHtmlData(runtime);
51 runtime.registerData("helpLink", systemHelper.getHelpLink(fessConfig.getOnlineHelpNameFailureurl()));
52 }
53
54
55
56
57 @Execute
58 public HtmlResponse index() {
59 saveToken();
60 return asListHtml();
61 }
62
63 @Execute
64 public HtmlResponse list(final Integer pageNumber, final SearchForm form) {
65 failureUrlPager.setCurrentPageNumber(pageNumber);
66 return asHtml(path_AdminFailureurl_AdminFailureurlJsp).renderWith(data -> {
67 searchPaging(data, form);
68 });
69 }
70
71 @Execute
72 public HtmlResponse search(final SearchForm form) {
73 copyBeanToBean(form, failureUrlPager, op -> op.exclude(Constants.PAGER_CONVERSION_RULE));
74 return asHtml(path_AdminFailureurl_AdminFailureurlJsp).renderWith(data -> {
75 searchPaging(data, form);
76 });
77 }
78
79 @Execute
80 public HtmlResponse reset(final SearchForm form) {
81 failureUrlPager.clear();
82 return asHtml(path_AdminFailureurl_AdminFailureurlJsp).renderWith(data -> {
83 searchPaging(data, form);
84 });
85 }
86
87 @Execute
88 public HtmlResponse back(final SearchForm form) {
89 return asHtml(path_AdminFailureurl_AdminFailureurlJsp).renderWith(data -> {
90 searchPaging(data, form);
91 });
92 }
93
94 protected void searchPaging(final RenderData data, final SearchForm form) {
95 RenderDataUtil.register(data, "failureUrlItems", failureUrlService.getFailureUrlList(failureUrlPager));
96
97
98 copyBeanToBean(failureUrlPager, form, op -> op.include("url", "errorCountMin", "errorCountMax", "errorName"));
99 }
100
101
102
103
104 @Execute
105 public HtmlResponse details(final int crudMode, final String id) {
106 verifyCrudMode(crudMode, CrudMode.DETAILS);
107 return asHtml(path_AdminFailureurl_AdminFailureurlDetailsJsp).useForm(EditForm.class, op -> {
108 op.setup(form -> {
109 failureUrlService.getFailureUrl(id).ifPresent(entity -> {
110 copyBeanToBean(entity, form, copyOp -> {
111 copyOp.excludeNull();
112 });
113 form.crudMode = crudMode;
114 }).orElse(() -> {
115 throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), () -> asListHtml());
116 });
117 });
118 });
119 }
120
121
122
123
124
125 @Execute
126 public HtmlResponse delete(final EditForm form) {
127 verifyCrudMode(form.crudMode, CrudMode.DETAILS);
128 validate(form, messages -> {}, () -> asDetailsHtml());
129 verifyToken(() -> asDetailsHtml());
130 final String id = form.id;
131 failureUrlService.getFailureUrl(id).alwaysPresent(entity -> {
132 failureUrlService.delete(entity);
133 saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
134 });
135 return redirect(getClass());
136 }
137
138 @Execute
139 public HtmlResponse deleteall() {
140 verifyToken(() -> asListHtml());
141 failureUrlService.deleteAll(failureUrlPager);
142 failureUrlPager.clear();
143 saveInfo(messages -> messages.addSuccessFailureUrlDeleteAll(GLOBAL));
144 return redirect(getClass());
145 }
146
147
148
149
150 protected void verifyCrudMode(final int crudMode, final int expectedMode) {
151 if (crudMode != expectedMode) {
152 throwValidationError(messages -> {
153 messages.addErrorsCrudInvalidMode(GLOBAL, String.valueOf(expectedMode), String.valueOf(crudMode));
154 }, () -> asListHtml());
155 }
156 }
157
158
159
160
161
162 private HtmlResponse asListHtml() {
163 return asHtml(path_AdminFailureurl_AdminFailureurlJsp).renderWith(data -> {
164 RenderDataUtil.register(data, "failureUrlItems", failureUrlService.getFailureUrlList(failureUrlPager));
165 }).useForm(SearchForm.class, setup -> {
166 setup.setup(form -> {
167 copyBeanToBean(failureUrlPager, form, op -> op.include("url", "errorCountMin", "errorCountMax", "errorName"));
168 });
169 });
170 }
171
172 private HtmlResponse asDetailsHtml() {
173 return asHtml(path_AdminFailureurl_AdminFailureurlDetailsJsp);
174 }
175 }