From 3d904202d8d01bbed29608add168cc8a53ee7079 Mon Sep 17 00:00:00 2001 From: Ryo Kuramoto <kuramoto@n2sm.net> Date: Wed, 11 Dec 2019 21:58:52 +0900 Subject: [PATCH] #813: Add search option for webconfig (#2326) * Impl search webconfig by name * Add search params urls/description * simplify labels & delete id --- .../fess/app/pager/WebConfigPager.java | 3 ++ .../fess/app/service/WebConfigService.java | 11 +++++- .../admin/webconfig/AdminWebconfigAction.java | 4 +- .../app/web/admin/webconfig/SearchForm.java | 7 +++- .../web/api/admin/webconfig/SearchBody.java | 5 ++- .../view/admin/webconfig/admin_webconfig.jsp | 38 +++++++++++++++++++ 6 files changed, 62 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/codelibs/fess/app/pager/WebConfigPager.java b/src/main/java/org/codelibs/fess/app/pager/WebConfigPager.java index 848537f6f..4d341c984 100644 --- a/src/main/java/org/codelibs/fess/app/pager/WebConfigPager.java +++ b/src/main/java/org/codelibs/fess/app/pager/WebConfigPager.java @@ -66,6 +66,8 @@ public class WebConfigPager implements Serializable { public String versionNo; + public String description; + public void clear() { allRecordCount = 0; allPageCount = 0; @@ -86,6 +88,7 @@ public class WebConfigPager implements Serializable { createdBy = null; createdTime = null; versionNo = null; + description = null; } diff --git a/src/main/java/org/codelibs/fess/app/service/WebConfigService.java b/src/main/java/org/codelibs/fess/app/service/WebConfigService.java index 0279f15f0..279288f72 100644 --- a/src/main/java/org/codelibs/fess/app/service/WebConfigService.java +++ b/src/main/java/org/codelibs/fess/app/service/WebConfigService.java @@ -20,6 +20,7 @@ import java.util.List; import javax.annotation.Resource; import org.codelibs.core.beans.util.BeanUtil; +import org.codelibs.core.lang.StringUtil; import org.codelibs.fess.Constants; import org.codelibs.fess.app.pager.WebConfigPager; import org.codelibs.fess.es.config.cbean.WebConfigCB; @@ -91,8 +92,14 @@ public class WebConfigService { } protected void setupListCondition(final WebConfigCB cb, final WebConfigPager webConfigPager) { - if (webConfigPager.id != null) { - cb.query().docMeta().setId_Equal(webConfigPager.id); + if (StringUtil.isNotBlank(webConfigPager.name)) { + cb.query().setName_Wildcard(webConfigPager.name); + } + if (StringUtil.isNotBlank(webConfigPager.urls)) { + cb.query().setUrls_Wildcard(webConfigPager.urls); + } + if (StringUtil.isNotBlank(webConfigPager.description)) { + cb.query().setDescription_Wildcard(webConfigPager.description); } // TODO Long, Integer, String supported only. diff --git a/src/main/java/org/codelibs/fess/app/web/admin/webconfig/AdminWebconfigAction.java b/src/main/java/org/codelibs/fess/app/web/admin/webconfig/AdminWebconfigAction.java index f6c54d0de..c0340c87d 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/webconfig/AdminWebconfigAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/webconfig/AdminWebconfigAction.java @@ -114,7 +114,7 @@ public class AdminWebconfigAction extends FessAdminAction { RenderDataUtil.register(data, "webConfigItems", webConfigService.getWebConfigList(webConfigPager)); // page navi // restore from webConfigPager - copyBeanToBean(webConfigPager, form, op -> op.include("id")); + copyBeanToBean(webConfigPager, form, op -> op.include("id", "name", "urls", "description")); } // =================================================================================== @@ -346,7 +346,7 @@ public class AdminWebconfigAction extends FessAdminAction { RenderDataUtil.register(data, "webConfigItems", webConfigService.getWebConfigList(webConfigPager)); // page navi }).useForm(SearchForm.class, setup -> { setup.setup(form -> { - copyBeanToBean(webConfigPager, form, op -> op.include("id")); + copyBeanToBean(webConfigPager, form, op -> op.include("id", "name", "urls", "description")); }); }); } diff --git a/src/main/java/org/codelibs/fess/app/web/admin/webconfig/SearchForm.java b/src/main/java/org/codelibs/fess/app/web/admin/webconfig/SearchForm.java index b4171978e..a757683a2 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/webconfig/SearchForm.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/webconfig/SearchForm.java @@ -22,5 +22,10 @@ package org.codelibs.fess.app.web.admin.webconfig; */ public class SearchForm { - public String id; + public String name; + + public String urls; + + public String description; + } diff --git a/src/main/java/org/codelibs/fess/app/web/api/admin/webconfig/SearchBody.java b/src/main/java/org/codelibs/fess/app/web/api/admin/webconfig/SearchBody.java index 9e26575c0..92830d2c2 100644 --- a/src/main/java/org/codelibs/fess/app/web/api/admin/webconfig/SearchBody.java +++ b/src/main/java/org/codelibs/fess/app/web/api/admin/webconfig/SearchBody.java @@ -18,6 +18,9 @@ package org.codelibs.fess.app.web.api.admin.webconfig; import org.codelibs.fess.app.web.api.admin.BaseSearchBody; public class SearchBody extends BaseSearchBody { - public String id; + public String name; + public String urls; + + public String description; } diff --git a/src/main/webapp/WEB-INF/view/admin/webconfig/admin_webconfig.jsp b/src/main/webapp/WEB-INF/view/admin/webconfig/admin_webconfig.jsp index 5880b0f5c..5f51d30d3 100644 --- a/src/main/webapp/WEB-INF/view/admin/webconfig/admin_webconfig.jsp +++ b/src/main/webapp/WEB-INF/view/admin/webconfig/admin_webconfig.jsp @@ -36,6 +36,44 @@ </la:info> <la:errors /> </div> + <la:form action="/admin/webconfig/" + styleClass="form-horizontal"> + <div class="form-group"> + <label for="name" class="col-sm-2 control-label"><la:message + key="labels.name" /></label> + <div class="col-sm-10"> + <la:text styleId="name" property="name" styleClass="form-control" /> + </div> + </div> + <div class="form-group"> + <label for="urls" class="col-sm-2 control-label"><la:message + key="labels.urls" /></label> + <div class="col-sm-10"> + <la:text styleId="urls" property="urls" styleClass="form-control" /> + </div> + </div> + <div class="form-group"> + <label for="description" class="col-sm-2 control-label"><la:message + key="labels.description" /></label> + <div class="col-sm-10"> + <la:text styleId="description" property="description" styleClass="form-control" /> + </div> + </div> + <div class="form-group"> + <div class="col-sm-offset-2 col-sm-10"> + <button type="submit" class="btn btn-primary" id="submit" + name="search" + value="<la:message key="labels.crud_button_search" />"> + <em class="fa fa-search"></em> + <la:message key="labels.crud_button_search" /> + </button> + <button type="submit" class="btn btn-default" name="reset" + value="<la:message key="labels.crud_button_reset" />"> + <la:message key="labels.crud_button_reset" /> + </button> + </div> + </div> + </la:form> <%-- List --%> <c:if test="${webConfigPager.allRecordCount == 0}"> <div class="row top10"> -- GitLab