Ver Fonte

use BeanUtil to copy body to pager

Shinsuke Sugaya há 8 anos atrás
pai
commit
88e01170bd
55 ficheiros alterados com 112 adições e 138 exclusões
  1. 12 5
      src/main/java/org/codelibs/fess/app/web/api/admin/BaseSearchBody.java
  2. 1 3
      src/main/java/org/codelibs/fess/app/web/api/admin/accesstoken/ApiAdminAccesstokenAction.java
  3. 1 0
      src/main/java/org/codelibs/fess/app/web/api/admin/accesstoken/SearchBody.java
  4. 1 3
      src/main/java/org/codelibs/fess/app/web/api/admin/badword/ApiAdminBadwordAction.java
  5. 1 0
      src/main/java/org/codelibs/fess/app/web/api/admin/badword/SearchBody.java
  6. 1 3
      src/main/java/org/codelibs/fess/app/web/api/admin/boostdoc/ApiAdminBoostdocAction.java
  7. 1 0
      src/main/java/org/codelibs/fess/app/web/api/admin/boostdoc/SearchBody.java
  8. 1 6
      src/main/java/org/codelibs/fess/app/web/api/admin/crawlinginfo/ApiAdminCrawlinginfoAction.java
  9. 3 2
      src/main/java/org/codelibs/fess/app/web/api/admin/crawlinginfo/SearchBody.java
  10. 1 5
      src/main/java/org/codelibs/fess/app/web/api/admin/dataconfig/ApiAdminDataconfigAction.java
  11. 1 0
      src/main/java/org/codelibs/fess/app/web/api/admin/dataconfig/SearchBody.java
  12. 9 0
      src/main/java/org/codelibs/fess/app/web/api/admin/dict/BaseSearchDictBody.java
  13. 1 4
      src/main/java/org/codelibs/fess/app/web/api/admin/dict/kuromoji/ApiAdminDictKuromojiAction.java
  14. 2 3
      src/main/java/org/codelibs/fess/app/web/api/admin/dict/kuromoji/SearchBody.java
  15. 1 4
      src/main/java/org/codelibs/fess/app/web/api/admin/dict/mapping/ApiAdminDictMappingAction.java
  16. 2 3
      src/main/java/org/codelibs/fess/app/web/api/admin/dict/mapping/SearchBody.java
  17. 1 4
      src/main/java/org/codelibs/fess/app/web/api/admin/dict/protwords/ApiAdminDictProtwordsAction.java
  18. 2 3
      src/main/java/org/codelibs/fess/app/web/api/admin/dict/protwords/SearchBody.java
  19. 1 4
      src/main/java/org/codelibs/fess/app/web/api/admin/dict/seunjeon/ApiAdminDictSeunjeonAction.java
  20. 2 3
      src/main/java/org/codelibs/fess/app/web/api/admin/dict/seunjeon/SearchBody.java
  21. 1 4
      src/main/java/org/codelibs/fess/app/web/api/admin/dict/synonym/ApiAdminDictSynonymAction.java
  22. 3 3
      src/main/java/org/codelibs/fess/app/web/api/admin/dict/synonym/SearchBody.java
  23. 1 3
      src/main/java/org/codelibs/fess/app/web/api/admin/duplicatehost/ApiAdminDuplicatehostAction.java
  24. 3 2
      src/main/java/org/codelibs/fess/app/web/api/admin/duplicatehost/SearchBody.java
  25. 1 3
      src/main/java/org/codelibs/fess/app/web/api/admin/elevateword/ApiAdminElevatewordAction.java
  26. 1 0
      src/main/java/org/codelibs/fess/app/web/api/admin/elevateword/SearchBody.java
  27. 1 3
      src/main/java/org/codelibs/fess/app/web/api/admin/failureurl/ApiAdminFailureurlAction.java
  28. 8 2
      src/main/java/org/codelibs/fess/app/web/api/admin/failureurl/SearchBody.java
  29. 1 3
      src/main/java/org/codelibs/fess/app/web/api/admin/fileauth/ApiAdminFileauthAction.java
  30. 3 2
      src/main/java/org/codelibs/fess/app/web/api/admin/fileauth/SearchBody.java
  31. 1 5
      src/main/java/org/codelibs/fess/app/web/api/admin/fileconfig/ApiAdminFileconfigAction.java
  32. 1 0
      src/main/java/org/codelibs/fess/app/web/api/admin/fileconfig/SearchBody.java
  33. 1 3
      src/main/java/org/codelibs/fess/app/web/api/admin/group/ApiAdminGroupAction.java
  34. 3 2
      src/main/java/org/codelibs/fess/app/web/api/admin/group/SearchBody.java
  35. 1 3
      src/main/java/org/codelibs/fess/app/web/api/admin/joblog/ApiAdminJoblogAction.java
  36. 3 2
      src/main/java/org/codelibs/fess/app/web/api/admin/joblog/SearchBody.java
  37. 1 5
      src/main/java/org/codelibs/fess/app/web/api/admin/keymatch/ApiAdminKeymatchAction.java
  38. 1 0
      src/main/java/org/codelibs/fess/app/web/api/admin/keymatch/SearchBody.java
  39. 1 5
      src/main/java/org/codelibs/fess/app/web/api/admin/labeltype/ApiAdminLabeltypeAction.java
  40. 1 0
      src/main/java/org/codelibs/fess/app/web/api/admin/labeltype/SearchBody.java
  41. 1 2
      src/main/java/org/codelibs/fess/app/web/api/admin/pathmap/ApiAdminPathmapAction.java
  42. 3 2
      src/main/java/org/codelibs/fess/app/web/api/admin/pathmap/SearchBody.java
  43. 1 3
      src/main/java/org/codelibs/fess/app/web/api/admin/reqheader/ApiAdminReqheaderAction.java
  44. 3 2
      src/main/java/org/codelibs/fess/app/web/api/admin/reqheader/SearchBody.java
  45. 1 3
      src/main/java/org/codelibs/fess/app/web/api/admin/role/ApiAdminRoleAction.java
  46. 3 2
      src/main/java/org/codelibs/fess/app/web/api/admin/role/SearchBody.java
  47. 1 2
      src/main/java/org/codelibs/fess/app/web/api/admin/scheduler/ApiAdminSchedulerAction.java
  48. 3 2
      src/main/java/org/codelibs/fess/app/web/api/admin/scheduler/SearchBody.java
  49. 1 3
      src/main/java/org/codelibs/fess/app/web/api/admin/user/ApiAdminUserAction.java
  50. 3 2
      src/main/java/org/codelibs/fess/app/web/api/admin/user/SearchBody.java
  51. 1 3
      src/main/java/org/codelibs/fess/app/web/api/admin/webauth/ApiAdminWebauthAction.java
  52. 3 2
      src/main/java/org/codelibs/fess/app/web/api/admin/webauth/SearchBody.java
  53. 1 5
      src/main/java/org/codelibs/fess/app/web/api/admin/webconfig/ApiAdminWebconfigAction.java
  54. 1 0
      src/main/java/org/codelibs/fess/app/web/api/admin/webconfig/SearchBody.java
  55. 4 0
      src/main/java/org/codelibs/fess/app/web/base/FessBaseAction.java

