Browse Source

fix #410 : add max paging size to selectList()

Shinsuke Sugaya 9 years ago
parent
commit
8edf27384e
27 changed files with 570 additions and 41 deletions
  1. 6 0
      src/main/java/org/codelibs/fess/app/service/CrawlingInfoService.java
  2. 9 0
      src/main/java/org/codelibs/fess/app/service/DataConfigService.java
  3. 5 0
      src/main/java/org/codelibs/fess/app/service/DuplicateHostService.java
  4. 6 0
      src/main/java/org/codelibs/fess/app/service/ElevateWordService.java
  5. 5 0
      src/main/java/org/codelibs/fess/app/service/FailureUrlService.java
  6. 5 0
      src/main/java/org/codelibs/fess/app/service/FavoriteLogService.java
  7. 5 0
      src/main/java/org/codelibs/fess/app/service/FileAuthenticationService.java
  8. 9 0
      src/main/java/org/codelibs/fess/app/service/FileConfigService.java
  9. 2 0
      src/main/java/org/codelibs/fess/app/service/LabelTypeService.java
  10. 5 0
      src/main/java/org/codelibs/fess/app/service/PathMappingService.java
  11. 5 0
      src/main/java/org/codelibs/fess/app/service/RequestHeaderService.java
  12. 2 0
      src/main/java/org/codelibs/fess/app/service/ScheduledJobService.java
  13. 4 0
      src/main/java/org/codelibs/fess/app/service/UserService.java
  14. 5 0
      src/main/java/org/codelibs/fess/app/service/WebAuthenticationService.java
  15. 9 0
      src/main/java/org/codelibs/fess/app/service/WebConfigService.java
  16. 2 0
      src/main/java/org/codelibs/fess/es/config/exentity/DataConfig.java
  17. 1 0
      src/main/java/org/codelibs/fess/es/config/exentity/ElevateWord.java
  18. 2 0
      src/main/java/org/codelibs/fess/es/config/exentity/FileConfig.java
  19. 1 0
      src/main/java/org/codelibs/fess/es/config/exentity/LabelType.java
  20. 2 0
      src/main/java/org/codelibs/fess/es/config/exentity/WebConfig.java
  21. 1 0
      src/main/java/org/codelibs/fess/es/log/exentity/SearchLog.java
  22. 2 0
      src/main/java/org/codelibs/fess/helper/PathMappingHelper.java
  23. 1 0
      src/main/java/org/codelibs/fess/helper/SearchLogHelper.java
  24. 3 0
      src/main/java/org/codelibs/fess/helper/SuggestHelper.java
  25. 416 0
      src/main/java/org/codelibs/fess/mylasta/direction/FessConfig.java
  26. 41 41
      src/main/java/org/codelibs/fess/mylasta/direction/FessProp.java
  27. 16 0
      src/main/resources/fess_config.properties

+ 6 - 0
src/main/java/org/codelibs/fess/app/service/CrawlingInfoService.java

