瀏覽代碼

code cleanup

Shinsuke Sugaya 5 年之前
父節點
當前提交
24cb1db9df
共有 60 個文件被更改,包括 355 次插入364 次删除
  1. 1 3
      src/main/java/org/codelibs/fess/FessBoot.java
  2. 4 4
      src/main/java/org/codelibs/fess/api/BaseJsonApiManager.java
  3. 1 1
      src/main/java/org/codelibs/fess/api/gsa/GsaApiManager.java
  4. 2 3
      src/main/java/org/codelibs/fess/app/job/AllJobScheduler.java
  5. 2 2
      src/main/java/org/codelibs/fess/app/service/CrawlingInfoService.java
  6. 2 1
      src/main/java/org/codelibs/fess/app/service/ElevateWordService.java
  7. 2 6
      src/main/java/org/codelibs/fess/app/web/admin/backup/AdminBackupAction.java
  8. 13 14
      src/main/java/org/codelibs/fess/app/web/admin/crawlinginfo/AdminCrawlinginfoAction.java
  9. 25 21
      src/main/java/org/codelibs/fess/app/web/admin/dict/kuromoji/AdminDictKuromojiAction.java
  10. 25 21
      src/main/java/org/codelibs/fess/app/web/admin/dict/mapping/AdminDictMappingAction.java
  11. 25 21
      src/main/java/org/codelibs/fess/app/web/admin/dict/protwords/AdminDictProtwordsAction.java
  12. 21 19
      src/main/java/org/codelibs/fess/app/web/admin/dict/stemmeroverride/AdminDictStemmeroverrideAction.java
  13. 25 21
      src/main/java/org/codelibs/fess/app/web/admin/dict/stopwords/AdminDictStopwordsAction.java
  14. 25 21
      src/main/java/org/codelibs/fess/app/web/admin/dict/synonym/AdminDictSynonymAction.java
  15. 8 12
      src/main/java/org/codelibs/fess/app/web/admin/esreq/AdminEsreqAction.java
  16. 3 9
      src/main/java/org/codelibs/fess/app/web/admin/general/AdminGeneralAction.java
  17. 1 3
      src/main/java/org/codelibs/fess/app/web/admin/log/AdminLogAction.java
  18. 4 9
      src/main/java/org/codelibs/fess/app/web/admin/wizard/AdminWizardAction.java
  19. 6 3
      src/main/java/org/codelibs/fess/app/web/api/ApiResult.java
  20. 2 3
      src/main/java/org/codelibs/fess/app/web/api/admin/FessApiAdminAction.java
  21. 2 1
      src/main/java/org/codelibs/fess/app/web/api/admin/boostdoc/ApiAdminBoostdocAction.java
  22. 7 8
      src/main/java/org/codelibs/fess/app/web/api/admin/dict/kuromoji/ApiAdminDictKuromojiAction.java
  23. 7 8
      src/main/java/org/codelibs/fess/app/web/api/admin/dict/mapping/ApiAdminDictMappingAction.java
  24. 7 8
      src/main/java/org/codelibs/fess/app/web/api/admin/dict/protwords/ApiAdminDictProtwordsAction.java
  25. 7 8
      src/main/java/org/codelibs/fess/app/web/api/admin/dict/stemmeroverride/ApiAdminDictStemmeroverrideAction.java
  26. 7 8
      src/main/java/org/codelibs/fess/app/web/api/admin/dict/stopwords/ApiAdminDictStopwordsAction.java
  27. 7 8
      src/main/java/org/codelibs/fess/app/web/api/admin/dict/synonym/ApiAdminDictSynonymAction.java
  28. 2 1
      src/main/java/org/codelibs/fess/app/web/api/admin/general/ApiAdminGeneralAction.java
  29. 5 5
      src/main/java/org/codelibs/fess/app/web/base/FessBaseAction.java
  30. 2 1
      src/main/java/org/codelibs/fess/app/web/base/FessSearchAction.java
  31. 2 2
      src/main/java/org/codelibs/fess/app/web/base/login/OpenIdConnectCredential.java
  32. 2 1
      src/main/java/org/codelibs/fess/app/web/logout/LogoutAction.java
  33. 2 1
      src/main/java/org/codelibs/fess/app/web/profile/ProfileAction.java
  34. 3 2
      src/main/java/org/codelibs/fess/ds/callback/FileListIndexUpdateCallbackImpl.java
  35. 4 4
      src/main/java/org/codelibs/fess/es/client/FessEsClient.java
  36. 2 1
      src/main/java/org/codelibs/fess/es/config/exentity/DataConfig.java
  37. 2 1
      src/main/java/org/codelibs/fess/es/config/exentity/ScheduledJob.java
  38. 1 2
      src/main/java/org/codelibs/fess/es/user/exbhv/GroupBhv.java
  39. 1 2
      src/main/java/org/codelibs/fess/es/user/exbhv/RoleBhv.java
  40. 1 2
      src/main/java/org/codelibs/fess/es/user/exbhv/UserBhv.java
  41. 4 4
      src/main/java/org/codelibs/fess/helper/ActivityHelper.java
  42. 1 2
      src/main/java/org/codelibs/fess/helper/DocumentHelper.java
  43. 6 6
      src/main/java/org/codelibs/fess/helper/KeyMatchHelper.java
  44. 2 2
      src/main/java/org/codelibs/fess/helper/QueryHelper.java
  45. 2 1
      src/main/java/org/codelibs/fess/helper/RoleQueryHelper.java
  46. 2 1
      src/main/java/org/codelibs/fess/helper/SearchHelper.java
  47. 2 2
      src/main/java/org/codelibs/fess/helper/SuggestHelper.java
  48. 2 4
      src/main/java/org/codelibs/fess/helper/SystemHelper.java
  49. 1 1
      src/main/java/org/codelibs/fess/mylasta/direction/FessFwAssistantDirector.java
  50. 31 33
      src/main/java/org/codelibs/fess/mylasta/direction/FessProp.java
  51. 2 3
      src/main/java/org/codelibs/fess/mylasta/direction/sponsor/FessActionAdjustmentProvider.java
  52. 1 3
      src/main/java/org/codelibs/fess/mylasta/direction/sponsor/FessMailDeliveryDepartmentCreator.java
  53. 2 1
      src/main/java/org/codelibs/fess/score/ScoreBooster.java
  54. 3 5
      src/main/java/org/codelibs/fess/sso/aad/AzureAdAuthenticator.java
  55. 1 3
      src/main/java/org/codelibs/fess/sso/oic/OpenIdConnectAuthenticator.java
  56. 1 1
      src/main/java/org/codelibs/fess/thumbnail/impl/BaseThumbnailGenerator.java
  57. 3 3
      src/main/java/org/codelibs/fess/timer/SystemMonitorTarget.java
  58. 5 3
      src/main/java/org/codelibs/fess/util/DocumentUtil.java
  59. 13 14
      src/main/java/org/codelibs/fess/util/GsaConfigParser.java
  60. 1 1
      src/main/java/org/codelibs/fess/util/RenderDataUtil.java

+ 1 - 3
src/main/java/org/codelibs/fess/FessBoot.java

@@ -91,9 +91,7 @@ public class FessBoot extends TomcatBoot {
             if (host instanceof StandardHost) {
             if (host instanceof StandardHost) {
                 ((StandardHost) host).setErrorReportValveClass(SuppressErrorReportValve.class.getName());
                 ((StandardHost) host).setErrorReportValveClass(SuppressErrorReportValve.class.getName());
             }
             }
-        }).useTldDetect(jarName -> {
-            return jarName.contains("jstl") || jarName.contains("lasta-taglib");
-        }).asDevelopment(isNoneEnv()).bootAwait();
+        }).useTldDetect(jarName -> (jarName.contains("jstl") || jarName.contains("lasta-taglib"))).asDevelopment(isNoneEnv()).bootAwait();
     }
     }
 
 
     public static void shutdown(final String[] args) {
     public static void shutdown(final String[] args) {

+ 4 - 4
src/main/java/org/codelibs/fess/api/BaseJsonApiManager.java

@@ -154,13 +154,13 @@ public abstract class BaseJsonApiManager extends BaseApiManager {
             }
             }
             buf.append('}');
             buf.append('}');
         } else if (obj instanceof Integer) {
         } else if (obj instanceof Integer) {
-            buf.append(((Integer) obj));
+            buf.append((obj));
         } else if (obj instanceof Long) {
         } else if (obj instanceof Long) {
-            buf.append(((Long) obj));
+            buf.append((obj));
         } else if (obj instanceof Float) {
         } else if (obj instanceof Float) {
-            buf.append(((Float) obj));
+            buf.append((obj));
         } else if (obj instanceof Double) {
         } else if (obj instanceof Double) {
-            buf.append(((Double) obj));
+            buf.append((obj));
         } else if (obj instanceof Boolean) {
         } else if (obj instanceof Boolean) {
             buf.append(obj.toString());
             buf.append(obj.toString());
         } else if (obj instanceof Date) {
         } else if (obj instanceof Date) {

+ 1 - 1
src/main/java/org/codelibs/fess/api/gsa/GsaApiManager.java

@@ -506,7 +506,7 @@ public class GsaApiManager extends BaseApiManager implements WebApiManager {
                 return langs;
                 return langs;
             }
             }
             if (request.getHeader("Accept-Language") != null) {
             if (request.getHeader("Accept-Language") != null) {
-                return Collections.list(request.getLocales()).stream().map(l -> l.getLanguage()).toArray(n -> new String[n]);
+                return Collections.list(request.getLocales()).stream().map(Locale::getLanguage).toArray(n -> new String[n]);
             }
             }
             return new String[] { fessConfig.getQueryGsaDefaultLang() };
             return new String[] { fessConfig.getQueryGsaDefaultLang() };
         }
         }

+ 2 - 3
src/main/java/org/codelibs/fess/app/job/AllJobScheduler.java

