Procházet zdrojové kódy

fix #889 use UTC date format

Shinsuke Sugaya před 8 roky
rodič
revize
02edb397a5
79 změnil soubory, kde provedl 773 přidání a 333 odebrání
  1. 5 1
      src/main/java/org/codelibs/fess/es/config/bsbhv/BsAccessTokenBhv.java
  2. 5 1
      src/main/java/org/codelibs/fess/es/config/bsbhv/BsBadWordBhv.java
  3. 5 1
      src/main/java/org/codelibs/fess/es/config/bsbhv/BsBoostDocumentRuleBhv.java
  4. 5 1
      src/main/java/org/codelibs/fess/es/config/bsbhv/BsCrawlingInfoBhv.java
  5. 5 1
      src/main/java/org/codelibs/fess/es/config/bsbhv/BsCrawlingInfoParamBhv.java
  6. 5 1
      src/main/java/org/codelibs/fess/es/config/bsbhv/BsDataConfigBhv.java
  7. 5 1
      src/main/java/org/codelibs/fess/es/config/bsbhv/BsDataConfigToLabelBhv.java
  8. 5 1
      src/main/java/org/codelibs/fess/es/config/bsbhv/BsDataConfigToRoleBhv.java
  9. 5 1
      src/main/java/org/codelibs/fess/es/config/bsbhv/BsDuplicateHostBhv.java
  10. 5 1
      src/main/java/org/codelibs/fess/es/config/bsbhv/BsElevateWordBhv.java
  11. 5 1
      src/main/java/org/codelibs/fess/es/config/bsbhv/BsElevateWordToLabelBhv.java
  12. 5 1
      src/main/java/org/codelibs/fess/es/config/bsbhv/BsFailureUrlBhv.java
  13. 5 1
      src/main/java/org/codelibs/fess/es/config/bsbhv/BsFileAuthenticationBhv.java
  14. 5 1
      src/main/java/org/codelibs/fess/es/config/bsbhv/BsFileConfigBhv.java
  15. 5 1
      src/main/java/org/codelibs/fess/es/config/bsbhv/BsFileConfigToLabelBhv.java
  16. 5 1
      src/main/java/org/codelibs/fess/es/config/bsbhv/BsFileConfigToRoleBhv.java
  17. 5 1
      src/main/java/org/codelibs/fess/es/config/bsbhv/BsJobLogBhv.java
  18. 5 1
      src/main/java/org/codelibs/fess/es/config/bsbhv/BsKeyMatchBhv.java
  19. 5 1
      src/main/java/org/codelibs/fess/es/config/bsbhv/BsLabelToRoleBhv.java
  20. 5 1
      src/main/java/org/codelibs/fess/es/config/bsbhv/BsLabelTypeBhv.java
  21. 5 1
      src/main/java/org/codelibs/fess/es/config/bsbhv/BsPathMappingBhv.java
  22. 5 1
      src/main/java/org/codelibs/fess/es/config/bsbhv/BsRequestHeaderBhv.java
  23. 5 1
      src/main/java/org/codelibs/fess/es/config/bsbhv/BsRoleTypeBhv.java
  24. 5 1
      src/main/java/org/codelibs/fess/es/config/bsbhv/BsScheduledJobBhv.java
  25. 5 1
      src/main/java/org/codelibs/fess/es/config/bsbhv/BsThumbnailQueueBhv.java
  26. 5 1
      src/main/java/org/codelibs/fess/es/config/bsbhv/BsWebAuthenticationBhv.java
  27. 5 1
      src/main/java/org/codelibs/fess/es/config/bsbhv/BsWebConfigBhv.java
  28. 5 1
      src/main/java/org/codelibs/fess/es/config/bsbhv/BsWebConfigToLabelBhv.java
  29. 5 1
      src/main/java/org/codelibs/fess/es/config/bsbhv/BsWebConfigToRoleBhv.java
  30. 13 9
      src/main/java/org/codelibs/fess/es/config/bsentity/BsAccessToken.java
  31. 11 7
      src/main/java/org/codelibs/fess/es/config/bsentity/BsBadWord.java
  32. 11 7
      src/main/java/org/codelibs/fess/es/config/bsentity/BsBoostDocumentRule.java
  33. 8 4
      src/main/java/org/codelibs/fess/es/config/bsentity/BsCrawlingInfo.java
  34. 8 4
      src/main/java/org/codelibs/fess/es/config/bsentity/BsCrawlingInfoParam.java
  35. 17 13
      src/main/java/org/codelibs/fess/es/config/bsentity/BsDataConfig.java
  36. 6 2
      src/main/java/org/codelibs/fess/es/config/bsentity/BsDataConfigToLabel.java
  37. 6 2
      src/main/java/org/codelibs/fess/es/config/bsentity/BsDataConfigToRole.java
  38. 11 7
      src/main/java/org/codelibs/fess/es/config/bsentity/BsDuplicateHost.java
  39. 14 10
      src/main/java/org/codelibs/fess/es/config/bsentity/BsElevateWord.java
  40. 6 2
      src/main/java/org/codelibs/fess/es/config/bsentity/BsElevateWordToLabel.java
  41. 11 7
      src/main/java/org/codelibs/fess/es/config/bsentity/BsFailureUrl.java
  42. 15 11
      src/main/java/org/codelibs/fess/es/config/bsentity/BsFileAuthentication.java
  43. 25 21
      src/main/java/org/codelibs/fess/es/config/bsentity/BsFileConfig.java
  44. 6 2
      src/main/java/org/codelibs/fess/es/config/bsentity/BsFileConfigToLabel.java
  45. 6 2
      src/main/java/org/codelibs/fess/es/config/bsentity/BsFileConfigToRole.java
  46. 13 9
      src/main/java/org/codelibs/fess/es/config/bsentity/BsJobLog.java
  47. 12 8
      src/main/java/org/codelibs/fess/es/config/bsentity/BsKeyMatch.java
  48. 6 2
      src/main/java/org/codelibs/fess/es/config/bsentity/BsLabelToRole.java
  49. 14 10
      src/main/java/org/codelibs/fess/es/config/bsentity/BsLabelType.java
  50. 13 9
      src/main/java/org/codelibs/fess/es/config/bsentity/BsPathMapping.java
  51. 11 7
      src/main/java/org/codelibs/fess/es/config/bsentity/BsRequestHeader.java
  52. 11 7
      src/main/java/org/codelibs/fess/es/config/bsentity/BsRoleType.java
  53. 17 13
      src/main/java/org/codelibs/fess/es/config/bsentity/BsScheduledJob.java
  54. 10 6
      src/main/java/org/codelibs/fess/es/config/bsentity/BsThumbnailQueue.java
  55. 16 12
      src/main/java/org/codelibs/fess/es/config/bsentity/BsWebAuthentication.java
  56. 26 22
      src/main/java/org/codelibs/fess/es/config/bsentity/BsWebConfig.java
  57. 6 2
      src/main/java/org/codelibs/fess/es/config/bsentity/BsWebConfigToLabel.java
  58. 6 2
      src/main/java/org/codelibs/fess/es/config/bsentity/BsWebConfigToRole.java
  59. 5 1
      src/main/java/org/codelibs/fess/es/log/bsbhv/BsClickLogBhv.java
  60. 5 1
      src/main/java/org/codelibs/fess/es/log/bsbhv/BsFavoriteLogBhv.java
  61. 5 1
      src/main/java/org/codelibs/fess/es/log/bsbhv/BsSearchFieldLogBhv.java
  62. 5 1
      src/main/java/org/codelibs/fess/es/log/bsbhv/BsSearchLogBhv.java
  63. 5 1
      src/main/java/org/codelibs/fess/es/log/bsbhv/BsUserInfoBhv.java
  64. 11 7
      src/main/java/org/codelibs/fess/es/log/bsentity/BsClickLog.java
  65. 9 5
      src/main/java/org/codelibs/fess/es/log/bsentity/BsFavoriteLog.java
  66. 7 3
      src/main/java/org/codelibs/fess/es/log/bsentity/BsSearchFieldLog.java
  67. 21 17
      src/main/java/org/codelibs/fess/es/log/bsentity/BsSearchLog.java
  68. 6 2
      src/main/java/org/codelibs/fess/es/log/bsentity/BsUserInfo.java
  69. 32 0
      src/main/java/org/codelibs/fess/es/log/exentity/ClickLog.java
  70. 32 0
      src/main/java/org/codelibs/fess/es/log/exentity/FavoriteLog.java
  71. 17 0
      src/main/java/org/codelibs/fess/es/log/exentity/SearchFieldLog.java
  72. 31 0
      src/main/java/org/codelibs/fess/es/log/exentity/SearchLog.java
  73. 32 0
      src/main/java/org/codelibs/fess/es/log/exentity/UserInfo.java
  74. 5 1
      src/main/java/org/codelibs/fess/es/user/bsbhv/BsGroupBhv.java
  75. 5 1
      src/main/java/org/codelibs/fess/es/user/bsbhv/BsRoleBhv.java
  76. 5 1
      src/main/java/org/codelibs/fess/es/user/bsbhv/BsUserBhv.java
  77. 6 2
      src/main/java/org/codelibs/fess/es/user/bsentity/BsGroup.java
  78. 5 1
      src/main/java/org/codelibs/fess/es/user/bsentity/BsRole.java
  79. 44 40
      src/main/java/org/codelibs/fess/es/user/bsentity/BsUser.java

+ 5 - 1
src/main/java/org/codelibs/fess/es/config/bsbhv/BsAccessTokenBhv.java

@@ -82,13 +82,17 @@ public abstract class BsAccessTokenBhv extends EsAbstractBehavior<AccessToken, A
             result.setCreatedTime(DfTypeUtil.toLong(source.get("createdTime")));
             result.setUpdatedBy(DfTypeUtil.toString(source.get("updatedBy")));
             result.setUpdatedTime(DfTypeUtil.toLong(source.get("updatedTime")));
-            return result;
+            return updateEntity(source, result);
         } catch (InstantiationException | IllegalAccessException e) {
             final String msg = "Cannot create a new instance: " + entityType.getName();
             throw new IllegalBehaviorStateException(msg, e);
         }
     }
 
+    protected <RESULT extends AccessToken> RESULT updateEntity(Map<String, Object> source, RESULT result) {
+        return result;
+    }
+
     // ===================================================================================
     //                                                                              Select
     //                                                                              ======

+ 5 - 1
src/main/java/org/codelibs/fess/es/config/bsbhv/BsBadWordBhv.java

@@ -80,13 +80,17 @@ public abstract class BsBadWordBhv extends EsAbstractBehavior<BadWord, BadWordCB
             result.setTargetRole(DfTypeUtil.toString(source.get("targetRole")));
             result.setUpdatedBy(DfTypeUtil.toString(source.get("updatedBy")));
             result.setUpdatedTime(DfTypeUtil.toLong(source.get("updatedTime")));
-            return result;
+            return updateEntity(source, result);
         } catch (InstantiationException | IllegalAccessException e) {
             final String msg = "Cannot create a new instance: " + entityType.getName();
             throw new IllegalBehaviorStateException(msg, e);
         }
     }
 
+    protected <RESULT extends BadWord> RESULT updateEntity(Map<String, Object> source, RESULT result) {
+        return result;
+    }
+
     // ===================================================================================
     //                                                                              Select
     //                                                                              ======

+ 5 - 1
src/main/java/org/codelibs/fess/es/config/bsbhv/BsBoostDocumentRuleBhv.java

@@ -80,13 +80,17 @@ public abstract class BsBoostDocumentRuleBhv extends EsAbstractBehavior<BoostDoc
             result.setUpdatedBy(DfTypeUtil.toString(source.get("updatedBy")));
             result.setUpdatedTime(DfTypeUtil.toLong(source.get("updatedTime")));
             result.setUrlExpr(DfTypeUtil.toString(source.get("urlExpr")));
-            return result;
+            return updateEntity(source, result);
         } catch (InstantiationException | IllegalAccessException e) {
             final String msg = "Cannot create a new instance: " + entityType.getName();
             throw new IllegalBehaviorStateException(msg, e);
         }
     }
 
+    protected <RESULT extends BoostDocumentRule> RESULT updateEntity(Map<String, Object> source, RESULT result) {
+        return result;
+    }
+
     // ===================================================================================
     //                                                                              Select
     //                                                                              ======

+ 5 - 1
src/main/java/org/codelibs/fess/es/config/bsbhv/BsCrawlingInfoBhv.java

@@ -77,13 +77,17 @@ public abstract class BsCrawlingInfoBhv extends EsAbstractBehavior<CrawlingInfo,
             result.setExpiredTime(DfTypeUtil.toLong(source.get("expiredTime")));
             result.setName(DfTypeUtil.toString(source.get("name")));
             result.setSessionId(DfTypeUtil.toString(source.get("sessionId")));
-            return result;
+            return updateEntity(source, result);
         } catch (InstantiationException | IllegalAccessException e) {
             final String msg = "Cannot create a new instance: " + entityType.getName();
             throw new IllegalBehaviorStateException(msg, e);
         }
     }
 
+    protected <RESULT extends CrawlingInfo> RESULT updateEntity(Map<String, Object> source, RESULT result) {
+        return result;
+    }
+
     // ===================================================================================
     //                                                                              Select
     //                                                                              ======

+ 5 - 1
src/main/java/org/codelibs/fess/es/config/bsbhv/BsCrawlingInfoParamBhv.java

@@ -77,13 +77,17 @@ public abstract class BsCrawlingInfoParamBhv extends EsAbstractBehavior<Crawling
             result.setCreatedTime(DfTypeUtil.toLong(source.get("createdTime")));
             result.setKey(DfTypeUtil.toString(source.get("key")));
             result.setValue(DfTypeUtil.toString(source.get("value")));
-            return result;
+            return updateEntity(source, result);
         } catch (InstantiationException | IllegalAccessException e) {
             final String msg = "Cannot create a new instance: " + entityType.getName();
             throw new IllegalBehaviorStateException(msg, e);
         }
     }
 
+    protected <RESULT extends CrawlingInfoParam> RESULT updateEntity(Map<String, Object> source, RESULT result) {
+        return result;
+    }
+
     // ===================================================================================
     //                                                                              Select
     //                                                                              ======

+ 5 - 1
src/main/java/org/codelibs/fess/es/config/bsbhv/BsDataConfigBhv.java

@@ -86,13 +86,17 @@ public abstract class BsDataConfigBhv extends EsAbstractBehavior<DataConfig, Dat
             result.setSortOrder(DfTypeUtil.toInteger(source.get("sortOrder")));
             result.setUpdatedBy(DfTypeUtil.toString(source.get("updatedBy")));
             result.setUpdatedTime(DfTypeUtil.toLong(source.get("updatedTime")));
-            return result;
+            return updateEntity(source, result);
         } catch (InstantiationException | IllegalAccessException e) {
             final String msg = "Cannot create a new instance: " + entityType.getName();
             throw new IllegalBehaviorStateException(msg, e);
         }
     }
 