+ 12 - 5
src/main/java/org/codelibs/fess/app/web/api/admin/BaseSearchBody.java

@@ -17,17 +17,24 @@ package org.codelibs.fess.app.web.api.admin;
 
 import org.codelibs.fess.Constants;
 import org.codelibs.fess.util.ComponentUtil;
-import org.lastaflute.web.validation.Required;
 
 public class BaseSearchBody {
 
-    @Required
     public Integer size = ComponentUtil.getFessConfig().getPagingPageSizeAsInteger();
-    @Required
+
     public Integer page = Constants.DEFAULT_ADMIN_PAGE_NUMBER;
 
-    public BaseSearchBody() {
-        super();
+    public int getPageSize() {
+        if (size != null) {
+            return size;
+        }
+        return ComponentUtil.getFessConfig().getPagingPageSizeAsInteger();
     }
 
+    public int getCurrentPageNumber() {
+        if (page != null) {
+            return page;
+        }
+        return Constants.DEFAULT_ADMIN_PAGE_NUMBER;
+    }
 }

+ 1 - 3
src/main/java/org/codelibs/fess/app/web/api/admin/accesstoken/ApiAdminAccesstokenAction.java

@@ -62,9 +62,7 @@ public class ApiAdminAccesstokenAction extends FessApiAdminAction {
     @Execute
     public JsonResponse<ApiResult> settings(final SearchBody body) {
         validateApi(body, messages -> {});
-        final AccessTokenPager pager = new AccessTokenPager();
-        pager.setPageSize(body.size);
-        pager.setCurrentPageNumber(body.page);
+        final AccessTokenPager pager = copyBeanToNewBean(body, AccessTokenPager.class);
         final List<AccessToken> list = accessTokenService.getAccessTokenList(pager);
         return asJson(new ApiConfigsResponse<EditBody>()
                 .settings(list.stream().map(entity -> createEditBody(entity)).collect(Collectors.toList()))

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

@@ -18,5 +18,6 @@ package org.codelibs.fess.app.web.api.admin.accesstoken;
 import org.codelibs.fess.app.web.api.admin.BaseSearchBody;
 
 public class SearchBody extends BaseSearchBody {
+    public String id;
 
 }

+ 1 - 3
src/main/java/org/codelibs/fess/app/web/api/admin/badword/ApiAdminBadwordAction.java

@@ -57,9 +57,7 @@ public class ApiAdminBadwordAction extends FessApiAdminAction {
     @Execute
     public JsonResponse<ApiResult> settings(final SearchBody body) {
         validateApi(body, messages -> {});
-        final BadWordPager pager = new BadWordPager();
-        pager.setPageSize(body.size);
-        pager.setCurrentPageNumber(body.page);
+        final BadWordPager pager = copyBeanToNewBean(body, BadWordPager.class);
         final List<BadWord> list = badWordService.getBadWordList(pager);
         return asJson(new ApiResult.ApiConfigsResponse<EditBody>()
                 .settings(list.stream().map(entity -> createEditBody(entity)).collect(Collectors.toList()))

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

@@ -18,5 +18,6 @@ package org.codelibs.fess.app.web.api.admin.badword;
 import org.codelibs.fess.app.web.api.admin.BaseSearchBody;
 
 public class SearchBody extends BaseSearchBody {
+    public String id;
 
 }

+ 1 - 3
src/main/java/org/codelibs/fess/app/web/api/admin/boostdoc/ApiAdminBoostdocAction.java

@@ -56,9 +56,7 @@ public class ApiAdminBoostdocAction extends FessApiAdminAction {
     @Execute
     public JsonResponse<ApiResult> settings(final SearchBody body) {
         validateApi(body, messages -> {});
-        final BoostDocPager pager = new BoostDocPager();
-        pager.setPageSize(body.size);
-        pager.setCurrentPageNumber(body.page);
+        final BoostDocPager pager = copyBeanToNewBean(body, BoostDocPager.class);
         final List<BoostDocumentRule> list = boostDocumentRuleService.getBoostDocumentRuleList(pager);
         return asJson(new ApiConfigsResponse<EditBody>()
                 .settings(list.stream().map(entity -> createEditBody(entity)).collect(Collectors.toList()))

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

@@ -18,5 +18,6 @@ package org.codelibs.fess.app.web.api.admin.boostdoc;
 import org.codelibs.fess.app.web.api.admin.BaseSearchBody;
 
 public class SearchBody extends BaseSearchBody {
+    public String id;
 
 }

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

@@ -20,7 +20,6 @@ import java.util.stream.Collectors;
 
 import javax.annotation.Resource;
 
-import org.codelibs.fess.Constants;
 import org.codelibs.fess.app.pager.CrawlingInfoPager;
 import org.codelibs.fess.app.service.CrawlingInfoService;
 import org.codelibs.fess.app.web.api.ApiResult;
@@ -44,8 +43,6 @@ public class ApiAdminCrawlinginfoAction extends FessApiAdminAction {
     @Resource
     private CrawlingInfoService crawlingInfoService;
     @Resource
-    private CrawlingInfoPager crawlingInfoPager;
-    @Resource
     protected ProcessHelper processHelper;
 
     // ===================================================================================
@@ -57,8 +54,7 @@ public class ApiAdminCrawlinginfoAction extends FessApiAdminAction {
     @Execute
     public JsonResponse<ApiResult> logs(final SearchBody body) {
         validateApi(body, messages -> {});
-        final CrawlingInfoPager pager = new CrawlingInfoPager();
-        copyBeanToBean(body, pager, op -> op.exclude(Constants.PAGER_CONVERSION_RULE));
+        final CrawlingInfoPager pager = copyBeanToNewBean(body, CrawlingInfoPager.class);
         final List<CrawlingInfo> list = crawlingInfoService.getCrawlingInfoList(pager);
         return asJson(new ApiResult.ApiLogsResponse<EditBody>()
                 .logs(list.stream().map(entity -> createEditBody(entity)).collect(Collectors.toList())).total(pager.getAllRecordCount())
@@ -96,7 +92,6 @@ public class ApiAdminCrawlinginfoAction extends FessApiAdminAction {
     public JsonResponse<ApiResult> delete$all() {
         try {
             crawlingInfoService.deleteOldSessions(processHelper.getRunningSessionIdSet());
-            crawlingInfoPager.clear();
             saveInfo(messages -> messages.addSuccessCrawlingInfoDeleteAll(GLOBAL));
         } catch (final Exception e) {
             throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)));

+ 3 - 2
src/main/java/org/codelibs/fess/app/web/api/admin/crawlinginfo/SearchBody.java

@@ -15,8 +15,9 @@
  */
 package org.codelibs.fess.app.web.api.admin.crawlinginfo;
 
-import org.codelibs.fess.app.web.admin.crawlinginfo.SearchForm;
+import org.codelibs.fess.app.web.api.admin.BaseSearchBody;
 
-public class SearchBody extends SearchForm {
+public class SearchBody extends BaseSearchBody {
+    public String sessionId;
 
 }

+ 1 - 5
src/main/java/org/codelibs/fess/app/web/api/admin/dataconfig/ApiAdminDataconfigAction.java

@@ -22,7 +22,6 @@ import java.util.stream.Collectors;
 
 import javax.annotation.Resource;
 
-import org.codelibs.fess.Constants;
 import org.codelibs.fess.app.pager.DataConfigPager;
 import org.codelibs.fess.app.service.DataConfigService;
 import org.codelibs.fess.app.web.CrudMode;
@@ -56,10 +55,7 @@ public class ApiAdminDataconfigAction extends FessApiAdminAction {
     @Execute
     public JsonResponse<ApiResult> settings(final SearchBody body) {
         validateApi(body, messages -> {});
-        final DataConfigPager pager = new DataConfigPager();
-        pager.setPageSize(body.size);
-        pager.setCurrentPageNumber(body.page);
-        copyBeanToBean(body, pager, op -> op.exclude(Constants.PAGER_CONVERSION_RULE));
+        final DataConfigPager pager = copyBeanToNewBean(body, DataConfigPager.class);
         final List<DataConfig> list = dataConfigService.getDataConfigList(pager);
         return asJson(new ApiResult.ApiConfigsResponse<EditBody>()
                 .settings(list.stream().map(entity -> createEditBody(entity)).collect(Collectors.toList()))

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

@@ -18,5 +18,6 @@ package org.codelibs.fess.app.web.api.admin.dataconfig;
 import org.codelibs.fess.app.web.api.admin.BaseSearchBody;
 
 public class SearchBody extends BaseSearchBody {
+    public String id;
 
 }

+ 9 - 0
src/main/java/org/codelibs/fess/app/web/api/admin/dict/BaseSearchDictBody.java

@@ -0,0 +1,9 @@
+package org.codelibs.fess.app.web.api.admin.dict;
+
+import org.codelibs.fess.app.web.api.admin.BaseSearchBody;
+import org.lastaflute.web.validation.Required;
+
+public class BaseSearchDictBody extends BaseSearchBody {
+    @Required
+    public String dictId;
+}

+ 1 - 4
src/main/java/org/codelibs/fess/app/web/api/admin/dict/kuromoji/ApiAdminDictKuromojiAction.java

@@ -45,10 +45,7 @@ public class ApiAdminDictKuromojiAction extends FessApiAdminAction {
     public JsonResponse<ApiResult> get$settings(final String dictId, final SearchBody body) {
         body.dictId = dictId;
         validateApi(body, messages -> {});
-        final KuromojiPager pager = new KuromojiPager();
-        if (body.pageNumber != null) {
-            pager.setCurrentPageNumber(body.pageNumber);
-        }
+        final KuromojiPager pager = copyBeanToNewBean(body, KuromojiPager.class);
         return asJson(new ApiResult.ApiConfigsResponse<EditBody>()
                 .settings(
                         kuromojiService.getKuromojiList(body.dictId, pager).stream()

+ 2 - 3
src/main/java/org/codelibs/fess/app/web/api/admin/dict/kuromoji/SearchBody.java

@@ -15,8 +15,7 @@
  */
 package org.codelibs.fess.app.web.api.admin.dict.kuromoji;
 
-import org.codelibs.fess.app.web.admin.dict.kuromoji.SearchForm;
+import org.codelibs.fess.app.web.api.admin.dict.BaseSearchDictBody;
 
-public class SearchBody extends SearchForm {
-    public Integer pageNumber;
+public class SearchBody extends BaseSearchDictBody {
 }

+ 1 - 4
src/main/java/org/codelibs/fess/app/web/api/admin/dict/mapping/ApiAdminDictMappingAction.java

@@ -44,10 +44,7 @@ public class ApiAdminDictMappingAction extends FessApiAdminAction {
     public JsonResponse<ApiResult> get$settings(final String dictId, final SearchBody body) {
         body.dictId = dictId;
         validateApi(body, messages -> {});
-        final CharMappingPager pager = new CharMappingPager();
-        if (body.pageNumber != null) {
-            pager.setCurrentPageNumber(body.pageNumber);
-        }
+        final CharMappingPager pager = copyBeanToNewBean(body, CharMappingPager.class);
         return asJson(new ApiResult.ApiConfigsResponse<EditBody>()
                 .settings(
                         charMappingService.getCharMappingList(body.dictId, pager).stream()

+ 2 - 3
src/main/java/org/codelibs/fess/app/web/api/admin/dict/mapping/SearchBody.java

@@ -15,8 +15,7 @@
  */
 package org.codelibs.fess.app.web.api.admin.dict.mapping;
 
-import org.codelibs.fess.app.web.admin.dict.mapping.SearchForm;
+import org.codelibs.fess.app.web.api.admin.dict.BaseSearchDictBody;
 
-public class SearchBody extends SearchForm {
-    public Integer pageNumber;
+public class SearchBody extends BaseSearchDictBody {
 }

+ 1 - 4
src/main/java/org/codelibs/fess/app/web/api/admin/dict/protwords/ApiAdminDictProtwordsAction.java

@@ -44,10 +44,7 @@ public class ApiAdminDictProtwordsAction extends FessApiAdminAction {
     public JsonResponse<ApiResult> get$settings(final String dictId, final SearchBody body) {
         body.dictId = dictId;
         validateApi(body, messages -> {});
-        final ProtwordsPager pager = new ProtwordsPager();
-        if (body.pageNumber != null) {
-            pager.setCurrentPageNumber(body.pageNumber);
-        }
+        final ProtwordsPager pager = copyBeanToNewBean(body, ProtwordsPager.class);
         return asJson(new ApiResult.ApiConfigsResponse<EditBody>()
                 .settings(
                         protwordsService.getProtwordsList(body.dictId, pager).stream()

+ 2 - 3
src/main/java/org/codelibs/fess/app/web/api/admin/dict/protwords/SearchBody.java

@@ -15,8 +15,7 @@
  */
 package org.codelibs.fess.app.web.api.admin.dict.protwords;
 
-import org.codelibs.fess.app.web.admin.dict.protwords.SearchForm;
+import org.codelibs.fess.app.web.api.admin.dict.BaseSearchDictBody;
 
-public class SearchBody extends SearchForm {
-    public Integer pageNumber;
+public class SearchBody extends BaseSearchDictBody {
 }

+ 1 - 4
src/main/java/org/codelibs/fess/app/web/api/admin/dict/seunjeon/ApiAdminDictSeunjeonAction.java

@@ -44,10 +44,7 @@ public class ApiAdminDictSeunjeonAction extends FessApiAdminAction {
     public JsonResponse<ApiResult> get$settings(final String dictId, final SearchBody body) {
         body.dictId = dictId;
         validateApi(body, messages -> {});
-        final SeunjeonPager pager = new SeunjeonPager();
-        if (body.pageNumber != null) {
-            pager.setCurrentPageNumber(body.pageNumber);
-        }
+        final SeunjeonPager pager = copyBeanToNewBean(body, SeunjeonPager.class);
         return asJson(new ApiResult.ApiConfigsResponse<EditBody>()
                 .settings(
                         seunjeonService.getSeunjeonList(body.dictId, pager).stream()

+ 2 - 3
src/main/java/org/codelibs/fess/app/web/api/admin/dict/seunjeon/SearchBody.java

@@ -15,8 +15,7 @@
  */
 package org.codelibs.fess.app.web.api.admin.dict.seunjeon;
 
-import org.codelibs.fess.app.web.admin.dict.seunjeon.SearchForm;
+import org.codelibs.fess.app.web.api.admin.dict.BaseSearchDictBody;
 
-public class SearchBody extends SearchForm {
-    public Integer pageNumber;
+public class SearchBody extends BaseSearchDictBody {
 }

+ 1 - 4
src/main/java/org/codelibs/fess/app/web/api/admin/dict/synonym/ApiAdminDictSynonymAction.java

@@ -44,10 +44,7 @@ public class ApiAdminDictSynonymAction extends FessApiAdminAction {
     public JsonResponse<ApiResult> get$settings(final String dictId, final SearchBody body) {
         body.dictId = dictId;
         validateApi(body, messages -> {});
-        final SynonymPager pager = new SynonymPager();
-        if (body.pageNumber != null) {
-            pager.setCurrentPageNumber(body.pageNumber);
-        }
+        final SynonymPager pager = copyBeanToNewBean(body, SynonymPager.class);
         return asJson(new ApiResult.ApiConfigsResponse<EditBody>()
                 .settings(
                         synonymService.getSynonymList(body.dictId, pager).stream()

+ 3 - 3
src/main/java/org/codelibs/fess/app/web/api/admin/dict/synonym/SearchBody.java

@@ -15,8 +15,8 @@
  */
 package org.codelibs.fess.app.web.api.admin.dict.synonym;
 
-import org.codelibs.fess.app.web.admin.dict.synonym.SearchForm;
+import org.codelibs.fess.app.web.api.admin.dict.BaseSearchDictBody;
+
+public class SearchBody extends BaseSearchDictBody {
 
-public class SearchBody extends SearchForm {
-    public Integer pageNumber;
 }

+ 1 - 3
src/main/java/org/codelibs/fess/app/web/api/admin/duplicatehost/ApiAdminDuplicatehostAction.java

@@ -22,7 +22,6 @@ import java.util.stream.Collectors;
 
 import javax.annotation.Resource;
 
-import org.codelibs.fess.Constants;
 import org.codelibs.fess.app.pager.DuplicateHostPager;
 import org.codelibs.fess.app.service.DuplicateHostService;
 import org.codelibs.fess.app.web.CrudMode;
@@ -56,8 +55,7 @@ public class ApiAdminDuplicatehostAction extends FessApiAdminAction {
     @Execute
     public JsonResponse<ApiResult> settings(final SearchBody body) {
         validateApi(body, messages -> {});
-        final DuplicateHostPager pager = new DuplicateHostPager();
-        copyBeanToBean(body, pager, op -> op.exclude(Constants.PAGER_CONVERSION_RULE));
+        final DuplicateHostPager pager = copyBeanToNewBean(body, DuplicateHostPager.class);
         final List<DuplicateHost> list = duplicateHostService.getDuplicateHostList(pager);
         return asJson(new ApiResult.ApiConfigsResponse<EditBody>()
                 .settings(list.stream().map(entity -> createEditBody(entity)).collect(Collectors.toList()))

+ 3 - 2
src/main/java/org/codelibs/fess/app/web/api/admin/duplicatehost/SearchBody.java

@@ -15,8 +15,9 @@
  */
 package org.codelibs.fess.app.web.api.admin.duplicatehost;
 
-import org.codelibs.fess.app.web.admin.duplicatehost.SearchForm;
+import org.codelibs.fess.app.web.api.admin.BaseSearchBody;
 
-public class SearchBody extends SearchForm {
+public class SearchBody extends BaseSearchBody {
+    public String id;
 
 }

+ 1 - 3
src/main/java/org/codelibs/fess/app/web/api/admin/elevateword/ApiAdminElevatewordAction.java

@@ -61,9 +61,7 @@ public class ApiAdminElevatewordAction extends FessApiAdminAction {
     @Execute
     public JsonResponse<ApiResult> settings(final SearchBody body) {
         validateApi(body, messages -> {});
-        final ElevateWordPager pager = new ElevateWordPager();
-        pager.setPageSize(body.size);
-        pager.setCurrentPageNumber(body.page);
+        final ElevateWordPager pager = copyBeanToNewBean(body, ElevateWordPager.class);
         final List<ElevateWord> list = elevateWordService.getElevateWordList(pager);
         return asJson(new ApiResult.ApiConfigsResponse<EditBody>()
                 .settings(list.stream().map(entity -> createEditBody(entity)).collect(Collectors.toList()))

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

@@ -18,4 +18,5 @@ package org.codelibs.fess.app.web.api.admin.elevateword;
 import org.codelibs.fess.app.web.api.admin.BaseSearchBody;
 
 public class SearchBody extends BaseSearchBody {
+    public String id;
 }

+ 1 - 3
src/main/java/org/codelibs/fess/app/web/api/admin/failureurl/ApiAdminFailureurlAction.java

@@ -20,7 +20,6 @@ import java.util.stream.Collectors;
 
 import javax.annotation.Resource;
 
-import org.codelibs.fess.Constants;
 import org.codelibs.fess.app.pager.FailureUrlPager;
 import org.codelibs.fess.app.service.FailureUrlService;
 import org.codelibs.fess.app.web.api.ApiResult;
@@ -57,8 +56,7 @@ public class ApiAdminFailureurlAction extends FessApiAdminAction {
     @Execute
     public JsonResponse<ApiResult> logs(final SearchBody body) {
         validateApi(body, messages -> {});
-        final FailureUrlPager pager = new FailureUrlPager();
-        copyBeanToBean(body, pager, op -> op.exclude(Constants.PAGER_CONVERSION_RULE));
+        final FailureUrlPager pager = copyBeanToNewBean(body, FailureUrlPager.class);
         final List<FailureUrl> list = failureUrlService.getFailureUrlList(pager);
         return asJson(new ApiResult.ApiLogsResponse<EditBody>()
                 .logs(list.stream().map(entity -> createEditBody(entity)).collect(Collectors.toList())).total(pager.getAllRecordCount())

+ 8 - 2
src/main/java/org/codelibs/fess/app/web/api/admin/failureurl/SearchBody.java

@@ -15,8 +15,14 @@
  */
 package org.codelibs.fess.app.web.api.admin.failureurl;
 
-import org.codelibs.fess.app.web.admin.failureurl.SearchForm;
+import org.codelibs.fess.app.web.api.admin.BaseSearchBody;
 
-public class SearchBody extends SearchForm {
+public class SearchBody extends BaseSearchBody {
+    public String url;
 
+    public Integer errorCountMin;
+
+    public Integer errorCountMax;
+
+    public String errorName;
 }

+ 1 - 3
src/main/java/org/codelibs/fess/app/web/api/admin/fileauth/ApiAdminFileauthAction.java

@@ -22,7 +22,6 @@ import java.util.stream.Collectors;
 
 import javax.annotation.Resource;
 
-import org.codelibs.fess.Constants;
 import org.codelibs.fess.app.pager.FileAuthPager;
 import org.codelibs.fess.app.service.FileAuthenticationService;
 import org.codelibs.fess.app.service.FileConfigService;
@@ -60,8 +59,7 @@ public class ApiAdminFileauthAction extends FessApiAdminAction {
     @Execute
     public JsonResponse<ApiResult> settings(final SearchBody body) {
         validateApi(body, messages -> {});
-        final FileAuthPager pager = new FileAuthPager();
-        copyBeanToBean(body, pager, op -> op.exclude(Constants.PAGER_CONVERSION_RULE));
+        final FileAuthPager pager = copyBeanToNewBean(body, FileAuthPager.class);
         final List<FileAuthentication> list = fileAuthService.getFileAuthenticationList(pager);
         return asJson(new ApiResult.ApiConfigsResponse<EditBody>()
                 .settings(list.stream().map(entity -> createEditBody(entity)).collect(Collectors.toList()))

+ 3 - 2
src/main/java/org/codelibs/fess/app/web/api/admin/fileauth/SearchBody.java

@@ -15,8 +15,9 @@
  */
 package org.codelibs.fess.app.web.api.admin.fileauth;
 
-import org.codelibs.fess.app.web.admin.fileauth.SearchForm;
+import org.codelibs.fess.app.web.api.admin.BaseSearchBody;
 
-public class SearchBody extends SearchForm {
+public class SearchBody extends BaseSearchBody {
+    public String id;
 
 }

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

@@ -22,7 +22,6 @@ import java.util.stream.Collectors;
 
 import javax.annotation.Resource;
 
-import org.codelibs.fess.Constants;
 import org.codelibs.fess.app.pager.FileConfigPager;
 import org.codelibs.fess.app.service.FileConfigService;
 import org.codelibs.fess.app.web.CrudMode;
@@ -56,10 +55,7 @@ public class ApiAdminFileconfigAction extends FessApiAdminAction {
     @Execute
     public JsonResponse<ApiResult> settings(final SearchBody body) {
         validateApi(body, messages -> {});
-        final FileConfigPager pager = new FileConfigPager();
-        pager.setPageSize(body.size);
-        pager.setCurrentPageNumber(body.page);
-        copyBeanToBean(body, pager, op -> op.exclude(Constants.PAGER_CONVERSION_RULE));
+        final FileConfigPager pager = copyBeanToNewBean(body, FileConfigPager.class);
         final List<FileConfig> list = fileConfigService.getFileConfigList(pager);
         return asJson(new ApiResult.ApiConfigsResponse<EditBody>()
                 .settings(list.stream().map(entity -> createEditBody(entity)).collect(Collectors.toList()))

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

@@ -18,5 +18,6 @@ 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;
 
 }

+ 1 - 3
src/main/java/org/codelibs/fess/app/web/api/admin/group/ApiAdminGroupAction.java

@@ -22,7 +22,6 @@ import java.util.stream.Collectors;
 
 import javax.annotation.Resource;
 
-import org.codelibs.fess.Constants;
 import org.codelibs.fess.app.pager.GroupPager;
 import org.codelibs.fess.app.service.GroupService;
 import org.codelibs.fess.app.web.CrudMode;
@@ -43,8 +42,7 @@ public class ApiAdminGroupAction extends FessApiAdminAction {
     @Execute
     public JsonResponse<ApiResult> settings(final SearchBody body) {
         validateApi(body, messages -> {});
-        final GroupPager pager = new GroupPager();
-        copyBeanToBean(body, pager, op -> op.exclude(Constants.PAGER_CONVERSION_RULE));
+        final GroupPager pager = copyBeanToNewBean(body, GroupPager.class);
         final List<Group> list = groupService.getGroupList(pager);
         return asJson(new ApiResult.ApiConfigsResponse<EditBody>()
                 .settings(list.stream().map(entity -> createEditBody(entity)).collect(Collectors.toList()))

+ 3 - 2
src/main/java/org/codelibs/fess/app/web/api/admin/group/SearchBody.java

@@ -15,7 +15,8 @@
  */
 package org.codelibs.fess.app.web.api.admin.group;
 
-import org.codelibs.fess.app.web.admin.group.SearchForm;
+import org.codelibs.fess.app.web.api.admin.BaseSearchBody;
 
-public class SearchBody extends SearchForm {
+public class SearchBody extends BaseSearchBody {
+    public String id;
 }

+ 1 - 3
src/main/java/org/codelibs/fess/app/web/api/admin/joblog/ApiAdminJoblogAction.java

@@ -20,7 +20,6 @@ import java.util.stream.Collectors;
 
 import javax.annotation.Resource;
 
-import org.codelibs.fess.Constants;
 import org.codelibs.fess.app.pager.JobLogPager;
 import org.codelibs.fess.app.service.JobLogService;
 import org.codelibs.fess.app.web.api.ApiResult;
@@ -51,8 +50,7 @@ public class ApiAdminJoblogAction extends FessApiAdminAction {
     @Execute
     public JsonResponse<ApiResult> logs(final SearchBody body) {
         validateApi(body, messages -> {});
-        final JobLogPager pager = new JobLogPager();
-        copyBeanToBean(body, pager, op -> op.exclude(Constants.PAGER_CONVERSION_RULE));
+        final JobLogPager pager = copyBeanToNewBean(body, JobLogPager.class);
         final List<JobLog> list = jobLogService.getJobLogList(pager);
         return asJson(new ApiResult.ApiLogsResponse<EditBody>()
                 .logs(list.stream().map(entity -> createEditBody(entity)).collect(Collectors.toList())).total(pager.getAllRecordCount())

+ 3 - 2
src/main/java/org/codelibs/fess/app/web/api/admin/joblog/SearchBody.java

@@ -15,8 +15,9 @@
  */
 package org.codelibs.fess.app.web.api.admin.joblog;
 
-import org.codelibs.fess.app.web.admin.joblog.SearchForm;
+import org.codelibs.fess.app.web.api.admin.BaseSearchBody;
 
-public class SearchBody extends SearchForm {
+public class SearchBody extends BaseSearchBody {
+    public String id;
 
 }

+ 1 - 5
src/main/java/org/codelibs/fess/app/web/api/admin/keymatch/ApiAdminKeymatchAction.java

@@ -22,7 +22,6 @@ import java.util.stream.Collectors;
 
 import javax.annotation.Resource;
 
-import org.codelibs.fess.Constants;
 import org.codelibs.fess.app.pager.KeyMatchPager;
 import org.codelibs.fess.app.service.KeyMatchService;
 import org.codelibs.fess.app.web.CrudMode;
@@ -56,10 +55,7 @@ public class ApiAdminKeymatchAction extends FessApiAdminAction {
     @Execute
     public JsonResponse<ApiResult> settings(final SearchBody body) {
         validateApi(body, messages -> {});
-        final KeyMatchPager pager = new KeyMatchPager();
-        pager.setPageSize(body.size);
-        pager.setCurrentPageNumber(body.page);
-        copyBeanToBean(body, pager, op -> op.exclude(Constants.PAGER_CONVERSION_RULE));
+        final KeyMatchPager pager = copyBeanToNewBean(body, KeyMatchPager.class);
         final List<KeyMatch> list = keyMatchService.getKeyMatchList(pager);
         return asJson(new ApiResult.ApiConfigsResponse<EditBody>()
                 .settings(list.stream().map(entity -> createEditBody(entity)).collect(Collectors.toList()))

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

@@ -18,5 +18,6 @@ package org.codelibs.fess.app.web.api.admin.keymatch;
 import org.codelibs.fess.app.web.api.admin.BaseSearchBody;
 
 public class SearchBody extends BaseSearchBody {
+    public String id;
 
 }

+ 1 - 5
src/main/java/org/codelibs/fess/app/web/api/admin/labeltype/ApiAdminLabeltypeAction.java

@@ -22,7 +22,6 @@ import java.util.stream.Collectors;
 
 import javax.annotation.Resource;
 
-import org.codelibs.fess.Constants;
 import org.codelibs.fess.app.pager.LabelTypePager;
 import org.codelibs.fess.app.service.LabelTypeService;
 import org.codelibs.fess.app.web.CrudMode;
@@ -56,10 +55,7 @@ public class ApiAdminLabeltypeAction extends FessApiAdminAction {
     @Execute
     public JsonResponse<ApiResult> settings(final SearchBody body) {
         validateApi(body, messages -> {});
-        final LabelTypePager pager = new LabelTypePager();
-        pager.setPageSize(body.size);
-        pager.setCurrentPageNumber(body.page);
-        copyBeanToBean(body, pager, op -> op.exclude(Constants.PAGER_CONVERSION_RULE));
+        final LabelTypePager pager = copyBeanToNewBean(body, LabelTypePager.class);
         final List<LabelType> list = labelTypeService.getLabelTypeList(pager);
         return asJson(new ApiResult.ApiConfigsResponse<EditBody>()
                 .settings(list.stream().map(entity -> createEditBody(entity)).collect(Collectors.toList()))

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

@@ -18,5 +18,6 @@ package org.codelibs.fess.app.web.api.admin.labeltype;
 import org.codelibs.fess.app.web.api.admin.BaseSearchBody;
 
 public class SearchBody extends BaseSearchBody {
+    public String id;
 
 }

+ 1 - 2
src/main/java/org/codelibs/fess/app/web/api/admin/pathmap/ApiAdminPathmapAction.java

@@ -42,8 +42,7 @@ public class ApiAdminPathmapAction extends FessApiAdminAction {
     @Execute
     public JsonResponse<ApiResult> settings(final SearchBody body) {
         validateApi(body, messages -> {});
-        final PathMapPager pager = new PathMapPager();
-        copyBeanToBean(body, pager, op -> op.exclude(Constants.PAGER_CONVERSION_RULE));
+        final PathMapPager pager = copyBeanToNewBean(body, PathMapPager.class);
         final List<PathMapping> list = pathMappingService.getPathMappingList(pager);
         return asJson(new ApiResult.ApiConfigsResponse<EditBody>()
                 .settings(list.stream().map(entity -> createEditBody(entity)).collect(Collectors.toList()))

+ 3 - 2
src/main/java/org/codelibs/fess/app/web/api/admin/pathmap/SearchBody.java

@@ -15,7 +15,8 @@
  */
 package org.codelibs.fess.app.web.api.admin.pathmap;
 
-import org.codelibs.fess.app.web.admin.pathmap.SearchForm;
+import org.codelibs.fess.app.web.api.admin.BaseSearchBody;
 
-public class SearchBody extends SearchForm {
+public class SearchBody extends BaseSearchBody {
+    public String id;
 }

+ 1 - 3
src/main/java/org/codelibs/fess/app/web/api/admin/reqheader/ApiAdminReqheaderAction.java

@@ -22,7 +22,6 @@ import java.util.stream.Collectors;
 
 import javax.annotation.Resource;
 
-import org.codelibs.fess.Constants;
 import org.codelibs.fess.app.pager.ReqHeaderPager;
 import org.codelibs.fess.app.service.RequestHeaderService;
 import org.codelibs.fess.app.service.WebConfigService;
@@ -60,8 +59,7 @@ public class ApiAdminReqheaderAction extends FessApiAdminAction {
     @Execute
     public JsonResponse<ApiResult> settings(final SearchBody body) {
         validateApi(body, messages -> {});
-        final ReqHeaderPager pager = new ReqHeaderPager();
-        copyBeanToBean(body, pager, op -> op.exclude(Constants.PAGER_CONVERSION_RULE));
+        final ReqHeaderPager pager = copyBeanToNewBean(body, ReqHeaderPager.class);
         final List<RequestHeader> list = reqHeaderService.getRequestHeaderList(pager);
         return asJson(new ApiResult.ApiConfigsResponse<EditBody>()
                 .settings(list.stream().map(entity -> createEditBody(entity)).collect(Collectors.toList()))

+ 3 - 2
src/main/java/org/codelibs/fess/app/web/api/admin/reqheader/SearchBody.java

@@ -15,8 +15,9 @@
  */
 package org.codelibs.fess.app.web.api.admin.reqheader;
 
-import org.codelibs.fess.app.web.admin.reqheader.SearchForm;
+import org.codelibs.fess.app.web.api.admin.BaseSearchBody;
 
-public class SearchBody extends SearchForm {
+public class SearchBody extends BaseSearchBody {
+    public String id;
 
 }

+ 1 - 3
src/main/java/org/codelibs/fess/app/web/api/admin/role/ApiAdminRoleAction.java

@@ -22,7 +22,6 @@ import java.util.stream.Collectors;
 
 import javax.annotation.Resource;
 
-import org.codelibs.fess.Constants;
 import org.codelibs.fess.app.pager.RolePager;
 import org.codelibs.fess.app.service.RoleService;
 import org.codelibs.fess.app.web.CrudMode;
@@ -42,8 +41,7 @@ public class ApiAdminRoleAction extends FessApiAdminAction {
     @Execute
     public JsonResponse<ApiResult> settings(final SearchBody body) {
         validateApi(body, messages -> {});
-        final RolePager pager = new RolePager();
-        copyBeanToBean(body, pager, op -> op.exclude(Constants.PAGER_CONVERSION_RULE));
+        final RolePager pager = copyBeanToNewBean(body, RolePager.class);
         final List<Role> list = roleService.getRoleList(pager);
         return asJson(new ApiResult.ApiConfigsResponse<EditBody>()
                 .settings(list.stream().map(entity -> createEditBody(entity)).collect(Collectors.toList()))

+ 3 - 2
src/main/java/org/codelibs/fess/app/web/api/admin/role/SearchBody.java

@@ -15,7 +15,8 @@
  */
 package org.codelibs.fess.app.web.api.admin.role;
 
-import org.codelibs.fess.app.web.admin.role.SearchForm;
+import org.codelibs.fess.app.web.api.admin.BaseSearchBody;
 
-public class SearchBody extends SearchForm {
+public class SearchBody extends BaseSearchBody {
+    public String id;
 }

+ 1 - 2
src/main/java/org/codelibs/fess/app/web/api/admin/scheduler/ApiAdminSchedulerAction.java

@@ -93,8 +93,7 @@ public class ApiAdminSchedulerAction extends FessApiAdminAction {
     @Execute
     public JsonResponse<ApiResult> settings(final SearchBody body) {
         validateApi(body, messages -> {});
-        final SchedulerPager pager = new SchedulerPager();
-        copyBeanToBean(body, pager, op -> op.exclude(Constants.PAGER_CONVERSION_RULE));
+        final SchedulerPager pager = copyBeanToNewBean(body, SchedulerPager.class);
         final List<ScheduledJob> list = scheduledJobService.getScheduledJobList(pager);
         return asJson(new ApiResult.ApiConfigsResponse<EditBody>()
                 .settings(list.stream().map(entity -> createEditBody(entity)).collect(Collectors.toList()))

+ 3 - 2
src/main/java/org/codelibs/fess/app/web/api/admin/scheduler/SearchBody.java

@@ -15,7 +15,8 @@
  */
 package org.codelibs.fess.app.web.api.admin.scheduler;
 
-import org.codelibs.fess.app.web.admin.scheduler.SearchForm;
+import org.codelibs.fess.app.web.api.admin.BaseSearchBody;
 
-public class SearchBody extends SearchForm {
+public class SearchBody extends BaseSearchBody {
+    public String id;
 }

+ 1 - 3
src/main/java/org/codelibs/fess/app/web/api/admin/user/ApiAdminUserAction.java

@@ -22,7 +22,6 @@ import java.util.stream.Collectors;
 
 import javax.annotation.Resource;
 
-import org.codelibs.fess.Constants;
 import org.codelibs.fess.app.pager.UserPager;
 import org.codelibs.fess.app.service.UserService;
 import org.codelibs.fess.app.web.CrudMode;
@@ -42,8 +41,7 @@ public class ApiAdminUserAction extends FessApiAdminAction {
     @Execute
     public JsonResponse<ApiResult> settings(final SearchBody body) {
         validateApi(body, messages -> {});
-        final UserPager pager = new UserPager();
-        copyBeanToBean(body, pager, op -> op.exclude(Constants.PAGER_CONVERSION_RULE));
+        final UserPager pager = copyBeanToNewBean(body, UserPager.class);
         final List<User> list = userService.getUserList(pager);
         return asJson(new ApiResult.ApiConfigsResponse<EditBody>()
                 .settings(list.stream().map(entity -> createEditBody(entity)).collect(Collectors.toList()))

+ 3 - 2
src/main/java/org/codelibs/fess/app/web/api/admin/user/SearchBody.java

@@ -15,7 +15,8 @@
  */
 package org.codelibs.fess.app.web.api.admin.user;
 
-import org.codelibs.fess.app.web.admin.user.SearchForm;
+import org.codelibs.fess.app.web.api.admin.BaseSearchBody;
 
-public class SearchBody extends SearchForm {
+public class SearchBody extends BaseSearchBody {
+    public String id;
 }

+ 1 - 3
src/main/java/org/codelibs/fess/app/web/api/admin/webauth/ApiAdminWebauthAction.java

@@ -22,7 +22,6 @@ import java.util.stream.Collectors;
 
 import javax.annotation.Resource;
 
-import org.codelibs.fess.Constants;
 import org.codelibs.fess.app.pager.WebAuthPager;
 import org.codelibs.fess.app.service.WebAuthenticationService;
 import org.codelibs.fess.app.service.WebConfigService;
@@ -60,8 +59,7 @@ public class ApiAdminWebauthAction extends FessApiAdminAction {
     @Execute
     public JsonResponse<ApiResult> settings(final SearchBody body) {
         validateApi(body, messages -> {});
-        final WebAuthPager pager = new WebAuthPager();
-        copyBeanToBean(body, pager, op -> op.exclude(Constants.PAGER_CONVERSION_RULE));
+        final WebAuthPager pager = copyBeanToNewBean(body, WebAuthPager.class);
         final List<WebAuthentication> list = webAuthService.getWebAuthenticationList(pager);
         return asJson(new ApiResult.ApiConfigsResponse<EditBody>()
                 .settings(list.stream().map(entity -> createEditBody(entity)).collect(Collectors.toList()))

+ 3 - 2
src/main/java/org/codelibs/fess/app/web/api/admin/webauth/SearchBody.java

@@ -15,8 +15,9 @@
  */
 package org.codelibs.fess.app.web.api.admin.webauth;
 
-import org.codelibs.fess.app.web.admin.webauth.SearchForm;
+import org.codelibs.fess.app.web.api.admin.BaseSearchBody;
 
-public class SearchBody extends SearchForm {
+public class SearchBody extends BaseSearchBody {
+    public String id;
 
 }

+ 1 - 5
src/main/java/org/codelibs/fess/app/web/api/admin/webconfig/ApiAdminWebconfigAction.java

@@ -22,7 +22,6 @@ import java.util.stream.Collectors;
 
 import javax.annotation.Resource;
 
-import org.codelibs.fess.Constants;
 import org.codelibs.fess.app.pager.WebConfigPager;
 import org.codelibs.fess.app.service.WebConfigService;
 import org.codelibs.fess.app.web.CrudMode;
@@ -56,10 +55,7 @@ public class ApiAdminWebconfigAction extends FessApiAdminAction {
     @Execute
     public JsonResponse<ApiResult> settings(final SearchBody body) {
         validateApi(body, messages -> {});
-        final WebConfigPager pager = new WebConfigPager();
-        pager.setPageSize(body.size);
-        pager.setCurrentPageNumber(body.page);
-        copyBeanToBean(body, pager, op -> op.exclude(Constants.PAGER_CONVERSION_RULE));
+        final WebConfigPager pager = copyBeanToNewBean(body, WebConfigPager.class);
         final List<WebConfig> list = webConfigService.getWebConfigList(pager);
         return asJson(new ApiResult.ApiConfigsResponse<EditBody>()
                 .settings(list.stream().map(entity -> createEditBody(entity)).collect(Collectors.toList()))

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

@@ -18,5 +18,6 @@ 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;
 
 }

+ 4 - 0
src/main/java/org/codelibs/fess/app/web/base/FessBaseAction.java

@@ -189,6 +189,10 @@ public abstract class FessBaseAction extends TypicalAction // has several interf
         BeanUtil.copyBeanToBean(src, dest, option);
     }
 
+    protected static <T> T copyBeanToNewBean(final Object src, final Class<T> destClass) {
+        return BeanUtil.copyBeanToNewBean(src, destClass);
+    }
+
     protected String buildThrowableMessage(final Throwable t) {
         final StringBuilder buf = new StringBuilder(100);
         Throwable current = t;