@@ -98,9 +98,8 @@ public class AllJobScheduler implements LaJobScheduler {
 
 
     @Override
     @Override
     public LaJobRunner createRunner() {
     public LaJobRunner createRunner() {
-        return new LaJobRunner().useAccessContext(resource -> {
-            return accessContextLogic.create(resource, () -> OptionalThing.empty(), () -> OptionalThing.empty(), () -> APP_TYPE);
-        });
+        return new LaJobRunner().useAccessContext(resource -> accessContextLogic.create(resource, () -> OptionalThing.empty(),
+                () -> OptionalThing.empty(), () -> APP_TYPE));
     }
     }
 
 
     public void setJobClass(final Class<? extends LaJob> jobClass) {
     public void setJobClass(final Class<? extends LaJob> jobClass) {

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

@@ -193,7 +193,7 @@ public class CrawlingInfoService {
                     cb.fetchFirst(fessConfig.getPageCrawlingInfoMaxFetchSizeAsInteger());
                     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(CrawlingInfo::getId).collect(Collectors.toList());
         crawlingInfoParamBhv.queryDelete(cb1 -> cb1.query().filtered((cq, cf) -> {
         crawlingInfoParamBhv.queryDelete(cb1 -> cb1.query().filtered((cq, cf) -> {
             cq.matchAll();
             cq.matchAll();
             if (!idList.isEmpty()) {
             if (!idList.isEmpty()) {
@@ -300,7 +300,7 @@ public class CrawlingInfoService {
 
 
     public void deleteBefore(final long date) {
     public void deleteBefore(final long date) {
         crawlingInfoBhv.selectBulk(cb -> cb.query().setExpiredTime_LessThan(date), list -> {
         crawlingInfoBhv.selectBulk(cb -> cb.query().setExpiredTime_LessThan(date), list -> {
-            final List<String> idList = list.stream().map(entity -> entity.getId()).collect(Collectors.toList());
+            final List<String> idList = list.stream().map(CrawlingInfo::getId).collect(Collectors.toList());
             crawlingInfoParamBhv.queryDelete(cb1 -> cb1.query().setCrawlingInfoId_InScope(idList));
             crawlingInfoParamBhv.queryDelete(cb1 -> cb1.query().setCrawlingInfoId_InScope(idList));
             crawlingInfoBhv.queryDelete(cb2 -> cb2.query().setExpiredTime_LessThan(date));
             crawlingInfoBhv.queryDelete(cb2 -> cb2.query().setExpiredTime_LessThan(date));
         });
         });

+ 2 - 1
src/main/java/org/codelibs/fess/app/service/ElevateWordService.java

@@ -40,6 +40,7 @@ import org.codelibs.fess.es.config.exbhv.ElevateWordToLabelBhv;
 import org.codelibs.fess.es.config.exbhv.LabelTypeBhv;
 import org.codelibs.fess.es.config.exbhv.LabelTypeBhv;
 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.es.config.exentity.LabelType;
 import org.codelibs.fess.helper.PermissionHelper;
 import org.codelibs.fess.helper.PermissionHelper;
 import org.codelibs.fess.mylasta.direction.FessConfig;
 import org.codelibs.fess.mylasta.direction.FessConfig;
 import org.codelibs.fess.util.ComponentUtil;
 import org.codelibs.fess.util.ComponentUtil;
@@ -307,7 +308,7 @@ public class ElevateWordService {
                             elevateWordToLabelBhv
                             elevateWordToLabelBhv
                                     .selectList(cb -> cb.query().setElevateWordId_Equal(entity.getId()))
                                     .selectList(cb -> cb.query().setElevateWordId_Equal(entity.getId()))
                                     .stream()
                                     .stream()
-                                    .map(e -> labelTypeBhv.selectByPK(e.getLabelTypeId()).map(lt -> lt.getValue())
+                                    .map(e -> labelTypeBhv.selectByPK(e.getLabelTypeId()).map(LabelType::getValue)
                                             .filter(StringUtil::isNotBlank).orElse(null)).distinct().sorted()
                                             .filter(StringUtil::isNotBlank).orElse(null)).distinct().sorted()
                                     .collect(Collectors.joining(","));
                                     .collect(Collectors.joining(","));
                     addToList(list, entity.getSuggestWord());
                     addToList(list, entity.getSuggestWord());

+ 2 - 6
src/main/java/org/codelibs/fess/app/web/admin/backup/AdminBackupAction.java

@@ -136,9 +136,7 @@ public class AdminBackupAction extends FessAdminAction {
             if (tempFile.exists() && !tempFile.delete()) {
             if (tempFile.exists() && !tempFile.delete()) {
                 logger.warn("Failed to delete {}.", tempFile.getAbsolutePath());
                 logger.warn("Failed to delete {}.", tempFile.getAbsolutePath());
             }
             }
-            throwValidationError(messages -> messages.addErrorsFileIsNotSupported(GLOBAL, fileName), () -> {
-                return asListHtml();
-            });
+            throwValidationError(messages -> messages.addErrorsFileIsNotSupported(GLOBAL, fileName), () -> asListHtml());
         }
         }
         saveInfo(messages -> messages.addSuccessBulkProcessStarted(GLOBAL));
         saveInfo(messages -> messages.addSuccessBulkProcessStarted(GLOBAL));
         return redirect(getClass()); // no-op
         return redirect(getClass()); // no-op
@@ -157,9 +155,7 @@ public class AdminBackupAction extends FessAdminAction {
         } else if (fileName.startsWith("doc") && fileName.endsWith(".json")) {
         } else if (fileName.startsWith("doc") && fileName.endsWith(".json")) {
             fileType = 5;
             fileType = 5;
         } else {
         } else {
-            throwValidationError(messages -> messages.addErrorsFileIsNotSupported(GLOBAL, fileName), () -> {
-                return asListHtml();
-            });
+            throwValidationError(messages -> messages.addErrorsFileIsNotSupported(GLOBAL, fileName), () -> asListHtml());
             return;
             return;
         }
         }
 
 

+ 13 - 14
src/main/java/org/codelibs/fess/app/web/admin/crawlinginfo/AdminCrawlinginfoAction.java

@@ -134,22 +134,21 @@ public class AdminCrawlinginfoAction extends FessAdminAction {
     public HtmlResponse details(final int crudMode, final String id) {
     public HtmlResponse details(final int crudMode, final String id) {
         verifyCrudMode(crudMode, CrudMode.DETAILS);
         verifyCrudMode(crudMode, CrudMode.DETAILS);
         saveToken();
         saveToken();
-        return crawlingInfoService.getCrawlingInfo(id).map(entity -> {
-            return asHtml(path_AdminCrawlinginfo_AdminCrawlinginfoDetailsJsp).useForm(EditForm.class, op -> {
-                op.setup(form -> {
-                    copyBeanToBean(entity, form, copyOp -> {
-                        copyOp.excludeNull();
+        return crawlingInfoService.getCrawlingInfo(id)
+                .map(entity -> asHtml(path_AdminCrawlinginfo_AdminCrawlinginfoDetailsJsp).useForm(EditForm.class, op -> {
+                    op.setup(form -> {
+                        copyBeanToBean(entity, form, copyOp -> {
+                            copyOp.excludeNull();
+                        });
+                        form.crudMode = crudMode;
                     });
                     });
-                    form.crudMode = crudMode;
+                }).renderWith(data -> {
+                    RenderDataUtil.register(data, "crawlingInfoParamItems", crawlingInfoService.getCrawlingInfoParamList(id));
+                    RenderDataUtil.register(data, "running", processHelper.isProcessRunning(entity.getSessionId()));
+                })).orElseGet(() -> {
+                    throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), () -> asListHtml());
+                    return null;
                 });
                 });
-            }).renderWith(data -> {
-                RenderDataUtil.register(data, "crawlingInfoParamItems", crawlingInfoService.getCrawlingInfoParamList(id));
-                RenderDataUtil.register(data, "running", processHelper.isProcessRunning(entity.getSessionId()));
-            });
-        }).orElseGet(() -> {
-            throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), () -> asListHtml());
-            return null;
-        });
     }
     }
 
 
     @Execute
     @Execute

+ 25 - 21
src/main/java/org/codelibs/fess/app/web/admin/dict/kuromoji/AdminDictKuromojiAction.java

@@ -229,14 +229,17 @@ public class AdminDictKuromojiAction extends FessAdminAction {
     public ActionResponse download(final DownloadForm form) {
     public ActionResponse download(final DownloadForm form) {
         validate(form, messages -> {}, () -> downloadpage(form.dictId));
         validate(form, messages -> {}, () -> downloadpage(form.dictId));
         verifyTokenKeep(() -> downloadpage(form.dictId));
         verifyTokenKeep(() -> downloadpage(form.dictId));
-        return kuromojiService.getKuromojiFile(form.dictId).map(file -> {
-            return asStream(new File(file.getPath()).getName()).contentTypeOctetStream().stream(out -> {
-                file.writeOut(out);
-            });
-        }).orElseGet(() -> {
-            throwValidationError(messages -> messages.addErrorsFailedToDownloadKuromojiFile(GLOBAL), () -> downloadpage(form.dictId));
-            return null;
-        });
+        return kuromojiService
+                .getKuromojiFile(form.dictId)
+                .map(file -> asStream(new File(file.getPath()).getName()).contentTypeOctetStream().stream(out -> {
+                    file.writeOut(out);
+                }))
+                .orElseGet(
+                        () -> {
+                            throwValidationError(messages -> messages.addErrorsFailedToDownloadKuromojiFile(GLOBAL),
+                                    () -> downloadpage(form.dictId));
+                            return null;
+                        });
     }
     }
 
 
     // -----------------------------------------------------
     // -----------------------------------------------------
@@ -264,20 +267,21 @@ public class AdminDictKuromojiAction extends FessAdminAction {
     public HtmlResponse upload(final UploadForm form) {
     public HtmlResponse upload(final UploadForm form) {
         validate(form, messages -> {}, () -> uploadpage(form.dictId));
         validate(form, messages -> {}, () -> uploadpage(form.dictId));
         verifyToken(() -> uploadpage(form.dictId));
         verifyToken(() -> uploadpage(form.dictId));
-        return kuromojiService.getKuromojiFile(form.dictId).map(file -> {
-            try (InputStream inputStream = form.kuromojiFile.getInputStream()) {
-                file.update(inputStream);
-            } catch (final IOException e) {
-                throwValidationError(messages -> messages.addErrorsFailedToUploadKuromojiFile(GLOBAL), () -> {
-                    return redirectWith(getClass(), moreUrl("uploadpage/" + form.dictId));
+        return kuromojiService
+                .getKuromojiFile(form.dictId)
+                .map(file -> {
+                    try (InputStream inputStream = form.kuromojiFile.getInputStream()) {
+                        file.update(inputStream);
+                    } catch (final IOException e) {
+                        throwValidationError(messages -> messages.addErrorsFailedToUploadKuromojiFile(GLOBAL),
+                                () -> redirectWith(getClass(), moreUrl("uploadpage/" + form.dictId)));
+                    }
+                    saveInfo(messages -> messages.addSuccessUploadKuromojiFile(GLOBAL));
+                    return redirectWith(getClass(), moreUrl("list/1").params("dictId", form.dictId));
+                }).orElseGet(() -> {
+                    throwValidationError(messages -> messages.addErrorsFailedToUploadKuromojiFile(GLOBAL), () -> uploadpage(form.dictId));
+                    return null;
                 });
                 });
-            }
-            saveInfo(messages -> messages.addSuccessUploadKuromojiFile(GLOBAL));
-            return redirectWith(getClass(), moreUrl("list/1").params("dictId", form.dictId));
-        }).orElseGet(() -> {
-            throwValidationError(messages -> messages.addErrorsFailedToUploadKuromojiFile(GLOBAL), () -> uploadpage(form.dictId));
-            return null;
-        });
 
 
     }
     }
 
 

+ 25 - 21
src/main/java/org/codelibs/fess/app/web/admin/dict/mapping/AdminDictMappingAction.java

@@ -232,14 +232,17 @@ public class AdminDictMappingAction extends FessAdminAction {
     public ActionResponse download(final DownloadForm form) {
     public ActionResponse download(final DownloadForm form) {
         validate(form, messages -> {}, () -> downloadpage(form.dictId));
         validate(form, messages -> {}, () -> downloadpage(form.dictId));
         verifyTokenKeep(() -> downloadpage(form.dictId));
         verifyTokenKeep(() -> downloadpage(form.dictId));
-        return charMappingService.getCharMappingFile(form.dictId).map(file -> {
-            return asStream(new File(file.getPath()).getName()).contentTypeOctetStream().stream(out -> {
-                file.writeOut(out);
-            });
-        }).orElseGet(() -> {
-            throwValidationError(messages -> messages.addErrorsFailedToDownloadMappingFile(GLOBAL), () -> downloadpage(form.dictId));
-            return null;
-        });
+        return charMappingService
+                .getCharMappingFile(form.dictId)
+                .map(file -> asStream(new File(file.getPath()).getName()).contentTypeOctetStream().stream(out -> {
+                    file.writeOut(out);
+                }))
+                .orElseGet(
+                        () -> {
+                            throwValidationError(messages -> messages.addErrorsFailedToDownloadMappingFile(GLOBAL),
+                                    () -> downloadpage(form.dictId));
+                            return null;
+                        });
     }
     }
 
 
     // -----------------------------------------------------
     // -----------------------------------------------------
@@ -267,20 +270,21 @@ public class AdminDictMappingAction extends FessAdminAction {
     public HtmlResponse upload(final UploadForm form) {
     public HtmlResponse upload(final UploadForm form) {
         validate(form, messages -> {}, () -> uploadpage(form.dictId));
         validate(form, messages -> {}, () -> uploadpage(form.dictId));
         verifyToken(() -> uploadpage(form.dictId));
         verifyToken(() -> uploadpage(form.dictId));
-        return charMappingService.getCharMappingFile(form.dictId).map(file -> {
-            try (InputStream inputStream = form.charMappingFile.getInputStream()) {
-                file.update(inputStream);
-            } catch (final IOException e) {
-                throwValidationError(messages -> messages.addErrorsFailedToUploadMappingFile(GLOBAL), () -> {
-                    return redirectWith(getClass(), moreUrl("uploadpage/" + form.dictId));
+        return charMappingService
+                .getCharMappingFile(form.dictId)
+                .map(file -> {
+                    try (InputStream inputStream = form.charMappingFile.getInputStream()) {
+                        file.update(inputStream);
+                    } catch (final IOException e) {
+                        throwValidationError(messages -> messages.addErrorsFailedToUploadMappingFile(GLOBAL),
+                                () -> redirectWith(getClass(), moreUrl("uploadpage/" + form.dictId)));
+                    }
+                    saveInfo(messages -> messages.addSuccessUploadMappingFile(GLOBAL));
+                    return redirectWith(getClass(), moreUrl("list/1").params("dictId", form.dictId));
+                }).orElseGet(() -> {
+                    throwValidationError(messages -> messages.addErrorsFailedToUploadMappingFile(GLOBAL), () -> uploadpage(form.dictId));
+                    return null;
                 });
                 });
-            }
-            saveInfo(messages -> messages.addSuccessUploadMappingFile(GLOBAL));
-            return redirectWith(getClass(), moreUrl("list/1").params("dictId", form.dictId));
-        }).orElseGet(() -> {
-            throwValidationError(messages -> messages.addErrorsFailedToUploadMappingFile(GLOBAL), () -> uploadpage(form.dictId));
-            return null;
-        });
 
 
     }
     }
 
 

+ 25 - 21
src/main/java/org/codelibs/fess/app/web/admin/dict/protwords/AdminDictProtwordsAction.java

@@ -227,14 +227,17 @@ public class AdminDictProtwordsAction extends FessAdminAction {
     public ActionResponse download(final DownloadForm form) {
     public ActionResponse download(final DownloadForm form) {
         validate(form, messages -> {}, () -> downloadpage(form.dictId));
         validate(form, messages -> {}, () -> downloadpage(form.dictId));
         verifyTokenKeep(() -> downloadpage(form.dictId));
         verifyTokenKeep(() -> downloadpage(form.dictId));
-        return protwordsService.getProtwordsFile(form.dictId).map(file -> {
-            return asStream(new File(file.getPath()).getName()).contentTypeOctetStream().stream(out -> {
-                file.writeOut(out);
-            });
-        }).orElseGet(() -> {
-            throwValidationError(messages -> messages.addErrorsFailedToDownloadProtwordsFile(GLOBAL), () -> downloadpage(form.dictId));
-            return null;
-        });
+        return protwordsService
+                .getProtwordsFile(form.dictId)
+                .map(file -> asStream(new File(file.getPath()).getName()).contentTypeOctetStream().stream(out -> {
+                    file.writeOut(out);
+                }))
+                .orElseGet(
+                        () -> {
+                            throwValidationError(messages -> messages.addErrorsFailedToDownloadProtwordsFile(GLOBAL),
+                                    () -> downloadpage(form.dictId));
+                            return null;
+                        });
     }
     }
 
 
     // -----------------------------------------------------
     // -----------------------------------------------------
@@ -262,20 +265,21 @@ public class AdminDictProtwordsAction extends FessAdminAction {
     public HtmlResponse upload(final UploadForm form) {
     public HtmlResponse upload(final UploadForm form) {
         validate(form, messages -> {}, () -> uploadpage(form.dictId));
         validate(form, messages -> {}, () -> uploadpage(form.dictId));
         verifyToken(() -> uploadpage(form.dictId));
         verifyToken(() -> uploadpage(form.dictId));
-        return protwordsService.getProtwordsFile(form.dictId).map(file -> {
-            try (InputStream inputStream = form.protwordsFile.getInputStream()) {
-                file.update(inputStream);
-            } catch (final IOException e) {
-                throwValidationError(messages -> messages.addErrorsFailedToUploadProtwordsFile(GLOBAL), () -> {
-                    return redirectWith(getClass(), moreUrl("uploadpage/" + form.dictId));
+        return protwordsService
+                .getProtwordsFile(form.dictId)
+                .map(file -> {
+                    try (InputStream inputStream = form.protwordsFile.getInputStream()) {
+                        file.update(inputStream);
+                    } catch (final IOException e) {
+                        throwValidationError(messages -> messages.addErrorsFailedToUploadProtwordsFile(GLOBAL),
+                                () -> redirectWith(getClass(), moreUrl("uploadpage/" + form.dictId)));
+                    }
+                    saveInfo(messages -> messages.addSuccessUploadProtwordsFile(GLOBAL));
+                    return redirectWith(getClass(), moreUrl("list/1").params("dictId", form.dictId));
+                }).orElseGet(() -> {
+                    throwValidationError(messages -> messages.addErrorsFailedToUploadProtwordsFile(GLOBAL), () -> uploadpage(form.dictId));
+                    return null;
                 });
                 });
-            }
-            saveInfo(messages -> messages.addSuccessUploadProtwordsFile(GLOBAL));
-            return redirectWith(getClass(), moreUrl("list/1").params("dictId", form.dictId));
-        }).orElseGet(() -> {
-            throwValidationError(messages -> messages.addErrorsFailedToUploadProtwordsFile(GLOBAL), () -> uploadpage(form.dictId));
-            return null;
-        });
 
 
     }
     }
 
 

+ 21 - 19
src/main/java/org/codelibs/fess/app/web/admin/dict/stemmeroverride/AdminDictStemmeroverrideAction.java

@@ -232,11 +232,9 @@ public class AdminDictStemmeroverrideAction extends FessAdminAction {
         verifyTokenKeep(() -> downloadpage(form.dictId));
         verifyTokenKeep(() -> downloadpage(form.dictId));
         return stemmerOverrideService
         return stemmerOverrideService
                 .getStemmerOverrideFile(form.dictId)
                 .getStemmerOverrideFile(form.dictId)
-                .map(file -> {
-                    return asStream(new File(file.getPath()).getName()).contentTypeOctetStream().stream(out -> {
-                        file.writeOut(out);
-                    });
-                })
+                .map(file -> asStream(new File(file.getPath()).getName()).contentTypeOctetStream().stream(out -> {
+                    file.writeOut(out);
+                }))
                 .orElseGet(
                 .orElseGet(
                         () -> {
                         () -> {
                             throwValidationError(messages -> messages.addErrorsFailedToDownloadStemmeroverrideFile(GLOBAL),
                             throwValidationError(messages -> messages.addErrorsFailedToDownloadStemmeroverrideFile(GLOBAL),
@@ -270,20 +268,24 @@ public class AdminDictStemmeroverrideAction extends FessAdminAction {
     public HtmlResponse upload(final UploadForm form) {
     public HtmlResponse upload(final UploadForm form) {
         validate(form, messages -> {}, () -> uploadpage(form.dictId));
         validate(form, messages -> {}, () -> uploadpage(form.dictId));
         verifyToken(() -> uploadpage(form.dictId));
         verifyToken(() -> uploadpage(form.dictId));
-        return stemmerOverrideService.getStemmerOverrideFile(form.dictId).map(file -> {
-            try (InputStream inputStream = form.stemmerOverrideFile.getInputStream()) {
-                file.update(inputStream);
-            } catch (final IOException e) {
-                throwValidationError(messages -> messages.addErrorsFailedToUploadStemmeroverrideFile(GLOBAL), () -> {
-                    return redirectWith(getClass(), moreUrl("uploadpage/" + form.dictId));
-                });
-            }
-            saveInfo(messages -> messages.addSuccessUploadStemmeroverrideFile(GLOBAL));
-            return redirectWith(getClass(), moreUrl("list/1").params("dictId", form.dictId));
-        }).orElseGet(() -> {
-            throwValidationError(messages -> messages.addErrorsFailedToUploadStemmeroverrideFile(GLOBAL), () -> uploadpage(form.dictId));
-            return null;
-        });
+        return stemmerOverrideService
+                .getStemmerOverrideFile(form.dictId)
+                .map(file -> {
+                    try (InputStream inputStream = form.stemmerOverrideFile.getInputStream()) {
+                        file.update(inputStream);
+                    } catch (final IOException e) {
+                        throwValidationError(messages -> messages.addErrorsFailedToUploadStemmeroverrideFile(GLOBAL),
+                                () -> redirectWith(getClass(), moreUrl("uploadpage/" + form.dictId)));
+                    }
+                    saveInfo(messages -> messages.addSuccessUploadStemmeroverrideFile(GLOBAL));
+                    return redirectWith(getClass(), moreUrl("list/1").params("dictId", form.dictId));
+                })
+                .orElseGet(
+                        () -> {
+                            throwValidationError(messages -> messages.addErrorsFailedToUploadStemmeroverrideFile(GLOBAL),
+                                    () -> uploadpage(form.dictId));
+                            return null;
+                        });
 
 
     }
     }
 
 

+ 25 - 21
src/main/java/org/codelibs/fess/app/web/admin/dict/stopwords/AdminDictStopwordsAction.java

@@ -225,14 +225,17 @@ public class AdminDictStopwordsAction extends FessAdminAction {
     public ActionResponse download(final DownloadForm form) {
     public ActionResponse download(final DownloadForm form) {
         validate(form, messages -> {}, () -> downloadpage(form.dictId));
         validate(form, messages -> {}, () -> downloadpage(form.dictId));
         verifyTokenKeep(() -> downloadpage(form.dictId));
         verifyTokenKeep(() -> downloadpage(form.dictId));
-        return stopwordsService.getStopwordsFile(form.dictId).map(file -> {
-            return asStream(new File(file.getPath()).getName()).contentTypeOctetStream().stream(out -> {
-                file.writeOut(out);
-            });
-        }).orElseGet(() -> {
-            throwValidationError(messages -> messages.addErrorsFailedToDownloadStopwordsFile(GLOBAL), () -> downloadpage(form.dictId));
-            return null;
-        });
+        return stopwordsService
+                .getStopwordsFile(form.dictId)
+                .map(file -> asStream(new File(file.getPath()).getName()).contentTypeOctetStream().stream(out -> {
+                    file.writeOut(out);
+                }))
+                .orElseGet(
+                        () -> {
+                            throwValidationError(messages -> messages.addErrorsFailedToDownloadStopwordsFile(GLOBAL),
+                                    () -> downloadpage(form.dictId));
+                            return null;
+                        });
     }
     }
 
 
     // -----------------------------------------------------
     // -----------------------------------------------------
@@ -260,20 +263,21 @@ public class AdminDictStopwordsAction extends FessAdminAction {
     public HtmlResponse upload(final UploadForm form) {
     public HtmlResponse upload(final UploadForm form) {
         validate(form, messages -> {}, () -> uploadpage(form.dictId));
         validate(form, messages -> {}, () -> uploadpage(form.dictId));
         verifyToken(() -> uploadpage(form.dictId));
         verifyToken(() -> uploadpage(form.dictId));
-        return stopwordsService.getStopwordsFile(form.dictId).map(file -> {
-            try (InputStream inputStream = form.stopwordsFile.getInputStream()) {
-                file.update(inputStream);
-            } catch (final IOException e) {
-                throwValidationError(messages -> messages.addErrorsFailedToUploadStopwordsFile(GLOBAL), () -> {
-                    return redirectWith(getClass(), moreUrl("uploadpage/" + form.dictId));
+        return stopwordsService
+                .getStopwordsFile(form.dictId)
+                .map(file -> {
+                    try (InputStream inputStream = form.stopwordsFile.getInputStream()) {
+                        file.update(inputStream);
+                    } catch (final IOException e) {
+                        throwValidationError(messages -> messages.addErrorsFailedToUploadStopwordsFile(GLOBAL),
+                                () -> redirectWith(getClass(), moreUrl("uploadpage/" + form.dictId)));
+                    }
+                    saveInfo(messages -> messages.addSuccessUploadStopwordsFile(GLOBAL));
+                    return redirectWith(getClass(), moreUrl("list/1").params("dictId", form.dictId));
+                }).orElseGet(() -> {
+                    throwValidationError(messages -> messages.addErrorsFailedToUploadStopwordsFile(GLOBAL), () -> uploadpage(form.dictId));
+                    return null;
                 });
                 });
-            }
-            saveInfo(messages -> messages.addSuccessUploadStopwordsFile(GLOBAL));
-            return redirectWith(getClass(), moreUrl("list/1").params("dictId", form.dictId));
-        }).orElseGet(() -> {
-            throwValidationError(messages -> messages.addErrorsFailedToUploadStopwordsFile(GLOBAL), () -> uploadpage(form.dictId));
-            return null;
-        });
 
 
     }
     }
 
 

+ 25 - 21
src/main/java/org/codelibs/fess/app/web/admin/dict/synonym/AdminDictSynonymAction.java

@@ -232,14 +232,17 @@ public class AdminDictSynonymAction extends FessAdminAction {
     public ActionResponse download(final DownloadForm form) {
     public ActionResponse download(final DownloadForm form) {
         validate(form, messages -> {}, () -> downloadpage(form.dictId));
         validate(form, messages -> {}, () -> downloadpage(form.dictId));
         verifyTokenKeep(() -> downloadpage(form.dictId));
         verifyTokenKeep(() -> downloadpage(form.dictId));
-        return synonymService.getSynonymFile(form.dictId).map(file -> {
-            return asStream(new File(file.getPath()).getName()).contentTypeOctetStream().stream(out -> {
-                file.writeOut(out);
-            });
-        }).orElseGet(() -> {
-            throwValidationError(messages -> messages.addErrorsFailedToDownloadSynonymFile(GLOBAL), () -> downloadpage(form.dictId));
-            return null;
-        });
+        return synonymService
+                .getSynonymFile(form.dictId)
+                .map(file -> asStream(new File(file.getPath()).getName()).contentTypeOctetStream().stream(out -> {
+                    file.writeOut(out);
+                }))
+                .orElseGet(
+                        () -> {
+                            throwValidationError(messages -> messages.addErrorsFailedToDownloadSynonymFile(GLOBAL),
+                                    () -> downloadpage(form.dictId));
+                            return null;
+                        });
     }
     }
 
 
     // -----------------------------------------------------
     // -----------------------------------------------------
@@ -267,20 +270,21 @@ public class AdminDictSynonymAction extends FessAdminAction {
     public HtmlResponse upload(final UploadForm form) {
     public HtmlResponse upload(final UploadForm form) {
         validate(form, messages -> {}, () -> uploadpage(form.dictId));
         validate(form, messages -> {}, () -> uploadpage(form.dictId));
         verifyToken(() -> uploadpage(form.dictId));
         verifyToken(() -> uploadpage(form.dictId));
-        return synonymService.getSynonymFile(form.dictId).map(file -> {
-            try (InputStream inputStream = form.synonymFile.getInputStream()) {
-                file.update(inputStream);
-            } catch (final IOException e) {
-                throwValidationError(messages -> messages.addErrorsFailedToUploadSynonymFile(GLOBAL), () -> {
-                    return redirectWith(getClass(), moreUrl("uploadpage/" + form.dictId));
+        return synonymService
+                .getSynonymFile(form.dictId)
+                .map(file -> {
+                    try (InputStream inputStream = form.synonymFile.getInputStream()) {
+                        file.update(inputStream);
+                    } catch (final IOException e) {
+                        throwValidationError(messages -> messages.addErrorsFailedToUploadSynonymFile(GLOBAL),
+                                () -> redirectWith(getClass(), moreUrl("uploadpage/" + form.dictId)));
+                    }
+                    saveInfo(messages -> messages.addSuccessUploadSynonymFile(GLOBAL));
+                    return redirectWith(getClass(), moreUrl("list/1").params("dictId", form.dictId));
+                }).orElseGet(() -> {
+                    throwValidationError(messages -> messages.addErrorsFailedToUploadSynonymFile(GLOBAL), () -> uploadpage(form.dictId));
+                    return null;
                 });
                 });
-            }
-            saveInfo(messages -> messages.addSuccessUploadSynonymFile(GLOBAL));
-            return redirectWith(getClass(), moreUrl("list/1").params("dictId", form.dictId));
-        }).orElseGet(() -> {
-            throwValidationError(messages -> messages.addErrorsFailedToUploadSynonymFile(GLOBAL), () -> uploadpage(form.dictId));
-            return null;
-        });
 
 
     }
     }
 
 

+ 8 - 12
src/main/java/org/codelibs/fess/app/web/admin/esreq/AdminEsreqAction.java

@@ -76,9 +76,8 @@ public class AdminEsreqAction extends FessAdminAction {
         try (final BufferedReader reader = new BufferedReader(new InputStreamReader(form.requestFile.getInputStream(), Constants.UTF_8))) {
         try (final BufferedReader reader = new BufferedReader(new InputStreamReader(form.requestFile.getInputStream(), Constants.UTF_8))) {
             header = ReaderUtil.readLine(reader);
             header = ReaderUtil.readLine(reader);
             if (header == null) {
             if (header == null) {
-                throwValidationError(messages -> messages.addErrorsInvalidHeaderForRequestFile(GLOBAL, "no header"), () -> {
-                    return asListHtml(() -> saveToken());
-                });
+                throwValidationError(messages -> messages.addErrorsInvalidHeaderForRequestFile(GLOBAL, "no header"),
+                        () -> asListHtml(() -> saveToken()));
                 return redirect(getClass()); // no-op
                 return redirect(getClass()); // no-op
             }
             }
             String line;
             String line;
@@ -86,17 +85,15 @@ public class AdminEsreqAction extends FessAdminAction {
                 buf.append(line);
                 buf.append(line);
             }
             }
         } catch (final Exception e) {
         } catch (final Exception e) {
-            throwValidationError(messages -> messages.addErrorsFailedToReadRequestFile(GLOBAL, e.getMessage()), () -> {
-                return asListHtml(() -> saveToken());
-            });
+            throwValidationError(messages -> messages.addErrorsFailedToReadRequestFile(GLOBAL, e.getMessage()),
+                    () -> asListHtml(() -> saveToken()));
         }
         }
 
 
         final CurlRequest curlRequest = getCurlRequest(header);
         final CurlRequest curlRequest = getCurlRequest(header);
         if (curlRequest == null) {
         if (curlRequest == null) {
             final String msg = header;
             final String msg = header;
-            throwValidationError(messages -> messages.addErrorsInvalidHeaderForRequestFile(GLOBAL, msg), () -> {
-                return asListHtml(() -> saveToken());
-            });
+            throwValidationError(messages -> messages.addErrorsInvalidHeaderForRequestFile(GLOBAL, msg),
+                    () -> asListHtml(() -> saveToken()));
         } else {
         } else {
             try (final CurlResponse response = curlRequest.body(buf.toString()).execute()) {
             try (final CurlResponse response = curlRequest.body(buf.toString()).execute()) {
                 final File tempFile = ComponentUtil.getSystemHelper().createTempFile("esreq_", ".json");
                 final File tempFile = ComponentUtil.getSystemHelper().createTempFile("esreq_", ".json");
@@ -119,9 +116,8 @@ public class AdminEsreqAction extends FessAdminAction {
                 });
                 });
             } catch (final Exception e) {
             } catch (final Exception e) {
                 logger.warn("Failed to process request file: " + form.requestFile.getFileName(), e);
                 logger.warn("Failed to process request file: " + form.requestFile.getFileName(), e);
-                throwValidationError(messages -> messages.addErrorsInvalidHeaderForRequestFile(GLOBAL, e.getMessage()), () -> {
-                    return asListHtml(() -> saveToken());
-                });
+                throwValidationError(messages -> messages.addErrorsInvalidHeaderForRequestFile(GLOBAL, e.getMessage()),
+                        () -> asListHtml(() -> saveToken()));
             }
             }
         }
         }
         return redirect(getClass()); // no-op
         return redirect(getClass()); // no-op

+ 3 - 9
src/main/java/org/codelibs/fess/app/web/admin/general/AdminGeneralAction.java

@@ -91,9 +91,7 @@ public class AdminGeneralAction extends FessAdminAction {
     @Execute
     @Execute
     @Secured({ ROLE })
     @Secured({ ROLE })
     public HtmlResponse sendmail(final MailForm form) {
     public HtmlResponse sendmail(final MailForm form) {
-        validate(form, messages -> {}, () -> {
-            return asHtml(path_AdminGeneral_AdminGeneralJsp);
-        });
+        validate(form, messages -> {}, () -> asHtml(path_AdminGeneral_AdminGeneralJsp));
 
 
         final String[] toAddresses = form.notificationTo.split(",");
         final String[] toAddresses = form.notificationTo.split(",");
         final Map<String, Object> dataMap = new HashMap<>();
         final Map<String, Object> dataMap = new HashMap<>();
@@ -124,12 +122,8 @@ public class AdminGeneralAction extends FessAdminAction {
     @Execute
     @Execute
     @Secured({ ROLE })
     @Secured({ ROLE })
     public HtmlResponse update(final EditForm form) {
     public HtmlResponse update(final EditForm form) {
-        validate(form, messages -> {}, () -> {
-            return asHtml(path_AdminGeneral_AdminGeneralJsp);
-        });
-        verifyToken(() -> {
-            return asHtml(path_AdminGeneral_AdminGeneralJsp);
-        });
+        validate(form, messages -> {}, () -> asHtml(path_AdminGeneral_AdminGeneralJsp));
+        verifyToken(() -> asHtml(path_AdminGeneral_AdminGeneralJsp));
 
 
         updateConfig(fessConfig, form);
         updateConfig(fessConfig, form);
         saveInfo(messages -> messages.addSuccessUpdateCrawlerParams(GLOBAL));
         saveInfo(messages -> messages.addSuccessUpdateCrawlerParams(GLOBAL));

+ 1 - 3
src/main/java/org/codelibs/fess/app/web/admin/log/AdminLogAction.java

@@ -80,9 +80,7 @@ public class AdminLogAction extends FessAdminAction {
                 }
                 }
             });
             });
         }
         }
-        throwValidationError(messages -> messages.addErrorsCouldNotFindLogFile(GLOBAL, filename), () -> {
-            return asIndexHtml();
-        });
+        throwValidationError(messages -> messages.addErrorsCouldNotFindLogFile(GLOBAL, filename), () -> asIndexHtml());
         return redirect(getClass()); // no-op
         return redirect(getClass()); // no-op
     }
     }
 
 

+ 4 - 9
src/main/java/org/codelibs/fess/app/web/admin/wizard/AdminWizardAction.java

@@ -109,9 +109,7 @@ public class AdminWizardAction extends FessAdminAction {
     @Execute
     @Execute
     @Secured({ ROLE })
     @Secured({ ROLE })
     public HtmlResponse crawlingConfig(final CrawlingConfigForm form) {
     public HtmlResponse crawlingConfig(final CrawlingConfigForm form) {
-        validate(form, messages -> {}, () -> {
-            return asHtml(path_AdminWizard_AdminWizardConfigJsp);
-        });
+        validate(form, messages -> {}, () -> asHtml(path_AdminWizard_AdminWizardConfigJsp));
         verifyTokenKeep(() -> asIndexHtml());
         verifyTokenKeep(() -> asIndexHtml());
         final String name = crawlingConfigInternal(form);
         final String name = crawlingConfigInternal(form);
         saveInfo(messages -> messages.addSuccessCreateCrawlingConfigAtWizard(GLOBAL, name));
         saveInfo(messages -> messages.addSuccessCreateCrawlingConfigAtWizard(GLOBAL, name));
@@ -121,9 +119,7 @@ public class AdminWizardAction extends FessAdminAction {
     @Execute
     @Execute
     @Secured({ ROLE })
     @Secured({ ROLE })
     public HtmlResponse crawlingConfigNext(final CrawlingConfigForm form) {
     public HtmlResponse crawlingConfigNext(final CrawlingConfigForm form) {
-        validate(form, messages -> {}, () -> {
-            return asHtml(path_AdminWizard_AdminWizardConfigJsp);
-        });
+        validate(form, messages -> {}, () -> asHtml(path_AdminWizard_AdminWizardConfigJsp));
         verifyToken(() -> asIndexHtml());
         verifyToken(() -> asIndexHtml());
         final String name = crawlingConfigInternal(form);
         final String name = crawlingConfigInternal(form);
         saveInfo(messages -> messages.addSuccessCreateCrawlingConfigAtWizard(GLOBAL, name));
         saveInfo(messages -> messages.addSuccessCreateCrawlingConfigAtWizard(GLOBAL, name));
@@ -220,9 +216,8 @@ public class AdminWizardAction extends FessAdminAction {
             return configName;
             return configName;
         } catch (final Exception e) {
         } catch (final Exception e) {
             logger.error("Failed to create crawling config: " + form.crawlingConfigPath, e);
             logger.error("Failed to create crawling config: " + form.crawlingConfigPath, e);
-            throwValidationError(messages -> messages.addErrorsFailedToCreateCrawlingConfigAtWizard(GLOBAL), () -> {
-                return asHtml(path_AdminWizard_AdminWizardConfigJsp);
-            });
+            throwValidationError(messages -> messages.addErrorsFailedToCreateCrawlingConfigAtWizard(GLOBAL),
+                    () -> asHtml(path_AdminWizard_AdminWizardConfigJsp));
             return null;
             return null;
         }
         }
     }
     }

+ 6 - 3
src/main/java/org/codelibs/fess/app/web/api/ApiResult.java

@@ -21,6 +21,8 @@ import java.util.Locale;
 import java.util.Map;
 import java.util.Map;
 import java.util.stream.Collectors;
 import java.util.stream.Collectors;
 
 
+import javax.servlet.http.HttpServletRequest;
+
 import org.codelibs.fess.entity.SearchRenderData;
 import org.codelibs.fess.entity.SearchRenderData;
 import org.codelibs.fess.mylasta.action.FessMessages;
 import org.codelibs.fess.mylasta.action.FessMessages;
 import org.codelibs.fess.util.ComponentUtil;
 import org.codelibs.fess.util.ComponentUtil;
@@ -341,9 +343,10 @@ public class ApiResult {
             final FessMessages messages = new FessMessages();
             final FessMessages messages = new FessMessages();
             validationMessagesLambda.message(messages);
             validationMessagesLambda.message(messages);
             message =
             message =
-                    ComponentUtil.getMessageManager()
-                            .toMessageList(LaRequestUtil.getOptionalRequest().map(r -> r.getLocale()).orElse(Locale.ENGLISH), messages)
-                            .stream().collect(Collectors.joining(" "));
+                    ComponentUtil
+                            .getMessageManager()
+                            .toMessageList(LaRequestUtil.getOptionalRequest().map(HttpServletRequest::getLocale).orElse(Locale.ENGLISH),
+                                    messages).stream().collect(Collectors.joining(" "));
             return this;
             return this;
         }
         }
     }
     }

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

@@ -27,9 +27,8 @@ public abstract class FessApiAdminAction extends FessApiAction {
     @Override
     @Override
     protected boolean isAccessAllowed() {
     protected boolean isAccessAllowed() {
         try {
         try {
-            return accessTokenService.getPermissions(request).map(permissions -> {
-                return fessConfig.isApiAdminAccessAllowed(permissions);
-            }).orElse(false);
+            return accessTokenService.getPermissions(request).map(permissions -> fessConfig.isApiAdminAccessAllowed(permissions))
+                    .orElse(false);
         } catch (final InvalidAccessTokenException e) {
         } catch (final InvalidAccessTokenException e) {
             if (logger.isDebugEnabled()) {
             if (logger.isDebugEnabled()) {
                 logger.debug("Invalid access token.", e);
                 logger.debug("Invalid access token.", e);

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

@@ -22,6 +22,7 @@ import java.util.stream.Collectors;
 
 
 import javax.annotation.Resource;
 import javax.annotation.Resource;
 
 
+import org.codelibs.core.beans.util.CopyOptions;
 import org.codelibs.fess.app.pager.BoostDocPager;
 import org.codelibs.fess.app.pager.BoostDocPager;
 import org.codelibs.fess.app.service.BoostDocumentRuleService;
 import org.codelibs.fess.app.service.BoostDocumentRuleService;
 import org.codelibs.fess.app.web.CrudMode;
 import org.codelibs.fess.app.web.CrudMode;
@@ -129,7 +130,7 @@ public class ApiAdminBoostdocAction extends FessApiAdminAction {
 
 
     protected EditBody createEditBody(final BoostDocumentRule entity) {
     protected EditBody createEditBody(final BoostDocumentRule entity) {
         final EditBody form = new EditBody();
         final EditBody form = new EditBody();
-        copyBeanToBean(entity, form, copyOp -> copyOp.excludeNull());
+        copyBeanToBean(entity, form, CopyOptions::excludeNull);
         form.crudMode = null;
         form.crudMode = null;
         return form;
         return form;
     }
     }

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

@@ -134,14 +134,13 @@ public class ApiAdminDictKuromojiAction extends FessApiAdminAction {
     public StreamResponse get$download(final String dictId, final DownloadBody body) {
     public StreamResponse get$download(final String dictId, final DownloadBody body) {
         body.dictId = dictId;
         body.dictId = dictId;
         validateApi(body, messages -> {});
         validateApi(body, messages -> {});
-        return kuromojiService.getKuromojiFile(body.dictId).map(file -> {
-            return asStream(new File(file.getPath()).getName()).contentTypeOctetStream().stream(out -> {
-                file.writeOut(out);
-            });
-        }).orElseGet(() -> {
-            throwValidationErrorApi(messages -> messages.addErrorsFailedToDownloadProtwordsFile(GLOBAL));
-            return null;
-        });
+        return kuromojiService.getKuromojiFile(body.dictId)
+                .map(file -> asStream(new File(file.getPath()).getName()).contentTypeOctetStream().stream(out -> {
+                    file.writeOut(out);
+                })).orElseGet(() -> {
+                    throwValidationErrorApi(messages -> messages.addErrorsFailedToDownloadProtwordsFile(GLOBAL));
+                    return null;
+                });
     }
     }
 
 
     protected EditBody createEditBody(final KuromojiItem entity, final String dictId) {
     protected EditBody createEditBody(final KuromojiItem entity, final String dictId) {

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

@@ -134,14 +134,13 @@ public class ApiAdminDictMappingAction extends FessApiAdminAction {
     public StreamResponse get$download(final String dictId, final DownloadBody body) {
     public StreamResponse get$download(final String dictId, final DownloadBody body) {
         body.dictId = dictId;
         body.dictId = dictId;
         validateApi(body, messages -> {});
         validateApi(body, messages -> {});
-        return charMappingService.getCharMappingFile(body.dictId).map(file -> {
-            return asStream(new File(file.getPath()).getName()).contentTypeOctetStream().stream(out -> {
-                file.writeOut(out);
-            });
-        }).orElseGet(() -> {
-            throwValidationErrorApi(messages -> messages.addErrorsFailedToDownloadProtwordsFile(GLOBAL));
-            return null;
-        });
+        return charMappingService.getCharMappingFile(body.dictId)
+                .map(file -> asStream(new File(file.getPath()).getName()).contentTypeOctetStream().stream(out -> {
+                    file.writeOut(out);
+                })).orElseGet(() -> {
+                    throwValidationErrorApi(messages -> messages.addErrorsFailedToDownloadProtwordsFile(GLOBAL));
+                    return null;
+                });
     }
     }
 
 
     protected EditBody createEditBody(final CharMappingItem entity, final String dictId) {
     protected EditBody createEditBody(final CharMappingItem entity, final String dictId) {

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

@@ -133,14 +133,13 @@ public class ApiAdminDictProtwordsAction extends FessApiAdminAction {
     public StreamResponse get$download(final String dictId, final DownloadBody body) {
     public StreamResponse get$download(final String dictId, final DownloadBody body) {
         body.dictId = dictId;
         body.dictId = dictId;
         validateApi(body, messages -> {});
         validateApi(body, messages -> {});
-        return protwordsService.getProtwordsFile(body.dictId).map(file -> {
-            return asStream(new File(file.getPath()).getName()).contentTypeOctetStream().stream(out -> {
-                file.writeOut(out);
-            });
-        }).orElseGet(() -> {
-            throwValidationErrorApi(messages -> messages.addErrorsFailedToDownloadProtwordsFile(GLOBAL));
-            return null;
-        });
+        return protwordsService.getProtwordsFile(body.dictId)
+                .map(file -> asStream(new File(file.getPath()).getName()).contentTypeOctetStream().stream(out -> {
+                    file.writeOut(out);
+                })).orElseGet(() -> {
+                    throwValidationErrorApi(messages -> messages.addErrorsFailedToDownloadProtwordsFile(GLOBAL));
+                    return null;
+                });
     }
     }
 
 
     protected EditBody createEditBody(final ProtwordsItem entity, final String dictId) {
     protected EditBody createEditBody(final ProtwordsItem entity, final String dictId) {

+ 7 - 8
src/main/java/org/codelibs/fess/app/web/api/admin/dict/stemmeroverride/ApiAdminDictStemmeroverrideAction.java

@@ -140,14 +140,13 @@ public class ApiAdminDictStemmeroverrideAction extends FessApiAdminAction {
     public StreamResponse get$download(final String dictId, final DownloadBody body) {
     public StreamResponse get$download(final String dictId, final DownloadBody body) {
         body.dictId = dictId;
         body.dictId = dictId;
         validateApi(body, messages -> {});
         validateApi(body, messages -> {});
-        return stemmerOverrideService.getStemmerOverrideFile(body.dictId).map(file -> {
-            return asStream(new File(file.getPath()).getName()).contentTypeOctetStream().stream(out -> {
-                file.writeOut(out);
-            });
-        }).orElseGet(() -> {
-            throwValidationErrorApi(messages -> messages.addErrorsFailedToDownloadProtwordsFile(GLOBAL));
-            return null;
-        });
+        return stemmerOverrideService.getStemmerOverrideFile(body.dictId)
+                .map(file -> asStream(new File(file.getPath()).getName()).contentTypeOctetStream().stream(out -> {
+                    file.writeOut(out);
+                })).orElseGet(() -> {
+                    throwValidationErrorApi(messages -> messages.addErrorsFailedToDownloadProtwordsFile(GLOBAL));
+                    return null;
+                });
     }
     }
 
 
     protected EditBody createEditBody(final StemmerOverrideItem entity, final String dictId) {
     protected EditBody createEditBody(final StemmerOverrideItem entity, final String dictId) {

+ 7 - 8
src/main/java/org/codelibs/fess/app/web/api/admin/dict/stopwords/ApiAdminDictStopwordsAction.java

@@ -133,14 +133,13 @@ public class ApiAdminDictStopwordsAction extends FessApiAdminAction {
     public StreamResponse get$download(final String dictId, final DownloadBody body) {
     public StreamResponse get$download(final String dictId, final DownloadBody body) {
         body.dictId = dictId;
         body.dictId = dictId;
         validateApi(body, messages -> {});
         validateApi(body, messages -> {});
-        return stopwordsService.getStopwordsFile(body.dictId).map(file -> {
-            return asStream(new File(file.getPath()).getName()).contentTypeOctetStream().stream(out -> {
-                file.writeOut(out);
-            });
-        }).orElseGet(() -> {
-            throwValidationErrorApi(messages -> messages.addErrorsFailedToDownloadStopwordsFile(GLOBAL));
-            return null;
-        });
+        return stopwordsService.getStopwordsFile(body.dictId)
+                .map(file -> asStream(new File(file.getPath()).getName()).contentTypeOctetStream().stream(out -> {
+                    file.writeOut(out);
+                })).orElseGet(() -> {
+                    throwValidationErrorApi(messages -> messages.addErrorsFailedToDownloadStopwordsFile(GLOBAL));
+                    return null;
+                });
     }
     }
 
 
     protected EditBody createEditBody(final StopwordsItem entity, final String dictId) {
     protected EditBody createEditBody(final StopwordsItem entity, final String dictId) {

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

@@ -134,14 +134,13 @@ public class ApiAdminDictSynonymAction extends FessApiAdminAction {
     public StreamResponse get$download(final String dictId, final DownloadBody body) {
     public StreamResponse get$download(final String dictId, final DownloadBody body) {
         body.dictId = dictId;
         body.dictId = dictId;
         validateApi(body, messages -> {});
         validateApi(body, messages -> {});
-        return synonymService.getSynonymFile(body.dictId).map(file -> {
-            return asStream(new File(file.getPath()).getName()).contentTypeOctetStream().stream(out -> {
-                file.writeOut(out);
-            });
-        }).orElseGet(() -> {
-            throwValidationErrorApi(messages -> messages.addErrorsFailedToDownloadProtwordsFile(GLOBAL));
-            return null;
-        });
+        return synonymService.getSynonymFile(body.dictId)
+                .map(file -> asStream(new File(file.getPath()).getName()).contentTypeOctetStream().stream(out -> {
+                    file.writeOut(out);
+                })).orElseGet(() -> {
+                    throwValidationErrorApi(messages -> messages.addErrorsFailedToDownloadProtwordsFile(GLOBAL));
+                    return null;
+                });
     }
     }
 
 
     protected EditBody createEditBody(final SynonymItem entity, final String dictId) {
     protected EditBody createEditBody(final SynonymItem entity, final String dictId) {

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

@@ -18,6 +18,7 @@ package org.codelibs.fess.app.web.api.admin.general;
 import javax.annotation.Resource;
 import javax.annotation.Resource;
 
 
 import org.codelibs.core.beans.util.BeanUtil;
 import org.codelibs.core.beans.util.BeanUtil;
+import org.codelibs.core.beans.util.CopyOptions;
 import org.codelibs.core.misc.DynamicProperties;
 import org.codelibs.core.misc.DynamicProperties;
 import org.codelibs.fess.app.web.admin.general.AdminGeneralAction;
 import org.codelibs.fess.app.web.admin.general.AdminGeneralAction;
 import org.codelibs.fess.app.web.api.ApiResult;
 import org.codelibs.fess.app.web.api.ApiResult;
@@ -57,7 +58,7 @@ public class ApiAdminGeneralAction extends FessApiAdminAction {
         validateApi(body, messages -> {});
         validateApi(body, messages -> {});
         final EditBody newBody = new EditBody();
         final EditBody newBody = new EditBody();
         AdminGeneralAction.updateForm(fessConfig, newBody);
         AdminGeneralAction.updateForm(fessConfig, newBody);
-        BeanUtil.copyBeanToBean(body, newBody, op -> op.excludeNull());
+        BeanUtil.copyBeanToBean(body, newBody, CopyOptions::excludeNull);
         AdminGeneralAction.updateConfig(fessConfig, newBody);
         AdminGeneralAction.updateConfig(fessConfig, newBody);
         return asJson(new ApiResponse().status(Status.OK).result());
         return asJson(new ApiResponse().status(Status.OK).result());
     }
     }

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

@@ -115,28 +115,28 @@ public abstract class FessBaseAction extends TypicalAction // has several interf
                 logger.debug("refresh user info: {}", result);
                 logger.debug("refresh user info: {}", result);
             }
             }
         });
         });
-        return viewHelper.getActionHook().godHandPrologue(runtime, r -> super.godHandPrologue(r));
+        return viewHelper.getActionHook().godHandPrologue(runtime, super::godHandPrologue);
     }
     }
 
 
     @Override
     @Override
     public final ActionResponse godHandMonologue(final ActionRuntime runtime) {
     public final ActionResponse godHandMonologue(final ActionRuntime runtime) {
-        return viewHelper.getActionHook().godHandMonologue(runtime, r -> super.godHandMonologue(r));
+        return viewHelper.getActionHook().godHandMonologue(runtime, super::godHandMonologue);
     }
     }
 
 
     @Override
     @Override
     public final void godHandEpilogue(final ActionRuntime runtime) {
     public final void godHandEpilogue(final ActionRuntime runtime) {
-        viewHelper.getActionHook().godHandEpilogue(runtime, r -> super.godHandEpilogue(r));
+        viewHelper.getActionHook().godHandEpilogue(runtime, super::godHandEpilogue);
     }
     }
 
 
     // #app_customize you can customize the action hook
     // #app_customize you can customize the action hook
     @Override
     @Override
     public ActionResponse hookBefore(final ActionRuntime runtime) { // application may override
     public ActionResponse hookBefore(final ActionRuntime runtime) { // application may override
-        return viewHelper.getActionHook().hookBefore(runtime, r -> super.hookBefore(r));
+        return viewHelper.getActionHook().hookBefore(runtime, super::hookBefore);
     }
     }
 
 
     @Override
     @Override
     public void hookFinally(final ActionRuntime runtime) {
     public void hookFinally(final ActionRuntime runtime) {
-        viewHelper.getActionHook().hookFinally(runtime, r -> super.hookFinally(r));
+        viewHelper.getActionHook().hookFinally(runtime, super::hookFinally);
     }
     }
 
 
     // ===================================================================================
     // ===================================================================================

+ 2 - 1
src/main/java/org/codelibs/fess/app/web/base/FessSearchAction.java

@@ -40,6 +40,7 @@ import org.codelibs.fess.helper.QueryHelper;
 import org.codelibs.fess.helper.RoleQueryHelper;
 import org.codelibs.fess.helper.RoleQueryHelper;
 import org.codelibs.fess.helper.SearchHelper;
 import org.codelibs.fess.helper.SearchHelper;
 import org.codelibs.fess.helper.UserInfoHelper;
 import org.codelibs.fess.helper.UserInfoHelper;
+import org.codelibs.fess.mylasta.action.FessUserBean;
 import org.codelibs.fess.thumbnail.ThumbnailManager;
 import org.codelibs.fess.thumbnail.ThumbnailManager;
 import org.codelibs.fess.util.ComponentUtil;
 import org.codelibs.fess.util.ComponentUtil;
 import org.dbflute.optional.OptionalThing;
 import org.dbflute.optional.OptionalThing;
@@ -127,7 +128,7 @@ public abstract class FessSearchAction extends FessBaseAction {
         runtime.registerData("langItems", systemHelper.getLanguageItems(locale));
         runtime.registerData("langItems", systemHelper.getLanguageItems(locale));
         final String username = systemHelper.getUsername();
         final String username = systemHelper.getUsername();
         runtime.registerData("username", username);
         runtime.registerData("username", username);
-        runtime.registerData("editableUser", fessLoginAssist.getSavedUserBean().map(user -> user.isEditable()).orElse(false));
+        runtime.registerData("editableUser", fessLoginAssist.getSavedUserBean().map(FessUserBean::isEditable).orElse(false));
         runtime.registerData("adminUser", fessConfig.isAdminUser(username));
         runtime.registerData("adminUser", fessConfig.isAdminUser(username));
 
 
         runtime.registerData("pageLoginLink", fessConfig.isLoginLinkEnabled());
         runtime.registerData("pageLoginLink", fessConfig.isLoginLinkEnabled());

+ 2 - 2
src/main/java/org/codelibs/fess/app/web/base/login/OpenIdConnectCredential.java

@@ -55,7 +55,7 @@ public class OpenIdConnectCredential implements LoginCredential, FessCredential
         if (StringUtil.isBlank(value)) {
         if (StringUtil.isBlank(value)) {
             return StringUtil.EMPTY_STRINGS;
             return StringUtil.EMPTY_STRINGS;
         } else {
         } else {
-            return split(value, ",").get(stream -> stream.filter(StringUtil::isNotBlank).map(s -> s.trim()).toArray(n -> new String[n]));
+            return split(value, ",").get(stream -> stream.filter(StringUtil::isNotBlank).map(String::trim).toArray(n -> new String[n]));
         }
         }
     }
     }
 
 
@@ -64,7 +64,7 @@ public class OpenIdConnectCredential implements LoginCredential, FessCredential
         if (StringUtil.isBlank(value)) {
         if (StringUtil.isBlank(value)) {
             return StringUtil.EMPTY_STRINGS;
             return StringUtil.EMPTY_STRINGS;
         } else {
         } else {
-            return split(value, ",").get(stream -> stream.filter(StringUtil::isNotBlank).map(s -> s.trim()).toArray(n -> new String[n]));
+            return split(value, ",").get(stream -> stream.filter(StringUtil::isNotBlank).map(String::trim).toArray(n -> new String[n]));
         }
         }
     }
     }
 
 

+ 2 - 1
src/main/java/org/codelibs/fess/app/web/logout/LogoutAction.java

@@ -17,6 +17,7 @@ package org.codelibs.fess.app.web.logout;
 
 
 import org.codelibs.fess.app.web.base.FessSearchAction;
 import org.codelibs.fess.app.web.base.FessSearchAction;
 import org.codelibs.fess.app.web.login.LoginAction;
 import org.codelibs.fess.app.web.login.LoginAction;
+import org.codelibs.fess.mylasta.action.FessUserBean;
 import org.lastaflute.web.Execute;
 import org.lastaflute.web.Execute;
 import org.lastaflute.web.response.HtmlResponse;
 import org.lastaflute.web.response.HtmlResponse;
 
 
@@ -40,7 +41,7 @@ public class LogoutAction extends FessSearchAction {
 
 
     @Execute
     @Execute
     public HtmlResponse index() {
     public HtmlResponse index() {
-        getUserBean().map(u -> u.getUserId()).orElse("-");
+        getUserBean().map(FessUserBean::getUserId).orElse("-");
         activityHelper.logout(getUserBean());
         activityHelper.logout(getUserBean());
         fessLoginAssist.logout();
         fessLoginAssist.logout();
         userInfoHelper.deleteUserCodeFromCookie(request);
         userInfoHelper.deleteUserCodeFromCookie(request);

+ 2 - 1
src/main/java/org/codelibs/fess/app/web/profile/ProfileAction.java

@@ -27,6 +27,7 @@ import org.codelibs.fess.app.service.UserService;
 import org.codelibs.fess.app.web.base.FessSearchAction;
 import org.codelibs.fess.app.web.base.FessSearchAction;
 import org.codelibs.fess.app.web.base.login.LocalUserCredential;
 import org.codelibs.fess.app.web.base.login.LocalUserCredential;
 import org.codelibs.fess.app.web.login.LoginAction;
 import org.codelibs.fess.app.web.login.LoginAction;
+import org.codelibs.fess.mylasta.action.FessUserBean;
 import org.lastaflute.web.Execute;
 import org.lastaflute.web.Execute;
 import org.lastaflute.web.response.HtmlResponse;
 import org.lastaflute.web.response.HtmlResponse;
 import org.lastaflute.web.validation.VaErrorHook;
 import org.lastaflute.web.validation.VaErrorHook;
@@ -65,7 +66,7 @@ public class ProfileAction extends FessSearchAction {
             return asIndexHtml();
             return asIndexHtml();
         };
         };
         validatePasswordForm(form, toIndexPage);
         validatePasswordForm(form, toIndexPage);
-        final String username = getUserBean().map(u -> u.getUserId()).get();
+        final String username = getUserBean().map(FessUserBean::getUserId).get();
         try {
         try {
             userService.changePassword(username, form.newPassword);
             userService.changePassword(username, form.newPassword);
             saveInfo(messages -> messages.addSuccessChangedPassword(GLOBAL));
             saveInfo(messages -> messages.addSuccessChangedPassword(GLOBAL));

+ 3 - 2
src/main/java/org/codelibs/fess/ds/callback/FileListIndexUpdateCallbackImpl.java

@@ -33,6 +33,7 @@ import org.codelibs.fess.Constants;
 import org.codelibs.fess.crawler.builder.RequestDataBuilder;
 import org.codelibs.fess.crawler.builder.RequestDataBuilder;
 import org.codelibs.fess.crawler.client.CrawlerClient;
 import org.codelibs.fess.crawler.client.CrawlerClient;
 import org.codelibs.fess.crawler.client.CrawlerClientFactory;
 import org.codelibs.fess.crawler.client.CrawlerClientFactory;
+import org.codelibs.fess.crawler.entity.RequestData;
 import org.codelibs.fess.crawler.entity.ResponseData;
 import org.codelibs.fess.crawler.entity.ResponseData;
 import org.codelibs.fess.crawler.entity.ResultData;
 import org.codelibs.fess.crawler.entity.ResultData;
 import org.codelibs.fess.crawler.exception.ChildUrlsException;
 import org.codelibs.fess.crawler.exception.ChildUrlsException;
@@ -171,7 +172,7 @@ public class FileListIndexUpdateCallbackImpl implements IndexUpdateCallback {
                     } else {
                     } else {
                         ignoreFields = new String[] { Constants.INDEXING_TARGET, Constants.SESSION_ID };
                         ignoreFields = new String[] { Constants.INDEXING_TARGET, Constants.SESSION_ID };
                     }
                     }
-                    stream(ignoreFields).of(stream -> stream.map(s -> s.trim()).forEach(s -> dataMap.remove(s)));
+                    stream(ignoreFields).of(stream -> stream.map(String::trim).forEach(s -> dataMap.remove(s)));
 
 
                     indexUpdateCallback.store(paramMap, dataMap);
                     indexUpdateCallback.store(paramMap, dataMap);
                 } else {
                 } else {
@@ -182,7 +183,7 @@ public class FileListIndexUpdateCallbackImpl implements IndexUpdateCallback {
             return null;
             return null;
         } catch (final ChildUrlsException e) {
         } catch (final ChildUrlsException e) {
             throw new DataStoreCrawlingException(url, "Redirected to "
             throw new DataStoreCrawlingException(url, "Redirected to "
-                    + e.getChildUrlList().stream().map(r -> r.getUrl()).collect(Collectors.joining(", ")), e);
+                    + e.getChildUrlList().stream().map(RequestData::getUrl).collect(Collectors.joining(", ")), e);
         } catch (final Exception e) {
         } catch (final Exception e) {
             throw new DataStoreCrawlingException(url, "Failed to add: " + dataMap, e);
             throw new DataStoreCrawlingException(url, "Failed to add: " + dataMap, e);
         }
         }

+ 4 - 4
src/main/java/org/codelibs/fess/es/client/FessEsClient.java

@@ -552,18 +552,18 @@ public class FessEsClient implements Client {
                                 final Map<String, Map<String, String>> result =
                                 final Map<String, Map<String, String>> result =
                                         mapper.readValue(line, new TypeReference<Map<String, Map<String, String>>>() {
                                         mapper.readValue(line, new TypeReference<Map<String, Map<String, String>>>() {
                                         });
                                         });
-                                if (result.keySet().contains("index")) {
+                                if (result.containsKey("index")) {
                                     return line;
                                     return line;
-                                } else if (result.keySet().contains("update")) {
+                                } else if (result.containsKey("update")) {
                                     return line;
                                     return line;
-                                } else if (result.keySet().contains("delete")) {
+                                } else if (result.containsKey("delete")) {
                                     return StringUtil.EMPTY;
                                     return StringUtil.EMPTY;
                                 }
                                 }
                             } else {
                             } else {
                                 final Map<String, Map<String, String>> result =
                                 final Map<String, Map<String, String>> result =
                                         mapper.readValue(prev, new TypeReference<Map<String, Map<String, String>>>() {
                                         mapper.readValue(prev, new TypeReference<Map<String, Map<String, String>>>() {
                                         });
                                         });
-                                if (result.keySet().contains("index")) {
+                                if (result.containsKey("index")) {
                                     final IndexRequestBuilder requestBuilder =
                                     final IndexRequestBuilder requestBuilder =
                                             client.prepareIndex().setIndex(configIndex).setId(result.get("index").get("_id"))
                                             client.prepareIndex().setIndex(configIndex).setId(result.get("index").get("_id"))
                                                     .setSource(line, XContentType.JSON);
                                                     .setSource(line, XContentType.JSON);

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

@@ -21,6 +21,7 @@ import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashMap;
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
+import java.util.Map.Entry;
 import java.util.Properties;
 import java.util.Properties;
 import java.util.function.Supplier;
 import java.util.function.Supplier;
 import java.util.regex.Pattern;
 import java.util.regex.Pattern;
@@ -312,7 +313,7 @@ public class DataConfig extends BsDataConfig implements CrawlingConfig {
             final String prefix = CRAWLER_WEB_AUTH + "." + webAuthName + ".";
             final String prefix = CRAWLER_WEB_AUTH + "." + webAuthName + ".";
             final Map<String, String> parameterMap =
             final Map<String, String> parameterMap =
                     paramMap.entrySet().stream().filter(e -> e.getKey().startsWith(prefix))
                     paramMap.entrySet().stream().filter(e -> e.getKey().startsWith(prefix))
-                            .collect(Collectors.toMap(e -> e.getKey().substring(prefix.length()), e -> e.getValue()));
+                            .collect(Collectors.toMap(e -> e.getKey().substring(prefix.length()), Entry::getValue));
             authScheme = new FormScheme(parameterMap);
             authScheme = new FormScheme(parameterMap);
         }
         }
         return authScheme;
         return authScheme;

+ 2 - 1
src/main/java/org/codelibs/fess/es/config/exentity/ScheduledJob.java

@@ -20,6 +20,7 @@ import org.codelibs.fess.Constants;
 import org.codelibs.fess.es.config.bsentity.BsScheduledJob;
 import org.codelibs.fess.es.config.bsentity.BsScheduledJob;
 import org.codelibs.fess.exception.JobNotFoundException;
 import org.codelibs.fess.exception.JobNotFoundException;
 import org.codelibs.fess.util.ComponentUtil;
 import org.codelibs.fess.util.ComponentUtil;
+import org.lastaflute.job.LaScheduledJob;
 import org.lastaflute.job.key.LaJobUnique;
 import org.lastaflute.job.key.LaJobUnique;
 
 
 /**
 /**
@@ -51,7 +52,7 @@ public class ScheduledJob extends BsScheduledJob {
     }
     }
 
 
     public boolean isRunning() {
     public boolean isRunning() {
-        return ComponentUtil.getJobManager().findJobByUniqueOf(LaJobUnique.of(getId())).map(job -> job.isExecutingNow()).orElse(false);
+        return ComponentUtil.getJobManager().findJobByUniqueOf(LaJobUnique.of(getId())).map(LaScheduledJob::isExecutingNow).orElse(false);
     }
     }
 
 
     public void start() {
     public void start() {

+ 1 - 2
src/main/java/org/codelibs/fess/es/user/exbhv/GroupBhv.java

@@ -47,8 +47,7 @@ public class GroupBhv extends BsGroupBhv {
             final RESULT result = entityType.newInstance();
             final RESULT result = entityType.newInstance();
             result.setName(DfTypeUtil.toString(source.get("name")));
             result.setName(DfTypeUtil.toString(source.get("name")));
             result.setAttributes(source.entrySet().stream().filter(e -> !"name".equals(e.getKey()))
             result.setAttributes(source.entrySet().stream().filter(e -> !"name".equals(e.getKey()))
-                    .map(e -> new Pair<>(e.getKey(), (String) e.getValue()))
-                    .collect(Collectors.toMap(t -> t.getFirst(), t -> t.getSecond())));
+                    .map(e -> new Pair<>(e.getKey(), (String) e.getValue())).collect(Collectors.toMap(Pair::getFirst, Pair::getSecond)));
             return result;
             return result;
         } catch (InstantiationException | IllegalAccessException e) {
         } catch (InstantiationException | IllegalAccessException e) {
             final String msg = "Cannot create a new instance: " + entityType.getName();
             final String msg = "Cannot create a new instance: " + entityType.getName();

+ 1 - 2
src/main/java/org/codelibs/fess/es/user/exbhv/RoleBhv.java

@@ -47,8 +47,7 @@ public class RoleBhv extends BsRoleBhv {
             final RESULT result = entityType.newInstance();
             final RESULT result = entityType.newInstance();
             result.setName(DfTypeUtil.toString(source.get("name")));
             result.setName(DfTypeUtil.toString(source.get("name")));
             result.setAttributes(source.entrySet().stream().filter(e -> !"name".equals(e.getKey()))
             result.setAttributes(source.entrySet().stream().filter(e -> !"name".equals(e.getKey()))
-                    .map(e -> new Pair<>(e.getKey(), (String) e.getValue()))
-                    .collect(Collectors.toMap(t -> t.getFirst(), t -> t.getSecond())));
+                    .map(e -> new Pair<>(e.getKey(), (String) e.getValue())).collect(Collectors.toMap(Pair::getFirst, Pair::getSecond)));
             return result;
             return result;
         } catch (InstantiationException | IllegalAccessException e) {
         } catch (InstantiationException | IllegalAccessException e) {
             final String msg = "Cannot create a new instance: " + entityType.getName();
             final String msg = "Cannot create a new instance: " + entityType.getName();

+ 1 - 2
src/main/java/org/codelibs/fess/es/user/exbhv/UserBhv.java

@@ -56,8 +56,7 @@ public class UserBhv extends BsUserBhv {
             result.setGroups(toStringArray(source.get(GROUPS)));
             result.setGroups(toStringArray(source.get(GROUPS)));
             result.setRoles(toStringArray(source.get(ROLES)));
             result.setRoles(toStringArray(source.get(ROLES)));
             result.setAttributes(source.entrySet().stream().filter(e -> isAttribute(e.getKey()))
             result.setAttributes(source.entrySet().stream().filter(e -> isAttribute(e.getKey()))
-                    .map(e -> new Pair<>(e.getKey(), (String) e.getValue()))
-                    .collect(Collectors.toMap(t -> t.getFirst(), t -> t.getSecond())));
+                    .map(e -> new Pair<>(e.getKey(), (String) e.getValue())).collect(Collectors.toMap(Pair::getFirst, Pair::getSecond)));
             return result;
             return result;
         } catch (InstantiationException | IllegalAccessException e) {
         } catch (InstantiationException | IllegalAccessException e) {
             final String msg = "Cannot create a new instance: " + entityType.getName();
             final String msg = "Cannot create a new instance: " + entityType.getName();

+ 4 - 4
src/main/java/org/codelibs/fess/helper/ActivityHelper.java

@@ -55,7 +55,7 @@ public class ActivityHelper {
         buf.append(Action.LOGIN);
         buf.append(Action.LOGIN);
         buf.append('\t');
         buf.append('\t');
         buf.append("user:");
         buf.append("user:");
-        buf.append(user.map(u -> u.getUserId()).orElse("-"));
+        buf.append(user.map(FessUserBean::getUserId).orElse("-"));
         buf.append('\t');
         buf.append('\t');
         buf.append("permissions:");
         buf.append("permissions:");
         buf.append(user.map(u -> stream(u.getPermissions()).get(stream -> stream.collect(Collectors.joining(permissionSeparator))))
         buf.append(user.map(u -> stream(u.getPermissions()).get(stream -> stream.collect(Collectors.joining(permissionSeparator))))
@@ -88,7 +88,7 @@ public class ActivityHelper {
         buf.append(Action.LOGOUT);
         buf.append(Action.LOGOUT);
         buf.append('\t');
         buf.append('\t');
         buf.append("user:");
         buf.append("user:");
-        buf.append(user.map(u -> u.getUserId()).orElse("-"));
+        buf.append(user.map(FessUserBean::getUserId).orElse("-"));
         buf.append('\t');
         buf.append('\t');
         buf.append("permissions:");
         buf.append("permissions:");
         buf.append(user.map(u -> stream(u.getPermissions()).get(stream -> stream.collect(Collectors.joining(permissionSeparator))))
         buf.append(user.map(u -> stream(u.getPermissions()).get(stream -> stream.collect(Collectors.joining(permissionSeparator))))
@@ -102,7 +102,7 @@ public class ActivityHelper {
         buf.append(Action.ACCESS);
         buf.append(Action.ACCESS);
         buf.append('\t');
         buf.append('\t');
         buf.append("user:");
         buf.append("user:");
-        buf.append(user.map(u -> u.getUserId()).orElse("-"));
+        buf.append(user.map(FessUserBean::getUserId).orElse("-"));
         buf.append('\t');
         buf.append('\t');
         buf.append("path:");
         buf.append("path:");
         buf.append(path);
         buf.append(path);
@@ -118,7 +118,7 @@ public class ActivityHelper {
         buf.append(Action.UPDATE_PERMISSION);
         buf.append(Action.UPDATE_PERMISSION);
         buf.append('\t');
         buf.append('\t');
         buf.append("user:");
         buf.append("user:");
-        buf.append(user.map(u -> u.getUserId()).orElse("-"));
+        buf.append(user.map(FessUserBean::getUserId).orElse("-"));
         buf.append('\t');
         buf.append('\t');
         buf.append("permissions:");
         buf.append("permissions:");
         buf.append(user.map(u -> stream(u.getPermissions()).get(stream -> stream.collect(Collectors.joining(permissionSeparator))))
         buf.append(user.map(u -> stream(u.getPermissions()).get(stream -> stream.collect(Collectors.joining(permissionSeparator))))

+ 1 - 2
src/main/java/org/codelibs/fess/helper/DocumentHelper.java

@@ -178,8 +178,7 @@ public class DocumentHelper {
             throw new CrawlingAccessException("sessionId is null.");
             throw new CrawlingAccessException("sessionId is null.");
         }
         }
 
 
-        final CrawlerClientFactory crawlerClientFactory =
-                crawlingConfig.initializeClientFactory(() -> ComponentUtil.getCrawlerClientFactory());
+        final CrawlerClientFactory crawlerClientFactory = crawlingConfig.initializeClientFactory(ComponentUtil::getCrawlerClientFactory);
         final CrawlerClient client = crawlerClientFactory.getClient(url);
         final CrawlerClient client = crawlerClientFactory.getClient(url);
         if (client == null) {
         if (client == null) {
             throw new CrawlingAccessException("CrawlerClient is null for " + url);
             throw new CrawlingAccessException("CrawlerClient is null for " + url);

+ 6 - 6
src/main/java/org/codelibs/fess/helper/KeyMatchHelper.java

@@ -118,12 +118,12 @@ public class KeyMatchHelper {
     protected List<Map<String, Object>> getDocumentList(final KeyMatch keyMatch) {
     protected List<Map<String, Object>> getDocumentList(final KeyMatch keyMatch) {
         final FessEsClient fessEsClient = ComponentUtil.getFessEsClient();
         final FessEsClient fessEsClient = ComponentUtil.getFessEsClient();
         final FessConfig fessConfig = ComponentUtil.getFessConfig();
         final FessConfig fessConfig = ComponentUtil.getFessConfig();
-        return fessEsClient.getDocumentList(fessConfig.getIndexDocumentSearchIndex(),
-                searchRequestBuilder -> {
-                    return SearchConditionBuilder.builder(searchRequestBuilder.setPreference(Constants.SEARCH_PREFERENCE_LOCAL))
-                            .searchRequestType(SearchRequestType.ADMIN_SEARCH).size(keyMatch.getMaxSize()).query(keyMatch.getQuery())
-                            .responseFields(new String[] { fessConfig.getIndexFieldDocId() }).build();
-                });
+        return fessEsClient.getDocumentList(
+                fessConfig.getIndexDocumentSearchIndex(),
+                searchRequestBuilder -> SearchConditionBuilder
+                        .builder(searchRequestBuilder.setPreference(Constants.SEARCH_PREFERENCE_LOCAL))
+                        .searchRequestType(SearchRequestType.ADMIN_SEARCH).size(keyMatch.getMaxSize()).query(keyMatch.getQuery())
+                        .responseFields(new String[] { fessConfig.getIndexFieldDocId() }).build());
     }
     }
 
 
     public long getReloadInterval() {
     public long getReloadInterval() {

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

@@ -321,7 +321,7 @@ public class QueryHelper {
                     fessConfig.getIndexFieldVersion()));
                     fessConfig.getIndexFieldVersion()));
         }
         }
         split(fessConfig.getQueryAdditionalAnalyzedFields(), ",").of(
         split(fessConfig.getQueryAdditionalAnalyzedFields(), ",").of(
-                stream -> stream.map(s -> s.trim()).filter(StringUtil::isNotBlank).forEach(s -> notAnalyzedFieldSet.remove(s)));
+                stream -> stream.map(String::trim).filter(StringUtil::isNotBlank).forEach(s -> notAnalyzedFieldSet.remove(s)));
         split(fessConfig.getQueryAdditionalDefaultFields(), ",").of(stream -> stream.filter(StringUtil::isNotBlank).map(s -> {
         split(fessConfig.getQueryAdditionalDefaultFields(), ",").of(stream -> stream.filter(StringUtil::isNotBlank).map(s -> {
             final Pair<String, Float> pair = new Pair<>();
             final Pair<String, Float> pair = new Pair<>();
             final String[] values = s.split(":");
             final String[] values = s.split(":");
@@ -667,7 +667,7 @@ public class QueryHelper {
                     "Unknown phrase query: " + query);
                     "Unknown phrase query: " + query);
         }
         }
         final String field = terms[0].field();
         final String field = terms[0].field();
-        final String[] texts = stream(terms).get(stream -> stream.map(term -> term.text()).toArray(n -> new String[n]));
+        final String[] texts = stream(terms).get(stream -> stream.map(Term::text).toArray(n -> new String[n]));
         final String text = String.join(" ", texts);
         final String text = String.join(" ", texts);
         context.addFieldLog(field, text);
         context.addFieldLog(field, text);
         stream(texts).of(stream -> stream.forEach(t -> context.addHighlightedQuery(t)));
         stream(texts).of(stream -> stream.forEach(t -> context.addHighlightedQuery(t)));

+ 2 - 1
src/main/java/org/codelibs/fess/helper/RoleQueryHelper.java

@@ -38,6 +38,7 @@ import org.codelibs.fess.exception.InvalidAccessTokenException;
 import org.codelibs.fess.mylasta.action.FessUserBean;
 import org.codelibs.fess.mylasta.action.FessUserBean;
 import org.codelibs.fess.mylasta.direction.FessConfig;
 import org.codelibs.fess.mylasta.direction.FessConfig;
 import org.codelibs.fess.util.ComponentUtil;
 import org.codelibs.fess.util.ComponentUtil;
+import org.lastaflute.web.login.LoginManager;
 import org.lastaflute.web.servlet.request.RequestManager;
 import org.lastaflute.web.servlet.request.RequestManager;
 import org.lastaflute.web.util.LaRequestUtil;
 import org.lastaflute.web.util.LaRequestUtil;
 
 
@@ -137,7 +138,7 @@ public class RoleQueryHelper {
                         });
                         });
             } catch (final RuntimeException e) {
             } catch (final RuntimeException e) {
                 try {
                 try {
-                    requestManager.findLoginManager(FessUserBean.class).ifPresent(manager -> manager.logout());
+                    requestManager.findLoginManager(FessUserBean.class).ifPresent(LoginManager::logout);
                 } catch (final Exception e1) {
                 } catch (final Exception e1) {
                     // ignore
                     // ignore
                 }
                 }

+ 2 - 1
src/main/java/org/codelibs/fess/helper/SearchHelper.java

@@ -22,6 +22,7 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.List;
 import java.util.Locale;
 import java.util.Locale;
 import java.util.Map;
 import java.util.Map;
+import java.util.Map.Entry;
 import java.util.Set;
 import java.util.Set;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.ExecutionException;
 import java.util.function.Consumer;
 import java.util.function.Consumer;
@@ -207,7 +208,7 @@ public class SearchHelper {
                     final Map<String, DocumentField> fields = hit.getFields();
                     final Map<String, DocumentField> fields = hit.getFields();
                     if (fields != null) {
                     if (fields != null) {
                         docMap.putAll(fields.entrySet().stream()
                         docMap.putAll(fields.entrySet().stream()
-                                .collect(Collectors.toMap(e -> e.getKey(), e -> (Object) e.getValue().getValues())));
+                                .collect(Collectors.toMap(Entry::getKey, e -> (Object) e.getValue().getValues())));
                     }
                     }
 
 
                     final ViewHelper viewHelper = ComponentUtil.getViewHelper();
                     final ViewHelper viewHelper = ComponentUtil.getViewHelper();

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

@@ -127,11 +127,11 @@ public class SuggestHelper {
     public void storeSearchLog() {
     public void storeSearchLog() {
         final SearchLogBhv searchLogBhv = ComponentUtil.getComponent(SearchLogBhv.class);
         final SearchLogBhv searchLogBhv = ComponentUtil.getComponent(SearchLogBhv.class);
 
 
-        searchLogBhv.selectBulk((cb) -> {
+        searchLogBhv.selectBulk(cb -> {
             final String from = LocalDateTime.now().minusDays(fessConfig.getPurgeSuggestSearchLogDay()).format(DateTimeFormatter.ISO_DATE);
             final String from = LocalDateTime.now().minusDays(fessConfig.getPurgeSuggestSearchLogDay()).format(DateTimeFormatter.ISO_DATE);
             cb.query().addQuery(QueryBuilders.rangeQuery("requestedAt").gte(from));
             cb.query().addQuery(QueryBuilders.rangeQuery("requestedAt").gte(from));
             cb.query().addOrderBy_RequestedAt_Asc();
             cb.query().addOrderBy_RequestedAt_Asc();
-        }, (searchLogsList) -> indexFromSearchLog(searchLogsList));
+        }, searchLogsList -> indexFromSearchLog(searchLogsList));
     }
     }
 
 
     public void indexFromSearchLog(final List<SearchLog> searchLogList) {
     public void indexFromSearchLog(final List<SearchLog> searchLogList) {

+ 2 - 4
src/main/java/org/codelibs/fess/helper/SystemHelper.java

@@ -151,7 +151,7 @@ public class SystemHelper {
                             }
                             }
                         });
                         });
 
 
-        ComponentUtil.doInitProcesses(p -> p.run());
+        ComponentUtil.doInitProcesses(Runnable::run);
 
 
         parseProjectProperties();
         parseProjectProperties();
     }
     }
@@ -186,9 +186,7 @@ public class SystemHelper {
 
 
     public String getUsername() {
     public String getUsername() {
         final RequestManager requestManager = ComponentUtil.getRequestManager();
         final RequestManager requestManager = ComponentUtil.getRequestManager();
-        return requestManager.findUserBean(FessUserBean.class).map(user -> {
-            return user.getUserId();
-        }).orElse(Constants.GUEST_USER);
+        return requestManager.findUserBean(FessUserBean.class).map(user -> user.getUserId()).orElse(Constants.GUEST_USER);
     }
     }
 
 
     public Date getCurrentTime() {
     public Date getCurrentTime() {

+ 1 - 1
src/main/java/org/codelibs/fess/mylasta/direction/FessFwAssistantDirector.java

@@ -157,7 +157,7 @@ public class FessFwAssistantDirector extends CachedFwAssistantDirector {
         direction.directAdjustment(createActionAdjustmentProvider());
         direction.directAdjustment(createActionAdjustmentProvider());
         direction.directMessage(createMessageNameList(), "fess_label");
         direction.directMessage(createMessageNameList(), "fess_label");
         direction.directApiCall(createApiFailureHook());
         direction.directApiCall(createApiFailureHook());
-        direction.directMultipart(() -> new FessMultipartRequestHandler());
+        direction.directMultipart(FessMultipartRequestHandler::new);
         direction.directHtmlRendering(new JspHtmlRenderingProvider() {
         direction.directHtmlRendering(new JspHtmlRenderingProvider() {
             @Override
             @Override
             protected String getShowErrorsForwardPath(final ActionRuntime runtime) {
             protected String getShowErrorsForwardPath(final ActionRuntime runtime) {

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

@@ -287,8 +287,7 @@ public interface FessProp {
                                         })
                                         })
                                         .filter(o -> o != null && keySet.add(o.getFirst()))
                                         .filter(o -> o != null && keySet.add(o.getFirst()))
                                         .collect(HashMap<String, List<String>>::new,
                                         .collect(HashMap<String, List<String>>::new,
-                                                (m, d) -> m.put(d.getFirst(), Arrays.asList(d.getSecond().split(","))),
-                                                (m, u) -> m.putAll(u)));
+                                                (m, d) -> m.put(d.getFirst(), Arrays.asList(d.getSecond().split(","))), HashMap::putAll));
             }
             }
             propMap.put(DEFAULT_LABEL_VALUES, map);
             propMap.put(DEFAULT_LABEL_VALUES, map);
         }
         }
@@ -823,7 +822,7 @@ public interface FessProp {
 
 
     default String[] getIndexBackupAllTargets() {
     default String[] getIndexBackupAllTargets() {
         return split(getIndexBackupTargets() + "," + getIndexBackupLogTargets(), ",").get(
         return split(getIndexBackupTargets() + "," + getIndexBackupLogTargets(), ",").get(
-                stream -> stream.filter(StringUtil::isNotBlank).map(s -> s.trim()).toArray(n -> new String[n]));
+                stream -> stream.filter(StringUtil::isNotBlank).map(String::trim).toArray(n -> new String[n]));
     }
     }
 
 
     String getJobSystemJobIds();
     String getJobSystemJobIds();
@@ -852,7 +851,7 @@ public interface FessProp {
                     return new Pair<>(x, y);
                     return new Pair<>(x, y);
                 }
                 }
                 return null;
                 return null;
-            }).filter(v -> v != null).collect(Collectors.toMap(e -> e.getFirst(), e -> e.getSecond())));
+            }).filter(v -> v != null).collect(Collectors.toMap(Pair::getFirst, Pair::getSecond)));
             propMap.put(SMB_AVAILABLE_SID_TYPES, params);
             propMap.put(SMB_AVAILABLE_SID_TYPES, params);
         }
         }
         return params.get(sidType);
         return params.get(sidType);
@@ -1016,7 +1015,7 @@ public interface FessProp {
                     return new Pair<>(values[0], values[1]);
                     return new Pair<>(values[0], values[1]);
                 }
                 }
                 return null;
                 return null;
-            }).collect(Collectors.toMap(Pair::getFirst, d -> d.getSecond())));
+            }).collect(Collectors.toMap(Pair::getFirst, Pair::getSecond)));
             propMap.put(QUERY_LANGUAGE_MAPPING, params);
             propMap.put(QUERY_LANGUAGE_MAPPING, params);
         }
         }
         final Map<String, String> mapping = params;
         final Map<String, String> mapping = params;
@@ -1041,7 +1040,7 @@ public interface FessProp {
         if (StringUtil.isNotBlank(getQueryDefaultLanguages())) {
         if (StringUtil.isNotBlank(getQueryDefaultLanguages())) {
             String[] langs = (String[]) propMap.get(QUERY_DEFAULT_LANGUAGES);
             String[] langs = (String[]) propMap.get(QUERY_DEFAULT_LANGUAGES);
             if (langs == null) {
             if (langs == null) {
-                langs = split(getQueryDefaultLanguages(), ",").get(stream -> stream.map(s -> s.trim()).toArray(n -> new String[n]));
+                langs = split(getQueryDefaultLanguages(), ",").get(stream -> stream.map(String::trim).toArray(n -> new String[n]));
                 propMap.put(QUERY_DEFAULT_LANGUAGES, langs);
                 propMap.put(QUERY_DEFAULT_LANGUAGES, langs);
 
 
             }
             }
@@ -1215,7 +1214,7 @@ public interface FessProp {
 
 
     default String[] getQueryGeoFieldsAsArray() {
     default String[] getQueryGeoFieldsAsArray() {
         return split(getQueryGeoFields(), ",").get(
         return split(getQueryGeoFields(), ",").get(
-                stream -> stream.map(s -> s.trim()).filter(StringUtil::isNotBlank).toArray(n -> new String[n]));
+                stream -> stream.map(String::trim).filter(StringUtil::isNotBlank).toArray(n -> new String[n]));
     }
     }
 
 
     String getSuggestSearchLogPermissions();
     String getSuggestSearchLogPermissions();
@@ -1265,7 +1264,7 @@ public interface FessProp {
         if (fieldSet == null) {
         if (fieldSet == null) {
             fieldSet =
             fieldSet =
                     split(getIndexAdminArrayFields(), ",").get(
                     split(getIndexAdminArrayFields(), ",").get(
-                            stream -> stream.filter(StringUtil::isNotBlank).map(s -> s.trim()).collect(Collectors.toSet()));
+                            stream -> stream.filter(StringUtil::isNotBlank).map(String::trim).collect(Collectors.toSet()));
             propMap.put(INDEX_ADMIN_ARRAY_FIELD_SET, fieldSet);
             propMap.put(INDEX_ADMIN_ARRAY_FIELD_SET, fieldSet);
         }
         }
         return fieldSet;
         return fieldSet;
@@ -1278,7 +1277,7 @@ public interface FessProp {
     default List<String> invalidIndexArrayFields(final Map<String, Object> source) {
     default List<String> invalidIndexArrayFields(final Map<String, Object> source) {
         // TODO always returns empty list
         // TODO always returns empty list
         return split(getIndexAdminArrayFields(), ",").get(
         return split(getIndexAdminArrayFields(), ",").get(
-                stream -> stream.filter(StringUtil::isNotBlank).map(s -> s.trim()).filter(s -> isNonEmptyValue(source.get(s)))
+                stream -> stream.filter(StringUtil::isNotBlank).map(String::trim).filter(s -> isNonEmptyValue(source.get(s)))
                         .filter(s -> false) // TODO
                         .filter(s -> false) // TODO
                         .collect(Collectors.toList()));
                         .collect(Collectors.toList()));
     }
     }
@@ -1291,7 +1290,7 @@ public interface FessProp {
         if (fieldSet == null) {
         if (fieldSet == null) {
             fieldSet =
             fieldSet =
                     split(getIndexAdminDateFields(), ",").get(
                     split(getIndexAdminDateFields(), ",").get(
-                            stream -> stream.filter(StringUtil::isNotBlank).map(s -> s.trim()).collect(Collectors.toSet()));
+                            stream -> stream.filter(StringUtil::isNotBlank).map(String::trim).collect(Collectors.toSet()));
             propMap.put(INDEX_ADMIN_DATE_FIELD_SET, fieldSet);
             propMap.put(INDEX_ADMIN_DATE_FIELD_SET, fieldSet);
         }
         }
         return fieldSet;
         return fieldSet;
@@ -1303,7 +1302,7 @@ public interface FessProp {
 
 
     default List<String> invalidIndexDateFields(final Map<String, Object> source) {
     default List<String> invalidIndexDateFields(final Map<String, Object> source) {
         return split(getIndexAdminDateFields(), ",").get(
         return split(getIndexAdminDateFields(), ",").get(
-                stream -> stream.filter(StringUtil::isNotBlank).map(s -> s.trim()).filter(s -> isNonEmptyValue(source.get(s)))
+                stream -> stream.filter(StringUtil::isNotBlank).map(String::trim).filter(s -> isNonEmptyValue(source.get(s)))
                         .filter(s -> !validateDateTimeString(source.get(s))).collect(Collectors.toList()));
                         .filter(s -> !validateDateTimeString(source.get(s))).collect(Collectors.toList()));
     }
     }
 
 
@@ -1322,7 +1321,7 @@ public interface FessProp {
         if (fieldSet == null) {
         if (fieldSet == null) {
             fieldSet =
             fieldSet =
                     split(getIndexAdminIntegerFields(), ",").get(
                     split(getIndexAdminIntegerFields(), ",").get(
-                            stream -> stream.filter(StringUtil::isNotBlank).map(s -> s.trim()).collect(Collectors.toSet()));
+                            stream -> stream.filter(StringUtil::isNotBlank).map(String::trim).collect(Collectors.toSet()));
             propMap.put(INDEX_ADMIN_INTEGER_FIELD_SET, fieldSet);
             propMap.put(INDEX_ADMIN_INTEGER_FIELD_SET, fieldSet);
         }
         }
         return fieldSet;
         return fieldSet;
@@ -1335,7 +1334,7 @@ public interface FessProp {
     default List<String> invalidIndexIntegerFields(final Map<String, Object> source) {
     default List<String> invalidIndexIntegerFields(final Map<String, Object> source) {
         final IntegerTypeValidator integerValidator = new IntegerTypeValidator();
         final IntegerTypeValidator integerValidator = new IntegerTypeValidator();
         return split(getIndexAdminIntegerFields(), ",").get(
         return split(getIndexAdminIntegerFields(), ",").get(
-                stream -> stream.filter(StringUtil::isNotBlank).map(s -> s.trim()).filter(s -> isNonEmptyValue(source.get(s)))
+                stream -> stream.filter(StringUtil::isNotBlank).map(String::trim).filter(s -> isNonEmptyValue(source.get(s)))
                         .filter(s -> !integerValidator.isValid(source.get(s).toString(), null)).collect(Collectors.toList()));
                         .filter(s -> !integerValidator.isValid(source.get(s).toString(), null)).collect(Collectors.toList()));
     }
     }
 
 
@@ -1347,7 +1346,7 @@ public interface FessProp {
         if (fieldSet == null) {
         if (fieldSet == null) {
             fieldSet =
             fieldSet =
                     split(getIndexAdminLongFields(), ",").get(
                     split(getIndexAdminLongFields(), ",").get(
-                            stream -> stream.filter(StringUtil::isNotBlank).map(s -> s.trim()).collect(Collectors.toSet()));
+                            stream -> stream.filter(StringUtil::isNotBlank).map(String::trim).collect(Collectors.toSet()));
             propMap.put(INDEX_ADMIN_LONG_FIELD_SET, fieldSet);
             propMap.put(INDEX_ADMIN_LONG_FIELD_SET, fieldSet);
         }
         }
         return fieldSet;
         return fieldSet;
@@ -1360,7 +1359,7 @@ public interface FessProp {
     default List<String> invalidIndexLongFields(final Map<String, Object> source) {
     default List<String> invalidIndexLongFields(final Map<String, Object> source) {
         final LongTypeValidator longValidator = new LongTypeValidator();
         final LongTypeValidator longValidator = new LongTypeValidator();
         return split(getIndexAdminLongFields(), ",").get(
         return split(getIndexAdminLongFields(), ",").get(
-                stream -> stream.filter(StringUtil::isNotBlank).map(s -> s.trim()).filter(s -> isNonEmptyValue(source.get(s)))
+                stream -> stream.filter(StringUtil::isNotBlank).map(String::trim).filter(s -> isNonEmptyValue(source.get(s)))
                         .filter(s -> !longValidator.isValid(source.get(s).toString(), null)).collect(Collectors.toList()));
                         .filter(s -> !longValidator.isValid(source.get(s).toString(), null)).collect(Collectors.toList()));
     }
     }
 
 
@@ -1372,7 +1371,7 @@ public interface FessProp {
         if (fieldSet == null) {
         if (fieldSet == null) {
             fieldSet =
             fieldSet =
                     split(getIndexAdminFloatFields(), ",").get(
                     split(getIndexAdminFloatFields(), ",").get(
-                            stream -> stream.filter(StringUtil::isNotBlank).map(s -> s.trim()).collect(Collectors.toSet()));
+                            stream -> stream.filter(StringUtil::isNotBlank).map(String::trim).collect(Collectors.toSet()));
             propMap.put(INDEX_ADMIN_FLOAT_FIELD_SET, fieldSet);
             propMap.put(INDEX_ADMIN_FLOAT_FIELD_SET, fieldSet);
         }
         }
         return fieldSet;
         return fieldSet;
@@ -1385,7 +1384,7 @@ public interface FessProp {
     default List<String> invalidIndexFloatFields(final Map<String, Object> source) {
     default List<String> invalidIndexFloatFields(final Map<String, Object> source) {
         final FloatTypeValidator floatValidator = new FloatTypeValidator();
         final FloatTypeValidator floatValidator = new FloatTypeValidator();
         return split(getIndexAdminFloatFields(), ",").get(
         return split(getIndexAdminFloatFields(), ",").get(
-                stream -> stream.filter(StringUtil::isNotBlank).map(s -> s.trim()).filter(s -> isNonEmptyValue(source.get(s)))
+                stream -> stream.filter(StringUtil::isNotBlank).map(String::trim).filter(s -> isNonEmptyValue(source.get(s)))
                         .filter(s -> !floatValidator.isValid(source.get(s).toString(), null)).collect(Collectors.toList()));
                         .filter(s -> !floatValidator.isValid(source.get(s).toString(), null)).collect(Collectors.toList()));
     }
     }
 
 
@@ -1397,7 +1396,7 @@ public interface FessProp {
         if (fieldSet == null) {
         if (fieldSet == null) {
             fieldSet =
             fieldSet =
                     split(getIndexAdminDoubleFields(), ",").get(
                     split(getIndexAdminDoubleFields(), ",").get(
-                            stream -> stream.filter(StringUtil::isNotBlank).map(s -> s.trim()).collect(Collectors.toSet()));
+                            stream -> stream.filter(StringUtil::isNotBlank).map(String::trim).collect(Collectors.toSet()));
             propMap.put(INDEX_ADMIN_DOUBLE_FIELD_SET, fieldSet);
             propMap.put(INDEX_ADMIN_DOUBLE_FIELD_SET, fieldSet);
         }
         }
         return fieldSet;
         return fieldSet;
@@ -1410,7 +1409,7 @@ public interface FessProp {
     default List<String> invalidIndexDoubleFields(final Map<String, Object> source) {
     default List<String> invalidIndexDoubleFields(final Map<String, Object> source) {
         final DoubleTypeValidator doubleValidator = new DoubleTypeValidator();
         final DoubleTypeValidator doubleValidator = new DoubleTypeValidator();
         return split(getIndexAdminDoubleFields(), ",").get(
         return split(getIndexAdminDoubleFields(), ",").get(
-                stream -> stream.filter(StringUtil::isNotBlank).map(s -> s.trim()).filter(s -> isNonEmptyValue(source.get(s)))
+                stream -> stream.filter(StringUtil::isNotBlank).map(String::trim).filter(s -> isNonEmptyValue(source.get(s)))
                         .filter(s -> !doubleValidator.isValid(source.get(s).toString(), null)).collect(Collectors.toList()));
                         .filter(s -> !doubleValidator.isValid(source.get(s).toString(), null)).collect(Collectors.toList()));
     }
     }
 
 
@@ -1474,7 +1473,7 @@ public interface FessProp {
                     if (arrayFieldSet.contains(key)) {
                     if (arrayFieldSet.contains(key)) {
                         value =
                         value =
                                 split(value.toString(), "\n").get(
                                 split(value.toString(), "\n").get(
-                                        stream -> stream.filter(StringUtil::isNotBlank).map(s -> s.trim()).collect(Collectors.toList()));
+                                        stream -> stream.filter(StringUtil::isNotBlank).map(String::trim).collect(Collectors.toList()));
                     } else if (dateFieldSet.contains(key)) {
                     } else if (dateFieldSet.contains(key)) {
                         // TODO time zone
                         // TODO time zone
                         value = FessFunctions.parseDate(value.toString());
                         value = FessFunctions.parseDate(value.toString());
@@ -1500,7 +1499,7 @@ public interface FessProp {
     default List<String> invalidIndexRequiredFields(final Map<String, Object> source) {
     default List<String> invalidIndexRequiredFields(final Map<String, Object> source) {
         final RequiredValidator requiredValidator = new RequiredValidator();
         final RequiredValidator requiredValidator = new RequiredValidator();
         return split(getIndexAdminRequiredFields(), ",").get(
         return split(getIndexAdminRequiredFields(), ",").get(
-                stream -> stream.filter(StringUtil::isNotBlank).map(s -> s.trim())
+                stream -> stream.filter(StringUtil::isNotBlank).map(String::trim)
                         .filter(s -> !requiredValidator.isValid(source.get(s), null)).collect(Collectors.toList()));
                         .filter(s -> !requiredValidator.isValid(source.get(s), null)).collect(Collectors.toList()));
     }
     }
 
 
@@ -1568,7 +1567,7 @@ public interface FessProp {
         final List<String> list = new ArrayList<>(fields.length + 10);
         final List<String> list = new ArrayList<>(fields.length + 10);
         stream(fields).of(stream -> stream.forEach(list::add));
         stream(fields).of(stream -> stream.forEach(list::add));
         split(getQueryAdditionalResponseFields(), ",").of(
         split(getQueryAdditionalResponseFields(), ",").of(
-                stream -> stream.filter(StringUtil::isNotBlank).map(s -> s.trim()).forEach(list::add));
+                stream -> stream.filter(StringUtil::isNotBlank).map(String::trim).forEach(list::add));
         return list.toArray(new String[list.size()]);
         return list.toArray(new String[list.size()]);
     }
     }
 
 
@@ -1578,7 +1577,7 @@ public interface FessProp {
         final List<String> list = new ArrayList<>(fields.length + 10);
         final List<String> list = new ArrayList<>(fields.length + 10);
         stream(fields).of(stream -> stream.forEach(list::add));
         stream(fields).of(stream -> stream.forEach(list::add));
         split(getQueryAdditionalScrollResponseFields(), ",").of(
         split(getQueryAdditionalScrollResponseFields(), ",").of(
-                stream -> stream.filter(StringUtil::isNotBlank).map(s -> s.trim()).forEach(list::add));
+                stream -> stream.filter(StringUtil::isNotBlank).map(String::trim).forEach(list::add));
         return list.toArray(new String[list.size()]);
         return list.toArray(new String[list.size()]);
     }
     }
 
 
@@ -1588,7 +1587,7 @@ public interface FessProp {
         final List<String> list = new ArrayList<>(fields.length + 10);
         final List<String> list = new ArrayList<>(fields.length + 10);
         stream(fields).of(stream -> stream.forEach(list::add));
         stream(fields).of(stream -> stream.forEach(list::add));
         split(getQueryAdditionalCacheResponseFields(), ",").of(
         split(getQueryAdditionalCacheResponseFields(), ",").of(
-                stream -> stream.filter(StringUtil::isNotBlank).map(s -> s.trim()).forEach(list::add));
+                stream -> stream.filter(StringUtil::isNotBlank).map(String::trim).forEach(list::add));
         return list.toArray(new String[list.size()]);
         return list.toArray(new String[list.size()]);
     }
     }
 
 
@@ -1598,7 +1597,7 @@ public interface FessProp {
         final List<String> list = new ArrayList<>(fields.length + 10);
         final List<String> list = new ArrayList<>(fields.length + 10);
         stream(fields).of(stream -> stream.forEach(list::add));
         stream(fields).of(stream -> stream.forEach(list::add));
         split(getQueryAdditionalHighlightedFields(), ",").of(
         split(getQueryAdditionalHighlightedFields(), ",").of(
-                stream -> stream.filter(StringUtil::isNotBlank).map(s -> s.trim()).forEach(list::add));
+                stream -> stream.filter(StringUtil::isNotBlank).map(String::trim).forEach(list::add));
         return list.toArray(new String[list.size()]);
         return list.toArray(new String[list.size()]);
     }
     }
 
 
@@ -1608,7 +1607,7 @@ public interface FessProp {
         final List<String> list = new ArrayList<>(fields.length + 10);
         final List<String> list = new ArrayList<>(fields.length + 10);
         stream(fields).of(stream -> stream.forEach(list::add));
         stream(fields).of(stream -> stream.forEach(list::add));
         split(getQueryAdditionalSearchFields(), ",").of(
         split(getQueryAdditionalSearchFields(), ",").of(
-                stream -> stream.filter(StringUtil::isNotBlank).map(s -> s.trim()).forEach(list::add));
+                stream -> stream.filter(StringUtil::isNotBlank).map(String::trim).forEach(list::add));
         return list.toArray(new String[list.size()]);
         return list.toArray(new String[list.size()]);
     }
     }
 
 
@@ -1617,8 +1616,8 @@ public interface FessProp {
     default String[] getQueryAdditionalFacetFields(final String... fields) {
     default String[] getQueryAdditionalFacetFields(final String... fields) {
         final List<String> list = new ArrayList<>(fields.length + 10);
         final List<String> list = new ArrayList<>(fields.length + 10);
         stream(fields).of(stream -> stream.forEach(list::add));
         stream(fields).of(stream -> stream.forEach(list::add));
-        split(getQueryAdditionalFacetFields(), ",").of(
-                stream -> stream.filter(StringUtil::isNotBlank).map(s -> s.trim()).forEach(list::add));
+        split(getQueryAdditionalFacetFields(), ",")
+                .of(stream -> stream.filter(StringUtil::isNotBlank).map(String::trim).forEach(list::add));
         return list.toArray(new String[list.size()]);
         return list.toArray(new String[list.size()]);
     }
     }
 
 
@@ -1627,8 +1626,7 @@ public interface FessProp {
     default String[] getQueryAdditionalSortFields(final String... fields) {
     default String[] getQueryAdditionalSortFields(final String... fields) {
         final List<String> list = new ArrayList<>(fields.length + 10);
         final List<String> list = new ArrayList<>(fields.length + 10);
         stream(fields).of(stream -> stream.forEach(list::add));
         stream(fields).of(stream -> stream.forEach(list::add));
-        split(getQueryAdditionalSortFields(), ",")
-                .of(stream -> stream.filter(StringUtil::isNotBlank).map(s -> s.trim()).forEach(list::add));
+        split(getQueryAdditionalSortFields(), ",").of(stream -> stream.filter(StringUtil::isNotBlank).map(String::trim).forEach(list::add));
         return list.toArray(new String[list.size()]);
         return list.toArray(new String[list.size()]);
     }
     }
 
 
@@ -1638,7 +1636,7 @@ public interface FessProp {
         final List<String> list = new ArrayList<>(fields.length + 10);
         final List<String> list = new ArrayList<>(fields.length + 10);
         stream(fields).of(stream -> stream.forEach(list::add));
         stream(fields).of(stream -> stream.forEach(list::add));
         split(getQueryAdditionalApiResponseFields(), ",").of(
         split(getQueryAdditionalApiResponseFields(), ",").of(
-                stream -> stream.filter(StringUtil::isNotBlank).map(s -> s.trim()).forEach(list::add));
+                stream -> stream.filter(StringUtil::isNotBlank).map(String::trim).forEach(list::add));
         return list.toArray(new String[list.size()]);
         return list.toArray(new String[list.size()]);
     }
     }
 
 
@@ -1648,7 +1646,7 @@ public interface FessProp {
         final List<String> list = new ArrayList<>(fields.length + 10);
         final List<String> list = new ArrayList<>(fields.length + 10);
         stream(fields).of(stream -> stream.forEach(list::add));
         stream(fields).of(stream -> stream.forEach(list::add));
         split(getQueryAdditionalNotAnalyzedFields(), ",").of(
         split(getQueryAdditionalNotAnalyzedFields(), ",").of(
-                stream -> stream.filter(StringUtil::isNotBlank).map(s -> s.trim()).forEach(list::add));
+                stream -> stream.filter(StringUtil::isNotBlank).map(String::trim).forEach(list::add));
         return list.toArray(new String[list.size()]);
         return list.toArray(new String[list.size()]);
     }
     }
 
 
@@ -1667,7 +1665,7 @@ public interface FessProp {
         if (fieldSet == null) {
         if (fieldSet == null) {
             fieldSet =
             fieldSet =
                     split(getApiAdminAccessPermissions(), ",").get(
                     split(getApiAdminAccessPermissions(), ",").get(
-                            stream -> stream.filter(StringUtil::isNotBlank).map(s -> s.trim()).collect(Collectors.toSet()));
+                            stream -> stream.filter(StringUtil::isNotBlank).map(String::trim).collect(Collectors.toSet()));
             propMap.put(API_ADMIN_ACCESS_PERMISSION_SET, fieldSet);
             propMap.put(API_ADMIN_ACCESS_PERMISSION_SET, fieldSet);
         }
         }
         return fieldSet;
         return fieldSet;

+ 2 - 3
src/main/java/org/codelibs/fess/mylasta/direction/sponsor/FessActionAdjustmentProvider.java

@@ -33,9 +33,8 @@ public class FessActionAdjustmentProvider implements ActionAdjustmentProvider {
 
 
     @Override
     @Override
     public FormMappingOption adjustFormMapping() {
     public FormMappingOption adjustFormMapping() {
-        return new FormMappingOption().filterSimpleTextParameter((parameter, meta) -> {
-            return parameter.trim().replace("\r\n", "\n").replace('\r', '\n');
-        });
+        return new FormMappingOption().filterSimpleTextParameter((parameter, meta) -> parameter.trim().replace("\r\n", "\n")
+                .replace('\r', '\n'));
     }
     }
 
 
     @Override
     @Override

+ 1 - 3
src/main/java/org/codelibs/fess/mylasta/direction/sponsor/FessMailDeliveryDepartmentCreator.java

@@ -91,9 +91,7 @@ public class FessMailDeliveryDepartmentCreator {
             // override createConventionReceptionist() (see the method for the details)
             // override createConventionReceptionist() (see the method for the details)
             @Override
             @Override
             protected SMailConventionReceptionist createConventionReceptionist() {
             protected SMailConventionReceptionist createConventionReceptionist() {
-                return super.createConventionReceptionist().asReceiverLocale(postcard -> {
-                    return OptionalThing.empty();
-                });
+                return super.createConventionReceptionist().asReceiverLocale(postcard -> OptionalThing.empty());
             }
             }
 
 
             @Override
             @Override

+ 2 - 1
src/main/java/org/codelibs/fess/score/ScoreBooster.java

@@ -32,6 +32,7 @@ import org.elasticsearch.action.update.UpdateRequestBuilder;
 import org.elasticsearch.index.query.QueryBuilders;
 import org.elasticsearch.index.query.QueryBuilders;
 import org.elasticsearch.script.Script;
 import org.elasticsearch.script.Script;
 import org.elasticsearch.script.ScriptType;
 import org.elasticsearch.script.ScriptType;
+import org.elasticsearch.search.SearchHit;
 
 
 public abstract class ScoreBooster {
 public abstract class ScoreBooster {
     private static final Logger logger = LogManager.getLogger(ScoreBooster.class);
     private static final Logger logger = LogManager.getLogger(ScoreBooster.class);
@@ -59,7 +60,7 @@ public abstract class ScoreBooster {
         final SearchResponse response =
         final SearchResponse response =
                 client.prepareSearch(index).setQuery(QueryBuilders.termQuery(fessConfig.getIndexFieldUrl(), url)).setFetchSource(false)
                 client.prepareSearch(index).setQuery(QueryBuilders.termQuery(fessConfig.getIndexFieldUrl(), url)).setFetchSource(false)
                         .setSize(fessConfig.getPageScoreBoosterMaxFetchSizeAsInteger()).execute().actionGet(requestTimeout);
                         .setSize(fessConfig.getPageScoreBoosterMaxFetchSizeAsInteger()).execute().actionGet(requestTimeout);
-        return Arrays.stream(response.getHits().getHits()).map(hit -> hit.getId()).toArray(n -> new String[n]);
+        return Arrays.stream(response.getHits().getHits()).map(SearchHit::getId).toArray(n -> new String[n]);
     };
     };
 
 
     protected Function<Map<String, Object>, Long> requestHandler = params -> {
     protected Function<Map<String, Object>, Long> requestHandler = params -> {

+ 3 - 5
src/main/java/org/codelibs/fess/sso/aad/AzureAdAuthenticator.java

@@ -513,7 +513,7 @@ public class AzureAdAuthenticator implements SsoAuthenticator {
         if (StringUtil.isBlank(value)) {
         if (StringUtil.isBlank(value)) {
             return Collections.emptyList();
             return Collections.emptyList();
         } else {
         } else {
-            return split(value, ",").get(stream -> stream.filter(StringUtil::isNotBlank).map(s -> s.trim()).collect(Collectors.toList()));
+            return split(value, ",").get(stream -> stream.filter(StringUtil::isNotBlank).map(String::trim).collect(Collectors.toList()));
         }
         }
     }
     }
 
 
@@ -522,7 +522,7 @@ public class AzureAdAuthenticator implements SsoAuthenticator {
         if (StringUtil.isBlank(value)) {
         if (StringUtil.isBlank(value)) {
             return Collections.emptyList();
             return Collections.emptyList();
         } else {
         } else {
-            return split(value, ",").get(stream -> stream.filter(StringUtil::isNotBlank).map(s -> s.trim()).collect(Collectors.toList()));
+            return split(value, ",").get(stream -> stream.filter(StringUtil::isNotBlank).map(String::trim).collect(Collectors.toList()));
         }
         }
     }
     }
 
 
@@ -579,9 +579,7 @@ public class AzureAdAuthenticator implements SsoAuthenticator {
 
 
     @Override
     @Override
     public void resolveCredential(final LoginCredentialResolver resolver) {
     public void resolveCredential(final LoginCredentialResolver resolver) {
-        resolver.resolve(AzureAdCredential.class, credential -> {
-            return OptionalEntity.of(credential.getUser());
-        });
+        resolver.resolve(AzureAdCredential.class, credential -> OptionalEntity.of(credential.getUser()));
     }
     }
 
 
     public void setAcquisitionTimeout(final long acquisitionTimeout) {
     public void setAcquisitionTimeout(final long acquisitionTimeout) {

+ 1 - 3
src/main/java/org/codelibs/fess/sso/oic/OpenIdConnectAuthenticator.java

@@ -236,8 +236,6 @@ public class OpenIdConnectAuthenticator implements SsoAuthenticator {
 
 
     @Override
     @Override
     public void resolveCredential(final LoginCredentialResolver resolver) {
     public void resolveCredential(final LoginCredentialResolver resolver) {
-        resolver.resolve(OpenIdConnectCredential.class, credential -> {
-            return OptionalEntity.of(credential.getUser());
-        });
+        resolver.resolve(OpenIdConnectCredential.class, credential -> OptionalEntity.of(credential.getUser()));
     }
     }
 }
 }

+ 1 - 1
src/main/java/org/codelibs/fess/thumbnail/impl/BaseThumbnailGenerator.java

@@ -104,7 +104,7 @@ public abstract class BaseThumbnailGenerator implements ThumbnailGenerator {
             final List<String> pathList = new ArrayList<>();
             final List<String> pathList = new ArrayList<>();
             pathList.add("/usr/share/fess/bin");
             pathList.add("/usr/share/fess/bin");
             if (path != null) {
             if (path != null) {
-                stream(path.split(File.pathSeparator)).of(stream -> stream.map(s -> s.trim()).forEach(s -> pathList.add(s)));
+                stream(path.split(File.pathSeparator)).of(stream -> stream.map(String::trim).forEach(s -> pathList.add(s)));
             }
             }
             available = generatorList.stream().map(s -> {
             available = generatorList.stream().map(s -> {
                 if (s.startsWith("${path}")) {
                 if (s.startsWith("${path}")) {

+ 3 - 3
src/main/java/org/codelibs/fess/timer/SystemMonitorTarget.java

@@ -53,9 +53,9 @@ public class SystemMonitorTarget implements TimeoutTarget {
             if (value == null) {
             if (value == null) {
                 buf.append("null");
                 buf.append("null");
             } else if (value instanceof Integer) {
             } else if (value instanceof Integer) {
-                buf.append(((Integer) value));
+                buf.append((value));
             } else if (value instanceof Long) {
             } else if (value instanceof Long) {
-                buf.append(((Long) value));
+                buf.append((value));
             } else if (value instanceof Short) {
             } else if (value instanceof Short) {
                 buf.append(((Short) value).shortValue());
                 buf.append(((Short) value).shortValue());
             } else if (value instanceof double[]) {
             } else if (value instanceof double[]) {
@@ -81,7 +81,7 @@ public class SystemMonitorTarget implements TimeoutTarget {
         appendJvmStats(buf);
         appendJvmStats(buf);
         appendElasticsearchStats(buf);
         appendElasticsearchStats(buf);
 
 
-        append(buf, "timestamp", () -> System.currentTimeMillis());
+        append(buf, "timestamp", System::currentTimeMillis);
         buf.append('}');
         buf.append('}');
 
 
         logger.info(buf.toString());
         logger.info(buf.toString());

+ 5 - 3
src/main/java/org/codelibs/fess/util/DocumentUtil.java

@@ -22,6 +22,8 @@ import java.util.Date;
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
 
 
+import javax.servlet.http.HttpServletRequest;
+
 import org.codelibs.fess.Constants;
 import org.codelibs.fess.Constants;
 import org.codelibs.fess.crawler.util.CharUtil;
 import org.codelibs.fess.crawler.util.CharUtil;
 import org.codelibs.fess.taglib.FessFunctions;
 import org.codelibs.fess.taglib.FessFunctions;
@@ -55,7 +57,7 @@ public final class DocumentUtil {
             if (clazz.isAssignableFrom(List.class)) {
             if (clazz.isAssignableFrom(List.class)) {
                 return (T) value;
                 return (T) value;
             } else if (clazz.isAssignableFrom(String[].class)) {
             } else if (clazz.isAssignableFrom(String[].class)) {
-                return (T) ((List<?>) value).stream().filter(s -> s != null).map(s -> s.toString()).toArray(n -> new String[n]);
+                return (T) ((List<?>) value).stream().filter(s -> s != null).map(Object::toString).toArray(n -> new String[n]);
             }
             }
 
 
             if (((List<?>) value).isEmpty()) {
             if (((List<?>) value).isEmpty()) {
@@ -134,8 +136,8 @@ public final class DocumentUtil {
 
 
     public static String encodeUrl(final String url) {
     public static String encodeUrl(final String url) {
         final String enc =
         final String enc =
-                LaRequestUtil.getOptionalRequest().filter(req -> req.getCharacterEncoding() != null).map(req -> req.getCharacterEncoding())
-                        .orElse(Constants.UTF_8);
+                LaRequestUtil.getOptionalRequest().filter(req -> req.getCharacterEncoding() != null)
+                        .map(HttpServletRequest::getCharacterEncoding).orElse(Constants.UTF_8);
         final StringBuilder buf = new StringBuilder(url.length() + 100);
         final StringBuilder buf = new StringBuilder(url.length() + 100);
         for (final char c : url.toCharArray()) {
         for (final char c : url.toCharArray()) {
             if (CharUtil.isUrlChar(c)) {
             if (CharUtil.isUrlChar(c)) {

+ 13 - 14
src/main/java/org/codelibs/fess/util/GsaConfigParser.java

@@ -230,20 +230,19 @@ public class GsaConfigParser extends DefaultHandler {
     }
     }
 
 
     protected String parseFilterPaths(final String text, final boolean web, final boolean file) {
     protected String parseFilterPaths(final String text, final boolean web, final boolean file) {
-        return split(text, "\n").get(stream -> stream.map(String::trim).filter(StringUtil::isNotBlank).map(s -> {
-            return getFilterPath(s);
-        }).filter(s -> {
-            if (StringUtil.isBlank(s)) {
-                return false;
-            }
-            if (Arrays.stream(webProtocols).anyMatch(p -> s.startsWith(p))) {
-                return web;
-            }
-            if (Arrays.stream(fileProtocols).anyMatch(p -> s.startsWith(p))) {
-                return file;
-            }
-            return true;
-        }).collect(Collectors.joining("\n")));
+        return split(text, "\n").get(
+                stream -> stream.map(String::trim).filter(StringUtil::isNotBlank).map(s -> getFilterPath(s)).filter(s -> {
+                    if (StringUtil.isBlank(s)) {
+                        return false;
+                    }
+                    if (Arrays.stream(webProtocols).anyMatch(p -> s.startsWith(p))) {
+                        return web;
+                    }
+                    if (Arrays.stream(fileProtocols).anyMatch(p -> s.startsWith(p))) {
+                        return file;
+                    }
+                    return true;
+                }).collect(Collectors.joining("\n")));
     }
     }
 
 
     protected String getFilterPath(final String s) {
     protected String getFilterPath(final String s) {

+ 1 - 1
src/main/java/org/codelibs/fess/util/RenderDataUtil.java

@@ -36,7 +36,7 @@ public class RenderDataUtil {
                 // care performance for List that the most frequent pattern
                 // care performance for List that the most frequent pattern
                 final Object first = coll instanceof List<?> ? ((List<?>) coll).get(0) : coll.iterator().next();
                 final Object first = coll instanceof List<?> ? ((List<?>) coll).get(0) : coll.iterator().next();
                 if (first instanceof Entity) {
                 if (first instanceof Entity) {
-                    data.register(key, coll.stream().map(e -> BeanUtil.copyBeanToNewMap(e)).collect(Collectors.toList()));
+                    data.register(key, coll.stream().map(BeanUtil::copyBeanToNewMap).collect(Collectors.toList()));
                     return;
                     return;
                 }
                 }
             }
             }