+    protected <RESULT extends DataConfig> RESULT updateEntity(Map<String, Object> source, RESULT result) {
+        return result;
+    }
+
     // ===================================================================================
     //                                                                              Select
     //                                                                              ======

+ 5 - 1
src/main/java/org/codelibs/fess/es/config/bsbhv/BsDataConfigToLabelBhv.java

@@ -75,13 +75,17 @@ public abstract class BsDataConfigToLabelBhv extends EsAbstractBehavior<DataConf
             final RESULT result = entityType.newInstance();
             result.setDataConfigId(DfTypeUtil.toString(source.get("dataConfigId")));
             result.setLabelTypeId(DfTypeUtil.toString(source.get("labelTypeId")));
-            return result;
+            return updateEntity(source, result);
         } catch (InstantiationException | IllegalAccessException e) {
             final String msg = "Cannot create a new instance: " + entityType.getName();
             throw new IllegalBehaviorStateException(msg, e);
         }
     }
 
+    protected <RESULT extends DataConfigToLabel> RESULT updateEntity(Map<String, Object> source, RESULT result) {
+        return result;
+    }
+
     // ===================================================================================
     //                                                                              Select
     //                                                                              ======

+ 5 - 1
src/main/java/org/codelibs/fess/es/config/bsbhv/BsDataConfigToRoleBhv.java

@@ -75,13 +75,17 @@ public abstract class BsDataConfigToRoleBhv extends EsAbstractBehavior<DataConfi
             final RESULT result = entityType.newInstance();
             result.setDataConfigId(DfTypeUtil.toString(source.get("dataConfigId")));
             result.setRoleTypeId(DfTypeUtil.toString(source.get("roleTypeId")));
-            return result;
+            return updateEntity(source, result);
         } catch (InstantiationException | IllegalAccessException e) {
             final String msg = "Cannot create a new instance: " + entityType.getName();
             throw new IllegalBehaviorStateException(msg, e);
         }
     }
 
+    protected <RESULT extends DataConfigToRole> RESULT updateEntity(Map<String, Object> source, RESULT result) {
+        return result;
+    }
+
     // ===================================================================================
     //                                                                              Select
     //                                                                              ======

+ 5 - 1
src/main/java/org/codelibs/fess/es/config/bsbhv/BsDuplicateHostBhv.java

@@ -80,13 +80,17 @@ public abstract class BsDuplicateHostBhv extends EsAbstractBehavior<DuplicateHos
             result.setSortOrder(DfTypeUtil.toInteger(source.get("sortOrder")));
             result.setUpdatedBy(DfTypeUtil.toString(source.get("updatedBy")));
             result.setUpdatedTime(DfTypeUtil.toLong(source.get("updatedTime")));
-            return result;
+            return updateEntity(source, result);
         } catch (InstantiationException | IllegalAccessException e) {
             final String msg = "Cannot create a new instance: " + entityType.getName();
             throw new IllegalBehaviorStateException(msg, e);
         }
     }
 
+    protected <RESULT extends DuplicateHost> RESULT updateEntity(Map<String, Object> source, RESULT result) {
+        return result;
+    }
+
     // ===================================================================================
     //                                                                              Select
     //                                                                              ======

+ 5 - 1
src/main/java/org/codelibs/fess/es/config/bsbhv/BsElevateWordBhv.java

@@ -83,13 +83,17 @@ public abstract class BsElevateWordBhv extends EsAbstractBehavior<ElevateWord, E
             result.setPermissions(toStringArray(source.get("permissions")));
             result.setUpdatedBy(DfTypeUtil.toString(source.get("updatedBy")));
             result.setUpdatedTime(DfTypeUtil.toLong(source.get("updatedTime")));
-            return result;
+            return updateEntity(source, result);
         } catch (InstantiationException | IllegalAccessException e) {
             final String msg = "Cannot create a new instance: " + entityType.getName();
             throw new IllegalBehaviorStateException(msg, e);
         }
     }
 
+    protected <RESULT extends ElevateWord> RESULT updateEntity(Map<String, Object> source, RESULT result) {
+        return result;
+    }
+
     // ===================================================================================
     //                                                                              Select
     //                                                                              ======

+ 5 - 1
src/main/java/org/codelibs/fess/es/config/bsbhv/BsElevateWordToLabelBhv.java

@@ -75,13 +75,17 @@ public abstract class BsElevateWordToLabelBhv extends EsAbstractBehavior<Elevate
             final RESULT result = entityType.newInstance();
             result.setElevateWordId(DfTypeUtil.toString(source.get("elevateWordId")));
             result.setLabelTypeId(DfTypeUtil.toString(source.get("labelTypeId")));
-            return result;
+            return updateEntity(source, result);
         } catch (InstantiationException | IllegalAccessException e) {
             final String msg = "Cannot create a new instance: " + entityType.getName();
             throw new IllegalBehaviorStateException(msg, e);
         }
     }
 
+    protected <RESULT extends ElevateWordToLabel> RESULT updateEntity(Map<String, Object> source, RESULT result) {
+        return result;
+    }
+
     // ===================================================================================
     //                                                                              Select
     //                                                                              ======

+ 5 - 1
src/main/java/org/codelibs/fess/es/config/bsbhv/BsFailureUrlBhv.java

@@ -80,13 +80,17 @@ public abstract class BsFailureUrlBhv extends EsAbstractBehavior<FailureUrl, Fai
             result.setLastAccessTime(DfTypeUtil.toLong(source.get("lastAccessTime")));
             result.setThreadName(DfTypeUtil.toString(source.get("threadName")));
             result.setUrl(DfTypeUtil.toString(source.get("url")));
-            return result;
+            return updateEntity(source, result);
         } catch (InstantiationException | IllegalAccessException e) {
             final String msg = "Cannot create a new instance: " + entityType.getName();
             throw new IllegalBehaviorStateException(msg, e);
         }
     }
 
+    protected <RESULT extends FailureUrl> RESULT updateEntity(Map<String, Object> source, RESULT result) {
+        return result;
+    }
+
     // ===================================================================================
     //                                                                              Select
     //                                                                              ======

+ 5 - 1
src/main/java/org/codelibs/fess/es/config/bsbhv/BsFileAuthenticationBhv.java

@@ -84,13 +84,17 @@ public abstract class BsFileAuthenticationBhv extends EsAbstractBehavior<FileAut
             result.setUpdatedBy(DfTypeUtil.toString(source.get("updatedBy")));
             result.setUpdatedTime(DfTypeUtil.toLong(source.get("updatedTime")));
             result.setUsername(DfTypeUtil.toString(source.get("username")));
-            return result;
+            return updateEntity(source, result);
         } catch (InstantiationException | IllegalAccessException e) {
             final String msg = "Cannot create a new instance: " + entityType.getName();
             throw new IllegalBehaviorStateException(msg, e);
         }
     }
 
+    protected <RESULT extends FileAuthentication> RESULT updateEntity(Map<String, Object> source, RESULT result) {
+        return result;
+    }
+
     // ===================================================================================
     //                                                                              Select
     //                                                                              ======

+ 5 - 1
src/main/java/org/codelibs/fess/es/config/bsbhv/BsFileConfigBhv.java

@@ -94,13 +94,17 @@ public abstract class BsFileConfigBhv extends EsAbstractBehavior<FileConfig, Fil
             result.setSortOrder(DfTypeUtil.toInteger(source.get("sortOrder")));
             result.setUpdatedBy(DfTypeUtil.toString(source.get("updatedBy")));
             result.setUpdatedTime(DfTypeUtil.toLong(source.get("updatedTime")));
-            return result;
+            return updateEntity(source, result);
         } catch (InstantiationException | IllegalAccessException e) {
             final String msg = "Cannot create a new instance: " + entityType.getName();
             throw new IllegalBehaviorStateException(msg, e);
         }
     }
 
+    protected <RESULT extends FileConfig> RESULT updateEntity(Map<String, Object> source, RESULT result) {
+        return result;
+    }
+
     // ===================================================================================
     //                                                                              Select
     //                                                                              ======

+ 5 - 1
src/main/java/org/codelibs/fess/es/config/bsbhv/BsFileConfigToLabelBhv.java

@@ -75,13 +75,17 @@ public abstract class BsFileConfigToLabelBhv extends EsAbstractBehavior<FileConf
             final RESULT result = entityType.newInstance();
             result.setFileConfigId(DfTypeUtil.toString(source.get("fileConfigId")));
             result.setLabelTypeId(DfTypeUtil.toString(source.get("labelTypeId")));
-            return result;
+            return updateEntity(source, result);
         } catch (InstantiationException | IllegalAccessException e) {
             final String msg = "Cannot create a new instance: " + entityType.getName();
             throw new IllegalBehaviorStateException(msg, e);
         }
     }
 
+    protected <RESULT extends FileConfigToLabel> RESULT updateEntity(Map<String, Object> source, RESULT result) {
+        return result;
+    }
+
     // ===================================================================================
     //                                                                              Select
     //                                                                              ======

+ 5 - 1
src/main/java/org/codelibs/fess/es/config/bsbhv/BsFileConfigToRoleBhv.java

@@ -75,13 +75,17 @@ public abstract class BsFileConfigToRoleBhv extends EsAbstractBehavior<FileConfi
             final RESULT result = entityType.newInstance();
             result.setFileConfigId(DfTypeUtil.toString(source.get("fileConfigId")));
             result.setRoleTypeId(DfTypeUtil.toString(source.get("roleTypeId")));
-            return result;
+            return updateEntity(source, result);
         } catch (InstantiationException | IllegalAccessException e) {
             final String msg = "Cannot create a new instance: " + entityType.getName();
             throw new IllegalBehaviorStateException(msg, e);
         }
     }
 
+    protected <RESULT extends FileConfigToRole> RESULT updateEntity(Map<String, Object> source, RESULT result) {
+        return result;
+    }
+
     // ===================================================================================
     //                                                                              Select
     //                                                                              ======

+ 5 - 1
src/main/java/org/codelibs/fess/es/config/bsbhv/BsJobLogBhv.java

@@ -82,13 +82,17 @@ public abstract class BsJobLogBhv extends EsAbstractBehavior<JobLog, JobLogCB> {
             result.setStartTime(DfTypeUtil.toLong(source.get("startTime")));
             result.setTarget(DfTypeUtil.toString(source.get("target")));
             result.setLastUpdated(DfTypeUtil.toLong(source.get("lastUpdated")));
-            return result;
+            return updateEntity(source, result);
         } catch (InstantiationException | IllegalAccessException e) {
             final String msg = "Cannot create a new instance: " + entityType.getName();
             throw new IllegalBehaviorStateException(msg, e);
         }
     }
 
+    protected <RESULT extends JobLog> RESULT updateEntity(Map<String, Object> source, RESULT result) {
+        return result;
+    }
+
     // ===================================================================================
     //                                                                              Select
     //                                                                              ======

+ 5 - 1
src/main/java/org/codelibs/fess/es/config/bsbhv/BsKeyMatchBhv.java

@@ -81,13 +81,17 @@ public abstract class BsKeyMatchBhv extends EsAbstractBehavior<KeyMatch, KeyMatc
             result.setTerm(DfTypeUtil.toString(source.get("term")));
             result.setUpdatedBy(DfTypeUtil.toString(source.get("updatedBy")));
             result.setUpdatedTime(DfTypeUtil.toLong(source.get("updatedTime")));
-            return result;
+            return updateEntity(source, result);
         } catch (InstantiationException | IllegalAccessException e) {
             final String msg = "Cannot create a new instance: " + entityType.getName();
             throw new IllegalBehaviorStateException(msg, e);
         }
     }
 
+    protected <RESULT extends KeyMatch> RESULT updateEntity(Map<String, Object> source, RESULT result) {
+        return result;
+    }
+
     // ===================================================================================
     //                                                                              Select
     //                                                                              ======

+ 5 - 1
src/main/java/org/codelibs/fess/es/config/bsbhv/BsLabelToRoleBhv.java

@@ -75,13 +75,17 @@ public abstract class BsLabelToRoleBhv extends EsAbstractBehavior<LabelToRole, L
             final RESULT result = entityType.newInstance();
             result.setLabelTypeId(DfTypeUtil.toString(source.get("labelTypeId")));
             result.setRoleTypeId(DfTypeUtil.toString(source.get("roleTypeId")));
-            return result;
+            return updateEntity(source, result);
         } catch (InstantiationException | IllegalAccessException e) {
             final String msg = "Cannot create a new instance: " + entityType.getName();
             throw new IllegalBehaviorStateException(msg, e);
         }
     }
 
+    protected <RESULT extends LabelToRole> RESULT updateEntity(Map<String, Object> source, RESULT result) {
+        return result;
+    }
+
     // ===================================================================================
     //                                                                              Select
     //                                                                              ======

+ 5 - 1
src/main/java/org/codelibs/fess/es/config/bsbhv/BsLabelTypeBhv.java

@@ -83,13 +83,17 @@ public abstract class BsLabelTypeBhv extends EsAbstractBehavior<LabelType, Label
             result.setUpdatedBy(DfTypeUtil.toString(source.get("updatedBy")));
             result.setUpdatedTime(DfTypeUtil.toLong(source.get("updatedTime")));
             result.setValue(DfTypeUtil.toString(source.get("value")));
-            return result;
+            return updateEntity(source, result);
         } catch (InstantiationException | IllegalAccessException e) {
             final String msg = "Cannot create a new instance: " + entityType.getName();
             throw new IllegalBehaviorStateException(msg, e);
         }
     }
 
+    protected <RESULT extends LabelType> RESULT updateEntity(Map<String, Object> source, RESULT result) {
+        return result;
+    }
+
     // ===================================================================================
     //                                                                              Select
     //                                                                              ======

+ 5 - 1
src/main/java/org/codelibs/fess/es/config/bsbhv/BsPathMappingBhv.java

@@ -82,13 +82,17 @@ public abstract class BsPathMappingBhv extends EsAbstractBehavior<PathMapping, P
             result.setUserAgent(DfTypeUtil.toString(source.get("userAgent")));
             result.setUpdatedBy(DfTypeUtil.toString(source.get("updatedBy")));
             result.setUpdatedTime(DfTypeUtil.toLong(source.get("updatedTime")));
-            return result;
+            return updateEntity(source, result);
         } catch (InstantiationException | IllegalAccessException e) {
             final String msg = "Cannot create a new instance: " + entityType.getName();
             throw new IllegalBehaviorStateException(msg, e);
         }
     }
 
+    protected <RESULT extends PathMapping> RESULT updateEntity(Map<String, Object> source, RESULT result) {
+        return result;
+    }
+
     // ===================================================================================
     //                                                                              Select
     //                                                                              ======

+ 5 - 1
src/main/java/org/codelibs/fess/es/config/bsbhv/BsRequestHeaderBhv.java

@@ -80,13 +80,17 @@ public abstract class BsRequestHeaderBhv extends EsAbstractBehavior<RequestHeade
             result.setUpdatedTime(DfTypeUtil.toLong(source.get("updatedTime")));
             result.setValue(DfTypeUtil.toString(source.get("value")));
             result.setWebConfigId(DfTypeUtil.toString(source.get("webConfigId")));
