diff --git a/src/main/java/org/codelibs/fess/app/web/admin/boostdocumentrule/AdminBoostdocumentruleAction.java b/src/main/java/org/codelibs/fess/app/web/admin/boostdocumentrule/AdminBoostdocumentruleAction.java index 3032993d0..9af33a570 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/boostdocumentrule/AdminBoostdocumentruleAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/boostdocumentrule/AdminBoostdocumentruleAction.java @@ -171,7 +171,6 @@ public class AdminBoostdocumentruleAction extends FessAdminAction { verifyCrudMode(form.crudMode, CrudMode.CREATE); validate(form, messages -> {}, toEditHtml()); createBoostDocumentRule(form).ifPresent(entity -> { - copyBeanToBean(form, entity, op -> op.exclude(Constants.COMMON_CONVERSION_RULE)); boostDocumentRuleService.store(entity); saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL)); }).orElse(() -> { @@ -185,7 +184,6 @@ public class AdminBoostdocumentruleAction extends FessAdminAction { verifyCrudMode(form.crudMode, CrudMode.EDIT); validate(form, messages -> {}, toEditHtml()); createBoostDocumentRule(form).ifPresent(entity -> { - copyBeanToBean(form, entity, op -> op.exclude(Constants.COMMON_CONVERSION_RULE)); boostDocumentRuleService.store(entity); saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL)); }).orElse(() -> { @@ -212,27 +210,20 @@ public class AdminBoostdocumentruleAction extends FessAdminAction { // Assist Logic // ============ - protected OptionalEntity createBoostDocumentRule(final CreateForm form) { - final String username = systemHelper.getUsername(); - final long currentTime = systemHelper.getCurrentTimeAsLong(); + private OptionalEntity getEntity(final CreateForm form, final String username, final long currentTime) { switch (form.crudMode) { case CrudMode.CREATE: if (form instanceof CreateForm) { - final BoostDocumentRule entity = new BoostDocumentRule(); - entity.setCreatedBy(username); - entity.setCreatedTime(currentTime); - entity.setUpdatedBy(username); - entity.setUpdatedTime(currentTime); - return OptionalEntity.of(entity); + return OptionalEntity.of(new BoostDocumentRule()).map(entity -> { + entity.setCreatedBy(username); + entity.setCreatedTime(currentTime); + return entity; + }); } break; case CrudMode.EDIT: if (form instanceof EditForm) { - return boostDocumentRuleService.getBoostDocumentRule(((EditForm) form).id).map(entity -> { - entity.setUpdatedBy(username); - entity.setUpdatedTime(currentTime); - return entity; - }); + return boostDocumentRuleService.getBoostDocumentRule(((EditForm) form).id); } break; default: @@ -241,6 +232,17 @@ public class AdminBoostdocumentruleAction extends FessAdminAction { return OptionalEntity.empty(); } + protected OptionalEntity createBoostDocumentRule(final CreateForm form) { + final String username = systemHelper.getUsername(); + final long currentTime = systemHelper.getCurrentTimeAsLong(); + return getEntity(form, username, currentTime).map(entity -> { + entity.setUpdatedBy(username); + entity.setUpdatedTime(currentTime); + copyBeanToBean(form, entity, op -> op.exclude(Constants.COMMON_CONVERSION_RULE)); + return entity; + }); + } + // =================================================================================== // Small Helper // ============ diff --git a/src/main/java/org/codelibs/fess/app/web/admin/dataconfig/AdminDataconfigAction.java b/src/main/java/org/codelibs/fess/app/web/admin/dataconfig/AdminDataconfigAction.java index 09e10d04a..95b2c62af 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/dataconfig/AdminDataconfigAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/dataconfig/AdminDataconfigAction.java @@ -196,7 +196,6 @@ public class AdminDataconfigAction extends FessAdminAction { verifyCrudMode(form.crudMode, CrudMode.CREATE); validate(form, messages -> {}, toEditHtml()); createDataConfig(form).ifPresent(entity -> { - copyBeanToBean(form, entity, op -> op.exclude(Constants.COMMON_CONVERSION_RULE)); dataConfigService.store(entity); saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL)); }).orElse(() -> { @@ -210,7 +209,6 @@ public class AdminDataconfigAction extends FessAdminAction { verifyCrudMode(form.crudMode, CrudMode.EDIT); validate(form, messages -> {}, toEditHtml()); createDataConfig(form).ifPresent(entity -> { - copyBeanToBean(form, entity, op -> op.exclude(Constants.COMMON_CONVERSION_RULE)); dataConfigService.store(entity); saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL)); }).orElse(() -> { @@ -236,27 +234,20 @@ public class AdminDataconfigAction extends FessAdminAction { // =================================================================================== // Assist Logic // ============ - protected OptionalEntity createDataConfig(final CreateForm form) { - final String username = systemHelper.getUsername(); - final long currentTime = systemHelper.getCurrentTimeAsLong(); + private OptionalEntity getEntity(final CreateForm form, final String username, final long currentTime) { switch (form.crudMode) { case CrudMode.CREATE: if (form instanceof CreateForm) { - final DataConfig entity = new DataConfig(); - entity.setCreatedBy(username); - entity.setCreatedTime(currentTime); - entity.setUpdatedBy(username); - entity.setUpdatedTime(currentTime); - return OptionalEntity.of(entity); + return OptionalEntity.of(new DataConfig()).map(entity -> { + entity.setCreatedBy(username); + entity.setCreatedTime(currentTime); + return entity; + }); } break; case CrudMode.EDIT: if (form instanceof EditForm) { - return dataConfigService.getDataConfig(((EditForm) form).id).map(entity -> { - entity.setUpdatedBy(username); - entity.setUpdatedTime(currentTime); - return entity; - }); + return dataConfigService.getDataConfig(((EditForm) form).id); } break; default: @@ -265,6 +256,17 @@ public class AdminDataconfigAction extends FessAdminAction { return OptionalEntity.empty(); } + protected OptionalEntity createDataConfig(final CreateForm form) { + final String username = systemHelper.getUsername(); + final long currentTime = systemHelper.getCurrentTimeAsLong(); + return getEntity(form, username, currentTime).map(entity -> { + entity.setUpdatedBy(username); + entity.setUpdatedTime(currentTime); + copyBeanToBean(form, entity, op -> op.exclude(Constants.COMMON_CONVERSION_RULE)); + return entity; + }); + } + protected void registerRolesAndLabels(final RenderData data) { data.register("roleTypeItems", roleTypeService.getRoleTypeList()); data.register("labelTypeItems", labelTypeService.getLabelTypeList()); diff --git a/src/main/java/org/codelibs/fess/app/web/admin/design/AdminDesignAction.java b/src/main/java/org/codelibs/fess/app/web/admin/design/AdminDesignAction.java index 2740041ff..5f9983c7b 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/design/AdminDesignAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/design/AdminDesignAction.java @@ -33,6 +33,7 @@ import org.codelibs.fess.Constants; import org.codelibs.fess.app.web.base.FessAdminAction; import org.codelibs.fess.exception.FessSystemException; import org.codelibs.fess.helper.SystemHelper; +import org.dbflute.optional.OptionalEntity; import org.lastaflute.web.Execute; import org.lastaflute.web.callback.ActionRuntime; import org.lastaflute.web.response.ActionResponse; @@ -177,10 +178,11 @@ public class AdminDesignAction extends FessAdminAction implements Serializable { @Execute public StreamResponse download(final DesignForm form) { - final File file = getTargetFile(form); + File file = getTargetFile(form).get(); if (file == null) { throwValidationError(messages -> messages.addErrorsTargetFileDoesNotExist(GLOBAL, form.fileName), toMainHtml()); } + return asStream(file.getName()).stream(out -> { try (FileInputStream fis = new FileInputStream(file)) { out.write(fis); @@ -191,14 +193,14 @@ public class AdminDesignAction extends FessAdminAction implements Serializable { @Execute //(token = TxToken.VALIDATE) public HtmlResponse delete(final DesignForm form) { - final File file = getTargetFile(form); - if (file == null) { + getTargetFile(form).ifPresent(file -> { + if (!file.delete()) { + logger.error("Failed to delete {}", file.getAbsolutePath()); + throwValidationError(messages -> messages.addErrorsFailedToDeleteFile(GLOBAL, form.fileName), toMainHtml()); + } + }).orElse(() -> { throwValidationError(messages -> messages.addErrorsTargetFileDoesNotExist(GLOBAL, form.fileName), toMainHtml()); - } - if (!file.delete()) { - logger.error("Failed to delete {}", file.getAbsolutePath()); - throwValidationError(messages -> messages.addErrorsFailedToDeleteFile(GLOBAL, form.fileName), toMainHtml()); - } + }); saveInfo(messages -> messages.addSuccessDeleteFile(GLOBAL, form.fileName)); return redirect(getClass()); } @@ -261,21 +263,16 @@ public class AdminDesignAction extends FessAdminAction implements Serializable { // =================================================================================== // Assist Logic // ============ - private File getTargetFile(final DesignForm form) { + private OptionalEntity getTargetFile(final DesignForm form) { final File baseDir = new File(getServletContext().getRealPath("/")); final File targetFile = new File(getServletContext().getRealPath(form.fileName)); final List fileList = getAccessibleFileList(baseDir); - boolean exist = false; for (final File file : fileList) { if (targetFile.equals(file)) { - exist = true; - break; + return OptionalEntity.of(targetFile); } } - if (exist) { - return targetFile; - } - return null; + return OptionalEntity.empty(); } private List getAccessibleFileList(final File baseDir) { @@ -306,4 +303,4 @@ public class AdminDesignAction extends FessAdminAction implements Serializable { return asHtml(path_AdminDesign_AdminDesignJsp); }; } -} \ No newline at end of file +} diff --git a/src/main/java/org/codelibs/fess/app/web/admin/dict/kuromoji/AdminDictKuromojiAction.java b/src/main/java/org/codelibs/fess/app/web/admin/dict/kuromoji/AdminDictKuromojiAction.java index 6be67a28a..6e1cacee7 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/dict/kuromoji/AdminDictKuromojiAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/dict/kuromoji/AdminDictKuromojiAction.java @@ -266,10 +266,6 @@ public class AdminDictKuromojiAction extends FessAdminAction { verifyCrudMode(form.crudMode, CrudMode.CREATE); validate(form, messages -> {}, toEditHtml()); createKuromojiItem(form).ifPresent(entity -> { - entity.setNewToken(form.token); - entity.setNewSegmentation(form.segmentation); - entity.setNewReading(form.reading); - entity.setNewPos(form.pos); kuromojiService.store(form.dictId, entity); saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL)); }).orElse(() -> { @@ -283,10 +279,6 @@ public class AdminDictKuromojiAction extends FessAdminAction { verifyCrudMode(form.crudMode, CrudMode.EDIT); validate(form, messages -> {}, toEditHtml()); createKuromojiItem(form).ifPresent(entity -> { - entity.setNewToken(form.token); - entity.setNewSegmentation(form.segmentation); - entity.setNewReading(form.reading); - entity.setNewPos(form.pos); kuromojiService.store(form.dictId, entity); saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL)); }).orElse(() -> { @@ -312,7 +304,7 @@ public class AdminDictKuromojiAction extends FessAdminAction { // Assist Logic // ============ - protected OptionalEntity createKuromojiItem(final CreateForm form) { + private OptionalEntity getEntity(final CreateForm form) { switch (form.crudMode) { case CrudMode.CREATE: if (form instanceof CreateForm) { @@ -331,6 +323,16 @@ public class AdminDictKuromojiAction extends FessAdminAction { return OptionalEntity.empty(); } + protected OptionalEntity createKuromojiItem(final CreateForm form) { + return getEntity(form).map(entity -> { + entity.setNewToken(form.token); + entity.setNewSegmentation(form.segmentation); + entity.setNewReading(form.reading); + entity.setNewPos(form.pos); + return entity; + }); + } + // =================================================================================== // Small Helper // ============ diff --git a/src/main/java/org/codelibs/fess/app/web/admin/dict/synonym/AdminDictSynonymAction.java b/src/main/java/org/codelibs/fess/app/web/admin/dict/synonym/AdminDictSynonymAction.java index c033d73d0..34dc3dcb5 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/dict/synonym/AdminDictSynonymAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/dict/synonym/AdminDictSynonymAction.java @@ -297,12 +297,6 @@ public class AdminDictSynonymAction extends FessAdminAction { verifyCrudMode(form.crudMode, CrudMode.CREATE); validate(form, messages -> {}, toEditHtml()); createSynonymItem(form).ifPresent(entity -> { - final String[] newInputs = splitLine(form.inputs); - validateSynonymString(newInputs, () -> confirmfromcreate(form)); - entity.setNewInputs(newInputs); - final String[] newOutputs = splitLine(form.outputs); - validateSynonymString(newOutputs, () -> confirmfromcreate(form)); - entity.setNewOutputs(newOutputs); synonymService.store(form.dictId, entity); saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL)); }).orElse(() -> { @@ -316,12 +310,6 @@ public class AdminDictSynonymAction extends FessAdminAction { verifyCrudMode(form.crudMode, CrudMode.EDIT); validate(form, messages -> {}, toEditHtml()); createSynonymItem(form).ifPresent(entity -> { - final String[] newInputs = splitLine(form.inputs); - validateSynonymString(newInputs, () -> confirmfromupdate(form)); - entity.setNewInputs(newInputs); - final String[] newOutputs = splitLine(form.outputs); - validateSynonymString(newOutputs, () -> confirmfromupdate(form)); - entity.setNewOutputs(newOutputs); synonymService.store(form.dictId, entity); saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL)); }).orElse(() -> { @@ -347,7 +335,7 @@ public class AdminDictSynonymAction extends FessAdminAction { // Assist Logic // ============ - protected OptionalEntity createSynonymItem(final CreateForm form) { + private OptionalEntity getEntity(final CreateForm form) { switch (form.crudMode) { case CrudMode.CREATE: if (form instanceof CreateForm) { @@ -366,6 +354,18 @@ public class AdminDictSynonymAction extends FessAdminAction { return OptionalEntity.empty(); } + protected OptionalEntity createSynonymItem(final CreateForm form) { + return getEntity(form).map(entity -> { + final String[] newInputs = splitLine(form.inputs); + validateSynonymString(newInputs, () -> confirmfromcreate(form)); + entity.setNewInputs(newInputs); + final String[] newOutputs = splitLine(form.outputs); + validateSynonymString(newOutputs, () -> confirmfromcreate(form)); + entity.setNewOutputs(newOutputs); + return entity; + }); + } + // =================================================================================== // Small Helper // ============ diff --git a/src/main/java/org/codelibs/fess/app/web/admin/fileauthentication/AdminFileauthenticationAction.java b/src/main/java/org/codelibs/fess/app/web/admin/fileauthentication/AdminFileauthenticationAction.java index 8525f24ea..190be5a8a 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/fileauthentication/AdminFileauthenticationAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/fileauthentication/AdminFileauthenticationAction.java @@ -193,7 +193,6 @@ public class AdminFileauthenticationAction extends FessAdminAction { verifyCrudMode(form.crudMode, CrudMode.CREATE); validate(form, messages -> {}, toEditHtml()); createFileAuthentication(form).ifPresent(entity -> { - copyBeanToBean(form, entity, op -> op.exclude(Constants.COMMON_CONVERSION_RULE)); fileAuthenticationService.store(entity); saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL)); }).orElse(() -> { @@ -207,7 +206,6 @@ public class AdminFileauthenticationAction extends FessAdminAction { verifyCrudMode(form.crudMode, CrudMode.EDIT); validate(form, messages -> {}, toEditHtml()); createFileAuthentication(form).ifPresent(entity -> { - copyBeanToBean(form, entity, op -> op.exclude(Constants.COMMON_CONVERSION_RULE)); fileAuthenticationService.store(entity); saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL)); }).orElse(() -> { @@ -233,27 +231,20 @@ public class AdminFileauthenticationAction extends FessAdminAction { //=================================================================================== // Assist Logic // ============ - protected OptionalEntity createFileAuthentication(final CreateForm form) { - final String username = systemHelper.getUsername(); - final long currentTime = systemHelper.getCurrentTimeAsLong(); + private OptionalEntity getEntity(final CreateForm form, final String username, final long currentTime) { switch (form.crudMode) { case CrudMode.CREATE: if (form instanceof CreateForm) { - final FileAuthentication entity = new FileAuthentication(); - entity.setCreatedBy(username); - entity.setCreatedTime(currentTime); - entity.setUpdatedBy(username); - entity.setUpdatedTime(currentTime); - return OptionalEntity.of(entity); + return OptionalEntity.of(new FileAuthentication()).map(entity -> { + entity.setCreatedBy(username); + entity.setCreatedTime(currentTime); + return entity; + }); } break; case CrudMode.EDIT: if (form instanceof EditForm) { - return fileAuthenticationService.getFileAuthentication(((EditForm) form).id).map(entity -> { - entity.setUpdatedBy(username); - entity.setUpdatedTime(currentTime); - return entity; - }); + return fileAuthenticationService.getFileAuthentication(((EditForm) form).id); } break; default: @@ -262,6 +253,17 @@ public class AdminFileauthenticationAction extends FessAdminAction { return OptionalEntity.empty(); } + protected OptionalEntity createFileAuthentication(final CreateForm form) { + final String username = systemHelper.getUsername(); + final long currentTime = systemHelper.getCurrentTimeAsLong(); + return getEntity(form, username, currentTime).map(entity -> { + entity.setUpdatedBy(username); + entity.setUpdatedTime(currentTime); + copyBeanToBean(form, entity, op -> op.exclude(Constants.COMMON_CONVERSION_RULE)); + return entity; + }); + } + protected void registerProtocolSchemeItems(final RenderData data) { final List> itemList = new ArrayList>(); final Locale locale = LaRequestUtil.getRequest().getLocale(); diff --git a/src/main/java/org/codelibs/fess/app/web/admin/fileconfig/AdminFileconfigAction.java b/src/main/java/org/codelibs/fess/app/web/admin/fileconfig/AdminFileconfigAction.java index 229b33017..a1080c08a 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/fileconfig/AdminFileconfigAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/fileconfig/AdminFileconfigAction.java @@ -184,7 +184,6 @@ public class AdminFileconfigAction extends FessAdminAction { verifyCrudMode(form.crudMode, CrudMode.CREATE); validate(form, messages -> {}, toEditHtml()); createFileConfig(form).ifPresent(entity -> { - copyBeanToBean(form, entity, op -> op.exclude(Constants.COMMON_CONVERSION_RULE)); fileConfigService.store(entity); saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL)); }).orElse(() -> { @@ -198,7 +197,6 @@ public class AdminFileconfigAction extends FessAdminAction { verifyCrudMode(form.crudMode, CrudMode.EDIT); validate(form, messages -> {}, toEditHtml()); createFileConfig(form).ifPresent(entity -> { - copyBeanToBean(form, entity, op -> op.exclude(Constants.COMMON_CONVERSION_RULE)); fileConfigService.store(entity); saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL)); }).orElse(() -> { @@ -224,27 +222,20 @@ public class AdminFileconfigAction extends FessAdminAction { // =================================================================================== // Assist Logic // ============ - protected OptionalEntity createFileConfig(final CreateForm form) { - final String username = systemHelper.getUsername(); - final long currentTime = systemHelper.getCurrentTimeAsLong(); + private OptionalEntity getEntity(final CreateForm form, final String username, final long currentTime) { switch (form.crudMode) { case CrudMode.CREATE: if (form instanceof CreateForm) { - final FileConfig entity = new FileConfig(); - entity.setCreatedBy(username); - entity.setCreatedTime(currentTime); - entity.setUpdatedBy(username); - entity.setUpdatedTime(currentTime); - return OptionalEntity.of(entity); + return OptionalEntity.of(new FileConfig()).map(entity -> { + entity.setCreatedBy(username); + entity.setCreatedTime(currentTime); + return entity; + }); } break; case CrudMode.EDIT: if (form instanceof EditForm) { - return fileConfigService.getFileConfig(((EditForm) form).id).map(entity -> { - entity.setUpdatedBy(username); - entity.setUpdatedTime(currentTime); - return entity; - }); + return fileConfigService.getFileConfig(((EditForm) form).id); } break; default: @@ -253,6 +244,17 @@ public class AdminFileconfigAction extends FessAdminAction { return OptionalEntity.empty(); } + protected OptionalEntity createFileConfig(final CreateForm form) { + final String username = systemHelper.getUsername(); + final long currentTime = systemHelper.getCurrentTimeAsLong(); + return getEntity(form, username, currentTime).map(entity -> { + entity.setUpdatedBy(username); + entity.setUpdatedTime(currentTime); + copyBeanToBean(form, entity, op -> op.exclude(Constants.COMMON_CONVERSION_RULE)); + return entity; + }); + } + protected void registerRolesAndLabels(final RenderData data) { data.register("roleTypeItems", roleTypeService.getRoleTypeList()); data.register("labelTypeItems", labelTypeService.getLabelTypeList()); diff --git a/src/main/java/org/codelibs/fess/app/web/admin/group/AdminGroupAction.java b/src/main/java/org/codelibs/fess/app/web/admin/group/AdminGroupAction.java index 59c126b28..ec38319f3 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/group/AdminGroupAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/group/AdminGroupAction.java @@ -174,8 +174,6 @@ public class AdminGroupAction extends FessAdminAction { verifyCrudMode(form.crudMode, CrudMode.CREATE); validate(form, messages -> {}, toEditHtml()); createGroup(form).ifPresent(entity -> { - copyBeanToBean(form, entity, op -> op.exclude(Constants.COMMON_CONVERSION_RULE)); - entity.setId(Base64.getEncoder().encodeToString(entity.getName().getBytes(Constants.CHARSET_UTF_8))); groupService.store(entity); saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL)); }).orElse(() -> { @@ -189,8 +187,6 @@ public class AdminGroupAction extends FessAdminAction { verifyCrudMode(form.crudMode, CrudMode.EDIT); validate(form, messages -> {}, toEditHtml()); createGroup(form).ifPresent(entity -> { - copyBeanToBean(form, entity, op -> op.exclude(Constants.COMMON_CONVERSION_RULE)); - entity.setId(Base64.getEncoder().encodeToString(entity.getName().getBytes(Constants.CHARSET_UTF_8))); groupService.store(entity); saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL)); }).orElse(() -> { @@ -216,19 +212,16 @@ public class AdminGroupAction extends FessAdminAction { // =================================================================================== // Assist Logic // ============ - protected OptionalEntity createGroup(final CreateForm form) { + private OptionalEntity getEntity(final CreateForm form) { switch (form.crudMode) { case CrudMode.CREATE: if (form instanceof CreateForm) { - final Group entity = new Group(); - return OptionalEntity.of(entity); + return OptionalEntity.of(new Group()); } break; case CrudMode.EDIT: if (form instanceof EditForm) { - return groupService.getGroup(((EditForm) form).id).map(entity -> { - return entity; - }); + return groupService.getGroup(((EditForm) form).id); } break; default: @@ -237,6 +230,14 @@ public class AdminGroupAction extends FessAdminAction { return OptionalEntity.empty(); } + protected OptionalEntity createGroup(final CreateForm form) { + return getEntity(form).map(entity -> { + copyBeanToBean(form, entity, op -> op.exclude(Constants.COMMON_CONVERSION_RULE)); + entity.setId(Base64.getEncoder().encodeToString(entity.getName().getBytes(Constants.CHARSET_UTF_8))); + return entity; + }); + } + // =================================================================================== // Small Helper // ============ diff --git a/src/main/java/org/codelibs/fess/app/web/admin/keymatch/AdminKeymatchAction.java b/src/main/java/org/codelibs/fess/app/web/admin/keymatch/AdminKeymatchAction.java index 52d1c8e8f..dc5e8bfe1 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/keymatch/AdminKeymatchAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/keymatch/AdminKeymatchAction.java @@ -173,7 +173,6 @@ public class AdminKeymatchAction extends FessAdminAction { verifyCrudMode(form.crudMode, CrudMode.CREATE); validate(form, messages -> {}, toEditHtml()); createKeyMatch(form).ifPresent(entity -> { - copyBeanToBean(form, entity, op -> op.exclude(Constants.COMMON_CONVERSION_RULE)); keyMatchService.store(entity); saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL)); ComponentUtil.getKeyMatchHelper().update(); @@ -188,7 +187,6 @@ public class AdminKeymatchAction extends FessAdminAction { verifyCrudMode(form.crudMode, CrudMode.EDIT); validate(form, messages -> {}, toEditHtml()); createKeyMatch(form).ifPresent(entity -> { - copyBeanToBean(form, entity, op -> op.exclude(Constants.COMMON_CONVERSION_RULE)); keyMatchService.store(entity); saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL)); ComponentUtil.getKeyMatchHelper().update(); @@ -216,28 +214,21 @@ public class AdminKeymatchAction extends FessAdminAction { // =================================================================================== // Assist Logic // ============ - protected OptionalEntity createKeyMatch(final CreateForm form) { - final String username = systemHelper.getUsername(); - final long currentTime = systemHelper.getCurrentTimeAsLong(); + private OptionalEntity getEntity(final CreateForm form, final String username, final long currentTime) { switch (form.crudMode) { case CrudMode.CREATE: if (form instanceof CreateForm) { - final KeyMatch entity = new KeyMatch(); - entity.setCreatedBy(username); - entity.setCreatedTime(currentTime); - entity.setUpdatedBy(username); - entity.setUpdatedTime(currentTime); - return OptionalEntity.of(entity); + return OptionalEntity.of(new KeyMatch()).map(entity -> { + entity.setCreatedBy(username); + entity.setCreatedTime(currentTime); + return entity; + }); } break; case CrudMode.EDIT: if (form instanceof EditForm) { - return keyMatchService.getKeyMatch(((EditForm) form).id).map(entity -> { - entity.setUpdatedBy(username); - entity.setUpdatedTime(currentTime); - return entity; - }); + return keyMatchService.getKeyMatch(((EditForm) form).id); } break; default: @@ -246,6 +237,17 @@ public class AdminKeymatchAction extends FessAdminAction { return OptionalEntity.empty(); } + protected OptionalEntity createKeyMatch(final CreateForm form) { + final String username = systemHelper.getUsername(); + final long currentTime = systemHelper.getCurrentTimeAsLong(); + return getEntity(form, username, currentTime).map(entity -> { + entity.setUpdatedBy(username); + entity.setUpdatedTime(currentTime); + copyBeanToBean(form, entity, op -> op.exclude(Constants.COMMON_CONVERSION_RULE)); + return entity; + }); + } + // =================================================================================== // Small Helper // ============ diff --git a/src/main/java/org/codelibs/fess/app/web/admin/labeltype/AdminLabeltypeAction.java b/src/main/java/org/codelibs/fess/app/web/admin/labeltype/AdminLabeltypeAction.java index 995bbc9f4..29a3a2dda 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/labeltype/AdminLabeltypeAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/labeltype/AdminLabeltypeAction.java @@ -182,7 +182,6 @@ public class AdminLabeltypeAction extends FessAdminAction { verifyCrudMode(form.crudMode, CrudMode.CREATE); validate(form, messages -> {}, toEditHtml()); createLabelType(form).ifPresent(entity -> { - copyBeanToBean(form, entity, op -> op.exclude(Constants.COMMON_CONVERSION_RULE)); labelTypeService.store(entity); saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL)); }).orElse(() -> { @@ -196,7 +195,6 @@ public class AdminLabeltypeAction extends FessAdminAction { verifyCrudMode(form.crudMode, CrudMode.EDIT); validate(form, messages -> {}, toEditHtml()); createLabelType(form).ifPresent(entity -> { - copyBeanToBean(form, entity, op -> op.exclude(Constants.COMMON_CONVERSION_RULE)); labelTypeService.store(entity); saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL)); }).orElse(() -> { @@ -222,27 +220,21 @@ public class AdminLabeltypeAction extends FessAdminAction { // =================================================================================== // Assist Logic // ============ - protected OptionalEntity createLabelType(final CreateForm form) { - final String username = systemHelper.getUsername(); - final long currentTime = systemHelper.getCurrentTimeAsLong(); + + private OptionalEntity getEntity(final CreateForm form, final String username, final long currentTime) { switch (form.crudMode) { case CrudMode.CREATE: if (form instanceof CreateForm) { - final LabelType entity = new LabelType(); - entity.setCreatedBy(username); - entity.setCreatedTime(currentTime); - entity.setUpdatedBy(username); - entity.setUpdatedTime(currentTime); - return OptionalEntity.of(entity); + return OptionalEntity.of(new LabelType()).map(entity -> { + entity.setCreatedBy(username); + entity.setCreatedTime(currentTime); + return entity; + }); } break; case CrudMode.EDIT: if (form instanceof EditForm) { - return labelTypeService.getLabelType(((EditForm) form).id).map(entity -> { - entity.setUpdatedBy(username); - entity.setUpdatedTime(currentTime); - return entity; - }); + return labelTypeService.getLabelType(((EditForm) form).id); } break; default: @@ -251,6 +243,17 @@ public class AdminLabeltypeAction extends FessAdminAction { return OptionalEntity.empty(); } + protected OptionalEntity createLabelType(final CreateForm form) { + final String username = systemHelper.getUsername(); + final long currentTime = systemHelper.getCurrentTimeAsLong(); + return getEntity(form, username, currentTime).map(entity -> { + entity.setUpdatedBy(username); + entity.setUpdatedTime(currentTime); + copyBeanToBean(form, entity, op -> op.exclude(Constants.COMMON_CONVERSION_RULE)); + return entity; + }); + } + protected void registerRoleTypeItems(final RenderData data) { data.register("roleTypeItems", roleTypeService.getRoleTypeList()); } diff --git a/src/main/java/org/codelibs/fess/app/web/admin/overlappinghost/AdminOverlappinghostAction.java b/src/main/java/org/codelibs/fess/app/web/admin/overlappinghost/AdminOverlappinghostAction.java index 9c8939017..bb2dfdeec 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/overlappinghost/AdminOverlappinghostAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/overlappinghost/AdminOverlappinghostAction.java @@ -172,7 +172,6 @@ public class AdminOverlappinghostAction extends FessAdminAction { verifyCrudMode(form.crudMode, CrudMode.CREATE); validate(form, messages -> {}, toEditHtml()); createOverlappingHost(form).ifPresent(entity -> { - copyBeanToBean(form, entity, op -> op.exclude(Constants.COMMON_CONVERSION_RULE)); overlappingHostService.store(entity); saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL)); }).orElse(() -> { @@ -186,7 +185,6 @@ public class AdminOverlappinghostAction extends FessAdminAction { verifyCrudMode(form.crudMode, CrudMode.EDIT); validate(form, messages -> {}, toEditHtml()); createOverlappingHost(form).ifPresent(entity -> { - copyBeanToBean(form, entity, op -> op.exclude(Constants.COMMON_CONVERSION_RULE)); overlappingHostService.store(entity); saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL)); }).orElse(() -> { @@ -212,27 +210,20 @@ public class AdminOverlappinghostAction extends FessAdminAction { // =================================================================================== // Assist Logic // ============ - protected OptionalEntity createOverlappingHost(final CreateForm form) { - final String username = systemHelper.getUsername(); - final long currentTime = systemHelper.getCurrentTimeAsLong(); + private OptionalEntity getEntity(final CreateForm form, final String username, final long currentTime) { switch (form.crudMode) { case CrudMode.CREATE: if (form instanceof CreateForm) { - final OverlappingHost entity = new OverlappingHost(); - entity.setCreatedBy(username); - entity.setCreatedTime(currentTime); - entity.setUpdatedBy(username); - entity.setUpdatedTime(currentTime); - return OptionalEntity.of(entity); + return OptionalEntity.of(new OverlappingHost()).map(entity -> { + entity.setCreatedBy(username); + entity.setCreatedTime(currentTime); + return entity; + }); } break; case CrudMode.EDIT: if (form instanceof EditForm) { - return overlappingHostService.getOverlappingHost(((EditForm) form).id).map(entity -> { - entity.setUpdatedBy(username); - entity.setUpdatedTime(currentTime); - return entity; - }); + return overlappingHostService.getOverlappingHost(((EditForm) form).id); } break; default: @@ -241,6 +232,17 @@ public class AdminOverlappinghostAction extends FessAdminAction { return OptionalEntity.empty(); } + protected OptionalEntity createOverlappingHost(final CreateForm form) { + final String username = systemHelper.getUsername(); + final long currentTime = systemHelper.getCurrentTimeAsLong(); + return getEntity(form, username, currentTime).map(entity -> { + entity.setUpdatedBy(username); + entity.setUpdatedTime(currentTime); + copyBeanToBean(form, entity, op -> op.exclude(Constants.COMMON_CONVERSION_RULE)); + return entity; + }); + } + // =================================================================================== // Small Helper // ============ diff --git a/src/main/java/org/codelibs/fess/app/web/admin/pathmapping/AdminPathmappingAction.java b/src/main/java/org/codelibs/fess/app/web/admin/pathmapping/AdminPathmappingAction.java index cd0dccb54..a05a15e59 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/pathmapping/AdminPathmappingAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/pathmapping/AdminPathmappingAction.java @@ -173,7 +173,6 @@ public class AdminPathmappingAction extends FessAdminAction { verifyCrudMode(form.crudMode, CrudMode.CREATE); validate(form, messages -> {}, toEditHtml()); createPathMapping(form).ifPresent(entity -> { - copyBeanToBean(form, entity, op -> op.exclude(Constants.COMMON_CONVERSION_RULE)); pathMappingService.store(entity); saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL)); }).orElse(() -> { @@ -187,7 +186,6 @@ public class AdminPathmappingAction extends FessAdminAction { verifyCrudMode(form.crudMode, CrudMode.EDIT); validate(form, messages -> {}, toEditHtml()); createPathMapping(form).ifPresent(entity -> { - copyBeanToBean(form, entity, op -> op.exclude(Constants.COMMON_CONVERSION_RULE)); pathMappingService.store(entity); saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL)); }).orElse(() -> { @@ -213,27 +211,20 @@ public class AdminPathmappingAction extends FessAdminAction { // =================================================================================== // Assist Logic // ============ - protected OptionalEntity createPathMapping(final CreateForm form) { - final String username = systemHelper.getUsername(); - final long currentTime = systemHelper.getCurrentTimeAsLong(); + private OptionalEntity getEntity(final CreateForm form, final String username, final long currentTime) { switch (form.crudMode) { case CrudMode.CREATE: if (form instanceof CreateForm) { - final PathMapping entity = new PathMapping(); - entity.setCreatedBy(username); - entity.setCreatedTime(currentTime); - entity.setUpdatedBy(username); - entity.setUpdatedTime(currentTime); - return OptionalEntity.of(entity); + return OptionalEntity.of(new PathMapping()).map(entity -> { + entity.setCreatedBy(username); + entity.setCreatedTime(currentTime); + return entity; + }); } break; case CrudMode.EDIT: if (form instanceof EditForm) { - return pathMappingService.getPathMapping(((EditForm) form).id).map(entity -> { - entity.setUpdatedBy(username); - entity.setUpdatedTime(currentTime); - return entity; - }); + return pathMappingService.getPathMapping(((EditForm) form).id); } break; default: @@ -242,6 +233,17 @@ public class AdminPathmappingAction extends FessAdminAction { return OptionalEntity.empty(); } + protected OptionalEntity createPathMapping(final CreateForm form) { + final String username = systemHelper.getUsername(); + final long currentTime = systemHelper.getCurrentTimeAsLong(); + return getEntity(form, username, currentTime).map(entity -> { + entity.setUpdatedBy(username); + entity.setUpdatedTime(currentTime); + copyBeanToBean(form, entity, op -> op.exclude(Constants.COMMON_CONVERSION_RULE)); + return entity; + }); + } + // =================================================================================== // Small Helper // ============ diff --git a/src/main/java/org/codelibs/fess/app/web/admin/requestheader/AdminRequestheaderAction.java b/src/main/java/org/codelibs/fess/app/web/admin/requestheader/AdminRequestheaderAction.java index 484cab01e..df3c796cc 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/requestheader/AdminRequestheaderAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/requestheader/AdminRequestheaderAction.java @@ -195,7 +195,6 @@ public class AdminRequestheaderAction extends FessAdminAction { verifyCrudMode(form.crudMode, CrudMode.CREATE); validate(form, messages -> {}, toEditHtml()); createRequestHeader(form).ifPresent(entity -> { - copyBeanToBean(form, entity, op -> op.exclude(Constants.COMMON_CONVERSION_RULE)); requestHeaderService.store(entity); saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL)); }).orElse(() -> { @@ -209,7 +208,6 @@ public class AdminRequestheaderAction extends FessAdminAction { verifyCrudMode(form.crudMode, CrudMode.EDIT); validate(form, messages -> {}, toEditHtml()); createRequestHeader(form).ifPresent(entity -> { - copyBeanToBean(form, entity, op -> op.exclude(Constants.COMMON_CONVERSION_RULE)); requestHeaderService.store(entity); saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL)); }).orElse(() -> { @@ -235,27 +233,20 @@ public class AdminRequestheaderAction extends FessAdminAction { // =================================================================================== // Assist Logic // ============ - protected OptionalEntity createRequestHeader(final CreateForm form) { - final String username = systemHelper.getUsername(); - final long currentTime = systemHelper.getCurrentTimeAsLong(); + private OptionalEntity getEntity(final CreateForm form, final String username, final long currentTime) { switch (form.crudMode) { case CrudMode.CREATE: if (form instanceof CreateForm) { - final RequestHeader entity = new RequestHeader(); - entity.setCreatedBy(username); - entity.setCreatedTime(currentTime); - entity.setUpdatedBy(username); - entity.setUpdatedTime(currentTime); - return OptionalEntity.of(entity); + return OptionalEntity.of(new RequestHeader()).map(entity -> { + entity.setCreatedBy(username); + entity.setCreatedTime(currentTime); + return entity; + }); } break; case CrudMode.EDIT: if (form instanceof EditForm) { - return requestHeaderService.getRequestHeader(((EditForm) form).id).map(entity -> { - entity.setUpdatedBy(username); - entity.setUpdatedTime(currentTime); - return entity; - }); + return requestHeaderService.getRequestHeader(((EditForm) form).id); } break; default: @@ -264,6 +255,17 @@ public class AdminRequestheaderAction extends FessAdminAction { return OptionalEntity.empty(); } + protected OptionalEntity createRequestHeader(final CreateForm form) { + final String username = systemHelper.getUsername(); + final long currentTime = systemHelper.getCurrentTimeAsLong(); + return getEntity(form, username, currentTime).map(entity -> { + entity.setUpdatedBy(username); + entity.setUpdatedTime(currentTime); + copyBeanToBean(form, entity, op -> op.exclude(Constants.COMMON_CONVERSION_RULE)); + return entity; + }); + } + protected void registerProtocolSchemeItems(final RenderData data) { final List> itemList = new ArrayList>(); final Locale locale = LaRequestUtil.getRequest().getLocale(); diff --git a/src/main/java/org/codelibs/fess/app/web/admin/role/AdminRoleAction.java b/src/main/java/org/codelibs/fess/app/web/admin/role/AdminRoleAction.java index 0374841f2..9f02a4954 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/role/AdminRoleAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/role/AdminRoleAction.java @@ -174,8 +174,6 @@ public class AdminRoleAction extends FessAdminAction { verifyCrudMode(form.crudMode, CrudMode.CREATE); validate(form, messages -> {}, toEditHtml()); createRole(form).ifPresent(entity -> { - copyBeanToBean(form, entity, op -> op.exclude(Constants.COMMON_CONVERSION_RULE)); - entity.setId(Base64.getEncoder().encodeToString(entity.getName().getBytes(Constants.CHARSET_UTF_8))); roleService.store(entity); saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL)); }).orElse(() -> { @@ -189,8 +187,6 @@ public class AdminRoleAction extends FessAdminAction { verifyCrudMode(form.crudMode, CrudMode.EDIT); validate(form, messages -> {}, toEditHtml()); createRole(form).ifPresent(entity -> { - copyBeanToBean(form, entity, op -> op.exclude(Constants.COMMON_CONVERSION_RULE)); - entity.setId(Base64.getEncoder().encodeToString(entity.getName().getBytes(Constants.CHARSET_UTF_8))); roleService.store(entity); saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL)); }).orElse(() -> { @@ -216,19 +212,16 @@ public class AdminRoleAction extends FessAdminAction { // =================================================================================== // Assist Logic // ============ - protected OptionalEntity createRole(final CreateForm form) { + private OptionalEntity getEntity(final CreateForm form) { switch (form.crudMode) { case CrudMode.CREATE: if (form instanceof CreateForm) { - final Role entity = new Role(); - return OptionalEntity.of(entity); + return OptionalEntity.of(new Role()); } break; case CrudMode.EDIT: if (form instanceof EditForm) { - return roleService.getRole(((EditForm) form).id).map(entity -> { - return entity; - }); + return roleService.getRole(((EditForm) form).id); } break; default: @@ -237,6 +230,14 @@ public class AdminRoleAction extends FessAdminAction { return OptionalEntity.empty(); } + protected OptionalEntity createRole(final CreateForm form) { + return getEntity(form).map(entity -> { + copyBeanToBean(form, entity, op -> op.exclude(Constants.COMMON_CONVERSION_RULE)); + entity.setId(Base64.getEncoder().encodeToString(entity.getName().getBytes(Constants.CHARSET_UTF_8))); + return entity; + }); + } + // =================================================================================== // Small Helper // ============ diff --git a/src/main/java/org/codelibs/fess/app/web/admin/roletype/AdminRoletypeAction.java b/src/main/java/org/codelibs/fess/app/web/admin/roletype/AdminRoletypeAction.java index 1c8113d55..9bbe58cec 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/roletype/AdminRoletypeAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/roletype/AdminRoletypeAction.java @@ -172,7 +172,6 @@ public class AdminRoletypeAction extends FessAdminAction { verifyCrudMode(form.crudMode, CrudMode.CREATE); validate(form, messages -> {}, toEditHtml()); createRoleType(form).ifPresent(entity -> { - copyBeanToBean(form, entity, op -> op.exclude(Constants.COMMON_CONVERSION_RULE)); roleTypeService.store(entity); saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL)); }).orElse(() -> { @@ -186,7 +185,6 @@ public class AdminRoletypeAction extends FessAdminAction { verifyCrudMode(form.crudMode, CrudMode.EDIT); validate(form, messages -> {}, toEditHtml()); createRoleType(form).ifPresent(entity -> { - copyBeanToBean(form, entity, op -> op.exclude(Constants.COMMON_CONVERSION_RULE)); roleTypeService.store(entity); saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL)); }).orElse(() -> { @@ -212,27 +210,20 @@ public class AdminRoletypeAction extends FessAdminAction { // =================================================================================== // Assist Logic // ============ - protected OptionalEntity createRoleType(final CreateForm form) { - final String username = systemHelper.getUsername(); - final long currentTime = systemHelper.getCurrentTimeAsLong(); + private OptionalEntity getEntity(final CreateForm form, final String username, final long currentTime) { switch (form.crudMode) { case CrudMode.CREATE: if (form instanceof CreateForm) { - final RoleType entity = new RoleType(); - entity.setCreatedBy(username); - entity.setCreatedTime(currentTime); - entity.setUpdatedBy(username); - entity.setUpdatedTime(currentTime); - return OptionalEntity.of(entity); + return OptionalEntity.of(new RoleType()).map(entity -> { + entity.setCreatedBy(username); + entity.setCreatedTime(currentTime); + return entity; + }); } break; case CrudMode.EDIT: if (form instanceof EditForm) { - return roleTypeService.getRoleType(((EditForm) form).id).map(entity -> { - entity.setUpdatedBy(username); - entity.setUpdatedTime(currentTime); - return entity; - }); + return roleTypeService.getRoleType(((EditForm) form).id); } break; default: @@ -241,6 +232,17 @@ public class AdminRoletypeAction extends FessAdminAction { return OptionalEntity.empty(); } + protected OptionalEntity createRoleType(final CreateForm form) { + final String username = systemHelper.getUsername(); + final long currentTime = systemHelper.getCurrentTimeAsLong(); + return getEntity(form, username, currentTime).map(entity -> { + entity.setUpdatedBy(username); + entity.setUpdatedTime(currentTime); + copyBeanToBean(form, entity, op -> op.exclude(Constants.COMMON_CONVERSION_RULE)); + return entity; + }); + } + // =================================================================================== // Small Helper // ============ diff --git a/src/main/java/org/codelibs/fess/app/web/admin/scheduledjob/AdminScheduledjobAction.java b/src/main/java/org/codelibs/fess/app/web/admin/scheduledjob/AdminScheduledjobAction.java index 6969a0fc2..ccb11e7d3 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/scheduledjob/AdminScheduledjobAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/scheduledjob/AdminScheduledjobAction.java @@ -268,35 +268,20 @@ public class AdminScheduledjobAction extends FessAdminAction { form.available = entity.isEnabled() ? Constants.ON : null; } - protected OptionalEntity createScheduledJob(final CreateForm form) { - final String username = systemHelper.getUsername(); - final long currentTime = systemHelper.getCurrentTimeAsLong(); + private OptionalEntity getEntity(final CreateForm form, final String username, final long currentTime) { switch (form.crudMode) { case CrudMode.CREATE: if (form instanceof CreateForm) { - final ScheduledJob entity = new ScheduledJob(); - entity.setCreatedBy(username); - entity.setCreatedTime(currentTime); - entity.setUpdatedBy(username); - entity.setUpdatedTime(currentTime); - copyBeanToBean(form, entity, op -> op.exclude(Constants.COMMON_CONVERSION_RULE)); - entity.setJobLogging(Constants.ON.equals(form.jobLogging) ? Constants.T : Constants.F); - entity.setCrawler(Constants.ON.equals(form.crawler) ? Constants.T : Constants.F); - entity.setAvailable(Constants.ON.equals(form.available) ? Constants.T : Constants.F); - return OptionalEntity.of(entity); + return OptionalEntity.of(new ScheduledJob()).map(entity -> { + entity.setCreatedBy(username); + entity.setCreatedTime(currentTime); + return entity; + }); } break; case CrudMode.EDIT: if (form instanceof EditForm) { - return scheduledJobService.getScheduledJob(((EditForm) form).id).map(entity -> { - entity.setUpdatedBy(username); - entity.setUpdatedTime(currentTime); - copyBeanToBean(form, entity, op -> op.exclude(Constants.COMMON_CONVERSION_RULE)); - entity.setJobLogging(Constants.ON.equals(form.jobLogging) ? Constants.T : Constants.F); - entity.setCrawler(Constants.ON.equals(form.crawler) ? Constants.T : Constants.F); - entity.setAvailable(Constants.ON.equals(form.available) ? Constants.T : Constants.F); - return entity; - }); + return scheduledJobService.getScheduledJob(((EditForm) form).id); } break; default: @@ -305,6 +290,20 @@ public class AdminScheduledjobAction extends FessAdminAction { return OptionalEntity.empty(); } + protected OptionalEntity createScheduledJob(final CreateForm form) { + final String username = systemHelper.getUsername(); + final long currentTime = systemHelper.getCurrentTimeAsLong(); + return getEntity(form, username, currentTime).map(entity -> { + entity.setUpdatedBy(username); + entity.setUpdatedTime(currentTime); + copyBeanToBean(form, entity, op -> op.exclude(Constants.COMMON_CONVERSION_RULE)); + entity.setJobLogging(Constants.ON.equals(form.jobLogging) ? Constants.T : Constants.F); + entity.setCrawler(Constants.ON.equals(form.crawler) ? Constants.T : Constants.F); + entity.setAvailable(Constants.ON.equals(form.available) ? Constants.T : Constants.F); + return entity; + }); + } + // =================================================================================== // Small Helper // ============ diff --git a/src/main/java/org/codelibs/fess/app/web/admin/searchlist/AdminSearchlistAction.java b/src/main/java/org/codelibs/fess/app/web/admin/searchlist/AdminSearchlistAction.java index b104d8177..8f4a6bcd0 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/searchlist/AdminSearchlistAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/searchlist/AdminSearchlistAction.java @@ -22,7 +22,6 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import org.codelibs.core.lang.StringUtil; -import org.codelibs.fess.Constants; import org.codelibs.fess.app.service.SearchService; import org.codelibs.fess.app.web.base.FessAdminAction; import org.codelibs.fess.entity.SearchRenderData; @@ -113,47 +112,26 @@ public class AdminSearchlistAction extends FessAdminAction { // Search Execute // ============== @Execute - public HtmlResponse index(final SearchListForm form) { + public HtmlResponse index(final ListForm form) { + validate(form, messages -> {}, () -> asHtml(path_ErrorJsp)); return asHtml(path_AdminSearchlist_IndexJsp); } - protected HtmlResponse doSearch(final SearchListForm form) { + protected HtmlResponse doSearch(final ListForm form) { if (StringUtil.isBlank(form.query)) { // redirect to index page form.query = null; return redirect(getClass()); } + validate(form, messages -> {}, () -> asHtml(path_ErrorJsp)); return asHtml(path_AdminSearchlist_IndexJsp).renderWith(data -> { doSearchInternal(data, form); }); } - private void doSearchInternal(final RenderData data, final SearchListForm form) { - // init pager - if (StringUtil.isBlank(form.start)) { - form.start = String.valueOf(Constants.DEFAULT_START_COUNT); - } else { - try { - Long.parseLong(form.start); - } catch (final NumberFormatException e) { - form.start = String.valueOf(Constants.DEFAULT_START_COUNT); - } - } - if (StringUtil.isBlank(form.num)) { - form.num = String.valueOf(Constants.DEFAULT_PAGE_SIZE); - } else { - try { - final int num = Integer.parseInt(form.num); - if (num > 100) { - // max page size - form.num = "100"; - } - } catch (final NumberFormatException e) { - form.num = String.valueOf(Constants.DEFAULT_PAGE_SIZE); - } - } - + private void doSearchInternal(final RenderData data, final ListForm form) { + form.initialize(); try { final WebRenderData renderData = new WebRenderData(data); searchService.search(request, form, renderData); @@ -173,52 +151,35 @@ public class AdminSearchlistAction extends FessAdminAction { } @Execute - public HtmlResponse search(final SearchListForm form) { + public HtmlResponse search(final ListForm form) { return doSearch(form); } @Execute - public HtmlResponse prev(final SearchListForm form) { + public HtmlResponse prev(final ListForm form) { return doMove(form, -1); } @Execute - public HtmlResponse next(final SearchListForm form) { + public HtmlResponse next(final ListForm form) { return doMove(form, 1); } @Execute - public HtmlResponse move(final SearchListForm form) { + public HtmlResponse move(final ListForm form) { return doMove(form, 0); } - protected HtmlResponse doMove(final SearchListForm form, final int move) { - int size = Constants.DEFAULT_PAGE_SIZE; - if (StringUtil.isBlank(form.num)) { - form.num = String.valueOf(Constants.DEFAULT_PAGE_SIZE); - } else { - try { - size = Integer.parseInt(form.num); - } catch (final NumberFormatException e) { - form.num = String.valueOf(Constants.DEFAULT_PAGE_SIZE); + protected HtmlResponse doMove(final ListForm form, final int move) { + form.initialize(); + Integer pageNumber = form.pn; + if (pageNumber != null && pageNumber > 0) { + pageNumber = pageNumber + move; + if (pageNumber < 1) { + pageNumber = 1; } + form.start = (pageNumber - 1) * form.getPageSize(); } - - if (StringUtil.isBlank(form.pn)) { - form.start = String.valueOf(Constants.DEFAULT_START_COUNT); - } else { - Integer pageNumber = Integer.parseInt(form.pn); - if (pageNumber != null && pageNumber > 0) { - pageNumber = pageNumber + move; - if (pageNumber < 1) { - pageNumber = 1; - } - form.start = String.valueOf((pageNumber - 1) * size); - } else { - form.start = String.valueOf(Constants.DEFAULT_START_COUNT); - } - } - return doSearch(form); } @@ -226,16 +187,16 @@ public class AdminSearchlistAction extends FessAdminAction { // Confirm // ------- @Execute - public HtmlResponse confirmDelete(final SearchListForm form) { + public HtmlResponse confirmDelete(final ListForm form) { return asHtml(path_AdminSearchlist_ConfirmDeleteJsp); } @Execute - public HtmlResponse delete(final SearchListForm form) { + public HtmlResponse delete(final ListForm form) { return deleteByQuery(form); } - private HtmlResponse deleteByQuery(final SearchListForm form) { + private HtmlResponse deleteByQuery(final ListForm form) { final String docId = form.docId; if (jobHelper.isCrawlProcessRunning()) { // TODO Error diff --git a/src/main/java/org/codelibs/fess/app/web/admin/searchlist/SearchListForm.java b/src/main/java/org/codelibs/fess/app/web/admin/searchlist/ListForm.java similarity index 59% rename from src/main/java/org/codelibs/fess/app/web/admin/searchlist/SearchListForm.java rename to src/main/java/org/codelibs/fess/app/web/admin/searchlist/ListForm.java index 13d8331a3..25c309ddd 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/searchlist/SearchListForm.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/searchlist/ListForm.java @@ -19,42 +19,44 @@ import java.io.Serializable; import java.util.HashMap; import java.util.Map; -import org.codelibs.core.lang.StringUtil; +import javax.validation.constraints.Size; + import org.codelibs.fess.entity.FacetInfo; import org.codelibs.fess.entity.GeoInfo; import org.codelibs.fess.entity.SearchRequestParams; import org.codelibs.fess.helper.QueryHelper; import org.codelibs.fess.util.ComponentUtil; +import org.lastaflute.web.validation.theme.conversion.ValidateTypeFailure; /** * @author codelibs * @author Keiichi Watanabe */ //public class SearchListForm implements Serializable { -public class SearchListForm implements SearchRequestParams, Serializable { +public class ListForm implements SearchRequestParams, Serializable { private static final long serialVersionUID = 1L; - //@Maxbytelength(maxbytelength = 1000) + @Size(max = 1000) public String query; public String sort; - //@Digits(integer=10, fraction=0) - public String start; + @ValidateTypeFailure + public Integer start; - //@Digits(integer=10, fraction=0) - public String pn; + @ValidateTypeFailure + public Integer pn; - //@Digits(integer=10, fraction=0) - public String num; + @ValidateTypeFailure + public Integer num; public String[] lang; - //@Required(target = "confirmDelete,delete") + // @Required public String docId; - //@Required(target = "confirmDelete") + // @Required public String url; @Override @@ -66,7 +68,7 @@ public class SearchListForm implements SearchRequestParams, Serializable { public String additional[]; - //@Maxbytelength(maxbytelength = 10) + @Size(max = 10) public String op; @Override @@ -92,51 +94,24 @@ public class SearchListForm implements SearchRequestParams, Serializable { public FacetInfo facet; - private int startPosition = -1; - - private int pageSize = -1; - @Override public int getStartPosition() { - if (startPosition != -1) { - return startPosition; + if (start == null) { + start = ComponentUtil.getQueryHelper().getDefaultStart(); } - - final QueryHelper queryHelper = ComponentUtil.getQueryHelper(); - if (StringUtil.isBlank(start)) { - startPosition = queryHelper.getDefaultStart(); - } else { - try { - startPosition = Integer.parseInt(start); - } catch (final NumberFormatException e) { - startPosition = queryHelper.getDefaultStart(); - } - } - start = String.valueOf(startPosition); - return startPosition; + return start; } @Override public int getPageSize() { - if (pageSize != -1) { - return pageSize; - } - final QueryHelper queryHelper = ComponentUtil.getQueryHelper(); - if (StringUtil.isBlank(num)) { - pageSize = queryHelper.getDefaultPageSize(); - } else { - try { - pageSize = Integer.parseInt(num); - if (pageSize > queryHelper.getMaxPageSize() || pageSize <= 0) { - pageSize = queryHelper.getMaxPageSize(); - } - } catch (final NumberFormatException e) { - pageSize = queryHelper.getDefaultPageSize(); - } + if (num == null) { + num = queryHelper.getDefaultPageSize(); } - num = String.valueOf(pageSize); - return pageSize; + if (num > queryHelper.getMaxPageSize() || num <= 0) { + num = queryHelper.getMaxPageSize(); + } + return num; } @Override @@ -158,4 +133,17 @@ public class SearchListForm implements SearchRequestParams, Serializable { public String getSort() { return sort; } + + public void initialize() { + final QueryHelper queryHelper = ComponentUtil.getQueryHelper(); + if (start == null) { + start = queryHelper.getDefaultStart(); + } + if (num == null) { + num = queryHelper.getDefaultPageSize(); + } else if (num > queryHelper.getMaxPageSize()) { + num = queryHelper.getMaxPageSize(); + } + } + } diff --git a/src/main/java/org/codelibs/fess/app/web/admin/suggestbadword/AdminSuggestbadwordAction.java b/src/main/java/org/codelibs/fess/app/web/admin/suggestbadword/AdminSuggestbadwordAction.java index c37a05049..4b631d001 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/suggestbadword/AdminSuggestbadwordAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/suggestbadword/AdminSuggestbadwordAction.java @@ -224,7 +224,6 @@ public class AdminSuggestbadwordAction extends FessAdminAction { verifyCrudMode(form.crudMode, CrudMode.CREATE); validate(form, messages -> {}, toEditHtml()); createSuggestBadWord(form).ifPresent(entity -> { - copyBeanToBean(form, entity, op -> op.exclude(Constants.COMMON_CONVERSION_RULE)); suggestBadWordService.store(entity); saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL)); }).orElse(() -> { @@ -238,7 +237,6 @@ public class AdminSuggestbadwordAction extends FessAdminAction { verifyCrudMode(form.crudMode, CrudMode.EDIT); validate(form, messages -> {}, toEditHtml()); createSuggestBadWord(form).ifPresent(entity -> { - copyBeanToBean(form, entity, op -> op.exclude(Constants.COMMON_CONVERSION_RULE)); suggestBadWordService.store(entity); saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL)); }).orElse(() -> { @@ -320,27 +318,20 @@ public class AdminSuggestbadwordAction extends FessAdminAction { // =================================================================================== // Assist Logic // ============ - protected OptionalEntity createSuggestBadWord(final CreateForm form) { - final String username = systemHelper.getUsername(); - final long currentTime = systemHelper.getCurrentTimeAsLong(); + private OptionalEntity getEntity(final CreateForm form, final String username, final long currentTime) { switch (form.crudMode) { case CrudMode.CREATE: if (form instanceof CreateForm) { - final SuggestBadWord entity = new SuggestBadWord(); - entity.setCreatedBy(username); - entity.setCreatedTime(currentTime); - entity.setUpdatedBy(username); - entity.setUpdatedTime(currentTime); - return OptionalEntity.of(entity); + return OptionalEntity.of(new SuggestBadWord()).map(entity -> { + entity.setCreatedBy(username); + entity.setCreatedTime(currentTime); + return entity; + }); } break; case CrudMode.EDIT: if (form instanceof EditForm) { - return suggestBadWordService.getSuggestBadWord(((EditForm) form).id).map(entity -> { - entity.setUpdatedBy(username); - entity.setUpdatedTime(currentTime); - return entity; - }); + return suggestBadWordService.getSuggestBadWord(((EditForm) form).id); } break; default: @@ -349,6 +340,17 @@ public class AdminSuggestbadwordAction extends FessAdminAction { return OptionalEntity.empty(); } + protected OptionalEntity createSuggestBadWord(final CreateForm form) { + final String username = systemHelper.getUsername(); + final long currentTime = systemHelper.getCurrentTimeAsLong(); + return getEntity(form, username, currentTime).map(entity -> { + entity.setUpdatedBy(username); + entity.setUpdatedTime(currentTime); + copyBeanToBean(form, entity, op -> op.exclude(Constants.COMMON_CONVERSION_RULE)); + return entity; + }); + } + // =================================================================================== // Small Helper // ============ diff --git a/src/main/java/org/codelibs/fess/app/web/admin/suggestelevateword/AdminSuggestelevatewordAction.java b/src/main/java/org/codelibs/fess/app/web/admin/suggestelevateword/AdminSuggestelevatewordAction.java index 3566d243f..ca1ab2954 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/suggestelevateword/AdminSuggestelevatewordAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/suggestelevateword/AdminSuggestelevatewordAction.java @@ -224,7 +224,6 @@ public class AdminSuggestelevatewordAction extends FessAdminAction { verifyCrudMode(form.crudMode, CrudMode.CREATE); validate(form, messages -> {}, toEditHtml()); createSuggestElevateWord(form).ifPresent(entity -> { - copyBeanToBean(form, entity, op -> op.exclude(Constants.COMMON_CONVERSION_RULE)); suggestElevateWordService.store(entity); saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL)); }).orElse(() -> { @@ -238,7 +237,6 @@ public class AdminSuggestelevatewordAction extends FessAdminAction { verifyCrudMode(form.crudMode, CrudMode.EDIT); validate(form, messages -> {}, toEditHtml()); createSuggestElevateWord(form).ifPresent(entity -> { - copyBeanToBean(form, entity, op -> op.exclude(Constants.COMMON_CONVERSION_RULE)); suggestElevateWordService.store(entity); saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL)); }).orElse(() -> { @@ -320,27 +318,20 @@ public class AdminSuggestelevatewordAction extends FessAdminAction { // =================================================================================== // Assist Logic // ============ - protected OptionalEntity createSuggestElevateWord(final CreateForm form) { - final String username = systemHelper.getUsername(); - final long currentTime = systemHelper.getCurrentTimeAsLong(); + private OptionalEntity getEntity(final CreateForm form, final String username, final long currentTime) { switch (form.crudMode) { case CrudMode.CREATE: if (form instanceof CreateForm) { - final SuggestElevateWord entity = new SuggestElevateWord(); - entity.setCreatedBy(username); - entity.setCreatedTime(currentTime); - entity.setUpdatedBy(username); - entity.setUpdatedTime(currentTime); - return OptionalEntity.of(entity); + return OptionalEntity.of(new SuggestElevateWord()).map(entity -> { + entity.setCreatedBy(username); + entity.setCreatedTime(currentTime); + return entity; + }); } break; case CrudMode.EDIT: if (form instanceof EditForm) { - return suggestElevateWordService.getSuggestElevateWord(((EditForm) form).id).map(entity -> { - entity.setUpdatedBy(username); - entity.setUpdatedTime(currentTime); - return entity; - }); + return suggestElevateWordService.getSuggestElevateWord(((EditForm) form).id); } break; default: @@ -349,6 +340,17 @@ public class AdminSuggestelevatewordAction extends FessAdminAction { return OptionalEntity.empty(); } + protected OptionalEntity createSuggestElevateWord(final CreateForm form) { + final String username = systemHelper.getUsername(); + final long currentTime = systemHelper.getCurrentTimeAsLong(); + return getEntity(form, username, currentTime).map(entity -> { + entity.setUpdatedBy(username); + entity.setUpdatedTime(currentTime); + copyBeanToBean(form, entity, op -> op.exclude(Constants.COMMON_CONVERSION_RULE)); + return entity; + }); + } + // =================================================================================== // Small Helper // ============ diff --git a/src/main/java/org/codelibs/fess/app/web/admin/user/AdminUserAction.java b/src/main/java/org/codelibs/fess/app/web/admin/user/AdminUserAction.java index 2a5b1fb69..2a6d07038 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/user/AdminUserAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/user/AdminUserAction.java @@ -203,8 +203,6 @@ public class AdminUserAction extends FessAdminAction { verifyCrudMode(form.crudMode, CrudMode.CREATE); validate(form, messages -> {}, toEditHtml()); createUser(form).ifPresent(entity -> { - copyBeanToBean(form, entity, op -> op.exclude("crudMode", "password", "confirmPassword")); - entity.setId(Base64.getEncoder().encodeToString(entity.getName().getBytes(Constants.CHARSET_UTF_8))); userService.store(entity); saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL)); }).orElse(() -> { @@ -219,8 +217,6 @@ public class AdminUserAction extends FessAdminAction { validate(form, messages -> {}, toEditHtml()); //verifyPassword(form); createUser(form).ifPresent(entity -> { - copyBeanToBean(form, entity, op -> op.exclude("crudMode", "password", "confirmPassword")); - entity.setId(Base64.getEncoder().encodeToString(entity.getName().getBytes(Constants.CHARSET_UTF_8))); userService.store(entity); saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL)); }).orElse(() -> { @@ -246,20 +242,11 @@ public class AdminUserAction extends FessAdminAction { //=================================================================================== // Assist Logic // ============ - protected OptionalEntity createUser(final CreateForm form) { + private OptionalEntity getEntity(final CreateForm form) { switch (form.crudMode) { case CrudMode.CREATE: if (form instanceof CreateForm) { - final User entity = new User(); - sessionManager.getAttribute(TEMPORARY_PASSWORD, String.class).ifPresent(password -> { - entity.setPassword(password); - }); - return OptionalEntity.of(entity); - } - break; - case CrudMode.EDIT: - if (form instanceof EditForm) { - return userService.getUser(((EditForm) form).id).map(entity -> { + return OptionalEntity.of(new User()).map(entity -> { sessionManager.getAttribute(TEMPORARY_PASSWORD, String.class).ifPresent(password -> { entity.setPassword(password); }); @@ -267,12 +254,25 @@ public class AdminUserAction extends FessAdminAction { }); } break; + case CrudMode.EDIT: + if (form instanceof EditForm) { + return userService.getUser(((EditForm) form).id); + } + break; default: break; } return OptionalEntity.empty(); } + protected OptionalEntity createUser(final CreateForm form) { + return getEntity(form).map(entity -> { + copyBeanToBean(form, entity, op -> op.exclude(Constants.COMMON_CONVERSION_RULE)); + entity.setId(Base64.getEncoder().encodeToString(entity.getName().getBytes(Constants.CHARSET_UTF_8))); + return entity; + }); + } + protected Map createItem(final String label, final String value) { final Map map = new HashMap(2); map.put(Constants.ITEM_LABEL, label); diff --git a/src/main/java/org/codelibs/fess/app/web/admin/webauthentication/AdminWebauthenticationAction.java b/src/main/java/org/codelibs/fess/app/web/admin/webauthentication/AdminWebauthenticationAction.java index 6525235c6..8968548f1 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/webauthentication/AdminWebauthenticationAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/webauthentication/AdminWebauthenticationAction.java @@ -194,7 +194,6 @@ public class AdminWebauthenticationAction extends FessAdminAction { verifyCrudMode(form.crudMode, CrudMode.CREATE); validate(form, messages -> {}, toEditHtml()); createWebAuthentication(form).ifPresent(entity -> { - copyBeanToBean(form, entity, op -> op.exclude(Constants.COMMON_CONVERSION_RULE)); webAuthenticationService.store(entity); saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL)); }).orElse(() -> { @@ -208,7 +207,6 @@ public class AdminWebauthenticationAction extends FessAdminAction { verifyCrudMode(form.crudMode, CrudMode.EDIT); validate(form, messages -> {}, toEditHtml()); createWebAuthentication(form).ifPresent(entity -> { - copyBeanToBean(form, entity, op -> op.exclude(Constants.COMMON_CONVERSION_RULE)); webAuthenticationService.store(entity); saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL)); }).orElse(() -> { @@ -234,27 +232,20 @@ public class AdminWebauthenticationAction extends FessAdminAction { //=================================================================================== // Assist Logic // ============ - protected OptionalEntity createWebAuthentication(final CreateForm form) { - final String username = systemHelper.getUsername(); - final long currentTime = systemHelper.getCurrentTimeAsLong(); + private OptionalEntity getEntity(final CreateForm form, final String username, final long currentTime) { switch (form.crudMode) { case CrudMode.CREATE: if (form instanceof CreateForm) { - final WebAuthentication entity = new WebAuthentication(); - entity.setCreatedBy(username); - entity.setCreatedTime(currentTime); - entity.setUpdatedBy(username); - entity.setUpdatedTime(currentTime); - return OptionalEntity.of(entity); + return OptionalEntity.of(new WebAuthentication()).map(entity -> { + entity.setCreatedBy(username); + entity.setCreatedTime(currentTime); + return entity; + }); } break; case CrudMode.EDIT: if (form instanceof EditForm) { - return webAuthenticationService.getWebAuthentication(((EditForm) form).id).map(entity -> { - entity.setUpdatedBy(username); - entity.setUpdatedTime(currentTime); - return entity; - }); + return webAuthenticationService.getWebAuthentication(((EditForm) form).id); } break; default: @@ -263,6 +254,17 @@ public class AdminWebauthenticationAction extends FessAdminAction { return OptionalEntity.empty(); } + protected OptionalEntity createWebAuthentication(final CreateForm form) { + final String username = systemHelper.getUsername(); + final long currentTime = systemHelper.getCurrentTimeAsLong(); + return getEntity(form, username, currentTime).map(entity -> { + entity.setUpdatedBy(username); + entity.setUpdatedTime(currentTime); + copyBeanToBean(form, entity, op -> op.exclude(Constants.COMMON_CONVERSION_RULE)); + return entity; + }); + } + protected void registerProtocolSchemeItems(final RenderData data) { final List> itemList = new ArrayList>(); final Locale locale = LaRequestUtil.getRequest().getLocale(); diff --git a/src/main/java/org/codelibs/fess/app/web/admin/webconfig/AdminWebconfigAction.java b/src/main/java/org/codelibs/fess/app/web/admin/webconfig/AdminWebconfigAction.java index 19ab56c86..a15ac06d6 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/webconfig/AdminWebconfigAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/webconfig/AdminWebconfigAction.java @@ -185,7 +185,6 @@ public class AdminWebconfigAction extends FessAdminAction { verifyCrudMode(form.crudMode, CrudMode.CREATE); validate(form, messages -> {}, toEditHtml()); createWebConfig(form).ifPresent(entity -> { - copyBeanToBean(form, entity, op -> op.exclude(Constants.COMMON_CONVERSION_RULE)); webConfigService.store(entity); saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL)); }).orElse(() -> { @@ -199,7 +198,6 @@ public class AdminWebconfigAction extends FessAdminAction { verifyCrudMode(form.crudMode, CrudMode.EDIT); validate(form, messages -> {}, toEditHtml()); createWebConfig(form).ifPresent(entity -> { - copyBeanToBean(form, entity, op -> op.exclude(Constants.COMMON_CONVERSION_RULE)); webConfigService.store(entity); saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL)); }).orElse(() -> { @@ -225,27 +223,20 @@ public class AdminWebconfigAction extends FessAdminAction { // =================================================================================== // Assist Logic // ============ - protected OptionalEntity createWebConfig(final CreateForm form) { - final String username = systemHelper.getUsername(); - final long currentTime = systemHelper.getCurrentTimeAsLong(); + private OptionalEntity getEntity(final CreateForm form, final String username, final long currentTime) { switch (form.crudMode) { case CrudMode.CREATE: if (form instanceof CreateForm) { - final WebConfig entity = new WebConfig(); - entity.setCreatedBy(username); - entity.setCreatedTime(currentTime); - entity.setUpdatedBy(username); - entity.setUpdatedTime(currentTime); - return OptionalEntity.of(entity); + return OptionalEntity.of(new WebConfig()).map(entity -> { + entity.setCreatedBy(username); + entity.setCreatedTime(currentTime); + return entity; + }); } break; case CrudMode.EDIT: if (form instanceof EditForm) { - return webConfigService.getWebConfig(((EditForm) form).id).map(entity -> { - entity.setUpdatedBy(username); - entity.setUpdatedTime(currentTime); - return entity; - }); + return webConfigService.getWebConfig(((EditForm) form).id); } break; default: @@ -254,6 +245,17 @@ public class AdminWebconfigAction extends FessAdminAction { return OptionalEntity.empty(); } + protected OptionalEntity createWebConfig(final CreateForm form) { + final String username = systemHelper.getUsername(); + final long currentTime = systemHelper.getCurrentTimeAsLong(); + return getEntity(form, username, currentTime).map(entity -> { + entity.setUpdatedBy(username); + entity.setUpdatedTime(currentTime); + copyBeanToBean(form, entity, op -> op.exclude(Constants.COMMON_CONVERSION_RULE)); + return entity; + }); + } + protected void registerRolesAndLabels(final RenderData data) { data.register("roleTypeItems", roleTypeService.getRoleTypeList()); data.register("labelTypeItems", labelTypeService.getLabelTypeList());