Bläddra i källkod

Add search option for fileconfig

Ryo Kuramoto 5 år sedan
förälder
incheckning
df51fdcdc0

+ 3 - 0
src/main/java/org/codelibs/fess/app/pager/FileConfigPager.java

@@ -64,6 +64,8 @@ public class FileConfigPager implements Serializable {
 
     public String versionNo;
 
+    public String description;
+
     public void clear() {
         allRecordCount = 0;
         allPageCount = 0;
@@ -83,6 +85,7 @@ public class FileConfigPager implements Serializable {
         createdBy = null;
         createdTime = null;
         versionNo = null;
+        description = null;
 
     }
 

+ 9 - 2
src/main/java/org/codelibs/fess/app/service/FileConfigService.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.FileConfigPager;
 import org.codelibs.fess.es.config.cbean.FileConfigCB;
@@ -83,8 +84,14 @@ public class FileConfigService {
     }
 
     protected void setupListCondition(final FileConfigCB cb, final FileConfigPager fileConfigPager) {
-        if (fileConfigPager.id != null) {
-            cb.query().docMeta().setId_Equal(fileConfigPager.id);
+        if (StringUtil.isNotBlank(fileConfigPager.name)) {
+            cb.query().setName_Wildcard(fileConfigPager.name);
+        }
+        if (StringUtil.isNotBlank(fileConfigPager.paths)) {
+            cb.query().setPaths_Wildcard(fileConfigPager.paths);
+        }
+        if (StringUtil.isNotBlank(fileConfigPager.description)) {
+            cb.query().setDescription_Wildcard(fileConfigPager.description);
         }
         // TODO Long, Integer, String supported only.
 

+ 2 - 2
src/main/java/org/codelibs/fess/app/web/admin/fileconfig/AdminFileconfigAction.java

@@ -110,7 +110,7 @@ public class AdminFileconfigAction extends FessAdminAction {
         RenderDataUtil.register(data, "fileConfigItems", fileConfigService.getFileConfigList(fileConfigPager)); // page navi
 
         // restore from pager
-        copyBeanToBean(fileConfigPager, form, op -> op.include("id"));
+        copyBeanToBean(fileConfigPager, form, op -> op.include("name", "paths", "description"));
     }
 
     // ===================================================================================
@@ -339,7 +339,7 @@ public class AdminFileconfigAction extends FessAdminAction {
             RenderDataUtil.register(data, "fileConfigItems", fileConfigService.getFileConfigList(fileConfigPager)); // page navi
             }).useForm(SearchForm.class, setup -> {
             setup.setup(form -> {
-                copyBeanToBean(fileConfigPager, form, op -> op.include("id"));
+                copyBeanToBean(fileConfigPager, form, op -> op.include("name", "paths", "description"));
             });
         });
     }

+ 6 - 1
src/main/java/org/codelibs/fess/app/web/admin/fileconfig/SearchForm.java

@@ -21,5 +21,10 @@ package org.codelibs.fess.app.web.admin.fileconfig;
  */
 public class SearchForm {
 
-    public String id;
+    public String name;
+
+    public String paths;
+
+    public String description;
+
 }

+ 6 - 1
src/main/java/org/codelibs/fess/app/web/api/admin/fileconfig/SearchBody.java

@@ -18,6 +18,11 @@ package org.codelibs.fess.app.web.api.admin.fileconfig;
 import org.codelibs.fess.app.web.api.admin.BaseSearchBody;
 
 public class SearchBody extends BaseSearchBody {
-    public String id;
+
+    public String name;
+
+    public String paths;
+
+    public String description;
 
 }

+ 38 - 0
src/main/webapp/WEB-INF/view/admin/fileconfig/admin_fileconfig.jsp

@@ -38,6 +38,44 @@
 									</la:info>
 									<la:errors />
 								</div>
+								<la:form action="/admin/fileconfig/"
+									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="paths" class="col-sm-2 control-label"><la:message
+												key="labels.paths" /></label>
+										<div class="col-sm-10">
+											<la:text styleId="paths" property="paths" 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="${fileConfigPager.allRecordCount == 0}">
 									<div class="row top10">