-            return result;
+            return updateEntity(source, result);
         } catch (InstantiationException | IllegalAccessException e) {
             final String msg = "Cannot create a new instance: " + entityType.getName();
             throw new IllegalBehaviorStateException(msg, e);
         }
     }
 
+    protected <RESULT extends RequestHeader> RESULT updateEntity(Map<String, Object> source, RESULT result) {
+        return result;
+    }
+
     // ===================================================================================
     //                                                                              Select
     //                                                                              ======

+ 5 - 1
src/main/java/org/codelibs/fess/es/config/bsbhv/BsRoleTypeBhv.java

@@ -80,13 +80,17 @@ public abstract class BsRoleTypeBhv extends EsAbstractBehavior<RoleType, RoleTyp
             result.setUpdatedBy(DfTypeUtil.toString(source.get("updatedBy")));
             result.setUpdatedTime(DfTypeUtil.toLong(source.get("updatedTime")));
             result.setValue(DfTypeUtil.toString(source.get("value")));
-            return result;
+            return updateEntity(source, result);
         } catch (InstantiationException | IllegalAccessException e) {
             final String msg = "Cannot create a new instance: " + entityType.getName();
             throw new IllegalBehaviorStateException(msg, e);
         }
     }
 
+    protected <RESULT extends RoleType> RESULT updateEntity(Map<String, Object> source, RESULT result) {
+        return result;
+    }
+
     // ===================================================================================
     //                                                                              Select
     //                                                                              ======

+ 5 - 1
src/main/java/org/codelibs/fess/es/config/bsbhv/BsScheduledJobBhv.java

@@ -86,13 +86,17 @@ public abstract class BsScheduledJobBhv extends EsAbstractBehavior<ScheduledJob,
             result.setTarget(DfTypeUtil.toString(source.get("target")));
             result.setUpdatedBy(DfTypeUtil.toString(source.get("updatedBy")));
             result.setUpdatedTime(DfTypeUtil.toLong(source.get("updatedTime")));
-            return result;
+            return updateEntity(source, result);
         } catch (InstantiationException | IllegalAccessException e) {
             final String msg = "Cannot create a new instance: " + entityType.getName();
             throw new IllegalBehaviorStateException(msg, e);
         }
     }
 
+    protected <RESULT extends ScheduledJob> RESULT updateEntity(Map<String, Object> source, RESULT result) {
+        return result;
+    }
+
     // ===================================================================================
     //                                                                              Select
     //                                                                              ======

+ 5 - 1
src/main/java/org/codelibs/fess/es/config/bsbhv/BsThumbnailQueueBhv.java

@@ -79,13 +79,17 @@ public abstract class BsThumbnailQueueBhv extends EsAbstractBehavior<ThumbnailQu
             result.setGenerator(DfTypeUtil.toString(source.get("generator")));
             result.setPath(DfTypeUtil.toString(source.get("path")));
             result.setUrl(DfTypeUtil.toString(source.get("url")));
-            return result;
+            return updateEntity(source, result);
         } catch (InstantiationException | IllegalAccessException e) {
             final String msg = "Cannot create a new instance: " + entityType.getName();
             throw new IllegalBehaviorStateException(msg, e);
         }
     }
 
+    protected <RESULT extends ThumbnailQueue> RESULT updateEntity(Map<String, Object> source, RESULT result) {
+        return result;
+    }
+
     // ===================================================================================
     //                                                                              Select
     //                                                                              ======

+ 5 - 1
src/main/java/org/codelibs/fess/es/config/bsbhv/BsWebAuthenticationBhv.java

@@ -85,13 +85,17 @@ public abstract class BsWebAuthenticationBhv extends EsAbstractBehavior<WebAuthe
             result.setUpdatedTime(DfTypeUtil.toLong(source.get("updatedTime")));
             result.setUsername(DfTypeUtil.toString(source.get("username")));
             result.setWebConfigId(DfTypeUtil.toString(source.get("webConfigId")));
-            return result;
+            return updateEntity(source, result);
         } catch (InstantiationException | IllegalAccessException e) {
             final String msg = "Cannot create a new instance: " + entityType.getName();
             throw new IllegalBehaviorStateException(msg, e);
         }
     }
 
+    protected <RESULT extends WebAuthentication> RESULT updateEntity(Map<String, Object> source, RESULT result) {
+        return result;
+    }
+
     // ===================================================================================
     //                                                                              Select
     //                                                                              ======

+ 5 - 1
src/main/java/org/codelibs/fess/es/config/bsbhv/BsWebConfigBhv.java

@@ -95,13 +95,17 @@ public abstract class BsWebConfigBhv extends EsAbstractBehavior<WebConfig, WebCo
             result.setUpdatedTime(DfTypeUtil.toLong(source.get("updatedTime")));
             result.setUrls(DfTypeUtil.toString(source.get("urls")));
             result.setUserAgent(DfTypeUtil.toString(source.get("userAgent")));
-            return result;
+            return updateEntity(source, result);
         } catch (InstantiationException | IllegalAccessException e) {
             final String msg = "Cannot create a new instance: " + entityType.getName();
             throw new IllegalBehaviorStateException(msg, e);
         }
     }
 
+    protected <RESULT extends WebConfig> RESULT updateEntity(Map<String, Object> source, RESULT result) {
+        return result;
+    }
+
     // ===================================================================================
     //                                                                              Select
     //                                                                              ======

+ 5 - 1
src/main/java/org/codelibs/fess/es/config/bsbhv/BsWebConfigToLabelBhv.java

@@ -75,13 +75,17 @@ public abstract class BsWebConfigToLabelBhv extends EsAbstractBehavior<WebConfig
             final RESULT result = entityType.newInstance();
             result.setLabelTypeId(DfTypeUtil.toString(source.get("labelTypeId")));
             result.setWebConfigId(DfTypeUtil.toString(source.get("webConfigId")));
-            return result;
+            return updateEntity(source, result);
         } catch (InstantiationException | IllegalAccessException e) {
             final String msg = "Cannot create a new instance: " + entityType.getName();
             throw new IllegalBehaviorStateException(msg, e);
         }
     }
 
+    protected <RESULT extends WebConfigToLabel> RESULT updateEntity(Map<String, Object> source, RESULT result) {
+        return result;
+    }
+
     // ===================================================================================
     //                                                                              Select
     //                                                                              ======

+ 5 - 1
src/main/java/org/codelibs/fess/es/config/bsbhv/BsWebConfigToRoleBhv.java

@@ -75,13 +75,17 @@ public abstract class BsWebConfigToRoleBhv extends EsAbstractBehavior<WebConfigT
             final RESULT result = entityType.newInstance();
             result.setRoleTypeId(DfTypeUtil.toString(source.get("roleTypeId")));
             result.setWebConfigId(DfTypeUtil.toString(source.get("webConfigId")));
-            return result;
+            return updateEntity(source, result);
         } catch (InstantiationException | IllegalAccessException e) {
             final String msg = "Cannot create a new instance: " + entityType.getName();
             throw new IllegalBehaviorStateException(msg, e);
         }
     }
 
+    protected <RESULT extends WebConfigToRole> RESULT updateEntity(Map<String, Object> source, RESULT result) {
+        return result;
+    }
+
     // ===================================================================================
     //                                                                              Select
     //                                                                              ======

+ 13 - 9
src/main/java/org/codelibs/fess/es/config/bsentity/BsAccessToken.java