@@ -67,6 +67,9 @@ public class CrawlingInfoService implements Serializable {
     @Resource
     @Resource
     protected CrawlingInfoBhv crawlingInfoBhv;
     protected CrawlingInfoBhv crawlingInfoBhv;
 
 
+    @Resource
+    protected FessConfig fessConfig;
+
     public List<CrawlingInfo> getCrawlingInfoList(final CrawlingInfoPager crawlingInfoPager) {
     public List<CrawlingInfo> getCrawlingInfoList(final CrawlingInfoPager crawlingInfoPager) {
 
 
         final PagingResultBean<CrawlingInfo> crawlingInfoList = crawlingInfoBhv.selectPage(cb -> {
         final PagingResultBean<CrawlingInfo> crawlingInfoList = crawlingInfoBhv.selectPage(cb -> {
@@ -145,6 +148,7 @@ public class CrawlingInfoService implements Serializable {
 
 
             });
             });
 
 
+            cb.fetchFirst(fessConfig.getPageCrawlingInfoMaxFetchSizeAsInteger());
             cb.specify().columnId();
             cb.specify().columnId();
         });
         });
         if (!crawlingInfoList.isEmpty()) {
         if (!crawlingInfoList.isEmpty()) {
@@ -189,6 +193,7 @@ public class CrawlingInfoService implements Serializable {
         return crawlingInfoParamBhv.selectList(cb -> {
         return crawlingInfoParamBhv.selectList(cb -> {
             cb.query().setCrawlingInfoId_Equal(id);
             cb.query().setCrawlingInfoId_Equal(id);
             cb.query().addOrderBy_Id_Asc();
             cb.query().addOrderBy_Id_Asc();
+            cb.fetchFirst(fessConfig.getPageCrawlingInfoParamMaxFetchSizeAsInteger());
         });
         });
     }
     }
 
 
@@ -209,6 +214,7 @@ public class CrawlingInfoService implements Serializable {
         final List<CrawlingInfo> activeSessionList =
         final List<CrawlingInfo> activeSessionList =
                 activeSessionId.isEmpty() ? Collections.emptyList() : crawlingInfoBhv.selectList(cb -> {
                 activeSessionId.isEmpty() ? Collections.emptyList() : crawlingInfoBhv.selectList(cb -> {
                     cb.query().setSessionId_InScope(activeSessionId);
                     cb.query().setSessionId_InScope(activeSessionId);
+                    cb.fetchFirst(fessConfig.getPageCrawlingInfoMaxFetchSizeAsInteger());
                     cb.specify().columnId();
                     cb.specify().columnId();
                 });
                 });
         final List<String> idList = activeSessionList.stream().map(session -> session.getId()).collect(Collectors.toList());
         final List<String> idList = activeSessionList.stream().map(session -> session.getId()).collect(Collectors.toList());

+ 9 - 0
src/main/java/org/codelibs/fess/app/service/DataConfigService.java

@@ -31,6 +31,7 @@ import org.codelibs.fess.es.config.exbhv.DataConfigToRoleBhv;
 import org.codelibs.fess.es.config.exentity.DataConfig;
 import org.codelibs.fess.es.config.exentity.DataConfig;
 import org.codelibs.fess.es.config.exentity.DataConfigToLabel;
 import org.codelibs.fess.es.config.exentity.DataConfigToLabel;
 import org.codelibs.fess.es.config.exentity.DataConfigToRole;
 import org.codelibs.fess.es.config.exentity.DataConfigToRole;
+import org.codelibs.fess.mylasta.direction.FessConfig;
 import org.dbflute.cbean.result.PagingResultBean;
 import org.dbflute.cbean.result.PagingResultBean;
 import org.dbflute.optional.OptionalEntity;
 import org.dbflute.optional.OptionalEntity;
 
 
@@ -47,6 +48,9 @@ public class DataConfigService implements Serializable {
     @Resource
     @Resource
     protected DataConfigBhv dataConfigBhv;
     protected DataConfigBhv dataConfigBhv;
 
 
+    @Resource
+    protected FessConfig fessConfig;
+
     public List<DataConfig> getDataConfigList(final DataConfigPager dataConfigPager) {
     public List<DataConfig> getDataConfigList(final DataConfigPager dataConfigPager) {
 
 
         final PagingResultBean<DataConfig> dataConfigList = dataConfigBhv.selectPage(cb -> {
         final PagingResultBean<DataConfig> dataConfigList = dataConfigBhv.selectPage(cb -> {
@@ -103,6 +107,7 @@ public class DataConfigService implements Serializable {
             if (idList != null) {
             if (idList != null) {
                 cb.query().setId_InScope(idList);
                 cb.query().setId_InScope(idList);
             }
             }
+            cb.fetchFirst(fessConfig.getPageDataConfigMaxFetchSizeAsInteger());
         });
         });
         return list;
         return list;
     }
     }
@@ -112,6 +117,7 @@ public class DataConfigService implements Serializable {
 
 
             final List<DataConfigToRole> fctrtmList = dataConfigToRoleBhv.selectList(fctrtmCb -> {
             final List<DataConfigToRole> fctrtmList = dataConfigToRoleBhv.selectList(fctrtmCb -> {
                 fctrtmCb.query().setDataConfigId_Equal(entity.getId());
                 fctrtmCb.query().setDataConfigId_Equal(entity.getId());
+                fctrtmCb.fetchFirst(fessConfig.getPageRoletypeMaxFetchSizeAsInteger());
             });
             });
             if (!fctrtmList.isEmpty()) {
             if (!fctrtmList.isEmpty()) {
                 final List<String> roleTypeIds = new ArrayList<String>(fctrtmList.size());
                 final List<String> roleTypeIds = new ArrayList<String>(fctrtmList.size());
@@ -123,6 +129,7 @@ public class DataConfigService implements Serializable {
 
 
             final List<DataConfigToLabel> fctltmList = dataConfigToLabelBhv.selectList(fctltmCb -> {
             final List<DataConfigToLabel> fctltmList = dataConfigToLabelBhv.selectList(fctltmCb -> {
                 fctltmCb.query().setDataConfigId_Equal(entity.getId());
                 fctltmCb.query().setDataConfigId_Equal(entity.getId());
+                fctltmCb.fetchFirst(fessConfig.getPageLabeltypeMaxFetchSizeAsInteger());
             });
             });
             if (!fctltmList.isEmpty()) {
             if (!fctltmList.isEmpty()) {
                 final List<String> labelTypeIds = new ArrayList<String>(fctltmList.size());
                 final List<String> labelTypeIds = new ArrayList<String>(fctltmList.size());
@@ -176,6 +183,7 @@ public class DataConfigService implements Serializable {
             if (labelTypeIds != null) {
             if (labelTypeIds != null) {
                 final List<DataConfigToLabel> fctltmList = dataConfigToLabelBhv.selectList(fctltmCb -> {
                 final List<DataConfigToLabel> fctltmList = dataConfigToLabelBhv.selectList(fctltmCb -> {
                     fctltmCb.query().setDataConfigId_Equal(dataConfigId);
                     fctltmCb.query().setDataConfigId_Equal(dataConfigId);
+                    fctltmCb.fetchFirst(fessConfig.getPageLabeltypeMaxFetchSizeAsInteger());
                 });
                 });
                 final List<DataConfigToLabel> newList = new ArrayList<DataConfigToLabel>();
                 final List<DataConfigToLabel> newList = new ArrayList<DataConfigToLabel>();
                 final List<DataConfigToLabel> matchedList = new ArrayList<DataConfigToLabel>();
                 final List<DataConfigToLabel> matchedList = new ArrayList<DataConfigToLabel>();
@@ -207,6 +215,7 @@ public class DataConfigService implements Serializable {
             if (roleTypeIds != null) {
             if (roleTypeIds != null) {
                 final List<DataConfigToRole> fctrtmList = dataConfigToRoleBhv.selectList(fctrtmCb -> {
                 final List<DataConfigToRole> fctrtmList = dataConfigToRoleBhv.selectList(fctrtmCb -> {
                     fctrtmCb.query().setDataConfigId_Equal(dataConfigId);
                     fctrtmCb.query().setDataConfigId_Equal(dataConfigId);
+                    fctrtmCb.fetchFirst(fessConfig.getPageRoletypeMaxFetchSizeAsInteger());
                 });
                 });
                 final List<DataConfigToRole> newList = new ArrayList<DataConfigToRole>();
                 final List<DataConfigToRole> newList = new ArrayList<DataConfigToRole>();
                 final List<DataConfigToRole> matchedList = new ArrayList<DataConfigToRole>();
                 final List<DataConfigToRole> matchedList = new ArrayList<DataConfigToRole>();

+ 5 - 0
src/main/java/org/codelibs/fess/app/service/DuplicateHostService.java

@@ -26,6 +26,7 @@ import org.codelibs.fess.app.pager.DuplicateHostPager;
 import org.codelibs.fess.es.config.cbean.DuplicateHostCB;
 import org.codelibs.fess.es.config.cbean.DuplicateHostCB;
 import org.codelibs.fess.es.config.exbhv.DuplicateHostBhv;
 import org.codelibs.fess.es.config.exbhv.DuplicateHostBhv;
 import org.codelibs.fess.es.config.exentity.DuplicateHost;
 import org.codelibs.fess.es.config.exentity.DuplicateHost;
+import org.codelibs.fess.mylasta.direction.FessConfig;
 import org.dbflute.cbean.result.PagingResultBean;
 import org.dbflute.cbean.result.PagingResultBean;
 import org.dbflute.optional.OptionalEntity;
 import org.dbflute.optional.OptionalEntity;
 
 
@@ -36,6 +37,9 @@ public class DuplicateHostService implements Serializable {
     @Resource
     @Resource
     protected DuplicateHostBhv duplicateHostBhv;
     protected DuplicateHostBhv duplicateHostBhv;
 
 
+    @Resource
+    protected FessConfig fessConfig;
+
     public List<DuplicateHost> getDuplicateHostList(final DuplicateHostPager duplicateHostPager) {
     public List<DuplicateHost> getDuplicateHostList(final DuplicateHostPager duplicateHostPager) {
 
 
         final PagingResultBean<DuplicateHost> duplicateHostList = duplicateHostBhv.selectPage(cb -> {
         final PagingResultBean<DuplicateHost> duplicateHostList = duplicateHostBhv.selectPage(cb -> {
@@ -78,6 +82,7 @@ public class DuplicateHostService implements Serializable {
             cb.query().addOrderBy_SortOrder_Asc();
             cb.query().addOrderBy_SortOrder_Asc();
             cb.query().addOrderBy_RegularName_Asc();
             cb.query().addOrderBy_RegularName_Asc();
             cb.query().addOrderBy_DuplicateHostName_Asc();
             cb.query().addOrderBy_DuplicateHostName_Asc();
+            cb.fetchFirst(fessConfig.getPageDuplicateHostMaxFetchSizeAsInteger());
         });
         });
     }
     }
 
 

+ 6 - 0
src/main/java/org/codelibs/fess/app/service/ElevateWordService.java

@@ -33,6 +33,7 @@ import org.codelibs.fess.es.config.exbhv.ElevateWordBhv;
 import org.codelibs.fess.es.config.exbhv.ElevateWordToLabelBhv;
 import org.codelibs.fess.es.config.exbhv.ElevateWordToLabelBhv;
 import org.codelibs.fess.es.config.exentity.ElevateWord;
 import org.codelibs.fess.es.config.exentity.ElevateWord;
 import org.codelibs.fess.es.config.exentity.ElevateWordToLabel;
 import org.codelibs.fess.es.config.exentity.ElevateWordToLabel;
+import org.codelibs.fess.mylasta.direction.FessConfig;
 import org.codelibs.fess.util.ComponentUtil;
 import org.codelibs.fess.util.ComponentUtil;
 import org.dbflute.bhv.readable.EntityRowHandler;
 import org.dbflute.bhv.readable.EntityRowHandler;
 import org.dbflute.cbean.result.PagingResultBean;
 import org.dbflute.cbean.result.PagingResultBean;
@@ -56,6 +57,9 @@ public class ElevateWordService implements Serializable {
     @Resource
     @Resource
     protected ElevateWordBhv elevateWordBhv;
     protected ElevateWordBhv elevateWordBhv;
 
 
+    @Resource
+    protected FessConfig fessConfig;
+
     public List<ElevateWord> getElevateWordList(final ElevateWordPager elevateWordPager) {
     public List<ElevateWord> getElevateWordList(final ElevateWordPager elevateWordPager) {
 
 
         final PagingResultBean<ElevateWord> elevateWordList = elevateWordBhv.selectPage(cb -> {
         final PagingResultBean<ElevateWord> elevateWordList = elevateWordBhv.selectPage(cb -> {
@@ -77,6 +81,7 @@ public class ElevateWordService implements Serializable {
 
 
             final List<ElevateWordToLabel> wctltmList = elevateWordToLabelBhv.selectList(wctltmCb -> {
             final List<ElevateWordToLabel> wctltmList = elevateWordToLabelBhv.selectList(wctltmCb -> {
                 wctltmCb.query().setElevateWordId_Equal(entity.getId());
                 wctltmCb.query().setElevateWordId_Equal(entity.getId());
+                wctltmCb.fetchFirst(fessConfig.getPageLabeltypeMaxFetchSizeAsInteger());
             });
             });
             if (!wctltmList.isEmpty()) {
             if (!wctltmList.isEmpty()) {
                 final List<String> labelTypeIds = new ArrayList<String>(wctltmList.size());
                 final List<String> labelTypeIds = new ArrayList<String>(wctltmList.size());
@@ -116,6 +121,7 @@ public class ElevateWordService implements Serializable {
             if (labelTypeIds != null) {
             if (labelTypeIds != null) {
                 final List<ElevateWordToLabel> list = elevateWordToLabelBhv.selectList(wctltmCb -> {
                 final List<ElevateWordToLabel> list = elevateWordToLabelBhv.selectList(wctltmCb -> {
                     wctltmCb.query().setElevateWordId_Equal(elevateWordId);
                     wctltmCb.query().setElevateWordId_Equal(elevateWordId);
+                    wctltmCb.fetchFirst(fessConfig.getPageLabeltypeMaxFetchSizeAsInteger());
                 });
                 });
                 final List<ElevateWordToLabel> newList = new ArrayList<ElevateWordToLabel>();
                 final List<ElevateWordToLabel> newList = new ArrayList<ElevateWordToLabel>();
                 final List<ElevateWordToLabel> matchedList = new ArrayList<ElevateWordToLabel>();
                 final List<ElevateWordToLabel> matchedList = new ArrayList<ElevateWordToLabel>();

+ 5 - 0
src/main/java/org/codelibs/fess/app/service/FailureUrlService.java

@@ -36,6 +36,7 @@ import org.codelibs.fess.es.config.exbhv.FailureUrlBhv;
 import org.codelibs.fess.es.config.exentity.CrawlingConfig;
 import org.codelibs.fess.es.config.exentity.CrawlingConfig;
 import org.codelibs.fess.es.config.exentity.FailureUrl;
 import org.codelibs.fess.es.config.exentity.FailureUrl;
 import org.codelibs.fess.helper.SystemHelper;
 import org.codelibs.fess.helper.SystemHelper;
+import org.codelibs.fess.mylasta.direction.FessConfig;
 import org.codelibs.fess.util.ComponentUtil;
 import org.codelibs.fess.util.ComponentUtil;
 import org.dbflute.cbean.result.ListResultBean;
 import org.dbflute.cbean.result.ListResultBean;
 import org.dbflute.cbean.result.PagingResultBean;
 import org.dbflute.cbean.result.PagingResultBean;
@@ -52,6 +53,9 @@ public class FailureUrlService implements Serializable {
     @Resource
     @Resource
     protected FailureUrlBhv failureUrlBhv;
     protected FailureUrlBhv failureUrlBhv;
 
 
+    @Resource
+    protected FessConfig fessConfig;
+
     public List<FailureUrl> getFailureUrlList(final FailureUrlPager failureUrlPager) {
     public List<FailureUrl> getFailureUrlList(final FailureUrlPager failureUrlPager) {
 
 
         final PagingResultBean<FailureUrl> failureUrlList = failureUrlBhv.selectPage(cb -> {
         final PagingResultBean<FailureUrl> failureUrlList = failureUrlBhv.selectPage(cb -> {
@@ -146,6 +150,7 @@ public class FailureUrlService implements Serializable {
         final ListResultBean<FailureUrl> list = failureUrlBhv.selectList(cb -> {
         final ListResultBean<FailureUrl> list = failureUrlBhv.selectList(cb -> {
             cb.query().setConfigId_Equal(configId);
             cb.query().setConfigId_Equal(configId);
             cb.query().setErrorCount_GreaterEqual(count);
             cb.query().setErrorCount_GreaterEqual(count);
+            cb.fetchFirst(fessConfig.getPageFailureUrlMaxFetchSizeAsInteger());
         });
         });
         if (list.isEmpty()) {
         if (list.isEmpty()) {
             return Collections.emptyList();
             return Collections.emptyList();

+ 5 - 0
src/main/java/org/codelibs/fess/app/service/FavoriteLogService.java

@@ -27,6 +27,7 @@ import org.codelibs.fess.es.log.exbhv.UserInfoBhv;
 import org.codelibs.fess.es.log.exentity.FavoriteLog;
 import org.codelibs.fess.es.log.exentity.FavoriteLog;
 import org.codelibs.fess.es.log.exentity.UserInfo;
 import org.codelibs.fess.es.log.exentity.UserInfo;
 import org.codelibs.fess.helper.SystemHelper;
 import org.codelibs.fess.helper.SystemHelper;
+import org.codelibs.fess.mylasta.direction.FessConfig;
 import org.dbflute.cbean.result.ListResultBean;
 import org.dbflute.cbean.result.ListResultBean;
 
 
 public class FavoriteLogService {
 public class FavoriteLogService {
@@ -39,6 +40,9 @@ public class FavoriteLogService {
     @Resource
     @Resource
     protected FavoriteLogBhv favoriteLogBhv;
     protected FavoriteLogBhv favoriteLogBhv;
 
 
+    @Resource
+    protected FessConfig fessConfig;
+
     public boolean addUrl(final String userCode, final BiConsumer<UserInfo, FavoriteLog> favoriteLogLambda) {
     public boolean addUrl(final String userCode, final BiConsumer<UserInfo, FavoriteLog> favoriteLogLambda) {
         return userInfoBhv.selectByPK(userCode).map(userInfo -> {
         return userInfoBhv.selectByPK(userCode).map(userInfo -> {
             final FavoriteLog favoriteLog = new FavoriteLog();
             final FavoriteLog favoriteLog = new FavoriteLog();
@@ -57,6 +61,7 @@ public class FavoriteLogService {
             final ListResultBean<FavoriteLog> list = favoriteLogBhv.selectList(cb2 -> {
             final ListResultBean<FavoriteLog> list = favoriteLogBhv.selectList(cb2 -> {
                 cb2.query().setUserInfoId_Equal(userInfo.getId());
                 cb2.query().setUserInfoId_Equal(userInfo.getId());
                 cb2.query().setUrl_InScope(urlList);
                 cb2.query().setUrl_InScope(urlList);
+                cb2.fetchFirst(fessConfig.getPageFavoriteLogMaxFetchSizeAsInteger());
             });
             });
             if (!list.isEmpty()) {
             if (!list.isEmpty()) {
                 final List<String> newUrlList = new ArrayList<>(list.size());
                 final List<String> newUrlList = new ArrayList<>(list.size());

+ 5 - 0
src/main/java/org/codelibs/fess/app/service/FileAuthenticationService.java

@@ -26,6 +26,7 @@ import org.codelibs.fess.app.pager.FileAuthPager;
 import org.codelibs.fess.es.config.cbean.FileAuthenticationCB;
 import org.codelibs.fess.es.config.cbean.FileAuthenticationCB;
 import org.codelibs.fess.es.config.exbhv.FileAuthenticationBhv;
 import org.codelibs.fess.es.config.exbhv.FileAuthenticationBhv;
 import org.codelibs.fess.es.config.exentity.FileAuthentication;
 import org.codelibs.fess.es.config.exentity.FileAuthentication;
+import org.codelibs.fess.mylasta.direction.FessConfig;
 import org.dbflute.cbean.result.PagingResultBean;
 import org.dbflute.cbean.result.PagingResultBean;
 import org.dbflute.optional.OptionalEntity;
 import org.dbflute.optional.OptionalEntity;
 
 
@@ -36,6 +37,9 @@ public class FileAuthenticationService implements Serializable {
     @Resource
     @Resource
     protected FileAuthenticationBhv fileAuthenticationBhv;
     protected FileAuthenticationBhv fileAuthenticationBhv;
 
 
+    @Resource
+    protected FessConfig fessConfig;
+
     public List<FileAuthentication> getFileAuthenticationList(final FileAuthPager fileAuthenticationPager) {
     public List<FileAuthentication> getFileAuthenticationList(final FileAuthPager fileAuthenticationPager) {
 
 
         final PagingResultBean<FileAuthentication> fileAuthenticationList = fileAuthenticationBhv.selectPage(cb -> {
         final PagingResultBean<FileAuthentication> fileAuthenticationList = fileAuthenticationBhv.selectPage(cb -> {
@@ -88,6 +92,7 @@ public class FileAuthenticationService implements Serializable {
     public List<FileAuthentication> getFileAuthenticationList(final String fileConfigId) {
     public List<FileAuthentication> getFileAuthenticationList(final String fileConfigId) {
         return fileAuthenticationBhv.selectList(cb -> {
         return fileAuthenticationBhv.selectList(cb -> {
             cb.query().setFileConfigId_Equal(fileConfigId);
             cb.query().setFileConfigId_Equal(fileConfigId);
+            cb.fetchFirst(fessConfig.getPageFileAuthMaxFetchSizeAsInteger());
         });
         });
     }
     }
 }
 }

+ 9 - 0
src/main/java/org/codelibs/fess/app/service/FileConfigService.java

@@ -32,6 +32,7 @@ import org.codelibs.fess.es.config.exbhv.FileConfigToRoleBhv;
 import org.codelibs.fess.es.config.exentity.FileConfig;
 import org.codelibs.fess.es.config.exentity.FileConfig;
 import org.codelibs.fess.es.config.exentity.FileConfigToLabel;
 import org.codelibs.fess.es.config.exentity.FileConfigToLabel;
 import org.codelibs.fess.es.config.exentity.FileConfigToRole;
 import org.codelibs.fess.es.config.exentity.FileConfigToRole;
+import org.codelibs.fess.mylasta.direction.FessConfig;
 import org.dbflute.cbean.result.PagingResultBean;
 import org.dbflute.cbean.result.PagingResultBean;
 import org.dbflute.optional.OptionalEntity;
 import org.dbflute.optional.OptionalEntity;
 
 
@@ -51,6 +52,9 @@ public class FileConfigService implements Serializable {
     @Resource
     @Resource
     protected FileAuthenticationBhv fileAuthenticationBhv;
     protected FileAuthenticationBhv fileAuthenticationBhv;
 
 
+    @Resource
+    protected FessConfig fessConfig;
+
     public List<FileConfig> getFileConfigList(final FileConfigPager fileConfigPager) {
     public List<FileConfig> getFileConfigList(final FileConfigPager fileConfigPager) {
 
 
         final PagingResultBean<FileConfig> fileConfigList = fileConfigBhv.selectPage(cb -> {
         final PagingResultBean<FileConfig> fileConfigList = fileConfigBhv.selectPage(cb -> {
@@ -109,6 +113,7 @@ public class FileConfigService implements Serializable {
             if (idList != null) {
             if (idList != null) {
                 cb.query().setId_InScope(idList);
                 cb.query().setId_InScope(idList);
             }
             }
+            cb.fetchFirst(fessConfig.getPageFileConfigMaxFetchSizeAsInteger());
         });
         });
         return list;
         return list;
     }
     }
@@ -118,6 +123,7 @@ public class FileConfigService implements Serializable {
 
 
             final List<FileConfigToRole> fctrtmList = fileConfigToRoleBhv.selectList(fctrtmCb -> {
             final List<FileConfigToRole> fctrtmList = fileConfigToRoleBhv.selectList(fctrtmCb -> {
                 fctrtmCb.query().setFileConfigId_Equal(entity.getId());
                 fctrtmCb.query().setFileConfigId_Equal(entity.getId());
+                fctrtmCb.fetchFirst(fessConfig.getPageRoletypeMaxFetchSizeAsInteger());
             });
             });
             if (!fctrtmList.isEmpty()) {
             if (!fctrtmList.isEmpty()) {
                 final List<String> roleTypeIds = new ArrayList<String>(fctrtmList.size());
                 final List<String> roleTypeIds = new ArrayList<String>(fctrtmList.size());
@@ -129,6 +135,7 @@ public class FileConfigService implements Serializable {
 
 
             final List<FileConfigToLabel> fctltmList = fileConfigToLabelBhv.selectList(fctltmCb -> {
             final List<FileConfigToLabel> fctltmList = fileConfigToLabelBhv.selectList(fctltmCb -> {
                 fctltmCb.query().setFileConfigId_Equal(entity.getId());
                 fctltmCb.query().setFileConfigId_Equal(entity.getId());
+                fctltmCb.fetchFirst(fessConfig.getPageLabeltypeMaxFetchSizeAsInteger());
             });
             });
             if (!fctltmList.isEmpty()) {
             if (!fctltmList.isEmpty()) {
                 final List<String> labelTypeIds = new ArrayList<String>(fctltmList.size());
                 final List<String> labelTypeIds = new ArrayList<String>(fctltmList.size());
@@ -181,6 +188,7 @@ public class FileConfigService implements Serializable {
             if (labelTypeIds != null) {
             if (labelTypeIds != null) {
                 final List<FileConfigToLabel> fctltmList = fileConfigToLabelBhv.selectList(fctltmCb -> {
                 final List<FileConfigToLabel> fctltmList = fileConfigToLabelBhv.selectList(fctltmCb -> {
                     fctltmCb.query().setFileConfigId_Equal(fileConfigId);
                     fctltmCb.query().setFileConfigId_Equal(fileConfigId);
+                    fctltmCb.fetchFirst(fessConfig.getPageLabeltypeMaxFetchSizeAsInteger());
                 });
                 });
                 final List<FileConfigToLabel> newList = new ArrayList<FileConfigToLabel>();
                 final List<FileConfigToLabel> newList = new ArrayList<FileConfigToLabel>();
                 final List<FileConfigToLabel> matchedList = new ArrayList<FileConfigToLabel>();
                 final List<FileConfigToLabel> matchedList = new ArrayList<FileConfigToLabel>();
@@ -212,6 +220,7 @@ public class FileConfigService implements Serializable {
             if (roleTypeIds != null) {
             if (roleTypeIds != null) {
                 final List<FileConfigToRole> fctrtmList = fileConfigToRoleBhv.selectList(fctrtmCb -> {
                 final List<FileConfigToRole> fctrtmList = fileConfigToRoleBhv.selectList(fctrtmCb -> {
                     fctrtmCb.query().setFileConfigId_Equal(fileConfigId);
                     fctrtmCb.query().setFileConfigId_Equal(fileConfigId);
+                    fctrtmCb.fetchFirst(fessConfig.getPageRoletypeMaxFetchSizeAsInteger());
                 });
                 });
                 final List<FileConfigToRole> newList = new ArrayList<FileConfigToRole>();
                 final List<FileConfigToRole> newList = new ArrayList<FileConfigToRole>();
                 final List<FileConfigToRole> matchedList = new ArrayList<FileConfigToRole>();
                 final List<FileConfigToRole> matchedList = new ArrayList<FileConfigToRole>();

+ 2 - 0
src/main/java/org/codelibs/fess/app/service/LabelTypeService.java

@@ -134,6 +134,7 @@ public class LabelTypeService implements Serializable {
             if (roleTypeIds != null) {
             if (roleTypeIds != null) {
                 final List<LabelToRole> list = labelToRoleBhv.selectList(lttrtmCb -> {
                 final List<LabelToRole> list = labelToRoleBhv.selectList(lttrtmCb -> {
                     lttrtmCb.query().setLabelTypeId_Equal(labelTypeId);
                     lttrtmCb.query().setLabelTypeId_Equal(labelTypeId);
+                    lttrtmCb.fetchFirst(fessConfig.getPageRoletypeMaxFetchSizeAsInteger());
                 });
                 });
                 final List<LabelToRole> newList = new ArrayList<LabelToRole>();
                 final List<LabelToRole> newList = new ArrayList<LabelToRole>();
                 final List<LabelToRole> matchedList = new ArrayList<LabelToRole>();
                 final List<LabelToRole> matchedList = new ArrayList<LabelToRole>();
@@ -174,6 +175,7 @@ public class LabelTypeService implements Serializable {
         return labelTypeBhv.selectByPK(id).map(entity -> {
         return labelTypeBhv.selectByPK(id).map(entity -> {
             final List<LabelToRole> wctrtmList = labelToRoleBhv.selectList(wctrtmCb -> {
             final List<LabelToRole> wctrtmList = labelToRoleBhv.selectList(wctrtmCb -> {
                 wctrtmCb.query().setLabelTypeId_Equal(entity.getId());
                 wctrtmCb.query().setLabelTypeId_Equal(entity.getId());
+                wctrtmCb.fetchFirst(fessConfig.getPageRoletypeMaxFetchSizeAsInteger());
             });
             });
             if (!wctrtmList.isEmpty()) {
             if (!wctrtmList.isEmpty()) {
                 final List<String> roleTypeIds = new ArrayList<String>(wctrtmList.size());
                 final List<String> roleTypeIds = new ArrayList<String>(wctrtmList.size());

+ 5 - 0
src/main/java/org/codelibs/fess/app/service/PathMappingService.java

@@ -27,6 +27,7 @@ import org.codelibs.fess.app.pager.PathMapPager;
 import org.codelibs.fess.es.config.cbean.PathMappingCB;
 import org.codelibs.fess.es.config.cbean.PathMappingCB;
 import org.codelibs.fess.es.config.exbhv.PathMappingBhv;
 import org.codelibs.fess.es.config.exbhv.PathMappingBhv;
 import org.codelibs.fess.es.config.exentity.PathMapping;
 import org.codelibs.fess.es.config.exentity.PathMapping;
+import org.codelibs.fess.mylasta.direction.FessConfig;
 import org.codelibs.fess.util.ComponentUtil;
 import org.codelibs.fess.util.ComponentUtil;
 import org.dbflute.cbean.result.PagingResultBean;
 import org.dbflute.cbean.result.PagingResultBean;
 import org.dbflute.optional.OptionalEntity;
 import org.dbflute.optional.OptionalEntity;
@@ -38,6 +39,9 @@ public class PathMappingService implements Serializable {
     @Resource
     @Resource
     protected PathMappingBhv pathMappingBhv;
     protected PathMappingBhv pathMappingBhv;
 
 
+    @Resource
+    protected FessConfig fessConfig;
+
     public List<PathMapping> getPathMappingList(final PathMapPager pathMappingPager) {
     public List<PathMapping> getPathMappingList(final PathMapPager pathMappingPager) {
 
 
         final PagingResultBean<PathMapping> pathMappingList = pathMappingBhv.selectPage(cb -> {
         final PagingResultBean<PathMapping> pathMappingList = pathMappingBhv.selectPage(cb -> {
@@ -81,6 +85,7 @@ public class PathMappingService implements Serializable {
         return pathMappingBhv.selectList(cb -> {
         return pathMappingBhv.selectList(cb -> {
             cb.query().addOrderBy_SortOrder_Asc();
             cb.query().addOrderBy_SortOrder_Asc();
             cb.query().setProcessType_InScope(processTypeList);
             cb.query().setProcessType_InScope(processTypeList);
+            cb.fetchFirst(fessConfig.getPagePathMappingMaxFetchSizeAsInteger());
         });
         });
     }
     }
 
 

+ 5 - 0
src/main/java/org/codelibs/fess/app/service/RequestHeaderService.java

@@ -26,6 +26,7 @@ import org.codelibs.fess.app.pager.ReqHeaderPager;
 import org.codelibs.fess.es.config.cbean.RequestHeaderCB;
 import org.codelibs.fess.es.config.cbean.RequestHeaderCB;
 import org.codelibs.fess.es.config.exbhv.RequestHeaderBhv;
 import org.codelibs.fess.es.config.exbhv.RequestHeaderBhv;
 import org.codelibs.fess.es.config.exentity.RequestHeader;
 import org.codelibs.fess.es.config.exentity.RequestHeader;
+import org.codelibs.fess.mylasta.direction.FessConfig;
 import org.dbflute.cbean.result.PagingResultBean;
 import org.dbflute.cbean.result.PagingResultBean;
 import org.dbflute.optional.OptionalEntity;
 import org.dbflute.optional.OptionalEntity;
 
 
@@ -36,6 +37,9 @@ public class RequestHeaderService implements Serializable {
     @Resource
     @Resource
     protected RequestHeaderBhv requestHeaderBhv;
     protected RequestHeaderBhv requestHeaderBhv;
 
 
+    @Resource
+    protected FessConfig fessConfig;
+
     public List<RequestHeader> getRequestHeaderList(final ReqHeaderPager requestHeaderPager) {
     public List<RequestHeader> getRequestHeaderList(final ReqHeaderPager requestHeaderPager) {
 
 
         final PagingResultBean<RequestHeader> requestHeaderList = requestHeaderBhv.selectPage(cb -> {
         final PagingResultBean<RequestHeader> requestHeaderList = requestHeaderBhv.selectPage(cb -> {
@@ -88,6 +92,7 @@ public class RequestHeaderService implements Serializable {
     public List<RequestHeader> getRequestHeaderList(final String webConfigId) {
     public List<RequestHeader> getRequestHeaderList(final String webConfigId) {
         return requestHeaderBhv.selectList(cb -> {
         return requestHeaderBhv.selectList(cb -> {
             cb.query().setWebConfigId_Equal(webConfigId);
             cb.query().setWebConfigId_Equal(webConfigId);
+            cb.fetchFirst(fessConfig.getPageRequestHeaderMaxFetchSizeAsInteger());
         });
         });
     }
     }
 
 

+ 2 - 0
src/main/java/org/codelibs/fess/app/service/ScheduledJobService.java

@@ -101,6 +101,7 @@ public class ScheduledJobService implements Serializable {
         return scheduledJobBhv.selectList(cb -> {
         return scheduledJobBhv.selectList(cb -> {
             cb.query().addOrderBy_SortOrder_Asc();
             cb.query().addOrderBy_SortOrder_Asc();
             cb.query().addOrderBy_Name_Asc();
             cb.query().addOrderBy_Name_Asc();
+            cb.fetchFirst(fessConfig.getPageScheduledJobMaxFetchSizeAsInteger());
         });
         });
     }
     }
 
 
@@ -118,6 +119,7 @@ public class ScheduledJobService implements Serializable {
             cb.query().setCrawler_Equal(Constants.T);
             cb.query().setCrawler_Equal(Constants.T);
             cb.query().addOrderBy_SortOrder_Asc();
             cb.query().addOrderBy_SortOrder_Asc();
             cb.query().addOrderBy_Name_Asc();
             cb.query().addOrderBy_Name_Asc();
+            cb.fetchFirst(fessConfig.getPageScheduledJobMaxFetchSizeAsInteger());
         });
         });
     }
     }
 
 

+ 4 - 0
src/main/java/org/codelibs/fess/app/service/UserService.java

@@ -43,6 +43,9 @@ public class UserService implements Serializable {
     @Resource
     @Resource
     protected FessLoginAssist fessLoginAssist;
     protected FessLoginAssist fessLoginAssist;
 
 
+    @Resource
+    protected FessConfig fessConfig;
+
     public List<User> getUserList(final UserPager userPager) {
     public List<User> getUserList(final UserPager userPager) {
 
 
         final PagingResultBean<User> userList = userBhv.selectPage(cb -> {
         final PagingResultBean<User> userList = userBhv.selectPage(cb -> {
@@ -113,6 +116,7 @@ public class UserService implements Serializable {
     public List<User> getAvailableUserList() {
     public List<User> getAvailableUserList() {
         return userBhv.selectList(cb -> {
         return userBhv.selectList(cb -> {
             cb.query().matchAll();
             cb.query().matchAll();
+            cb.fetchFirst(fessConfig.getPageUserMaxFetchSizeAsInteger());
         });
         });
     }
     }
 
 

+ 5 - 0
src/main/java/org/codelibs/fess/app/service/WebAuthenticationService.java

@@ -26,6 +26,7 @@ import org.codelibs.fess.app.pager.WebAuthPager;
 import org.codelibs.fess.es.config.cbean.WebAuthenticationCB;
 import org.codelibs.fess.es.config.cbean.WebAuthenticationCB;
 import org.codelibs.fess.es.config.exbhv.WebAuthenticationBhv;
 import org.codelibs.fess.es.config.exbhv.WebAuthenticationBhv;
 import org.codelibs.fess.es.config.exentity.WebAuthentication;
 import org.codelibs.fess.es.config.exentity.WebAuthentication;
+import org.codelibs.fess.mylasta.direction.FessConfig;
 import org.dbflute.cbean.result.PagingResultBean;
 import org.dbflute.cbean.result.PagingResultBean;
 import org.dbflute.optional.OptionalEntity;
 import org.dbflute.optional.OptionalEntity;
 
 
@@ -36,6 +37,9 @@ public class WebAuthenticationService implements Serializable {
     @Resource
     @Resource
     protected WebAuthenticationBhv webAuthenticationBhv;
     protected WebAuthenticationBhv webAuthenticationBhv;
 
 
+    @Resource
+    protected FessConfig fessConfig;
+
     public List<WebAuthentication> getWebAuthenticationList(final WebAuthPager webAuthenticationPager) {
     public List<WebAuthentication> getWebAuthenticationList(final WebAuthPager webAuthenticationPager) {
 
 
         final PagingResultBean<WebAuthentication> webAuthenticationList = webAuthenticationBhv.selectPage(cb -> {
         final PagingResultBean<WebAuthentication> webAuthenticationList = webAuthenticationBhv.selectPage(cb -> {
@@ -88,6 +92,7 @@ public class WebAuthenticationService implements Serializable {
     public List<WebAuthentication> getWebAuthenticationList(final String webConfigId) {
     public List<WebAuthentication> getWebAuthenticationList(final String webConfigId) {
         return webAuthenticationBhv.selectList(cb -> {
         return webAuthenticationBhv.selectList(cb -> {
             cb.query().setWebConfigId_Equal(webConfigId);
             cb.query().setWebConfigId_Equal(webConfigId);
+            cb.fetchFirst(fessConfig.getPageWebAuthMaxFetchSizeAsInteger());
         });
         });
     }
     }
 
 

+ 9 - 0
src/main/java/org/codelibs/fess/app/service/WebConfigService.java

@@ -33,6 +33,7 @@ import org.codelibs.fess.es.config.exbhv.WebConfigToRoleBhv;
 import org.codelibs.fess.es.config.exentity.WebConfig;
 import org.codelibs.fess.es.config.exentity.WebConfig;
 import org.codelibs.fess.es.config.exentity.WebConfigToLabel;
 import org.codelibs.fess.es.config.exentity.WebConfigToLabel;
 import org.codelibs.fess.es.config.exentity.WebConfigToRole;
 import org.codelibs.fess.es.config.exentity.WebConfigToRole;
+import org.codelibs.fess.mylasta.direction.FessConfig;
 import org.dbflute.cbean.result.PagingResultBean;
 import org.dbflute.cbean.result.PagingResultBean;
 import org.dbflute.optional.OptionalEntity;
 import org.dbflute.optional.OptionalEntity;
 
 
@@ -55,6 +56,9 @@ public class WebConfigService implements Serializable {
     @Resource
     @Resource
     protected RequestHeaderBhv requestHeaderBhv;
     protected RequestHeaderBhv requestHeaderBhv;
 
 
+    @Resource
+    protected FessConfig fessConfig;
+
     public List<WebConfig> getWebConfigList(final WebConfigPager webConfigPager) {
     public List<WebConfig> getWebConfigList(final WebConfigPager webConfigPager) {
 
 
         final PagingResultBean<WebConfig> webConfigList = webConfigBhv.selectPage(cb -> {
         final PagingResultBean<WebConfig> webConfigList = webConfigBhv.selectPage(cb -> {
@@ -117,6 +121,7 @@ public class WebConfigService implements Serializable {
             if (idList != null) {
             if (idList != null) {
                 cb.query().setId_InScope(idList);
                 cb.query().setId_InScope(idList);
             }
             }
+            cb.fetchFirst(fessConfig.getPageWebConfigMaxFetchSizeAsInteger());
         });
         });
 
 
         return list;
         return list;
@@ -127,6 +132,7 @@ public class WebConfigService implements Serializable {
 
 
             final List<WebConfigToRole> wctrtmList = webConfigToRoleBhv.selectList(wctrtmCb -> {
             final List<WebConfigToRole> wctrtmList = webConfigToRoleBhv.selectList(wctrtmCb -> {
                 wctrtmCb.query().setWebConfigId_Equal(entity.getId());
                 wctrtmCb.query().setWebConfigId_Equal(entity.getId());
+                wctrtmCb.fetchFirst(fessConfig.getPageRoletypeMaxFetchSizeAsInteger());
             });
             });
             if (!wctrtmList.isEmpty()) {
             if (!wctrtmList.isEmpty()) {
                 final List<String> roleTypeIds = new ArrayList<String>(wctrtmList.size());
                 final List<String> roleTypeIds = new ArrayList<String>(wctrtmList.size());
@@ -138,6 +144,7 @@ public class WebConfigService implements Serializable {
 
 
             final List<WebConfigToLabel> wctltmList = webConfigToLabelBhv.selectList(wctltmCb -> {
             final List<WebConfigToLabel> wctltmList = webConfigToLabelBhv.selectList(wctltmCb -> {
                 wctltmCb.query().setWebConfigId_Equal(entity.getId());
                 wctltmCb.query().setWebConfigId_Equal(entity.getId());
+                wctltmCb.fetchFirst(fessConfig.getPageLabeltypeMaxFetchSizeAsInteger());
             });
             });
             if (!wctltmList.isEmpty()) {
             if (!wctltmList.isEmpty()) {
                 final List<String> labelTypeIds = new ArrayList<String>(wctltmList.size());
                 final List<String> labelTypeIds = new ArrayList<String>(wctltmList.size());
@@ -190,6 +197,7 @@ public class WebConfigService implements Serializable {
             if (labelTypeIds != null) {
             if (labelTypeIds != null) {
                 final List<WebConfigToLabel> list = webConfigToLabelBhv.selectList(wctltmCb -> {
                 final List<WebConfigToLabel> list = webConfigToLabelBhv.selectList(wctltmCb -> {
                     wctltmCb.query().setWebConfigId_Equal(webConfigId);
                     wctltmCb.query().setWebConfigId_Equal(webConfigId);
+                    wctltmCb.fetchFirst(fessConfig.getPageLabeltypeMaxFetchSizeAsInteger());
                 });
                 });
                 final List<WebConfigToLabel> newList = new ArrayList<WebConfigToLabel>();
                 final List<WebConfigToLabel> newList = new ArrayList<WebConfigToLabel>();
                 final List<WebConfigToLabel> matchedList = new ArrayList<WebConfigToLabel>();
                 final List<WebConfigToLabel> matchedList = new ArrayList<WebConfigToLabel>();
@@ -221,6 +229,7 @@ public class WebConfigService implements Serializable {
             if (roleTypeIds != null) {
             if (roleTypeIds != null) {
                 final List<WebConfigToRole> list = webConfigToRoleBhv.selectList(wctrtmCb -> {
                 final List<WebConfigToRole> list = webConfigToRoleBhv.selectList(wctrtmCb -> {
                     wctrtmCb.query().setWebConfigId_Equal(webConfigId);
                     wctrtmCb.query().setWebConfigId_Equal(webConfigId);
+                    wctrtmCb.fetchFirst(fessConfig.getPageRoletypeMaxFetchSizeAsInteger());
                 });
                 });
                 final List<WebConfigToRole> newList = new ArrayList<WebConfigToRole>();
                 final List<WebConfigToRole> newList = new ArrayList<WebConfigToRole>();
                 final List<WebConfigToRole> matchedList = new ArrayList<WebConfigToRole>();
                 final List<WebConfigToRole> matchedList = new ArrayList<WebConfigToRole>();

+ 2 - 0
src/main/java/org/codelibs/fess/es/config/exentity/DataConfig.java

@@ -121,6 +121,7 @@ public class DataConfig extends BsDataConfig implements CrawlingConfig {
                     labelTypeList = labelIdList.isEmpty() ? Collections.emptyList() : labelTypeBhv.selectList(cb -> {
                     labelTypeList = labelIdList.isEmpty() ? Collections.emptyList() : labelTypeBhv.selectList(cb -> {
                         cb.query().setId_InScope(labelIdList);
                         cb.query().setId_InScope(labelIdList);
                         cb.query().addOrderBy_SortOrder_Asc();
                         cb.query().addOrderBy_SortOrder_Asc();
+                        cb.fetchFirst(fessConfig.getPageLabeltypeMaxFetchSizeAsInteger());
                     });
                     });
                 }
                 }
             }
             }
@@ -168,6 +169,7 @@ public class DataConfig extends BsDataConfig implements CrawlingConfig {
                     roleTypeList = roleIdList.isEmpty() ? Collections.emptyList() : roleTypeBhv.selectList(cb -> {
                     roleTypeList = roleIdList.isEmpty() ? Collections.emptyList() : roleTypeBhv.selectList(cb -> {
                         cb.query().setId_InScope(roleIdList);
                         cb.query().setId_InScope(roleIdList);
                         cb.query().addOrderBy_SortOrder_Asc();
                         cb.query().addOrderBy_SortOrder_Asc();
+                        cb.fetchFirst(fessConfig.getPageRoletypeMaxFetchSizeAsInteger());
                     });
                     });
                 }
                 }
             }
             }

+ 1 - 0
src/main/java/org/codelibs/fess/es/config/exentity/ElevateWord.java

@@ -71,6 +71,7 @@ public class ElevateWord extends BsElevateWord {
                     labelTypeList = labelIdList.isEmpty() ? Collections.emptyList() : labelTypeBhv.selectList(cb -> {
                     labelTypeList = labelIdList.isEmpty() ? Collections.emptyList() : labelTypeBhv.selectList(cb -> {
                         cb.query().setId_InScope(labelIdList);
                         cb.query().setId_InScope(labelIdList);
                         cb.query().addOrderBy_SortOrder_Asc();
                         cb.query().addOrderBy_SortOrder_Asc();
+                        cb.fetchFirst(fessConfig.getPageLabeltypeMaxFetchSizeAsInteger());
                     });
                     });
                 }
                 }
             }
             }

+ 2 - 0
src/main/java/org/codelibs/fess/es/config/exentity/FileConfig.java

@@ -96,6 +96,7 @@ public class FileConfig extends BsFileConfig implements CrawlingConfig {
                     labelTypeList = labelIdList.isEmpty() ? Collections.emptyList() : labelTypeBhv.selectList(cb -> {
                     labelTypeList = labelIdList.isEmpty() ? Collections.emptyList() : labelTypeBhv.selectList(cb -> {
                         cb.query().setId_InScope(labelIdList);
                         cb.query().setId_InScope(labelIdList);
                         cb.query().addOrderBy_SortOrder_Asc();
                         cb.query().addOrderBy_SortOrder_Asc();
+                        cb.fetchFirst(fessConfig.getPageLabeltypeMaxFetchSizeAsInteger());
                     });
                     });
                 }
                 }
             }
             }
@@ -143,6 +144,7 @@ public class FileConfig extends BsFileConfig implements CrawlingConfig {
                     roleTypeList = roleIdList.isEmpty() ? Collections.emptyList() : roleTypeBhv.selectList(cb -> {
                     roleTypeList = roleIdList.isEmpty() ? Collections.emptyList() : roleTypeBhv.selectList(cb -> {
                         cb.query().setId_InScope(roleIdList);
                         cb.query().setId_InScope(roleIdList);
                         cb.query().addOrderBy_SortOrder_Asc();
                         cb.query().addOrderBy_SortOrder_Asc();
+                        cb.fetchFirst(fessConfig.getPageRoletypeMaxFetchSizeAsInteger());
                     });
                     });
                 }
                 }
             }
             }

+ 1 - 0
src/main/java/org/codelibs/fess/es/config/exentity/LabelType.java

@@ -67,6 +67,7 @@ public class LabelType extends BsLabelType {
                     roleTypeList = roleIdList.isEmpty() ? Collections.emptyList() : roleTypeBhv.selectList(cb -> {
                     roleTypeList = roleIdList.isEmpty() ? Collections.emptyList() : roleTypeBhv.selectList(cb -> {
                         cb.query().setId_InScope(roleIdList);
                         cb.query().setId_InScope(roleIdList);
                         cb.query().addOrderBy_SortOrder_Asc();
                         cb.query().addOrderBy_SortOrder_Asc();
+                        cb.fetchFirst(fessConfig.getPageRoletypeMaxFetchSizeAsInteger());
                     });
                     });
                 }
                 }
             }
             }

+ 2 - 0
src/main/java/org/codelibs/fess/es/config/exentity/WebConfig.java

@@ -99,6 +99,7 @@ public class WebConfig extends BsWebConfig implements CrawlingConfig {
                     labelTypeList = labelIdList.isEmpty() ? Collections.emptyList() : labelTypeBhv.selectList(cb -> {
                     labelTypeList = labelIdList.isEmpty() ? Collections.emptyList() : labelTypeBhv.selectList(cb -> {
                         cb.query().setId_InScope(labelIdList);
                         cb.query().setId_InScope(labelIdList);
                         cb.query().addOrderBy_SortOrder_Asc();
                         cb.query().addOrderBy_SortOrder_Asc();
+                        cb.fetchFirst(fessConfig.getPageLabeltypeMaxFetchSizeAsInteger());
                     });
                     });
                 }
                 }
             }
             }
@@ -149,6 +150,7 @@ public class WebConfig extends BsWebConfig implements CrawlingConfig {
                     roleTypeList = roleIdList.isEmpty() ? Collections.emptyList() : roleTypeBhv.selectList(cb -> {
                     roleTypeList = roleIdList.isEmpty() ? Collections.emptyList() : roleTypeBhv.selectList(cb -> {
                         cb.query().setId_InScope(roleIdList);
                         cb.query().setId_InScope(roleIdList);
                         cb.query().addOrderBy_SortOrder_Asc();
                         cb.query().addOrderBy_SortOrder_Asc();
+                        cb.fetchFirst(fessConfig.getPageRoletypeMaxFetchSizeAsInteger());
                     });
                     });
                 }
                 }
             }
             }

+ 1 - 0
src/main/java/org/codelibs/fess/es/log/exentity/SearchLog.java

@@ -92,6 +92,7 @@ public class SearchLog extends BsSearchLog {
             final SearchFieldLogBhv searchFieldLogBhv = ComponentUtil.getComponent(SearchFieldLogBhv.class);
             final SearchFieldLogBhv searchFieldLogBhv = ComponentUtil.getComponent(SearchFieldLogBhv.class);
             searchFieldLogList = searchFieldLogBhv.selectList(cb -> {
             searchFieldLogList = searchFieldLogBhv.selectList(cb -> {
                 cb.query().setSearchLogId_Equal(getId());
                 cb.query().setSearchLogId_Equal(getId());
+                cb.fetchFirst(ComponentUtil.getFessConfig().getPageSearchFieldLogMaxFetchSizeAsInteger());
             });
             });
         }
         }
         return searchFieldLogList;
         return searchFieldLogList;

+ 2 - 0
src/main/java/org/codelibs/fess/helper/PathMappingHelper.java

@@ -27,6 +27,7 @@ import javax.annotation.PostConstruct;
 import org.codelibs.fess.Constants;
 import org.codelibs.fess.Constants;
 import org.codelibs.fess.es.config.exbhv.PathMappingBhv;
 import org.codelibs.fess.es.config.exbhv.PathMappingBhv;
 import org.codelibs.fess.es.config.exentity.PathMapping;
 import org.codelibs.fess.es.config.exentity.PathMapping;
+import org.codelibs.fess.util.ComponentUtil;
 import org.lastaflute.di.core.SingletonLaContainer;
 import org.lastaflute.di.core.SingletonLaContainer;
 import org.slf4j.Logger;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.slf4j.LoggerFactory;
@@ -52,6 +53,7 @@ public class PathMappingHelper implements Serializable {
             cachedPathMappingList = pathMappingBhv.selectList(cb -> {
             cachedPathMappingList = pathMappingBhv.selectList(cb -> {
                 cb.query().addOrderBy_SortOrder_Asc();
                 cb.query().addOrderBy_SortOrder_Asc();
                 cb.query().setProcessType_InScope(ptList);
                 cb.query().setProcessType_InScope(ptList);
+                cb.fetchFirst(ComponentUtil.getFessConfig().getPagePathMappingMaxFetchSizeAsInteger());
             });
             });
         } catch (final Exception e) {
         } catch (final Exception e) {
             logger.warn("Failed to load path mappings.", e);
             logger.warn("Failed to load path mappings.", e);

+ 1 - 0
src/main/java/org/codelibs/fess/helper/SearchLogHelper.java

@@ -221,6 +221,7 @@ public class SearchLogHelper {
             final UserInfoBhv userInfoBhv = SingletonLaContainer.getComponent(UserInfoBhv.class);
             final UserInfoBhv userInfoBhv = SingletonLaContainer.getComponent(UserInfoBhv.class);
             userInfoBhv.selectList(cb -> {
             userInfoBhv.selectList(cb -> {
                 cb.query().setId_InScope(userInfoMap.keySet());
                 cb.query().setId_InScope(userInfoMap.keySet());
+                cb.fetchFirst(userInfoMap.size());
             }).forEach(userInfo -> {
             }).forEach(userInfo -> {
                 final String code = userInfo.getId();
                 final String code = userInfo.getId();
                 final UserInfo entity = userInfoMap.get(code);
                 final UserInfo entity = userInfoMap.get(code);

+ 3 - 0
src/main/java/org/codelibs/fess/helper/SuggestHelper.java

@@ -188,6 +188,7 @@ public class SuggestHelper {
 
 
         final List<ElevateWord> list = elevateWordBhv.selectList(cb -> {
         final List<ElevateWord> list = elevateWordBhv.selectList(cb -> {
             cb.query().matchAll();
             cb.query().matchAll();
+            cb.fetchFirst(ComponentUtil.getFessConfig().getPageElevateWordMaxFetchSizeAsInteger());
         });
         });
 
 
         for (final ElevateWord elevateWord : list) {
         for (final ElevateWord elevateWord : list) {
@@ -200,6 +201,7 @@ public class SuggestHelper {
     public void deleteAllElevateWord() {
     public void deleteAllElevateWord() {
         final List<ElevateWord> list = elevateWordBhv.selectList(cb -> {
         final List<ElevateWord> list = elevateWordBhv.selectList(cb -> {
             cb.query().matchAll();
             cb.query().matchAll();
+            cb.fetchFirst(ComponentUtil.getFessConfig().getPageElevateWordMaxFetchSizeAsInteger());
         });
         });
 
 
         for (final ElevateWord elevateWord : list) {
         for (final ElevateWord elevateWord : list) {
@@ -244,6 +246,7 @@ public class SuggestHelper {
         deleteAllBadWords();
         deleteAllBadWords();
         final List<BadWord> list = badWordBhv.selectList(cb -> {
         final List<BadWord> list = badWordBhv.selectList(cb -> {
             cb.query().matchAll();
             cb.query().matchAll();
+            cb.fetchFirst(ComponentUtil.getFessConfig().getPageBadWordMaxFetchSizeAsInteger());
         });
         });
         for (final BadWord badWord : list) {
         for (final BadWord badWord : list) {
             final String word = badWord.getSuggestWord();
             final String word = badWord.getSuggestWord();

+ 416 - 0
src/main/java/org/codelibs/fess/mylasta/direction/FessConfig.java

@@ -462,6 +462,9 @@ public interface FessConfig extends FessEnv, org.codelibs.fess.mylasta.direction
     /** The key of the configuration. e.g. 1000 */
     /** The key of the configuration. e.g. 1000 */
     String PAGE_ROLETYPE_MAX_FETCH_SIZE = "page.roletype.max.fetch.size";
     String PAGE_ROLETYPE_MAX_FETCH_SIZE = "page.roletype.max.fetch.size";
 
 
+    /** The key of the configuration. e.g. 1000 */
+    String PAGE_USER_MAX_FETCH_SIZE = "page.user.max.fetch.size";
+
     /** The key of the configuration. e.g. 1000 */
     /** The key of the configuration. e.g. 1000 */
     String PAGE_ROLE_MAX_FETCH_SIZE = "page.role.max.fetch.size";
     String PAGE_ROLE_MAX_FETCH_SIZE = "page.role.max.fetch.size";
 
 
@@ -471,6 +474,51 @@ public interface FessConfig extends FessEnv, org.codelibs.fess.mylasta.direction
     /** The key of the configuration. e.g. 100 */
     /** The key of the configuration. e.g. 100 */
     String PAGE_CRAWLING_INFO_PARAM_MAX_FETCH_SIZE = "page.crawling.info.param.max.fetch.size";
     String PAGE_CRAWLING_INFO_PARAM_MAX_FETCH_SIZE = "page.crawling.info.param.max.fetch.size";
 
 
+    /** The key of the configuration. e.g. 1000 */
+    String PAGE_CRAWLING_INFO_MAX_FETCH_SIZE = "page.crawling.info.max.fetch.size";
+
+    /** The key of the configuration. e.g. 100 */
+    String PAGE_DATA_CONFIG_MAX_FETCH_SIZE = "page.data.config.max.fetch.size";
+
+    /** The key of the configuration. e.g. 100 */
+    String PAGE_WEB_CONFIG_MAX_FETCH_SIZE = "page.web.config.max.fetch.size";
+
+    /** The key of the configuration. e.g. 100 */
+    String PAGE_FILE_CONFIG_MAX_FETCH_SIZE = "page.file.config.max.fetch.size";
+
+    /** The key of the configuration. e.g. 1000 */
+    String PAGE_DUPLICATE_HOST_MAX_FETCH_SIZE = "page.duplicate.host.max.fetch.size";
+
+    /** The key of the configuration. e.g. 1000 */
+    String PAGE_FAILURE_URL_MAX_FETCH_SIZE = "page.failure.url.max.fetch.size";
+
+    /** The key of the configuration. e.g. 100 */
+    String PAGE_FAVORITE_LOG_MAX_FETCH_SIZE = "page.favorite.log.max.fetch.size";
+
+    /** The key of the configuration. e.g. 100 */
+    String PAGE_FILE_AUTH_MAX_FETCH_SIZE = "page.file.auth.max.fetch.size";
+
+    /** The key of the configuration. e.g. 100 */
+    String PAGE_WEB_AUTH_MAX_FETCH_SIZE = "page.web.auth.max.fetch.size";
+
+    /** The key of the configuration. e.g. 1000 */
+    String PAGE_PATH_MAPPING_MAX_FETCH_SIZE = "page.path.mapping.max.fetch.size";
+
+    /** The key of the configuration. e.g. 1000 */
+    String PAGE_REQUEST_HEADER_MAX_FETCH_SIZE = "page.request.header.max.fetch.size";
+
+    /** The key of the configuration. e.g. 100 */
+    String PAGE_SCHEDULED_JOB_MAX_FETCH_SIZE = "page.scheduled.job.max.fetch.size";
+
+    /** The key of the configuration. e.g. 100 */
+    String PAGE_SEARCH_FIELD_LOG_MAX_FETCH_SIZE = "page.search.field.log.max.fetch.size";
+
+    /** The key of the configuration. e.g. 1000 */
+    String PAGE_ELEVATE_WORD_MAX_FETCH_SIZE = "page.elevate.word.max.fetch.size";
+
+    /** The key of the configuration. e.g. 1000 */
+    String PAGE_BAD_WORD_MAX_FETCH_SIZE = "page.bad.word.max.fetch.size";
+
     /** The key of the configuration. e.g. 0 */
     /** The key of the configuration. e.g. 0 */
     String PAGING_SEARCH_PAGE_START = "paging.search.page.start";
     String PAGING_SEARCH_PAGE_START = "paging.search.page.start";
 
 
@@ -2029,6 +2077,21 @@ public interface FessConfig extends FessEnv, org.codelibs.fess.mylasta.direction
      */
      */
     Integer getPageRoletypeMaxFetchSizeAsInteger();
     Integer getPageRoletypeMaxFetchSizeAsInteger();
 
 
+    /**
+     * Get the value for the key 'page.user.max.fetch.size'. <br>
+     * The value is, e.g. 1000 <br>
+     * @return The value of found property. (NotNull: if not found, exception but basically no way)
+     */
+    String getPageUserMaxFetchSize();
+
+    /**
+     * Get the value for the key 'page.user.max.fetch.size' as {@link Integer}. <br>
+     * The value is, e.g. 1000 <br>
+     * @return The value of found property. (NotNull: if not found, exception but basically no way)
+     * @throws NumberFormatException When the property is not integer.
+     */
+    Integer getPageUserMaxFetchSizeAsInteger();
+
     /**
     /**
      * Get the value for the key 'page.role.max.fetch.size'. <br>
      * Get the value for the key 'page.role.max.fetch.size'. <br>
      * The value is, e.g. 1000 <br>
      * The value is, e.g. 1000 <br>
@@ -2074,6 +2137,231 @@ public interface FessConfig extends FessEnv, org.codelibs.fess.mylasta.direction
      */
      */
     Integer getPageCrawlingInfoParamMaxFetchSizeAsInteger();
     Integer getPageCrawlingInfoParamMaxFetchSizeAsInteger();
 
 
+    /**
+     * Get the value for the key 'page.crawling.info.max.fetch.size'. <br>
+     * The value is, e.g. 1000 <br>
+     * @return The value of found property. (NotNull: if not found, exception but basically no way)
+     */
+    String getPageCrawlingInfoMaxFetchSize();
+
+    /**
+     * Get the value for the key 'page.crawling.info.max.fetch.size' as {@link Integer}. <br>
+     * The value is, e.g. 1000 <br>
+     * @return The value of found property. (NotNull: if not found, exception but basically no way)
+     * @throws NumberFormatException When the property is not integer.
+     */
+    Integer getPageCrawlingInfoMaxFetchSizeAsInteger();
+
+    /**
+     * Get the value for the key 'page.data.config.max.fetch.size'. <br>
+     * The value is, e.g. 100 <br>
+     * @return The value of found property. (NotNull: if not found, exception but basically no way)
+     */
+    String getPageDataConfigMaxFetchSize();
+
+    /**
+     * Get the value for the key 'page.data.config.max.fetch.size' as {@link Integer}. <br>
+     * The value is, e.g. 100 <br>
+     * @return The value of found property. (NotNull: if not found, exception but basically no way)
+     * @throws NumberFormatException When the property is not integer.
+     */
+    Integer getPageDataConfigMaxFetchSizeAsInteger();
+
+    /**
+     * Get the value for the key 'page.web.config.max.fetch.size'. <br>
+     * The value is, e.g. 100 <br>
+     * @return The value of found property. (NotNull: if not found, exception but basically no way)
+     */
+    String getPageWebConfigMaxFetchSize();
+
+    /**
+     * Get the value for the key 'page.web.config.max.fetch.size' as {@link Integer}. <br>
+     * The value is, e.g. 100 <br>
+     * @return The value of found property. (NotNull: if not found, exception but basically no way)
+     * @throws NumberFormatException When the property is not integer.
+     */
+    Integer getPageWebConfigMaxFetchSizeAsInteger();
+
+    /**
+     * Get the value for the key 'page.file.config.max.fetch.size'. <br>
+     * The value is, e.g. 100 <br>
+     * @return The value of found property. (NotNull: if not found, exception but basically no way)
+     */
+    String getPageFileConfigMaxFetchSize();
+
+    /**
+     * Get the value for the key 'page.file.config.max.fetch.size' as {@link Integer}. <br>
+     * The value is, e.g. 100 <br>
+     * @return The value of found property. (NotNull: if not found, exception but basically no way)
+     * @throws NumberFormatException When the property is not integer.
+     */
+    Integer getPageFileConfigMaxFetchSizeAsInteger();
+
+    /**
+     * Get the value for the key 'page.duplicate.host.max.fetch.size'. <br>
+     * The value is, e.g. 1000 <br>
+     * @return The value of found property. (NotNull: if not found, exception but basically no way)
+     */
+    String getPageDuplicateHostMaxFetchSize();
+
+    /**
+     * Get the value for the key 'page.duplicate.host.max.fetch.size' as {@link Integer}. <br>
+     * The value is, e.g. 1000 <br>
+     * @return The value of found property. (NotNull: if not found, exception but basically no way)
+     * @throws NumberFormatException When the property is not integer.
+     */
+    Integer getPageDuplicateHostMaxFetchSizeAsInteger();
+
+    /**
+     * Get the value for the key 'page.failure.url.max.fetch.size'. <br>
+     * The value is, e.g. 1000 <br>
+     * @return The value of found property. (NotNull: if not found, exception but basically no way)
+     */
+    String getPageFailureUrlMaxFetchSize();
+
+    /**
+     * Get the value for the key 'page.failure.url.max.fetch.size' as {@link Integer}. <br>
+     * The value is, e.g. 1000 <br>
+     * @return The value of found property. (NotNull: if not found, exception but basically no way)
+     * @throws NumberFormatException When the property is not integer.
+     */
+    Integer getPageFailureUrlMaxFetchSizeAsInteger();
+
+    /**
+     * Get the value for the key 'page.favorite.log.max.fetch.size'. <br>
+     * The value is, e.g. 100 <br>
+     * @return The value of found property. (NotNull: if not found, exception but basically no way)
+     */
+    String getPageFavoriteLogMaxFetchSize();
+
+    /**
+     * Get the value for the key 'page.favorite.log.max.fetch.size' as {@link Integer}. <br>
+     * The value is, e.g. 100 <br>
+     * @return The value of found property. (NotNull: if not found, exception but basically no way)
+     * @throws NumberFormatException When the property is not integer.
+     */
+    Integer getPageFavoriteLogMaxFetchSizeAsInteger();
+
+    /**
+     * Get the value for the key 'page.file.auth.max.fetch.size'. <br>
+     * The value is, e.g. 100 <br>
+     * @return The value of found property. (NotNull: if not found, exception but basically no way)
+     */
+    String getPageFileAuthMaxFetchSize();
+
+    /**
+     * Get the value for the key 'page.file.auth.max.fetch.size' as {@link Integer}. <br>
+     * The value is, e.g. 100 <br>
+     * @return The value of found property. (NotNull: if not found, exception but basically no way)
+     * @throws NumberFormatException When the property is not integer.
+     */
+    Integer getPageFileAuthMaxFetchSizeAsInteger();
+
+    /**
+     * Get the value for the key 'page.web.auth.max.fetch.size'. <br>
+     * The value is, e.g. 100 <br>
+     * @return The value of found property. (NotNull: if not found, exception but basically no way)
+     */
+    String getPageWebAuthMaxFetchSize();
+
+    /**
+     * Get the value for the key 'page.web.auth.max.fetch.size' as {@link Integer}. <br>
+     * The value is, e.g. 100 <br>
+     * @return The value of found property. (NotNull: if not found, exception but basically no way)
+     * @throws NumberFormatException When the property is not integer.
+     */
+    Integer getPageWebAuthMaxFetchSizeAsInteger();
+
+    /**
+     * Get the value for the key 'page.path.mapping.max.fetch.size'. <br>
+     * The value is, e.g. 1000 <br>
+     * @return The value of found property. (NotNull: if not found, exception but basically no way)
+     */
+    String getPagePathMappingMaxFetchSize();
+
+    /**
+     * Get the value for the key 'page.path.mapping.max.fetch.size' as {@link Integer}. <br>
+     * The value is, e.g. 1000 <br>
+     * @return The value of found property. (NotNull: if not found, exception but basically no way)
+     * @throws NumberFormatException When the property is not integer.
+     */
+    Integer getPagePathMappingMaxFetchSizeAsInteger();
+
+    /**
+     * Get the value for the key 'page.request.header.max.fetch.size'. <br>
+     * The value is, e.g. 1000 <br>
+     * @return The value of found property. (NotNull: if not found, exception but basically no way)
+     */
+    String getPageRequestHeaderMaxFetchSize();
+
+    /**
+     * Get the value for the key 'page.request.header.max.fetch.size' as {@link Integer}. <br>
+     * The value is, e.g. 1000 <br>
+     * @return The value of found property. (NotNull: if not found, exception but basically no way)
+     * @throws NumberFormatException When the property is not integer.
+     */
+    Integer getPageRequestHeaderMaxFetchSizeAsInteger();
+
+    /**
+     * Get the value for the key 'page.scheduled.job.max.fetch.size'. <br>
+     * The value is, e.g. 100 <br>
+     * @return The value of found property. (NotNull: if not found, exception but basically no way)
+     */
+    String getPageScheduledJobMaxFetchSize();
+
+    /**
+     * Get the value for the key 'page.scheduled.job.max.fetch.size' as {@link Integer}. <br>
+     * The value is, e.g. 100 <br>
+     * @return The value of found property. (NotNull: if not found, exception but basically no way)
+     * @throws NumberFormatException When the property is not integer.
+     */
+    Integer getPageScheduledJobMaxFetchSizeAsInteger();
+
+    /**
+     * Get the value for the key 'page.search.field.log.max.fetch.size'. <br>
+     * The value is, e.g. 100 <br>
+     * @return The value of found property. (NotNull: if not found, exception but basically no way)
+     */
+    String getPageSearchFieldLogMaxFetchSize();
+
+    /**
+     * Get the value for the key 'page.search.field.log.max.fetch.size' as {@link Integer}. <br>
+     * The value is, e.g. 100 <br>
+     * @return The value of found property. (NotNull: if not found, exception but basically no way)
+     * @throws NumberFormatException When the property is not integer.
+     */
+    Integer getPageSearchFieldLogMaxFetchSizeAsInteger();
+
+    /**
+     * Get the value for the key 'page.elevate.word.max.fetch.size'. <br>
+     * The value is, e.g. 1000 <br>
+     * @return The value of found property. (NotNull: if not found, exception but basically no way)
+     */
+    String getPageElevateWordMaxFetchSize();
+
+    /**
+     * Get the value for the key 'page.elevate.word.max.fetch.size' as {@link Integer}. <br>
+     * The value is, e.g. 1000 <br>
+     * @return The value of found property. (NotNull: if not found, exception but basically no way)
+     * @throws NumberFormatException When the property is not integer.
+     */
+    Integer getPageElevateWordMaxFetchSizeAsInteger();
+
+    /**
+     * Get the value for the key 'page.bad.word.max.fetch.size'. <br>
+     * The value is, e.g. 1000 <br>
+     * @return The value of found property. (NotNull: if not found, exception but basically no way)
+     */
+    String getPageBadWordMaxFetchSize();
+
+    /**
+     * Get the value for the key 'page.bad.word.max.fetch.size' as {@link Integer}. <br>
+     * The value is, e.g. 1000 <br>
+     * @return The value of found property. (NotNull: if not found, exception but basically no way)
+     * @throws NumberFormatException When the property is not integer.
+     */
+    Integer getPageBadWordMaxFetchSizeAsInteger();
+
     /**
     /**
      * Get the value for the key 'paging.search.page.start'. <br>
      * Get the value for the key 'paging.search.page.start'. <br>
      * The value is, e.g. 0 <br>
      * The value is, e.g. 0 <br>
@@ -3491,6 +3779,14 @@ public interface FessConfig extends FessEnv, org.codelibs.fess.mylasta.direction
             return getAsInteger(FessConfig.PAGE_ROLETYPE_MAX_FETCH_SIZE);
             return getAsInteger(FessConfig.PAGE_ROLETYPE_MAX_FETCH_SIZE);
         }
         }
 
 
+        public String getPageUserMaxFetchSize() {
+            return get(FessConfig.PAGE_USER_MAX_FETCH_SIZE);
+        }
+
+        public Integer getPageUserMaxFetchSizeAsInteger() {
+            return getAsInteger(FessConfig.PAGE_USER_MAX_FETCH_SIZE);
+        }
+
         public String getPageRoleMaxFetchSize() {
         public String getPageRoleMaxFetchSize() {
             return get(FessConfig.PAGE_ROLE_MAX_FETCH_SIZE);
             return get(FessConfig.PAGE_ROLE_MAX_FETCH_SIZE);
         }
         }
@@ -3515,6 +3811,126 @@ public interface FessConfig extends FessEnv, org.codelibs.fess.mylasta.direction
             return getAsInteger(FessConfig.PAGE_CRAWLING_INFO_PARAM_MAX_FETCH_SIZE);
             return getAsInteger(FessConfig.PAGE_CRAWLING_INFO_PARAM_MAX_FETCH_SIZE);
         }
         }
 
 
+        public String getPageCrawlingInfoMaxFetchSize() {
+            return get(FessConfig.PAGE_CRAWLING_INFO_MAX_FETCH_SIZE);
+        }
+
+        public Integer getPageCrawlingInfoMaxFetchSizeAsInteger() {
+            return getAsInteger(FessConfig.PAGE_CRAWLING_INFO_MAX_FETCH_SIZE);
+        }
+
+        public String getPageDataConfigMaxFetchSize() {
+            return get(FessConfig.PAGE_DATA_CONFIG_MAX_FETCH_SIZE);
+        }
+
+        public Integer getPageDataConfigMaxFetchSizeAsInteger() {
+            return getAsInteger(FessConfig.PAGE_DATA_CONFIG_MAX_FETCH_SIZE);
+        }
+
+        public String getPageWebConfigMaxFetchSize() {
+            return get(FessConfig.PAGE_WEB_CONFIG_MAX_FETCH_SIZE);
+        }
+
+        public Integer getPageWebConfigMaxFetchSizeAsInteger() {
+            return getAsInteger(FessConfig.PAGE_WEB_CONFIG_MAX_FETCH_SIZE);
+        }
+
+        public String getPageFileConfigMaxFetchSize() {
+            return get(FessConfig.PAGE_FILE_CONFIG_MAX_FETCH_SIZE);
+        }
+
+        public Integer getPageFileConfigMaxFetchSizeAsInteger() {
+            return getAsInteger(FessConfig.PAGE_FILE_CONFIG_MAX_FETCH_SIZE);
+        }
+
+        public String getPageDuplicateHostMaxFetchSize() {
+            return get(FessConfig.PAGE_DUPLICATE_HOST_MAX_FETCH_SIZE);
+        }
+
+        public Integer getPageDuplicateHostMaxFetchSizeAsInteger() {
+            return getAsInteger(FessConfig.PAGE_DUPLICATE_HOST_MAX_FETCH_SIZE);
+        }
+
+        public String getPageFailureUrlMaxFetchSize() {
+            return get(FessConfig.PAGE_FAILURE_URL_MAX_FETCH_SIZE);
+        }
+
+        public Integer getPageFailureUrlMaxFetchSizeAsInteger() {
+            return getAsInteger(FessConfig.PAGE_FAILURE_URL_MAX_FETCH_SIZE);
+        }
+
+        public String getPageFavoriteLogMaxFetchSize() {
+            return get(FessConfig.PAGE_FAVORITE_LOG_MAX_FETCH_SIZE);
+        }
+
+        public Integer getPageFavoriteLogMaxFetchSizeAsInteger() {
+            return getAsInteger(FessConfig.PAGE_FAVORITE_LOG_MAX_FETCH_SIZE);
+        }
+
+        public String getPageFileAuthMaxFetchSize() {
+            return get(FessConfig.PAGE_FILE_AUTH_MAX_FETCH_SIZE);
+        }
+
+        public Integer getPageFileAuthMaxFetchSizeAsInteger() {
+            return getAsInteger(FessConfig.PAGE_FILE_AUTH_MAX_FETCH_SIZE);
+        }
+
+        public String getPageWebAuthMaxFetchSize() {
+            return get(FessConfig.PAGE_WEB_AUTH_MAX_FETCH_SIZE);
+        }
+
+        public Integer getPageWebAuthMaxFetchSizeAsInteger() {
+            return getAsInteger(FessConfig.PAGE_WEB_AUTH_MAX_FETCH_SIZE);
+        }
+
+        public String getPagePathMappingMaxFetchSize() {
+            return get(FessConfig.PAGE_PATH_MAPPING_MAX_FETCH_SIZE);
+        }
+
+        public Integer getPagePathMappingMaxFetchSizeAsInteger() {
+            return getAsInteger(FessConfig.PAGE_PATH_MAPPING_MAX_FETCH_SIZE);
+        }
+
+        public String getPageRequestHeaderMaxFetchSize() {
+            return get(FessConfig.PAGE_REQUEST_HEADER_MAX_FETCH_SIZE);
+        }
+
+        public Integer getPageRequestHeaderMaxFetchSizeAsInteger() {
+            return getAsInteger(FessConfig.PAGE_REQUEST_HEADER_MAX_FETCH_SIZE);
+        }
+
+        public String getPageScheduledJobMaxFetchSize() {
+            return get(FessConfig.PAGE_SCHEDULED_JOB_MAX_FETCH_SIZE);
+        }
+
+        public Integer getPageScheduledJobMaxFetchSizeAsInteger() {
+            return getAsInteger(FessConfig.PAGE_SCHEDULED_JOB_MAX_FETCH_SIZE);
+        }
+
+        public String getPageSearchFieldLogMaxFetchSize() {
+            return get(FessConfig.PAGE_SEARCH_FIELD_LOG_MAX_FETCH_SIZE);
+        }
+
+        public Integer getPageSearchFieldLogMaxFetchSizeAsInteger() {
+            return getAsInteger(FessConfig.PAGE_SEARCH_FIELD_LOG_MAX_FETCH_SIZE);
+        }
+
+        public String getPageElevateWordMaxFetchSize() {
+            return get(FessConfig.PAGE_ELEVATE_WORD_MAX_FETCH_SIZE);
+        }
+
+        public Integer getPageElevateWordMaxFetchSizeAsInteger() {
+            return getAsInteger(FessConfig.PAGE_ELEVATE_WORD_MAX_FETCH_SIZE);
+        }
+
+        public String getPageBadWordMaxFetchSize() {
+            return get(FessConfig.PAGE_BAD_WORD_MAX_FETCH_SIZE);
+        }
+
+        public Integer getPageBadWordMaxFetchSizeAsInteger() {
+            return getAsInteger(FessConfig.PAGE_BAD_WORD_MAX_FETCH_SIZE);
+        }
+
         public String getPagingSearchPageStart() {
         public String getPagingSearchPageStart() {
             return get(FessConfig.PAGING_SEARCH_PAGE_START);
             return get(FessConfig.PAGING_SEARCH_PAGE_START);
         }
         }

+ 41 - 41
src/main/java/org/codelibs/fess/mylasta/direction/FessProp.java

@@ -207,7 +207,7 @@ public interface FessProp {
     public default void setIncrementalCrawling(final boolean value) {
     public default void setIncrementalCrawling(final boolean value) {
         setSystemPropertyAsBoolean(Constants.INCREMENTAL_CRAWLING_PROPERTY, value);
         setSystemPropertyAsBoolean(Constants.INCREMENTAL_CRAWLING_PROPERTY, value);
     }
     }
-    
+
     public default boolean isIncrementalCrawling() {
     public default boolean isIncrementalCrawling() {
         return getSystemPropertyAsBoolean(Constants.INCREMENTAL_CRAWLING_PROPERTY, true);
         return getSystemPropertyAsBoolean(Constants.INCREMENTAL_CRAWLING_PROPERTY, true);
     }
     }
@@ -215,55 +215,55 @@ public interface FessProp {
     public default void setDayForCleanup(final int value) {
     public default void setDayForCleanup(final int value) {
         setSystemPropertyAsInt(Constants.DAY_FOR_CLEANUP_PROPERTY, value);
         setSystemPropertyAsInt(Constants.DAY_FOR_CLEANUP_PROPERTY, value);
     }
     }
-    
+
     public default int getDayForCleanup() {
     public default int getDayForCleanup() {
         return getSystemPropertyAsInt(Constants.DAY_FOR_CLEANUP_PROPERTY, Constants.DEFAULT_DAY_FOR_CLEANUP);
         return getSystemPropertyAsInt(Constants.DAY_FOR_CLEANUP_PROPERTY, Constants.DEFAULT_DAY_FOR_CLEANUP);
     }
     }
-    
+
     public default void setCrawlingThreadCount(final int value) {
     public default void setCrawlingThreadCount(final int value) {
         setSystemPropertyAsInt(Constants.CRAWLING_THREAD_COUNT_PROPERTY, value);
         setSystemPropertyAsInt(Constants.CRAWLING_THREAD_COUNT_PROPERTY, value);
     }
     }
-    
+
     public default int getCrawlingThreadCount() {
     public default int getCrawlingThreadCount() {
         return getSystemPropertyAsInt(Constants.CRAWLING_THREAD_COUNT_PROPERTY, 5);
         return getSystemPropertyAsInt(Constants.CRAWLING_THREAD_COUNT_PROPERTY, 5);
     }
     }
-    
+
     public default void setSearchLog(final boolean value) {
     public default void setSearchLog(final boolean value) {
         setSystemPropertyAsBoolean(Constants.SEARCH_LOG_PROPERTY, value);
         setSystemPropertyAsBoolean(Constants.SEARCH_LOG_PROPERTY, value);
     }
     }
-    
+
     public default boolean isSearchLog() {
     public default boolean isSearchLog() {
         return getSystemPropertyAsBoolean(Constants.SEARCH_LOG_PROPERTY, false);
         return getSystemPropertyAsBoolean(Constants.SEARCH_LOG_PROPERTY, false);
     }
     }
-    
+
     public default void setUserInfo(final boolean value) {
     public default void setUserInfo(final boolean value) {
         setSystemPropertyAsBoolean(Constants.USER_INFO_PROPERTY, value);
         setSystemPropertyAsBoolean(Constants.USER_INFO_PROPERTY, value);
     }
     }
-    
+
     public default boolean isUserInfo() {
     public default boolean isUserInfo() {
         return getSystemPropertyAsBoolean(Constants.USER_INFO_PROPERTY, false);
         return getSystemPropertyAsBoolean(Constants.USER_INFO_PROPERTY, false);
     }
     }
-    
+
     public default void setUserFavorite(final boolean value) {
     public default void setUserFavorite(final boolean value) {
         setSystemPropertyAsBoolean(Constants.USER_FAVORITE_PROPERTY, value);
         setSystemPropertyAsBoolean(Constants.USER_FAVORITE_PROPERTY, value);
     }
     }
-    
+
     public default boolean isUserFavorite() {
     public default boolean isUserFavorite() {
         return getSystemPropertyAsBoolean(Constants.USER_FAVORITE_PROPERTY, false);
         return getSystemPropertyAsBoolean(Constants.USER_FAVORITE_PROPERTY, false);
     }
     }
-    
+
     public default void setWebApiJson(final boolean value) {
     public default void setWebApiJson(final boolean value) {
         setSystemPropertyAsBoolean(Constants.WEB_API_JSON_PROPERTY, value);
         setSystemPropertyAsBoolean(Constants.WEB_API_JSON_PROPERTY, value);
     }
     }
-    
+
     public default boolean isWebApiJson() {
     public default boolean isWebApiJson() {
         return getSystemPropertyAsBoolean(Constants.WEB_API_JSON_PROPERTY, false);
         return getSystemPropertyAsBoolean(Constants.WEB_API_JSON_PROPERTY, false);
     }
     }
-    
+
     public default void setAppendQueryParameter(final boolean value) {
     public default void setAppendQueryParameter(final boolean value) {
         setSystemPropertyAsBoolean(Constants.APPEND_QUERY_PARAMETER_PROPERTY, value);
         setSystemPropertyAsBoolean(Constants.APPEND_QUERY_PARAMETER_PROPERTY, value);
     }
     }
-    
+
     public default boolean isAppendQueryParameter() {
     public default boolean isAppendQueryParameter() {
         return getSystemPropertyAsBoolean(Constants.APPEND_QUERY_PARAMETER_PROPERTY, false);
         return getSystemPropertyAsBoolean(Constants.APPEND_QUERY_PARAMETER_PROPERTY, false);
     }
     }
@@ -271,98 +271,98 @@ public interface FessProp {
     public default void setIgnoreFailureType(final String value) {
     public default void setIgnoreFailureType(final String value) {
         setSystemProperty(Constants.IGNORE_FAILURE_TYPE_PROPERTY, value);
         setSystemProperty(Constants.IGNORE_FAILURE_TYPE_PROPERTY, value);
     }
     }
-    
+
     public default String getIgnoreFailureType() {
     public default String getIgnoreFailureType() {
         return getSystemProperty(Constants.IGNORE_FAILURE_TYPE_PROPERTY, Constants.DEFAULT_IGNORE_FAILURE_TYPE);
         return getSystemProperty(Constants.IGNORE_FAILURE_TYPE_PROPERTY, Constants.DEFAULT_IGNORE_FAILURE_TYPE);
     }
     }
-    
+
     public default void setFailureCountThreshold(final int value) {
     public default void setFailureCountThreshold(final int value) {
         setSystemPropertyAsInt(Constants.FAILURE_COUNT_THRESHOLD_PROPERTY, value);
         setSystemPropertyAsInt(Constants.FAILURE_COUNT_THRESHOLD_PROPERTY, value);
     }
     }
-    
+
     public default int getFailureCountThreshold() {
     public default int getFailureCountThreshold() {
         return getSystemPropertyAsInt(Constants.FAILURE_COUNT_THRESHOLD_PROPERTY, Constants.DEFAULT_FAILURE_COUNT);
         return getSystemPropertyAsInt(Constants.FAILURE_COUNT_THRESHOLD_PROPERTY, Constants.DEFAULT_FAILURE_COUNT);
     }
     }
-    
+
     public default void setWebApiPopularWord(final boolean value) {
     public default void setWebApiPopularWord(final boolean value) {
         setSystemPropertyAsBoolean(Constants.WEB_API_POPULAR_WORD_PROPERTY, value);
         setSystemPropertyAsBoolean(Constants.WEB_API_POPULAR_WORD_PROPERTY, value);
     }
     }
-    
+
     public default boolean isWebApiPopularWord() {
     public default boolean isWebApiPopularWord() {
         return getSystemPropertyAsBoolean(Constants.WEB_API_POPULAR_WORD_PROPERTY, true);
         return getSystemPropertyAsBoolean(Constants.WEB_API_POPULAR_WORD_PROPERTY, true);
     }
     }
-    
+
     public default void setCsvFileEncoding(final String value) {
     public default void setCsvFileEncoding(final String value) {
         setSystemProperty(Constants.CSV_FILE_ENCODING_PROPERTY, value);
         setSystemProperty(Constants.CSV_FILE_ENCODING_PROPERTY, value);
     }
     }
-    
+
     public default String getCsvFileEncoding() {
     public default String getCsvFileEncoding() {
         return getSystemProperty(Constants.CSV_FILE_ENCODING_PROPERTY, Constants.UTF_8);
         return getSystemProperty(Constants.CSV_FILE_ENCODING_PROPERTY, Constants.UTF_8);
     }
     }
-    
+
     public default void setPurgeSearchLogDay(final int value) {
     public default void setPurgeSearchLogDay(final int value) {
         setSystemPropertyAsInt(Constants.PURGE_SEARCH_LOG_DAY_PROPERTY, value);
         setSystemPropertyAsInt(Constants.PURGE_SEARCH_LOG_DAY_PROPERTY, value);
     }
     }
-    
+
     public default int getPurgeSearchLogDay() {
     public default int getPurgeSearchLogDay() {
         return getSystemPropertyAsInt(Constants.PURGE_SEARCH_LOG_DAY_PROPERTY, Integer.parseInt(Constants.DEFAULT_PURGE_DAY));
         return getSystemPropertyAsInt(Constants.PURGE_SEARCH_LOG_DAY_PROPERTY, Integer.parseInt(Constants.DEFAULT_PURGE_DAY));
     }
     }
-    
 
 
     public default void setPurgeJobLogDay(final int value) {
     public default void setPurgeJobLogDay(final int value) {
         setSystemPropertyAsInt(Constants.PURGE_JOB_LOG_DAY_PROPERTY, value);
         setSystemPropertyAsInt(Constants.PURGE_JOB_LOG_DAY_PROPERTY, value);
     }
     }
-    
+
     public default int getPurgeJobLogDay() {
     public default int getPurgeJobLogDay() {
         return getSystemPropertyAsInt(Constants.PURGE_JOB_LOG_DAY_PROPERTY, Integer.parseInt(Constants.DEFAULT_PURGE_DAY));
         return getSystemPropertyAsInt(Constants.PURGE_JOB_LOG_DAY_PROPERTY, Integer.parseInt(Constants.DEFAULT_PURGE_DAY));
     }
     }
-    
+
     public default void setPurgeUserInfoDay(final int value) {
     public default void setPurgeUserInfoDay(final int value) {
         setSystemPropertyAsInt(Constants.PURGE_USER_INFO_DAY_PROPERTY, value);
         setSystemPropertyAsInt(Constants.PURGE_USER_INFO_DAY_PROPERTY, value);
     }
     }
-    
+
     public default int getPurgeUserInfoDay() {
     public default int getPurgeUserInfoDay() {
         return getSystemPropertyAsInt(Constants.PURGE_USER_INFO_DAY_PROPERTY, Integer.parseInt(Constants.DEFAULT_PURGE_DAY));
         return getSystemPropertyAsInt(Constants.PURGE_USER_INFO_DAY_PROPERTY, Integer.parseInt(Constants.DEFAULT_PURGE_DAY));
     }
     }
-    
+
     public default void setPurgeByBots(final String value) {
     public default void setPurgeByBots(final String value) {
         setSystemProperty(Constants.PURGE_BY_BOTS_PROPERTY, value);
         setSystemProperty(Constants.PURGE_BY_BOTS_PROPERTY, value);
     }
     }
-    
+
     public default String getPurgeByBots() {
     public default String getPurgeByBots() {
         return getSystemProperty(Constants.PURGE_BY_BOTS_PROPERTY, Constants.DEFAULT_PURGE_BY_BOTS);
         return getSystemProperty(Constants.PURGE_BY_BOTS_PROPERTY, Constants.DEFAULT_PURGE_BY_BOTS);
     }
     }
-    
+
     public default void setNotificationTo(final String value) {
     public default void setNotificationTo(final String value) {
         setSystemProperty(Constants.NOTIFICATION_TO_PROPERTY, value);
         setSystemProperty(Constants.NOTIFICATION_TO_PROPERTY, value);
     }
     }
-    
+
     public default String getNotificationTo() {
     public default String getNotificationTo() {
         return getSystemProperty(Constants.NOTIFICATION_TO_PROPERTY, StringUtil.EMPTY);
         return getSystemProperty(Constants.NOTIFICATION_TO_PROPERTY, StringUtil.EMPTY);
     }
     }
-    
+
     public default void setSuggestSearchLog(final boolean value) {
     public default void setSuggestSearchLog(final boolean value) {
         setSystemPropertyAsBoolean(Constants.SUGGEST_SEARCH_LOG_PROPERTY, value);
         setSystemPropertyAsBoolean(Constants.SUGGEST_SEARCH_LOG_PROPERTY, value);
     }
     }
-    
+
     public default boolean isSuggestSearchLog() {
     public default boolean isSuggestSearchLog() {
         return getSystemPropertyAsBoolean(Constants.SUGGEST_SEARCH_LOG_PROPERTY, true);
         return getSystemPropertyAsBoolean(Constants.SUGGEST_SEARCH_LOG_PROPERTY, true);
     }
     }
-    
+
     public default void setSuggestDocuments(final boolean value) {
     public default void setSuggestDocuments(final boolean value) {
         setSystemPropertyAsBoolean(Constants.SUGGEST_DOCUMENTS_PROPERTY, value);
         setSystemPropertyAsBoolean(Constants.SUGGEST_DOCUMENTS_PROPERTY, value);
     }
     }
-    
+
     public default boolean isSuggestDocuments() {
     public default boolean isSuggestDocuments() {
         return getSystemPropertyAsBoolean(Constants.SUGGEST_DOCUMENTS_PROPERTY, true);
         return getSystemPropertyAsBoolean(Constants.SUGGEST_DOCUMENTS_PROPERTY, true);
     }
     }
-    
+
     public default void setPurgeSuggestSearchLogDay(final int value) {
     public default void setPurgeSuggestSearchLogDay(final int value) {
         setSystemPropertyAsInt(Constants.PURGE_SUGGEST_SEARCH_LOG_DAY_PROPERTY, value);
         setSystemPropertyAsInt(Constants.PURGE_SUGGEST_SEARCH_LOG_DAY_PROPERTY, value);
     }
     }
-    
+
     public default int getPurgeSuggestSearchLogDay() {
     public default int getPurgeSuggestSearchLogDay() {
-        return getSystemPropertyAsInt(Constants.PURGE_SUGGEST_SEARCH_LOG_DAY_PROPERTY, Integer.parseInt(Constants.DEFAULT_SUGGEST_PURGE_DAY));
+        return getSystemPropertyAsInt(Constants.PURGE_SUGGEST_SEARCH_LOG_DAY_PROPERTY,
+                Integer.parseInt(Constants.DEFAULT_SUGGEST_PURGE_DAY));
     }
     }
 
 
     public default void setLdapInitialContextFactory(final String value) {
     public default void setLdapInitialContextFactory(final String value) {
@@ -420,15 +420,15 @@ public interface FessProp {
     public default void setNotificationLogin(final String value) {
     public default void setNotificationLogin(final String value) {
         setSystemProperty(Constants.NOTIFICATION_LOGIN, value);
         setSystemProperty(Constants.NOTIFICATION_LOGIN, value);
     }
     }
-    
+
     public default String getNotificationLogin() {
     public default String getNotificationLogin() {
         return getSystemProperty(Constants.NOTIFICATION_LOGIN, StringUtil.EMPTY);
         return getSystemProperty(Constants.NOTIFICATION_LOGIN, StringUtil.EMPTY);
     }
     }
-    
+
     public default void setNotificationSearchTop(final String value) {
     public default void setNotificationSearchTop(final String value) {
         setSystemProperty(Constants.NOTIFICATION_SEARCH_TOP, value);
         setSystemProperty(Constants.NOTIFICATION_SEARCH_TOP, value);
     }
     }
-    
+
     public default String getNotificationSearchTop() {
     public default String getNotificationSearchTop() {
         return getSystemProperty(Constants.NOTIFICATION_SEARCH_TOP, StringUtil.EMPTY);
         return getSystemProperty(Constants.NOTIFICATION_SEARCH_TOP, StringUtil.EMPTY);
     }
     }

+ 16 - 0
src/main/resources/fess_config.properties

@@ -276,9 +276,25 @@ page.docboost.max.fetch.size=1000
 page.keymatch.max.fetch.size=1000
 page.keymatch.max.fetch.size=1000
 page.labeltype.max.fetch.size=1000
 page.labeltype.max.fetch.size=1000
 page.roletype.max.fetch.size=1000
 page.roletype.max.fetch.size=1000
+page.user.max.fetch.size=1000
 page.role.max.fetch.size=1000
 page.role.max.fetch.size=1000
 page.group.max.fetch.size=1000
 page.group.max.fetch.size=1000
 page.crawling.info.param.max.fetch.size=100
 page.crawling.info.param.max.fetch.size=100
+page.crawling.info.max.fetch.size=1000
+page.data.config.max.fetch.size=100
+page.web.config.max.fetch.size=100
+page.file.config.max.fetch.size=100
+page.duplicate.host.max.fetch.size=1000
+page.failure.url.max.fetch.size=1000
+page.favorite.log.max.fetch.size=100
+page.file.auth.max.fetch.size=100
+page.web.auth.max.fetch.size=100
+page.path.mapping.max.fetch.size=1000
+page.request.header.max.fetch.size=1000
+page.scheduled.job.max.fetch.size=100
+page.search.field.log.max.fetch.size=100
+page.elevate.word.max.fetch.size=1000
+page.bad.word.max.fetch.size=1000
 
 
 # search page
 # search page
 paging.search.page.start=0
 paging.search.page.start=0