@@ -86,35 +86,39 @@ public class BsAccessToken extends EsAbstractEntity {
     public Map<String, Object> toSource() {
         Map<String, Object> sourceMap = new HashMap<>();
         if (name != null) {
-            sourceMap.put("name", name);
+            addFieldToSource(sourceMap, "name", name);
         }
         if (token != null) {
-            sourceMap.put("token", token);
+            addFieldToSource(sourceMap, "token", token);
         }
         if (permissions != null) {
-            sourceMap.put("permissions", permissions);
+            addFieldToSource(sourceMap, "permissions", permissions);
         }
         if (parameterName != null) {
-            sourceMap.put("parameter_name", parameterName);
+            addFieldToSource(sourceMap, "parameter_name", parameterName);
         }
         if (expiredTime != null) {
-            sourceMap.put("expiredTime", expiredTime);
+            addFieldToSource(sourceMap, "expiredTime", expiredTime);
         }
         if (createdBy != null) {
-            sourceMap.put("createdBy", createdBy);
+            addFieldToSource(sourceMap, "createdBy", createdBy);
         }
         if (createdTime != null) {
-            sourceMap.put("createdTime", createdTime);
+            addFieldToSource(sourceMap, "createdTime", createdTime);
         }
         if (updatedBy != null) {
-            sourceMap.put("updatedBy", updatedBy);
+            addFieldToSource(sourceMap, "updatedBy", updatedBy);
         }
         if (updatedTime != null) {
-            sourceMap.put("updatedTime", updatedTime);
+            addFieldToSource(sourceMap, "updatedTime", updatedTime);
         }
         return sourceMap;
     }
 
+    protected void addFieldToSource(Map<String, Object> sourceMap, String field, Object value) {
+        sourceMap.put(field, value);
+    }
+
     // ===================================================================================
     //                                                                      Basic Override
     //                                                                      ==============

+ 11 - 7
src/main/java/org/codelibs/fess/es/config/bsentity/BsBadWord.java

@@ -80,29 +80,33 @@ public class BsBadWord extends EsAbstractEntity {
     public Map<String, Object> toSource() {
         Map<String, Object> sourceMap = new HashMap<>();
         if (createdBy != null) {
-            sourceMap.put("createdBy", createdBy);
+            addFieldToSource(sourceMap, "createdBy", createdBy);
         }
         if (createdTime != null) {
-            sourceMap.put("createdTime", createdTime);
+            addFieldToSource(sourceMap, "createdTime", createdTime);
         }
         if (suggestWord != null) {
-            sourceMap.put("suggestWord", suggestWord);
+            addFieldToSource(sourceMap, "suggestWord", suggestWord);
         }
         if (targetLabel != null) {
-            sourceMap.put("targetLabel", targetLabel);
+            addFieldToSource(sourceMap, "targetLabel", targetLabel);
         }
         if (targetRole != null) {
-            sourceMap.put("targetRole", targetRole);
+            addFieldToSource(sourceMap, "targetRole", targetRole);
         }
         if (updatedBy != null) {
-            sourceMap.put("updatedBy", updatedBy);
+            addFieldToSource(sourceMap, "updatedBy", updatedBy);
         }
         if (updatedTime != null) {
-            sourceMap.put("updatedTime", updatedTime);
+            addFieldToSource(sourceMap, "updatedTime", updatedTime);
         }
         return sourceMap;
     }
 
+    protected void addFieldToSource(Map<String, Object> sourceMap, String field, Object value) {
+        sourceMap.put(field, value);
+    }
+
     // ===================================================================================
     //                                                                      Basic Override
     //                                                                      ==============

+ 11 - 7
src/main/java/org/codelibs/fess/es/config/bsentity/BsBoostDocumentRule.java

@@ -80,29 +80,33 @@ public class BsBoostDocumentRule extends EsAbstractEntity {
     public Map<String, Object> toSource() {
         Map<String, Object> sourceMap = new HashMap<>();
         if (boostExpr != null) {
-            sourceMap.put("boostExpr", boostExpr);
+            addFieldToSource(sourceMap, "boostExpr", boostExpr);
         }
         if (createdBy != null) {
-            sourceMap.put("createdBy", createdBy);
+            addFieldToSource(sourceMap, "createdBy", createdBy);
         }
         if (createdTime != null) {
-            sourceMap.put("createdTime", createdTime);
+            addFieldToSource(sourceMap, "createdTime", createdTime);
         }
         if (sortOrder != null) {
-            sourceMap.put("sortOrder", sortOrder);
+            addFieldToSource(sourceMap, "sortOrder", sortOrder);
         }
         if (updatedBy != null) {
-            sourceMap.put("updatedBy", updatedBy);
+            addFieldToSource(sourceMap, "updatedBy", updatedBy);
         }
         if (updatedTime != null) {
-            sourceMap.put("updatedTime", updatedTime);
+            addFieldToSource(sourceMap, "updatedTime", updatedTime);
         }
         if (urlExpr != null) {
-            sourceMap.put("urlExpr", urlExpr);
+            addFieldToSource(sourceMap, "urlExpr", urlExpr);
         }
         return sourceMap;
     }
 
+    protected void addFieldToSource(Map<String, Object> sourceMap, String field, Object value) {
+        sourceMap.put(field, value);
+    }
+
     // ===================================================================================
     //                                                                      Basic Override
     //                                                                      ==============

+ 8 - 4
src/main/java/org/codelibs/fess/es/config/bsentity/BsCrawlingInfo.java

@@ -71,20 +71,24 @@ public class BsCrawlingInfo extends EsAbstractEntity {
     public Map<String, Object> toSource() {
         Map<String, Object> sourceMap = new HashMap<>();
         if (createdTime != null) {
-            sourceMap.put("createdTime", createdTime);
+            addFieldToSource(sourceMap, "createdTime", createdTime);
         }
         if (expiredTime != null) {
-            sourceMap.put("expiredTime", expiredTime);
+            addFieldToSource(sourceMap, "expiredTime", expiredTime);
         }
         if (name != null) {
-            sourceMap.put("name", name);
+            addFieldToSource(sourceMap, "name", name);
         }
         if (sessionId != null) {
-            sourceMap.put("sessionId", sessionId);
+            addFieldToSource(sourceMap, "sessionId", sessionId);
         }
         return sourceMap;
     }
 
+    protected void addFieldToSource(Map<String, Object> sourceMap, String field, Object value) {
+        sourceMap.put(field, value);
+    }
+
     // ===================================================================================
     //                                                                      Basic Override
     //                                                                      ==============

+ 8 - 4
src/main/java/org/codelibs/fess/es/config/bsentity/BsCrawlingInfoParam.java

@@ -71,20 +71,24 @@ public class BsCrawlingInfoParam extends EsAbstractEntity {
     public Map<String, Object> toSource() {
         Map<String, Object> sourceMap = new HashMap<>();
         if (crawlingInfoId != null) {
-            sourceMap.put("crawlingInfoId", crawlingInfoId);
+            addFieldToSource(sourceMap, "crawlingInfoId", crawlingInfoId);
         }
         if (createdTime != null) {
-            sourceMap.put("createdTime", createdTime);
+            addFieldToSource(sourceMap, "createdTime", createdTime);
         }
         if (key != null) {
-            sourceMap.put("key", key);
+            addFieldToSource(sourceMap, "key", key);
         }
         if (value != null) {
-            sourceMap.put("value", value);
+            addFieldToSource(sourceMap, "value", value);
         }
         return sourceMap;
     }
 
+    protected void addFieldToSource(Map<String, Object> sourceMap, String field, Object value) {
+        sourceMap.put(field, value);
+    }
+
     // ===================================================================================
     //                                                                      Basic Override
     //                                                                      ==============

+ 17 - 13
src/main/java/org/codelibs/fess/es/config/bsentity/BsDataConfig.java

@@ -98,47 +98,51 @@ public class BsDataConfig extends EsAbstractEntity {
     public Map<String, Object> toSource() {
         Map<String, Object> sourceMap = new HashMap<>();
         if (available != null) {
-            sourceMap.put("available", available);
+            addFieldToSource(sourceMap, "available", available);
         }
         if (boost != null) {
-            sourceMap.put("boost", boost);
+            addFieldToSource(sourceMap, "boost", boost);
         }
         if (createdBy != null) {
-            sourceMap.put("createdBy", createdBy);
+            addFieldToSource(sourceMap, "createdBy", createdBy);
         }
         if (createdTime != null) {
-            sourceMap.put("createdTime", createdTime);
+            addFieldToSource(sourceMap, "createdTime", createdTime);
         }
         if (description != null) {
-            sourceMap.put("description", description);
+            addFieldToSource(sourceMap, "description", description);
         }
         if (handlerName != null) {
-            sourceMap.put("handlerName", handlerName);
+            addFieldToSource(sourceMap, "handlerName", handlerName);
         }
         if (handlerParameter != null) {
-            sourceMap.put("handlerParameter", handlerParameter);
+            addFieldToSource(sourceMap, "handlerParameter", handlerParameter);
         }
         if (handlerScript != null) {
-            sourceMap.put("handlerScript", handlerScript);
+            addFieldToSource(sourceMap, "handlerScript", handlerScript);
         }
         if (name != null) {
-            sourceMap.put("name", name);
+            addFieldToSource(sourceMap, "name", name);
         }
         if (permissions != null) {
-            sourceMap.put("permissions", permissions);
+            addFieldToSource(sourceMap, "permissions", permissions);
         }
         if (sortOrder != null) {
-            sourceMap.put("sortOrder", sortOrder);
+            addFieldToSource(sourceMap, "sortOrder", sortOrder);
         }
         if (updatedBy != null) {
-            sourceMap.put("updatedBy", updatedBy);
+            addFieldToSource(sourceMap, "updatedBy", updatedBy);
         }
         if (updatedTime != null) {
-            sourceMap.put("updatedTime", updatedTime);
+            addFieldToSource(sourceMap, "updatedTime", updatedTime);
         }
         return sourceMap;
     }
 
+    protected void addFieldToSource(Map<String, Object> sourceMap, String field, Object value) {
+        sourceMap.put(field, value);
+    }
+
     // ===================================================================================
     //                                                                      Basic Override
     //                                                                      ==============

+ 6 - 2
src/main/java/org/codelibs/fess/es/config/bsentity/BsDataConfigToLabel.java

@@ -65,14 +65,18 @@ public class BsDataConfigToLabel extends EsAbstractEntity {
     public Map<String, Object> toSource() {
         Map<String, Object> sourceMap = new HashMap<>();
         if (dataConfigId != null) {
-            sourceMap.put("dataConfigId", dataConfigId);
+            addFieldToSource(sourceMap, "dataConfigId", dataConfigId);
         }
         if (labelTypeId != null) {
-            sourceMap.put("labelTypeId", labelTypeId);
+            addFieldToSource(sourceMap, "labelTypeId", labelTypeId);
         }
         return sourceMap;
     }
 
+    protected void addFieldToSource(Map<String, Object> sourceMap, String field, Object value) {
+        sourceMap.put(field, value);
+    }
+
     // ===================================================================================
     //                                                                      Basic Override
     //                                                                      ==============

+ 6 - 2
src/main/java/org/codelibs/fess/es/config/bsentity/BsDataConfigToRole.java

@@ -65,14 +65,18 @@ public class BsDataConfigToRole extends EsAbstractEntity {
     public Map<String, Object> toSource() {
         Map<String, Object> sourceMap = new HashMap<>();
         if (dataConfigId != null) {
-            sourceMap.put("dataConfigId", dataConfigId);
+            addFieldToSource(sourceMap, "dataConfigId", dataConfigId);
         }
         if (roleTypeId != null) {
-            sourceMap.put("roleTypeId", roleTypeId);
+            addFieldToSource(sourceMap, "roleTypeId", roleTypeId);
         }
         return sourceMap;
     }
 
+    protected void addFieldToSource(Map<String, Object> sourceMap, String field, Object value) {
+        sourceMap.put(field, value);
+    }
+
     // ===================================================================================
     //                                                                      Basic Override
     //                                                                      ==============

+ 11 - 7
src/main/java/org/codelibs/fess/es/config/bsentity/BsDuplicateHost.java

@@ -80,29 +80,33 @@ public class BsDuplicateHost extends EsAbstractEntity {
     public Map<String, Object> toSource() {
         Map<String, Object> sourceMap = new HashMap<>();
         if (createdBy != null) {
-            sourceMap.put("createdBy", createdBy);
+            addFieldToSource(sourceMap, "createdBy", createdBy);
         }
         if (createdTime != null) {
-            sourceMap.put("createdTime", createdTime);
+            addFieldToSource(sourceMap, "createdTime", createdTime);
         }
         if (duplicateHostName != null) {
-            sourceMap.put("duplicateHostName", duplicateHostName);
+            addFieldToSource(sourceMap, "duplicateHostName", duplicateHostName);
         }
         if (regularName != null) {
-            sourceMap.put("regularName", regularName);
+            addFieldToSource(sourceMap, "regularName", regularName);
         }
         if (sortOrder != null) {
-            sourceMap.put("sortOrder", sortOrder);
+            addFieldToSource(sourceMap, "sortOrder", sortOrder);
         }
         if (updatedBy != null) {
-            sourceMap.put("updatedBy", updatedBy);
+            addFieldToSource(sourceMap, "updatedBy", updatedBy);
         }
         if (updatedTime != null) {
-            sourceMap.put("updatedTime", updatedTime);
+            addFieldToSource(sourceMap, "updatedTime", updatedTime);
         }
         return sourceMap;
     }
 
+    protected void addFieldToSource(Map<String, Object> sourceMap, String field, Object value) {
+        sourceMap.put(field, value);
+    }
+
     // ===================================================================================
     //                                                                      Basic Override
     //                                                                      ==============

+ 14 - 10
src/main/java/org/codelibs/fess/es/config/bsentity/BsElevateWord.java

@@ -89,38 +89,42 @@ public class BsElevateWord extends EsAbstractEntity {
     public Map<String, Object> toSource() {
         Map<String, Object> sourceMap = new HashMap<>();
         if (boost != null) {
-            sourceMap.put("boost", boost);
+            addFieldToSource(sourceMap, "boost", boost);
         }
         if (createdBy != null) {
-            sourceMap.put("createdBy", createdBy);
+            addFieldToSource(sourceMap, "createdBy", createdBy);
         }
         if (createdTime != null) {
-            sourceMap.put("createdTime", createdTime);
+            addFieldToSource(sourceMap, "createdTime", createdTime);
         }
         if (reading != null) {
-            sourceMap.put("reading", reading);
+            addFieldToSource(sourceMap, "reading", reading);
         }
         if (suggestWord != null) {
-            sourceMap.put("suggestWord", suggestWord);
+            addFieldToSource(sourceMap, "suggestWord", suggestWord);
         }
         if (targetLabel != null) {
-            sourceMap.put("targetLabel", targetLabel);
+            addFieldToSource(sourceMap, "targetLabel", targetLabel);
         }
         if (targetRole != null) {
-            sourceMap.put("targetRole", targetRole);
+            addFieldToSource(sourceMap, "targetRole", targetRole);
         }
         if (permissions != null) {
-            sourceMap.put("permissions", permissions);
+            addFieldToSource(sourceMap, "permissions", permissions);
         }
         if (updatedBy != null) {
-            sourceMap.put("updatedBy", updatedBy);
+            addFieldToSource(sourceMap, "updatedBy", updatedBy);
         }
         if (updatedTime != null) {
-            sourceMap.put("updatedTime", updatedTime);
+            addFieldToSource(sourceMap, "updatedTime", updatedTime);
         }
         return sourceMap;
     }
 
+    protected void addFieldToSource(Map<String, Object> sourceMap, String field, Object value) {
+        sourceMap.put(field, value);
+    }
+
     // ===================================================================================
     //                                                                      Basic Override
     //                                                                      ==============

+ 6 - 2
src/main/java/org/codelibs/fess/es/config/bsentity/BsElevateWordToLabel.java

@@ -65,14 +65,18 @@ public class BsElevateWordToLabel extends EsAbstractEntity {
     public Map<String, Object> toSource() {
         Map<String, Object> sourceMap = new HashMap<>();
         if (elevateWordId != null) {
-            sourceMap.put("elevateWordId", elevateWordId);
+            addFieldToSource(sourceMap, "elevateWordId", elevateWordId);
         }
         if (labelTypeId != null) {
-            sourceMap.put("labelTypeId", labelTypeId);
+            addFieldToSource(sourceMap, "labelTypeId", labelTypeId);
         }
         return sourceMap;
     }
 
+    protected void addFieldToSource(Map<String, Object> sourceMap, String field, Object value) {
+        sourceMap.put(field, value);
+    }
+
     // ===================================================================================
     //                                                                      Basic Override
     //                                                                      ==============

+ 11 - 7
src/main/java/org/codelibs/fess/es/config/bsentity/BsFailureUrl.java

@@ -80,29 +80,33 @@ public class BsFailureUrl extends EsAbstractEntity {
     public Map<String, Object> toSource() {
         Map<String, Object> sourceMap = new HashMap<>();
         if (configId != null) {
-            sourceMap.put("configId", configId);
+            addFieldToSource(sourceMap, "configId", configId);
         }
         if (errorCount != null) {
-            sourceMap.put("errorCount", errorCount);
+            addFieldToSource(sourceMap, "errorCount", errorCount);
         }
         if (errorLog != null) {
-            sourceMap.put("errorLog", errorLog);
+            addFieldToSource(sourceMap, "errorLog", errorLog);
         }
         if (errorName != null) {
-            sourceMap.put("errorName", errorName);
+            addFieldToSource(sourceMap, "errorName", errorName);
         }
         if (lastAccessTime != null) {
-            sourceMap.put("lastAccessTime", lastAccessTime);
+            addFieldToSource(sourceMap, "lastAccessTime", lastAccessTime);
         }
         if (threadName != null) {
-            sourceMap.put("threadName", threadName);
+            addFieldToSource(sourceMap, "threadName", threadName);
         }
         if (url != null) {
-            sourceMap.put("url", url);
+            addFieldToSource(sourceMap, "url", url);
         }
         return sourceMap;
     }
 
+    protected void addFieldToSource(Map<String, Object> sourceMap, String field, Object value) {
+        sourceMap.put(field, value);
+    }
+
     // ===================================================================================
     //                                                                      Basic Override
     //                                                                      ==============

+ 15 - 11
src/main/java/org/codelibs/fess/es/config/bsentity/BsFileAuthentication.java

@@ -92,41 +92,45 @@ public class BsFileAuthentication extends EsAbstractEntity {
     public Map<String, Object> toSource() {
         Map<String, Object> sourceMap = new HashMap<>();
         if (createdBy != null) {
-            sourceMap.put("createdBy", createdBy);
+            addFieldToSource(sourceMap, "createdBy", createdBy);
         }
         if (createdTime != null) {
-            sourceMap.put("createdTime", createdTime);
+            addFieldToSource(sourceMap, "createdTime", createdTime);
         }
         if (fileConfigId != null) {
-            sourceMap.put("fileConfigId", fileConfigId);
+            addFieldToSource(sourceMap, "fileConfigId", fileConfigId);
         }
         if (hostname != null) {
-            sourceMap.put("hostname", hostname);
+            addFieldToSource(sourceMap, "hostname", hostname);
         }
         if (parameters != null) {
-            sourceMap.put("parameters", parameters);
+            addFieldToSource(sourceMap, "parameters", parameters);
         }
         if (password != null) {
-            sourceMap.put("password", password);
+            addFieldToSource(sourceMap, "password", password);
         }
         if (port != null) {
-            sourceMap.put("port", port);
+            addFieldToSource(sourceMap, "port", port);
         }
         if (protocolScheme != null) {
-            sourceMap.put("protocolScheme", protocolScheme);
+            addFieldToSource(sourceMap, "protocolScheme", protocolScheme);
         }
         if (updatedBy != null) {
-            sourceMap.put("updatedBy", updatedBy);
+            addFieldToSource(sourceMap, "updatedBy", updatedBy);
         }
         if (updatedTime != null) {
-            sourceMap.put("updatedTime", updatedTime);
+            addFieldToSource(sourceMap, "updatedTime", updatedTime);
         }
         if (username != null) {
-            sourceMap.put("username", username);
+            addFieldToSource(sourceMap, "username", username);
         }
         return sourceMap;
     }
 
+    protected void addFieldToSource(Map<String, Object> sourceMap, String field, Object value) {
+        sourceMap.put(field, value);
+    }
+
     // ===================================================================================
     //                                                                      Basic Override
     //                                                                      ==============

+ 25 - 21
src/main/java/org/codelibs/fess/es/config/bsentity/BsFileConfig.java

@@ -122,71 +122,75 @@ public class BsFileConfig extends EsAbstractEntity {
     public Map<String, Object> toSource() {
         Map<String, Object> sourceMap = new HashMap<>();
         if (available != null) {
-            sourceMap.put("available", available);
+            addFieldToSource(sourceMap, "available", available);
         }
         if (boost != null) {
-            sourceMap.put("boost", boost);
+            addFieldToSource(sourceMap, "boost", boost);
         }
         if (configParameter != null) {
-            sourceMap.put("configParameter", configParameter);
+            addFieldToSource(sourceMap, "configParameter", configParameter);
         }
         if (createdBy != null) {
-            sourceMap.put("createdBy", createdBy);
+            addFieldToSource(sourceMap, "createdBy", createdBy);
         }
         if (createdTime != null) {
-            sourceMap.put("createdTime", createdTime);
+            addFieldToSource(sourceMap, "createdTime", createdTime);
         }
         if (depth != null) {
-            sourceMap.put("depth", depth);
+            addFieldToSource(sourceMap, "depth", depth);
         }
         if (description != null) {
-            sourceMap.put("description", description);
+            addFieldToSource(sourceMap, "description", description);
         }
         if (excludedDocPaths != null) {
-            sourceMap.put("excludedDocPaths", excludedDocPaths);
+            addFieldToSource(sourceMap, "excludedDocPaths", excludedDocPaths);
         }
         if (excludedPaths != null) {
-            sourceMap.put("excludedPaths", excludedPaths);
+            addFieldToSource(sourceMap, "excludedPaths", excludedPaths);
         }
         if (includedDocPaths != null) {
-            sourceMap.put("includedDocPaths", includedDocPaths);
+            addFieldToSource(sourceMap, "includedDocPaths", includedDocPaths);
         }
         if (includedPaths != null) {
-            sourceMap.put("includedPaths", includedPaths);
+            addFieldToSource(sourceMap, "includedPaths", includedPaths);
         }
         if (intervalTime != null) {
-            sourceMap.put("intervalTime", intervalTime);
+            addFieldToSource(sourceMap, "intervalTime", intervalTime);
         }
         if (timeToLive != null) {
-            sourceMap.put("timeToLive", timeToLive);
+            addFieldToSource(sourceMap, "timeToLive", timeToLive);
         }
         if (maxAccessCount != null) {
-            sourceMap.put("maxAccessCount", maxAccessCount);
+            addFieldToSource(sourceMap, "maxAccessCount", maxAccessCount);
         }
         if (name != null) {
-            sourceMap.put("name", name);
+            addFieldToSource(sourceMap, "name", name);
         }
         if (numOfThread != null) {
-            sourceMap.put("numOfThread", numOfThread);
+            addFieldToSource(sourceMap, "numOfThread", numOfThread);
         }
         if (paths != null) {
-            sourceMap.put("paths", paths);
+            addFieldToSource(sourceMap, "paths", paths);
         }
         if (permissions != null) {
-            sourceMap.put("permissions", permissions);
+            addFieldToSource(sourceMap, "permissions", permissions);
         }
         if (sortOrder != null) {
-            sourceMap.put("sortOrder", sortOrder);
+            addFieldToSource(sourceMap, "sortOrder", sortOrder);
         }
         if (updatedBy != null) {
-            sourceMap.put("updatedBy", updatedBy);
+            addFieldToSource(sourceMap, "updatedBy", updatedBy);
         }
         if (updatedTime != null) {
-            sourceMap.put("updatedTime", updatedTime);
+            addFieldToSource(sourceMap, "updatedTime", updatedTime);
         }
         return sourceMap;
     }
 
+    protected void addFieldToSource(Map<String, Object> sourceMap, String field, Object value) {
+        sourceMap.put(field, value);
+    }
+
     // ===================================================================================
     //                                                                      Basic Override
     //                                                                      ==============

+ 6 - 2
src/main/java/org/codelibs/fess/es/config/bsentity/BsFileConfigToLabel.java

@@ -65,14 +65,18 @@ public class BsFileConfigToLabel extends EsAbstractEntity {
     public Map<String, Object> toSource() {
         Map<String, Object> sourceMap = new HashMap<>();
         if (fileConfigId != null) {
-            sourceMap.put("fileConfigId", fileConfigId);
+            addFieldToSource(sourceMap, "fileConfigId", fileConfigId);
         }
         if (labelTypeId != null) {
-            sourceMap.put("labelTypeId", labelTypeId);
+            addFieldToSource(sourceMap, "labelTypeId", labelTypeId);
         }
         return sourceMap;
     }
 
+    protected void addFieldToSource(Map<String, Object> sourceMap, String field, Object value) {
+        sourceMap.put(field, value);
+    }
+
     // ===================================================================================
     //                                                                      Basic Override
     //                                                                      ==============

+ 6 - 2
src/main/java/org/codelibs/fess/es/config/bsentity/BsFileConfigToRole.java

@@ -65,14 +65,18 @@ public class BsFileConfigToRole extends EsAbstractEntity {
     public Map<String, Object> toSource() {
         Map<String, Object> sourceMap = new HashMap<>();
         if (fileConfigId != null) {
-            sourceMap.put("fileConfigId", fileConfigId);
+            addFieldToSource(sourceMap, "fileConfigId", fileConfigId);
         }
         if (roleTypeId != null) {
-            sourceMap.put("roleTypeId", roleTypeId);
+            addFieldToSource(sourceMap, "roleTypeId", roleTypeId);
         }
         return sourceMap;
     }
 
+    protected void addFieldToSource(Map<String, Object> sourceMap, String field, Object value) {
+        sourceMap.put(field, value);
+    }
+
     // ===================================================================================
     //                                                                      Basic Override
     //                                                                      ==============

+ 13 - 9
src/main/java/org/codelibs/fess/es/config/bsentity/BsJobLog.java

@@ -86,35 +86,39 @@ public class BsJobLog extends EsAbstractEntity {
     public Map<String, Object> toSource() {
         Map<String, Object> sourceMap = new HashMap<>();
         if (endTime != null) {
-            sourceMap.put("endTime", endTime);
+            addFieldToSource(sourceMap, "endTime", endTime);
         }
         if (jobName != null) {
-            sourceMap.put("jobName", jobName);
+            addFieldToSource(sourceMap, "jobName", jobName);
         }
         if (jobStatus != null) {
-            sourceMap.put("jobStatus", jobStatus);
+            addFieldToSource(sourceMap, "jobStatus", jobStatus);
         }
         if (scriptData != null) {
-            sourceMap.put("scriptData", scriptData);
+            addFieldToSource(sourceMap, "scriptData", scriptData);
         }
         if (scriptResult != null) {
-            sourceMap.put("scriptResult", scriptResult);
+            addFieldToSource(sourceMap, "scriptResult", scriptResult);
         }
         if (scriptType != null) {
-            sourceMap.put("scriptType", scriptType);
+            addFieldToSource(sourceMap, "scriptType", scriptType);
         }
         if (startTime != null) {
-            sourceMap.put("startTime", startTime);
+            addFieldToSource(sourceMap, "startTime", startTime);
         }
         if (target != null) {
-            sourceMap.put("target", target);
+            addFieldToSource(sourceMap, "target", target);
         }
         if (lastUpdated != null) {
-            sourceMap.put("lastUpdated", lastUpdated);
+            addFieldToSource(sourceMap, "lastUpdated", lastUpdated);
         }
         return sourceMap;
     }
 
+    protected void addFieldToSource(Map<String, Object> sourceMap, String field, Object value) {
+        sourceMap.put(field, value);
+    }
+
     // ===================================================================================
     //                                                                      Basic Override
     //                                                                      ==============

+ 12 - 8
src/main/java/org/codelibs/fess/es/config/bsentity/BsKeyMatch.java

@@ -83,32 +83,36 @@ public class BsKeyMatch extends EsAbstractEntity {
     public Map<String, Object> toSource() {
         Map<String, Object> sourceMap = new HashMap<>();
         if (boost != null) {
-            sourceMap.put("boost", boost);
+            addFieldToSource(sourceMap, "boost", boost);
         }
         if (createdBy != null) {
-            sourceMap.put("createdBy", createdBy);
+            addFieldToSource(sourceMap, "createdBy", createdBy);
         }
         if (createdTime != null) {
-            sourceMap.put("createdTime", createdTime);
+            addFieldToSource(sourceMap, "createdTime", createdTime);
         }
         if (maxSize != null) {
-            sourceMap.put("maxSize", maxSize);
+            addFieldToSource(sourceMap, "maxSize", maxSize);
         }
         if (query != null) {
-            sourceMap.put("query", query);
+            addFieldToSource(sourceMap, "query", query);
         }
         if (term != null) {
-            sourceMap.put("term", term);
+            addFieldToSource(sourceMap, "term", term);
         }
         if (updatedBy != null) {
-            sourceMap.put("updatedBy", updatedBy);
+            addFieldToSource(sourceMap, "updatedBy", updatedBy);
         }
         if (updatedTime != null) {
-            sourceMap.put("updatedTime", updatedTime);
+            addFieldToSource(sourceMap, "updatedTime", updatedTime);
         }
         return sourceMap;
     }
 
+    protected void addFieldToSource(Map<String, Object> sourceMap, String field, Object value) {
+        sourceMap.put(field, value);
+    }
+
     // ===================================================================================
     //                                                                      Basic Override
     //                                                                      ==============

+ 6 - 2
src/main/java/org/codelibs/fess/es/config/bsentity/BsLabelToRole.java

@@ -65,14 +65,18 @@ public class BsLabelToRole extends EsAbstractEntity {
     public Map<String, Object> toSource() {
         Map<String, Object> sourceMap = new HashMap<>();
         if (labelTypeId != null) {
-            sourceMap.put("labelTypeId", labelTypeId);
+            addFieldToSource(sourceMap, "labelTypeId", labelTypeId);
         }
         if (roleTypeId != null) {
-            sourceMap.put("roleTypeId", roleTypeId);
+            addFieldToSource(sourceMap, "roleTypeId", roleTypeId);
         }
         return sourceMap;
     }
 
+    protected void addFieldToSource(Map<String, Object> sourceMap, String field, Object value) {
+        sourceMap.put(field, value);
+    }
+
     // ===================================================================================
     //                                                                      Basic Override
     //                                                                      ==============

+ 14 - 10
src/main/java/org/codelibs/fess/es/config/bsentity/BsLabelType.java

@@ -89,38 +89,42 @@ public class BsLabelType extends EsAbstractEntity {
     public Map<String, Object> toSource() {
         Map<String, Object> sourceMap = new HashMap<>();
         if (createdBy != null) {
-            sourceMap.put("createdBy", createdBy);
+            addFieldToSource(sourceMap, "createdBy", createdBy);
         }
         if (createdTime != null) {
-            sourceMap.put("createdTime", createdTime);
+            addFieldToSource(sourceMap, "createdTime", createdTime);
         }
         if (excludedPaths != null) {
-            sourceMap.put("excludedPaths", excludedPaths);
+            addFieldToSource(sourceMap, "excludedPaths", excludedPaths);
         }
         if (includedPaths != null) {
-            sourceMap.put("includedPaths", includedPaths);
+            addFieldToSource(sourceMap, "includedPaths", includedPaths);
         }
         if (name != null) {
-            sourceMap.put("name", name);
+            addFieldToSource(sourceMap, "name", name);
         }
         if (permissions != null) {
-            sourceMap.put("permissions", permissions);
+            addFieldToSource(sourceMap, "permissions", permissions);
         }
         if (sortOrder != null) {
-            sourceMap.put("sortOrder", sortOrder);
+            addFieldToSource(sourceMap, "sortOrder", sortOrder);
         }
         if (updatedBy != null) {
-            sourceMap.put("updatedBy", updatedBy);
+            addFieldToSource(sourceMap, "updatedBy", updatedBy);
         }
         if (updatedTime != null) {
-            sourceMap.put("updatedTime", updatedTime);
+            addFieldToSource(sourceMap, "updatedTime", updatedTime);
         }
         if (value != null) {
-            sourceMap.put("value", value);
+            addFieldToSource(sourceMap, "value", value);
         }
         return sourceMap;
     }
 
+    protected void addFieldToSource(Map<String, Object> sourceMap, String field, Object value) {
+        sourceMap.put(field, value);
+    }
+
     // ===================================================================================
     //                                                                      Basic Override
     //                                                                      ==============

+ 13 - 9
src/main/java/org/codelibs/fess/es/config/bsentity/BsPathMapping.java

@@ -86,35 +86,39 @@ public class BsPathMapping extends EsAbstractEntity {
     public Map<String, Object> toSource() {
         Map<String, Object> sourceMap = new HashMap<>();
         if (createdBy != null) {
-            sourceMap.put("createdBy", createdBy);
+            addFieldToSource(sourceMap, "createdBy", createdBy);
         }
         if (createdTime != null) {
-            sourceMap.put("createdTime", createdTime);
+            addFieldToSource(sourceMap, "createdTime", createdTime);
         }
         if (processType != null) {
-            sourceMap.put("processType", processType);
+            addFieldToSource(sourceMap, "processType", processType);
         }
         if (regex != null) {
-            sourceMap.put("regex", regex);
+            addFieldToSource(sourceMap, "regex", regex);
         }
         if (replacement != null) {
-            sourceMap.put("replacement", replacement);
+            addFieldToSource(sourceMap, "replacement", replacement);
         }
         if (sortOrder != null) {
-            sourceMap.put("sortOrder", sortOrder);
+            addFieldToSource(sourceMap, "sortOrder", sortOrder);
         }
         if (userAgent != null) {
-            sourceMap.put("userAgent", userAgent);
+            addFieldToSource(sourceMap, "userAgent", userAgent);
         }
         if (updatedBy != null) {
-            sourceMap.put("updatedBy", updatedBy);
+            addFieldToSource(sourceMap, "updatedBy", updatedBy);
         }
         if (updatedTime != null) {
-            sourceMap.put("updatedTime", updatedTime);
+            addFieldToSource(sourceMap, "updatedTime", updatedTime);
         }
         return sourceMap;
     }
 
+    protected void addFieldToSource(Map<String, Object> sourceMap, String field, Object value) {
+        sourceMap.put(field, value);
+    }
+
     // ===================================================================================
     //                                                                      Basic Override
     //                                                                      ==============

+ 11 - 7
src/main/java/org/codelibs/fess/es/config/bsentity/BsRequestHeader.java

@@ -80,29 +80,33 @@ public class BsRequestHeader extends EsAbstractEntity {
     public Map<String, Object> toSource() {
         Map<String, Object> sourceMap = new HashMap<>();
         if (createdBy != null) {
-            sourceMap.put("createdBy", createdBy);
+            addFieldToSource(sourceMap, "createdBy", createdBy);
         }
         if (createdTime != null) {
-            sourceMap.put("createdTime", createdTime);
+            addFieldToSource(sourceMap, "createdTime", createdTime);
         }
         if (name != null) {
-            sourceMap.put("name", name);
+            addFieldToSource(sourceMap, "name", name);
         }
         if (updatedBy != null) {
-            sourceMap.put("updatedBy", updatedBy);
+            addFieldToSource(sourceMap, "updatedBy", updatedBy);
         }
         if (updatedTime != null) {
-            sourceMap.put("updatedTime", updatedTime);
+            addFieldToSource(sourceMap, "updatedTime", updatedTime);
         }
         if (value != null) {
-            sourceMap.put("value", value);
+            addFieldToSource(sourceMap, "value", value);
         }
         if (webConfigId != null) {
-            sourceMap.put("webConfigId", webConfigId);
+            addFieldToSource(sourceMap, "webConfigId", webConfigId);
         }
         return sourceMap;
     }
 
+    protected void addFieldToSource(Map<String, Object> sourceMap, String field, Object value) {
+        sourceMap.put(field, value);
+    }
+
     // ===================================================================================
     //                                                                      Basic Override
     //                                                                      ==============

+ 11 - 7
src/main/java/org/codelibs/fess/es/config/bsentity/BsRoleType.java

@@ -80,29 +80,33 @@ public class BsRoleType extends EsAbstractEntity {
     public Map<String, Object> toSource() {
         Map<String, Object> sourceMap = new HashMap<>();
         if (createdBy != null) {
-            sourceMap.put("createdBy", createdBy);
+            addFieldToSource(sourceMap, "createdBy", createdBy);
         }
         if (createdTime != null) {
-            sourceMap.put("createdTime", createdTime);
+            addFieldToSource(sourceMap, "createdTime", createdTime);
         }
         if (name != null) {
-            sourceMap.put("name", name);
+            addFieldToSource(sourceMap, "name", name);
         }
         if (sortOrder != null) {
-            sourceMap.put("sortOrder", sortOrder);
+            addFieldToSource(sourceMap, "sortOrder", sortOrder);
         }
         if (updatedBy != null) {
-            sourceMap.put("updatedBy", updatedBy);
+            addFieldToSource(sourceMap, "updatedBy", updatedBy);
         }
         if (updatedTime != null) {
-            sourceMap.put("updatedTime", updatedTime);
+            addFieldToSource(sourceMap, "updatedTime", updatedTime);
         }
         if (value != null) {
-            sourceMap.put("value", value);
+            addFieldToSource(sourceMap, "value", value);
         }
         return sourceMap;
     }
 
+    protected void addFieldToSource(Map<String, Object> sourceMap, String field, Object value) {
+        sourceMap.put(field, value);
+    }
+
     // ===================================================================================
     //                                                                      Basic Override
     //                                                                      ==============

+ 17 - 13
src/main/java/org/codelibs/fess/es/config/bsentity/BsScheduledJob.java

@@ -98,47 +98,51 @@ public class BsScheduledJob extends EsAbstractEntity {
     public Map<String, Object> toSource() {
         Map<String, Object> sourceMap = new HashMap<>();
         if (available != null) {
-            sourceMap.put("available", available);
+            addFieldToSource(sourceMap, "available", available);
         }
         if (crawler != null) {
-            sourceMap.put("crawler", crawler);
+            addFieldToSource(sourceMap, "crawler", crawler);
         }
         if (createdBy != null) {
-            sourceMap.put("createdBy", createdBy);
+            addFieldToSource(sourceMap, "createdBy", createdBy);
         }
         if (createdTime != null) {
-            sourceMap.put("createdTime", createdTime);
+            addFieldToSource(sourceMap, "createdTime", createdTime);
         }
         if (cronExpression != null) {
-            sourceMap.put("cronExpression", cronExpression);
+            addFieldToSource(sourceMap, "cronExpression", cronExpression);
         }
         if (jobLogging != null) {
-            sourceMap.put("jobLogging", jobLogging);
+            addFieldToSource(sourceMap, "jobLogging", jobLogging);
         }
         if (name != null) {
-            sourceMap.put("name", name);
+            addFieldToSource(sourceMap, "name", name);
         }
         if (scriptData != null) {
-            sourceMap.put("scriptData", scriptData);
+            addFieldToSource(sourceMap, "scriptData", scriptData);
         }
         if (scriptType != null) {
-            sourceMap.put("scriptType", scriptType);
+            addFieldToSource(sourceMap, "scriptType", scriptType);
         }
         if (sortOrder != null) {
-            sourceMap.put("sortOrder", sortOrder);
+            addFieldToSource(sourceMap, "sortOrder", sortOrder);
         }
         if (target != null) {
-            sourceMap.put("target", target);
+            addFieldToSource(sourceMap, "target", target);
         }
         if (updatedBy != null) {
-            sourceMap.put("updatedBy", updatedBy);
+            addFieldToSource(sourceMap, "updatedBy", updatedBy);
         }
         if (updatedTime != null) {
-            sourceMap.put("updatedTime", updatedTime);
+            addFieldToSource(sourceMap, "updatedTime", updatedTime);
         }
         return sourceMap;
     }
 
+    protected void addFieldToSource(Map<String, Object> sourceMap, String field, Object value) {
+        sourceMap.put(field, value);
+    }
+
     // ===================================================================================
     //                                                                      Basic Override
     //                                                                      ==============

+ 10 - 6
src/main/java/org/codelibs/fess/es/config/bsentity/BsThumbnailQueue.java

@@ -77,26 +77,30 @@ public class BsThumbnailQueue extends EsAbstractEntity {
     public Map<String, Object> toSource() {
         Map<String, Object> sourceMap = new HashMap<>();
         if (createdBy != null) {
-            sourceMap.put("createdBy", createdBy);
+            addFieldToSource(sourceMap, "createdBy", createdBy);
         }
         if (createdTime != null) {
-            sourceMap.put("createdTime", createdTime);
+            addFieldToSource(sourceMap, "createdTime", createdTime);
         }
         if (target != null) {
-            sourceMap.put("target", target);
+            addFieldToSource(sourceMap, "target", target);
         }
         if (generator != null) {
-            sourceMap.put("generator", generator);
+            addFieldToSource(sourceMap, "generator", generator);
         }
         if (path != null) {
-            sourceMap.put("path", path);
+            addFieldToSource(sourceMap, "path", path);
         }
         if (url != null) {
-            sourceMap.put("url", url);
+            addFieldToSource(sourceMap, "url", url);
         }
         return sourceMap;
     }
 
+    protected void addFieldToSource(Map<String, Object> sourceMap, String field, Object value) {
+        sourceMap.put(field, value);
+    }
+
     // ===================================================================================
     //                                                                      Basic Override
     //                                                                      ==============

+ 16 - 12
src/main/java/org/codelibs/fess/es/config/bsentity/BsWebAuthentication.java

@@ -95,44 +95,48 @@ public class BsWebAuthentication extends EsAbstractEntity {
     public Map<String, Object> toSource() {
         Map<String, Object> sourceMap = new HashMap<>();
         if (authRealm != null) {
-            sourceMap.put("authRealm", authRealm);
+            addFieldToSource(sourceMap, "authRealm", authRealm);
         }
         if (createdBy != null) {
-            sourceMap.put("createdBy", createdBy);
+            addFieldToSource(sourceMap, "createdBy", createdBy);
         }
         if (createdTime != null) {
-            sourceMap.put("createdTime", createdTime);
+            addFieldToSource(sourceMap, "createdTime", createdTime);
         }
         if (hostname != null) {
-            sourceMap.put("hostname", hostname);
+            addFieldToSource(sourceMap, "hostname", hostname);
         }
         if (parameters != null) {
-            sourceMap.put("parameters", parameters);
+            addFieldToSource(sourceMap, "parameters", parameters);
         }
         if (password != null) {
-            sourceMap.put("password", password);
+            addFieldToSource(sourceMap, "password", password);
         }
         if (port != null) {
-            sourceMap.put("port", port);
+            addFieldToSource(sourceMap, "port", port);
         }
         if (protocolScheme != null) {
-            sourceMap.put("protocolScheme", protocolScheme);
+            addFieldToSource(sourceMap, "protocolScheme", protocolScheme);
         }
         if (updatedBy != null) {
-            sourceMap.put("updatedBy", updatedBy);
+            addFieldToSource(sourceMap, "updatedBy", updatedBy);
         }
         if (updatedTime != null) {
-            sourceMap.put("updatedTime", updatedTime);
+            addFieldToSource(sourceMap, "updatedTime", updatedTime);
         }
         if (username != null) {
-            sourceMap.put("username", username);
+            addFieldToSource(sourceMap, "username", username);
         }
         if (webConfigId != null) {
-            sourceMap.put("webConfigId", webConfigId);
+            addFieldToSource(sourceMap, "webConfigId", webConfigId);
         }
         return sourceMap;
     }
 
+    protected void addFieldToSource(Map<String, Object> sourceMap, String field, Object value) {
+        sourceMap.put(field, value);
+    }
+
     // ===================================================================================
     //                                                                      Basic Override
     //                                                                      ==============

+ 26 - 22
src/main/java/org/codelibs/fess/es/config/bsentity/BsWebConfig.java

@@ -125,74 +125,78 @@ public class BsWebConfig extends EsAbstractEntity {
     public Map<String, Object> toSource() {
         Map<String, Object> sourceMap = new HashMap<>();
         if (available != null) {
-            sourceMap.put("available", available);
+            addFieldToSource(sourceMap, "available", available);
         }
         if (boost != null) {
-            sourceMap.put("boost", boost);
+            addFieldToSource(sourceMap, "boost", boost);
         }
         if (configParameter != null) {
-            sourceMap.put("configParameter", configParameter);
+            addFieldToSource(sourceMap, "configParameter", configParameter);
         }
         if (createdBy != null) {
-            sourceMap.put("createdBy", createdBy);
+            addFieldToSource(sourceMap, "createdBy", createdBy);
         }
         if (createdTime != null) {
-            sourceMap.put("createdTime", createdTime);
+            addFieldToSource(sourceMap, "createdTime", createdTime);
         }
         if (depth != null) {
-            sourceMap.put("depth", depth);
+            addFieldToSource(sourceMap, "depth", depth);
         }
         if (description != null) {
-            sourceMap.put("description", description);
+            addFieldToSource(sourceMap, "description", description);
         }
         if (excludedDocUrls != null) {
-            sourceMap.put("excludedDocUrls", excludedDocUrls);
+            addFieldToSource(sourceMap, "excludedDocUrls", excludedDocUrls);
         }
         if (excludedUrls != null) {
-            sourceMap.put("excludedUrls", excludedUrls);
+            addFieldToSource(sourceMap, "excludedUrls", excludedUrls);
         }
         if (includedDocUrls != null) {
-            sourceMap.put("includedDocUrls", includedDocUrls);
+            addFieldToSource(sourceMap, "includedDocUrls", includedDocUrls);
         }
         if (includedUrls != null) {
-            sourceMap.put("includedUrls", includedUrls);
+            addFieldToSource(sourceMap, "includedUrls", includedUrls);
         }
         if (intervalTime != null) {
-            sourceMap.put("intervalTime", intervalTime);
+            addFieldToSource(sourceMap, "intervalTime", intervalTime);
         }
         if (timeToLive != null) {
-            sourceMap.put("timeToLive", timeToLive);
+            addFieldToSource(sourceMap, "timeToLive", timeToLive);
         }
         if (maxAccessCount != null) {
-            sourceMap.put("maxAccessCount", maxAccessCount);
+            addFieldToSource(sourceMap, "maxAccessCount", maxAccessCount);
         }
         if (name != null) {
-            sourceMap.put("name", name);
+            addFieldToSource(sourceMap, "name", name);
         }
         if (numOfThread != null) {
-            sourceMap.put("numOfThread", numOfThread);
+            addFieldToSource(sourceMap, "numOfThread", numOfThread);
         }
         if (permissions != null) {
-            sourceMap.put("permissions", permissions);
+            addFieldToSource(sourceMap, "permissions", permissions);
         }
         if (sortOrder != null) {
-            sourceMap.put("sortOrder", sortOrder);
+            addFieldToSource(sourceMap, "sortOrder", sortOrder);
         }
         if (updatedBy != null) {
-            sourceMap.put("updatedBy", updatedBy);
+            addFieldToSource(sourceMap, "updatedBy", updatedBy);
         }
         if (updatedTime != null) {
-            sourceMap.put("updatedTime", updatedTime);
+            addFieldToSource(sourceMap, "updatedTime", updatedTime);
         }
         if (urls != null) {
-            sourceMap.put("urls", urls);
+            addFieldToSource(sourceMap, "urls", urls);
         }
         if (userAgent != null) {
-            sourceMap.put("userAgent", userAgent);
+            addFieldToSource(sourceMap, "userAgent", userAgent);
         }
         return sourceMap;
     }
 
+    protected void addFieldToSource(Map<String, Object> sourceMap, String field, Object value) {
+        sourceMap.put(field, value);
+    }
+
     // ===================================================================================
     //                                                                      Basic Override
     //                                                                      ==============

+ 6 - 2
src/main/java/org/codelibs/fess/es/config/bsentity/BsWebConfigToLabel.java

@@ -65,14 +65,18 @@ public class BsWebConfigToLabel extends EsAbstractEntity {
     public Map<String, Object> toSource() {
         Map<String, Object> sourceMap = new HashMap<>();
         if (labelTypeId != null) {
-            sourceMap.put("labelTypeId", labelTypeId);
+            addFieldToSource(sourceMap, "labelTypeId", labelTypeId);
         }
         if (webConfigId != null) {
-            sourceMap.put("webConfigId", webConfigId);
+            addFieldToSource(sourceMap, "webConfigId", webConfigId);
         }
         return sourceMap;
     }
 
+    protected void addFieldToSource(Map<String, Object> sourceMap, String field, Object value) {
+        sourceMap.put(field, value);
+    }
+
     // ===================================================================================
     //                                                                      Basic Override
     //                                                                      ==============

+ 6 - 2
src/main/java/org/codelibs/fess/es/config/bsentity/BsWebConfigToRole.java

@@ -65,14 +65,18 @@ public class BsWebConfigToRole extends EsAbstractEntity {
     public Map<String, Object> toSource() {
         Map<String, Object> sourceMap = new HashMap<>();
         if (roleTypeId != null) {
-            sourceMap.put("roleTypeId", roleTypeId);
+            addFieldToSource(sourceMap, "roleTypeId", roleTypeId);
         }
         if (webConfigId != null) {
-            sourceMap.put("webConfigId", webConfigId);
+            addFieldToSource(sourceMap, "webConfigId", webConfigId);
         }
         return sourceMap;
     }
 
+    protected void addFieldToSource(Map<String, Object> sourceMap, String field, Object value) {
+        sourceMap.put(field, value);
+    }
+
     // ===================================================================================
     //                                                                      Basic Override
     //                                                                      ==============

+ 5 - 1
src/main/java/org/codelibs/fess/es/log/bsbhv/BsClickLogBhv.java

@@ -80,13 +80,17 @@ public abstract class BsClickLogBhv extends EsAbstractBehavior<ClickLog, ClickLo
             result.setUserSessionId(DfTypeUtil.toString(source.get("userSessionId")));
             result.setUrl(DfTypeUtil.toString(source.get("url")));
             result.setOrder(DfTypeUtil.toInteger(source.get("order")));
-            return result;
+            return updateEntity(source, result);
         } catch (InstantiationException | IllegalAccessException e) {
             final String msg = "Cannot create a new instance: " + entityType.getName();
             throw new IllegalBehaviorStateException(msg, e);
         }
     }
 
+    protected <RESULT extends ClickLog> RESULT updateEntity(Map<String, Object> source, RESULT result) {
+        return result;
+    }
+
     // ===================================================================================
     //                                                                              Select
     //                                                                              ======

+ 5 - 1
src/main/java/org/codelibs/fess/es/log/bsbhv/BsFavoriteLogBhv.java

@@ -78,13 +78,17 @@ public abstract class BsFavoriteLogBhv extends EsAbstractBehavior<FavoriteLog, F
             result.setDocId(DfTypeUtil.toString(source.get("docId")));
             result.setQueryId(DfTypeUtil.toString(source.get("queryId")));
             result.setUserInfoId(DfTypeUtil.toString(source.get("userInfoId")));
-            return result;
+            return updateEntity(source, result);
         } catch (InstantiationException | IllegalAccessException e) {
             final String msg = "Cannot create a new instance: " + entityType.getName();
             throw new IllegalBehaviorStateException(msg, e);
         }
     }
 
+    protected <RESULT extends FavoriteLog> RESULT updateEntity(Map<String, Object> source, RESULT result) {
+        return result;
+    }
+
     // ===================================================================================
     //                                                                              Select
     //                                                                              ======

+ 5 - 1
src/main/java/org/codelibs/fess/es/log/bsbhv/BsSearchFieldLogBhv.java

@@ -76,13 +76,17 @@ public abstract class BsSearchFieldLogBhv extends EsAbstractBehavior<SearchField
             result.setName(DfTypeUtil.toString(source.get("name")));
             result.setSearchLogId(DfTypeUtil.toString(source.get("searchLogId")));
             result.setValue(DfTypeUtil.toString(source.get("value")));
-            return result;
+            return updateEntity(source, result);
         } catch (InstantiationException | IllegalAccessException e) {
             final String msg = "Cannot create a new instance: " + entityType.getName();
             throw new IllegalBehaviorStateException(msg, e);
         }
     }
 
+    protected <RESULT extends SearchFieldLog> RESULT updateEntity(Map<String, Object> source, RESULT result) {
+        return result;
+    }
+
     // ===================================================================================
     //                                                                              Select
     //                                                                              ======

+ 5 - 1
src/main/java/org/codelibs/fess/es/log/bsbhv/BsSearchLogBhv.java

@@ -90,13 +90,17 @@ public abstract class BsSearchLogBhv extends EsAbstractBehavior<SearchLog, Searc
             result.setUserInfoId(DfTypeUtil.toString(source.get("userInfoId")));
             result.setUserSessionId(DfTypeUtil.toString(source.get("userSessionId")));
             result.setLanguages(DfTypeUtil.toString(source.get("languages")));
-            return result;
+            return updateEntity(source, result);
         } catch (InstantiationException | IllegalAccessException e) {
             final String msg = "Cannot create a new instance: " + entityType.getName();
             throw new IllegalBehaviorStateException(msg, e);
         }
     }
 
+    protected <RESULT extends SearchLog> RESULT updateEntity(Map<String, Object> source, RESULT result) {
+        return result;
+    }
+
     // ===================================================================================
     //                                                                              Select
     //                                                                              ======

+ 5 - 1
src/main/java/org/codelibs/fess/es/log/bsbhv/BsUserInfoBhv.java

@@ -75,13 +75,17 @@ public abstract class BsUserInfoBhv extends EsAbstractBehavior<UserInfo, UserInf
             final RESULT result = entityType.newInstance();
             result.setCreatedAt(DfTypeUtil.toLocalDateTime(source.get("createdAt")));
             result.setUpdatedAt(DfTypeUtil.toLocalDateTime(source.get("updatedAt")));
-            return result;
+            return updateEntity(source, result);
         } catch (InstantiationException | IllegalAccessException e) {
             final String msg = "Cannot create a new instance: " + entityType.getName();
             throw new IllegalBehaviorStateException(msg, e);
         }
     }
 
+    protected <RESULT extends UserInfo> RESULT updateEntity(Map<String, Object> source, RESULT result) {
+        return result;
+    }
+
     // ===================================================================================
     //                                                                              Select
     //                                                                              ======

+ 11 - 7
src/main/java/org/codelibs/fess/es/log/bsentity/BsClickLog.java

@@ -80,29 +80,33 @@ public class BsClickLog extends EsAbstractEntity {
     public Map<String, Object> toSource() {
         Map<String, Object> sourceMap = new HashMap<>();
         if (queryRequestedAt != null) {
-            sourceMap.put("queryRequestedAt", queryRequestedAt);
+            addFieldToSource(sourceMap, "queryRequestedAt", queryRequestedAt);
         }
         if (requestedAt != null) {
-            sourceMap.put("requestedAt", requestedAt);
+            addFieldToSource(sourceMap, "requestedAt", requestedAt);
         }
         if (queryId != null) {
-            sourceMap.put("queryId", queryId);
+            addFieldToSource(sourceMap, "queryId", queryId);
         }
         if (docId != null) {
-            sourceMap.put("docId", docId);
+            addFieldToSource(sourceMap, "docId", docId);
         }
         if (userSessionId != null) {
-            sourceMap.put("userSessionId", userSessionId);
+            addFieldToSource(sourceMap, "userSessionId", userSessionId);
         }
         if (url != null) {
-            sourceMap.put("url", url);
+            addFieldToSource(sourceMap, "url", url);
         }
         if (order != null) {
-            sourceMap.put("order", order);
+            addFieldToSource(sourceMap, "order", order);
         }
         return sourceMap;
     }
 
+    protected void addFieldToSource(Map<String, Object> sourceMap, String field, Object value) {
+        sourceMap.put(field, value);
+    }
+
     // ===================================================================================
     //                                                                      Basic Override
     //                                                                      ==============

+ 9 - 5
src/main/java/org/codelibs/fess/es/log/bsentity/BsFavoriteLog.java

@@ -74,23 +74,27 @@ public class BsFavoriteLog extends EsAbstractEntity {
     public Map<String, Object> toSource() {
         Map<String, Object> sourceMap = new HashMap<>();
         if (createdAt != null) {
-            sourceMap.put("createdAt", createdAt);
+            addFieldToSource(sourceMap, "createdAt", createdAt);
         }
         if (url != null) {
-            sourceMap.put("url", url);
+            addFieldToSource(sourceMap, "url", url);
         }
         if (docId != null) {
-            sourceMap.put("docId", docId);
+            addFieldToSource(sourceMap, "docId", docId);
         }
         if (queryId != null) {
-            sourceMap.put("queryId", queryId);
+            addFieldToSource(sourceMap, "queryId", queryId);
         }
         if (userInfoId != null) {
-            sourceMap.put("userInfoId", userInfoId);
+            addFieldToSource(sourceMap, "userInfoId", userInfoId);
         }
         return sourceMap;
     }
 
+    protected void addFieldToSource(Map<String, Object> sourceMap, String field, Object value) {
+        sourceMap.put(field, value);
+    }
+
     // ===================================================================================
     //                                                                      Basic Override
     //                                                                      ==============

+ 7 - 3
src/main/java/org/codelibs/fess/es/log/bsentity/BsSearchFieldLog.java

@@ -68,17 +68,21 @@ public class BsSearchFieldLog extends EsAbstractEntity {
     public Map<String, Object> toSource() {
         Map<String, Object> sourceMap = new HashMap<>();
         if (name != null) {
-            sourceMap.put("name", name);
+            addFieldToSource(sourceMap, "name", name);
         }
         if (searchLogId != null) {
-            sourceMap.put("searchLogId", searchLogId);
+            addFieldToSource(sourceMap, "searchLogId", searchLogId);
         }
         if (value != null) {
-            sourceMap.put("value", value);
+            addFieldToSource(sourceMap, "value", value);
         }
         return sourceMap;
     }
 
+    protected void addFieldToSource(Map<String, Object> sourceMap, String field, Object value) {
+        sourceMap.put(field, value);
+    }
+
     // ===================================================================================
     //                                                                      Basic Override
     //                                                                      ==============

+ 21 - 17
src/main/java/org/codelibs/fess/es/log/bsentity/BsSearchLog.java

@@ -110,59 +110,63 @@ public class BsSearchLog extends EsAbstractEntity {
     public Map<String, Object> toSource() {
         Map<String, Object> sourceMap = new HashMap<>();
         if (accessType != null) {
-            sourceMap.put("accessType", accessType);
+            addFieldToSource(sourceMap, "accessType", accessType);
         }
         if (user != null) {
-            sourceMap.put("user", user);
+            addFieldToSource(sourceMap, "user", user);
         }
         if (roles != null) {
-            sourceMap.put("roles", roles);
+            addFieldToSource(sourceMap, "roles", roles);
         }
         if (queryId != null) {
-            sourceMap.put("queryId", queryId);
+            addFieldToSource(sourceMap, "queryId", queryId);
         }
         if (clientIp != null) {
-            sourceMap.put("clientIp", clientIp);
+            addFieldToSource(sourceMap, "clientIp", clientIp);
         }
         if (hitCount != null) {
-            sourceMap.put("hitCount", hitCount);
+            addFieldToSource(sourceMap, "hitCount", hitCount);
         }
         if (queryOffset != null) {
-            sourceMap.put("queryOffset", queryOffset);
+            addFieldToSource(sourceMap, "queryOffset", queryOffset);
         }
         if (queryPageSize != null) {
-            sourceMap.put("queryPageSize", queryPageSize);
+            addFieldToSource(sourceMap, "queryPageSize", queryPageSize);
         }
         if (referer != null) {
-            sourceMap.put("referer", referer);
+            addFieldToSource(sourceMap, "referer", referer);
         }
         if (requestedAt != null) {
-            sourceMap.put("requestedAt", requestedAt);
+            addFieldToSource(sourceMap, "requestedAt", requestedAt);
         }
         if (responseTime != null) {
-            sourceMap.put("responseTime", responseTime);
+            addFieldToSource(sourceMap, "responseTime", responseTime);
         }
         if (queryTime != null) {
-            sourceMap.put("queryTime", queryTime);
+            addFieldToSource(sourceMap, "queryTime", queryTime);
         }
         if (searchWord != null) {
-            sourceMap.put("searchWord", searchWord);
+            addFieldToSource(sourceMap, "searchWord", searchWord);
         }
         if (userAgent != null) {
-            sourceMap.put("userAgent", userAgent);
+            addFieldToSource(sourceMap, "userAgent", userAgent);
         }
         if (userInfoId != null) {
-            sourceMap.put("userInfoId", userInfoId);
+            addFieldToSource(sourceMap, "userInfoId", userInfoId);
         }
         if (userSessionId != null) {
-            sourceMap.put("userSessionId", userSessionId);
+            addFieldToSource(sourceMap, "userSessionId", userSessionId);
         }
         if (languages != null) {
-            sourceMap.put("languages", languages);
+            addFieldToSource(sourceMap, "languages", languages);
         }
         return sourceMap;
     }
 
+    protected void addFieldToSource(Map<String, Object> sourceMap, String field, Object value) {
+        sourceMap.put(field, value);
+    }
+
     // ===================================================================================
     //                                                                      Basic Override
     //                                                                      ==============

+ 6 - 2
src/main/java/org/codelibs/fess/es/log/bsentity/BsUserInfo.java

@@ -65,14 +65,18 @@ public class BsUserInfo extends EsAbstractEntity {
     public Map<String, Object> toSource() {
         Map<String, Object> sourceMap = new HashMap<>();
         if (createdAt != null) {
-            sourceMap.put("createdAt", createdAt);
+            addFieldToSource(sourceMap, "createdAt", createdAt);
         }
         if (updatedAt != null) {
-            sourceMap.put("updatedAt", updatedAt);
+            addFieldToSource(sourceMap, "updatedAt", updatedAt);
         }
         return sourceMap;
     }
 
+    protected void addFieldToSource(Map<String, Object> sourceMap, String field, Object value) {
+        sourceMap.put(field, value);
+    }
+
     // ===================================================================================
     //                                                                      Basic Override
     //                                                                      ==============

+ 32 - 0
src/main/java/org/codelibs/fess/es/log/exentity/ClickLog.java

@@ -15,6 +15,12 @@
  */
 package org.codelibs.fess.es.log.exentity;
 
+import java.time.LocalDateTime;
+import java.time.ZoneId;
+import java.time.ZonedDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.Map;
+
 import org.codelibs.fess.es.log.bsentity.BsClickLog;
 
 /**
@@ -24,6 +30,8 @@ public class ClickLog extends BsClickLog {
 
     private static final long serialVersionUID = 1L;
 
+    private Map<String, Object> fields;
+
     public String getId() {
         return asDocMeta().id();
     }
@@ -40,6 +48,30 @@ public class ClickLog extends BsClickLog {
         asDocMeta().version(version);
     }
 
+    public void addField(final String key, final Object value) {
+        fields.put(key, value);
+    }
+
+    @Override
+    public Map<String, Object> toSource() {
+        Map<String, Object> sourceMap = super.toSource();
+        if (fields != null) {
+            sourceMap.putAll(fields);
+        }
+        return sourceMap;
+    }
+
+    @Override
+    protected void addFieldToSource(final Map<String, Object> sourceMap, final String field, final Object value) {
+        if (value instanceof LocalDateTime) {
+            final LocalDateTime ldt = (LocalDateTime) value;
+            final ZonedDateTime zdt = ZonedDateTime.of(ldt, ZoneId.systemDefault());
+            super.addFieldToSource(sourceMap, field, DateTimeFormatter.ISO_INSTANT.format(zdt));
+        } else {
+            super.addFieldToSource(sourceMap, field, value);
+        }
+    }
+
     @Override
     public String toString() {
         return "ClickLog [queryRequestedAt=" + queryRequestedAt + ", requestedAt=" + requestedAt + ", queryId=" + queryId + ", docId="

+ 32 - 0
src/main/java/org/codelibs/fess/es/log/exentity/FavoriteLog.java

@@ -15,6 +15,12 @@
  */
 package org.codelibs.fess.es.log.exentity;
 
+import java.time.LocalDateTime;
+import java.time.ZoneId;
+import java.time.ZonedDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.Map;
+
 import org.codelibs.fess.es.log.bsentity.BsFavoriteLog;
 
 /**
@@ -24,6 +30,8 @@ public class FavoriteLog extends BsFavoriteLog {
 
     private static final long serialVersionUID = 1L;
 
+    private Map<String, Object> fields;
+
     public String getId() {
         return asDocMeta().id();
     }
@@ -40,6 +48,30 @@ public class FavoriteLog extends BsFavoriteLog {
         asDocMeta().version(version);
     }
 
+    public void addField(final String key, final Object value) {
+        fields.put(key, value);
+    }
+
+    @Override
+    public Map<String, Object> toSource() {
+        Map<String, Object> sourceMap = super.toSource();
+        if (fields != null) {
+            sourceMap.putAll(fields);
+        }
+        return sourceMap;
+    }
+
+    @Override
+    protected void addFieldToSource(final Map<String, Object> sourceMap, final String field, final Object value) {
+        if (value instanceof LocalDateTime) {
+            final LocalDateTime ldt = (LocalDateTime) value;
+            final ZonedDateTime zdt = ZonedDateTime.of(ldt, ZoneId.systemDefault());
+            super.addFieldToSource(sourceMap, field, DateTimeFormatter.ISO_INSTANT.format(zdt));
+        } else {
+            super.addFieldToSource(sourceMap, field, value);
+        }
+    }
+
     @Override
     public String toString() {
         return "FavoriteLog [createdAt=" + createdAt + ", url=" + url + ", docId=" + docId + ", queryId=" + queryId + ", userInfoId="

+ 17 - 0
src/main/java/org/codelibs/fess/es/log/exentity/SearchFieldLog.java

@@ -15,6 +15,8 @@
  */
 package org.codelibs.fess.es.log.exentity;
 
+import java.util.Map;
+
 import org.codelibs.fess.es.log.bsentity.BsSearchFieldLog;
 
 /**
@@ -24,6 +26,8 @@ public class SearchFieldLog extends BsSearchFieldLog {
 
     private static final long serialVersionUID = 1L;
 
+    private Map<String, Object> fields;
+
     public String getId() {
         return asDocMeta().id();
     }
@@ -40,6 +44,19 @@ public class SearchFieldLog extends BsSearchFieldLog {
         asDocMeta().version(version);
     }
 
+    public void addField(final String key, final Object value) {
+        fields.put(key, value);
+    }
+
+    @Override
+    public Map<String, Object> toSource() {
+        Map<String, Object> sourceMap = super.toSource();
+        if (fields != null) {
+            sourceMap.putAll(fields);
+        }
+        return sourceMap;
+    }
+
     @Override
     public String toString() {
         return "SearchFieldLog [name=" + name + ", searchLogId=" + searchLogId + ", value=" + value + ", docMeta=" + docMeta + "]";

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

@@ -15,9 +15,14 @@
  */
 package org.codelibs.fess.es.log.exentity;
 
+import java.time.LocalDateTime;
+import java.time.ZoneId;
+import java.time.ZonedDateTime;
+import java.time.format.DateTimeFormatter;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
+import java.util.Map;
 
 import org.codelibs.core.lang.StringUtil;
 import org.codelibs.fess.Constants;
@@ -38,6 +43,8 @@ public class SearchLog extends BsSearchLog {
 
     private OptionalEntity<UserInfo> userInfo;
 
+    private Map<String, Object> fields;
+
     public String getId() {
         return asDocMeta().id();
     }
@@ -99,6 +106,30 @@ public class SearchLog extends BsSearchLog {
         return searchFieldLogList;
     }
 
+    public void addField(final String key, final Object value) {
+        fields.put(key, value);
+    }
+
+    @Override
+    public Map<String, Object> toSource() {
+        Map<String, Object> sourceMap = super.toSource();
+        if (fields != null) {
+            sourceMap.putAll(fields);
+        }
+        return sourceMap;
+    }
+
+    @Override
+    protected void addFieldToSource(final Map<String, Object> sourceMap, final String field, final Object value) {
+        if (value instanceof LocalDateTime) {
+            final LocalDateTime ldt = (LocalDateTime) value;
+            final ZonedDateTime zdt = ZonedDateTime.of(ldt, ZoneId.systemDefault());
+            super.addFieldToSource(sourceMap, field, DateTimeFormatter.ISO_INSTANT.format(zdt));
+        } else {
+            super.addFieldToSource(sourceMap, field, value);
+        }
+    }
+
     @Override
     public void setUserInfoId(final String value) {
         userInfo = null;

+ 32 - 0
src/main/java/org/codelibs/fess/es/log/exentity/UserInfo.java

@@ -15,6 +15,12 @@
  */
 package org.codelibs.fess.es.log.exentity;
 
+import java.time.LocalDateTime;
+import java.time.ZoneId;
+import java.time.ZonedDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.Map;
+
 import org.codelibs.fess.es.log.bsentity.BsUserInfo;
 
 /**
@@ -24,6 +30,8 @@ public class UserInfo extends BsUserInfo {
 
     private static final long serialVersionUID = 1L;
 
+    private Map<String, Object> fields;
+
     public String getId() {
         return asDocMeta().id();
     }
@@ -40,6 +48,30 @@ public class UserInfo extends BsUserInfo {
         asDocMeta().version(version);
     }
 
+    public void addField(final String key, final Object value) {
+        fields.put(key, value);
+    }
+
+    @Override
+    public Map<String, Object> toSource() {
+        Map<String, Object> sourceMap = super.toSource();
+        if (fields != null) {
+            sourceMap.putAll(fields);
+        }
+        return sourceMap;
+    }
+
+    @Override
+    protected void addFieldToSource(final Map<String, Object> sourceMap, final String field, final Object value) {
+        if (value instanceof LocalDateTime) {
+            final LocalDateTime ldt = (LocalDateTime) value;
+            final ZonedDateTime zdt = ZonedDateTime.of(ldt, ZoneId.systemDefault());
+            super.addFieldToSource(sourceMap, field, DateTimeFormatter.ISO_INSTANT.format(zdt));
+        } else {
+            super.addFieldToSource(sourceMap, field, value);
+        }
+    }
+
     @Override
     public String toString() {
         return "UserInfo [createdAt=" + createdAt + ", updatedAt=" + updatedAt + ", docMeta=" + docMeta + "]";

+ 5 - 1
src/main/java/org/codelibs/fess/es/user/bsbhv/BsGroupBhv.java

@@ -75,13 +75,17 @@ public abstract class BsGroupBhv extends EsAbstractBehavior<Group, GroupCB> {
             final RESULT result = entityType.newInstance();
             result.setName(DfTypeUtil.toString(source.get("name")));
             result.setGidNumber(DfTypeUtil.toLong(source.get("gidNumber")));
-            return result;
+            return updateEntity(source, result);
         } catch (InstantiationException | IllegalAccessException e) {
             final String msg = "Cannot create a new instance: " + entityType.getName();
             throw new IllegalBehaviorStateException(msg, e);
         }
     }
 
+    protected <RESULT extends Group> RESULT updateEntity(Map<String, Object> source, RESULT result) {
+        return result;
+    }
+
     // ===================================================================================
     //                                                                              Select
     //                                                                              ======

+ 5 - 1
src/main/java/org/codelibs/fess/es/user/bsbhv/BsRoleBhv.java

@@ -74,13 +74,17 @@ public abstract class BsRoleBhv extends EsAbstractBehavior<Role, RoleCB> {
         try {
             final RESULT result = entityType.newInstance();
             result.setName(DfTypeUtil.toString(source.get("name")));
-            return result;
+            return updateEntity(source, result);
         } catch (InstantiationException | IllegalAccessException e) {
             final String msg = "Cannot create a new instance: " + entityType.getName();
             throw new IllegalBehaviorStateException(msg, e);
         }
     }
 
+    protected <RESULT extends Role> RESULT updateEntity(Map<String, Object> source, RESULT result) {
+        return result;
+    }
+
     // ===================================================================================
     //                                                                              Select
     //                                                                              ======

+ 5 - 1
src/main/java/org/codelibs/fess/es/user/bsbhv/BsUserBhv.java

@@ -113,13 +113,17 @@ public abstract class BsUserBhv extends EsAbstractBehavior<User, UserCB> {
             result.setHomeDirectory(DfTypeUtil.toString(source.get("homeDirectory")));
             result.setGroups(toStringArray(source.get("groups")));
             result.setRoles(toStringArray(source.get("roles")));
-            return result;
+            return updateEntity(source, result);
         } catch (InstantiationException | IllegalAccessException e) {
             final String msg = "Cannot create a new instance: " + entityType.getName();
             throw new IllegalBehaviorStateException(msg, e);
         }
     }
 
+    protected <RESULT extends User> RESULT updateEntity(Map<String, Object> source, RESULT result) {
+        return result;
+    }
+
     // ===================================================================================
     //                                                                              Select
     //                                                                              ======

+ 6 - 2
src/main/java/org/codelibs/fess/es/user/bsentity/BsGroup.java

@@ -65,14 +65,18 @@ public class BsGroup extends EsAbstractEntity {
     public Map<String, Object> toSource() {
         Map<String, Object> sourceMap = new HashMap<>();
         if (name != null) {
-            sourceMap.put("name", name);
+            addFieldToSource(sourceMap, "name", name);
         }
         if (gidNumber != null) {
-            sourceMap.put("gidNumber", gidNumber);
+            addFieldToSource(sourceMap, "gidNumber", gidNumber);
         }
         return sourceMap;
     }
 
+    protected void addFieldToSource(Map<String, Object> sourceMap, String field, Object value) {
+        sourceMap.put(field, value);
+    }
+
     // ===================================================================================
     //                                                                      Basic Override
     //                                                                      ==============

+ 5 - 1
src/main/java/org/codelibs/fess/es/user/bsentity/BsRole.java

@@ -62,11 +62,15 @@ public class BsRole extends EsAbstractEntity {
     public Map<String, Object> toSource() {
         Map<String, Object> sourceMap = new HashMap<>();
         if (name != null) {
-            sourceMap.put("name", name);
+            addFieldToSource(sourceMap, "name", name);
         }
         return sourceMap;
     }
 
+    protected void addFieldToSource(Map<String, Object> sourceMap, String field, Object value) {
+        sourceMap.put(field, value);
+    }
+
     // ===================================================================================
     //                                                                      Basic Override
     //                                                                      ==============

+ 44 - 40
src/main/java/org/codelibs/fess/es/user/bsentity/BsUser.java

@@ -179,128 +179,132 @@ public class BsUser extends EsAbstractEntity {
     public Map<String, Object> toSource() {
         Map<String, Object> sourceMap = new HashMap<>();
         if (name != null) {
-            sourceMap.put("name", name);
+            addFieldToSource(sourceMap, "name", name);
         }
         if (password != null) {
-            sourceMap.put("password", password);
+            addFieldToSource(sourceMap, "password", password);
         }
         if (surname != null) {
-            sourceMap.put("surname", surname);
+            addFieldToSource(sourceMap, "surname", surname);
         }
         if (givenName != null) {
-            sourceMap.put("givenName", givenName);
+            addFieldToSource(sourceMap, "givenName", givenName);
         }
         if (employeeNumber != null) {
-            sourceMap.put("employeeNumber", employeeNumber);
+            addFieldToSource(sourceMap, "employeeNumber", employeeNumber);
         }
         if (mail != null) {
-            sourceMap.put("mail", mail);
+            addFieldToSource(sourceMap, "mail", mail);
         }
         if (telephoneNumber != null) {
-            sourceMap.put("telephoneNumber", telephoneNumber);
+            addFieldToSource(sourceMap, "telephoneNumber", telephoneNumber);
         }
         if (homePhone != null) {
-            sourceMap.put("homePhone", homePhone);
+            addFieldToSource(sourceMap, "homePhone", homePhone);
         }
         if (homePostalAddress != null) {
-            sourceMap.put("homePostalAddress", homePostalAddress);
+            addFieldToSource(sourceMap, "homePostalAddress", homePostalAddress);
         }
         if (labeledURI != null) {
-            sourceMap.put("labeledURI", labeledURI);
+            addFieldToSource(sourceMap, "labeledURI", labeledURI);
         }
         if (roomNumber != null) {
-            sourceMap.put("roomNumber", roomNumber);
+            addFieldToSource(sourceMap, "roomNumber", roomNumber);
         }
         if (description != null) {
-            sourceMap.put("description", description);
+            addFieldToSource(sourceMap, "description", description);
         }
         if (title != null) {
-            sourceMap.put("title", title);
+            addFieldToSource(sourceMap, "title", title);
         }
         if (pager != null) {
-            sourceMap.put("pager", pager);
+            addFieldToSource(sourceMap, "pager", pager);
         }
         if (street != null) {
-            sourceMap.put("street", street);
+            addFieldToSource(sourceMap, "street", street);
         }
         if (postalCode != null) {
-            sourceMap.put("postalCode", postalCode);
+            addFieldToSource(sourceMap, "postalCode", postalCode);
         }
         if (physicalDeliveryOfficeName != null) {
-            sourceMap.put("physicalDeliveryOfficeName", physicalDeliveryOfficeName);
+            addFieldToSource(sourceMap, "physicalDeliveryOfficeName", physicalDeliveryOfficeName);
         }
         if (destinationIndicator != null) {
-            sourceMap.put("destinationIndicator", destinationIndicator);
+            addFieldToSource(sourceMap, "destinationIndicator", destinationIndicator);
         }
         if (internationaliSDNNumber != null) {
-            sourceMap.put("internationaliSDNNumber", internationaliSDNNumber);
+            addFieldToSource(sourceMap, "internationaliSDNNumber", internationaliSDNNumber);
         }
         if (state != null) {
-            sourceMap.put("state", state);
+            addFieldToSource(sourceMap, "state", state);
         }
         if (employeeType != null) {
-            sourceMap.put("employeeType", employeeType);
+            addFieldToSource(sourceMap, "employeeType", employeeType);
         }
         if (facsimileTelephoneNumber != null) {
-            sourceMap.put("facsimileTelephoneNumber", facsimileTelephoneNumber);
+            addFieldToSource(sourceMap, "facsimileTelephoneNumber", facsimileTelephoneNumber);
         }
         if (postOfficeBox != null) {
-            sourceMap.put("postOfficeBox", postOfficeBox);
+            addFieldToSource(sourceMap, "postOfficeBox", postOfficeBox);
         }
         if (initials != null) {
-            sourceMap.put("initials", initials);
+            addFieldToSource(sourceMap, "initials", initials);
         }
         if (carLicense != null) {
-            sourceMap.put("carLicense", carLicense);
+            addFieldToSource(sourceMap, "carLicense", carLicense);
         }
         if (mobile != null) {
-            sourceMap.put("mobile", mobile);
+            addFieldToSource(sourceMap, "mobile", mobile);
         }
         if (postalAddress != null) {
-            sourceMap.put("postalAddress", postalAddress);
+            addFieldToSource(sourceMap, "postalAddress", postalAddress);
         }
         if (city != null) {
-            sourceMap.put("city", city);
+            addFieldToSource(sourceMap, "city", city);
         }
         if (teletexTerminalIdentifier != null) {
-            sourceMap.put("teletexTerminalIdentifier", teletexTerminalIdentifier);
+            addFieldToSource(sourceMap, "teletexTerminalIdentifier", teletexTerminalIdentifier);
         }
         if (x121Address != null) {
-            sourceMap.put("x121Address", x121Address);
+            addFieldToSource(sourceMap, "x121Address", x121Address);
         }
         if (businessCategory != null) {
-            sourceMap.put("businessCategory", businessCategory);
+            addFieldToSource(sourceMap, "businessCategory", businessCategory);
         }
         if (registeredAddress != null) {
-            sourceMap.put("registeredAddress", registeredAddress);
+            addFieldToSource(sourceMap, "registeredAddress", registeredAddress);
         }
         if (displayName != null) {
-            sourceMap.put("displayName", displayName);
+            addFieldToSource(sourceMap, "displayName", displayName);
         }
         if (preferredLanguage != null) {
-            sourceMap.put("preferredLanguage", preferredLanguage);
+            addFieldToSource(sourceMap, "preferredLanguage", preferredLanguage);
         }
         if (departmentNumber != null) {
-            sourceMap.put("departmentNumber", departmentNumber);
+            addFieldToSource(sourceMap, "departmentNumber", departmentNumber);
         }
         if (uidNumber != null) {
-            sourceMap.put("uidNumber", uidNumber);
+            addFieldToSource(sourceMap, "uidNumber", uidNumber);
         }
         if (gidNumber != null) {
-            sourceMap.put("gidNumber", gidNumber);
+            addFieldToSource(sourceMap, "gidNumber", gidNumber);
         }
         if (homeDirectory != null) {
-            sourceMap.put("homeDirectory", homeDirectory);
+            addFieldToSource(sourceMap, "homeDirectory", homeDirectory);
         }
         if (groups != null) {
-            sourceMap.put("groups", groups);
+            addFieldToSource(sourceMap, "groups", groups);
         }
         if (roles != null) {
-            sourceMap.put("roles", roles);
+            addFieldToSource(sourceMap, "roles", roles);
         }
         return sourceMap;
     }
 
+    protected void addFieldToSource(Map<String, Object> sourceMap, String field, Object value) {
+        sourceMap.put(field, value);
+    }
+
     // ===================================================================================
     //                                                                      Basic Override
     //                                                                      ==============