diff --git a/src/main/java/org/codelibs/fess/app/service/DataConfigService.java b/src/main/java/org/codelibs/fess/app/service/DataConfigService.java index 426e8110f..e60773371 100644 --- a/src/main/java/org/codelibs/fess/app/service/DataConfigService.java +++ b/src/main/java/org/codelibs/fess/app/service/DataConfigService.java @@ -66,10 +66,20 @@ public class DataConfigService implements Serializable { public void delete(final DataConfig dataConfig) { + final String dataConfigId = dataConfig.getId(); + dataConfigBhv.delete(dataConfig, op -> { op.setRefresh(true); }); + dataConfigToLabelBhv.queryDelete(cb -> { + cb.query().setDataConfigId_Equal(dataConfigId); + }); + + dataConfigToRoleBhv.queryDelete(cb -> { + cb.query().setDataConfigId_Equal(dataConfigId); + }); + } public List getAllDataConfigList() { diff --git a/src/main/java/org/codelibs/fess/app/service/FileConfigService.java b/src/main/java/org/codelibs/fess/app/service/FileConfigService.java index 010bf76e1..9618182cc 100644 --- a/src/main/java/org/codelibs/fess/app/service/FileConfigService.java +++ b/src/main/java/org/codelibs/fess/app/service/FileConfigService.java @@ -25,6 +25,7 @@ import org.codelibs.core.beans.util.BeanUtil; import org.codelibs.fess.Constants; import org.codelibs.fess.app.pager.FileConfigPager; import org.codelibs.fess.es.config.cbean.FileConfigCB; +import org.codelibs.fess.es.config.exbhv.FileAuthenticationBhv; import org.codelibs.fess.es.config.exbhv.FileConfigBhv; import org.codelibs.fess.es.config.exbhv.FileConfigToLabelBhv; import org.codelibs.fess.es.config.exbhv.FileConfigToRoleBhv; @@ -47,6 +48,9 @@ public class FileConfigService implements Serializable { @Resource protected FileConfigBhv fileConfigBhv; + @Resource + protected FileAuthenticationBhv fileAuthenticationBhv; + public List getFileConfigList(final FileConfigPager fileConfigPager) { final PagingResultBean fileConfigList = fileConfigBhv.selectPage(cb -> { @@ -65,10 +69,23 @@ public class FileConfigService implements Serializable { public void delete(final FileConfig fileConfig) { + final String fileConfigId = fileConfig.getId(); + fileConfigBhv.delete(fileConfig, op -> { op.setRefresh(true); }); + fileConfigToLabelBhv.queryDelete(cb -> { + cb.query().setFileConfigId_Equal(fileConfigId); + }); + + fileConfigToRoleBhv.queryDelete(cb -> { + cb.query().setFileConfigId_Equal(fileConfigId); + }); + + fileAuthenticationBhv.queryDelete(cb -> { + cb.query().setFileConfigId_Equal(fileConfigId); + }); } public List getAllFileConfigList() { diff --git a/src/main/java/org/codelibs/fess/app/service/WebConfigService.java b/src/main/java/org/codelibs/fess/app/service/WebConfigService.java index 616e5a162..494a7a9e1 100644 --- a/src/main/java/org/codelibs/fess/app/service/WebConfigService.java +++ b/src/main/java/org/codelibs/fess/app/service/WebConfigService.java @@ -24,7 +24,9 @@ import javax.annotation.Resource; import org.codelibs.core.beans.util.BeanUtil; import org.codelibs.fess.Constants; import org.codelibs.fess.app.pager.WebConfigPager; +import org.codelibs.fess.es.config.bsbhv.BsWebConfigBhv; import org.codelibs.fess.es.config.cbean.WebConfigCB; +import org.codelibs.fess.es.config.exbhv.WebAuthenticationBhv; import org.codelibs.fess.es.config.exbhv.WebConfigBhv; import org.codelibs.fess.es.config.exbhv.WebConfigToLabelBhv; import org.codelibs.fess.es.config.exbhv.WebConfigToRoleBhv; @@ -47,6 +49,9 @@ public class WebConfigService implements Serializable { @Resource protected WebConfigBhv webConfigBhv; + @Resource + protected WebAuthenticationBhv webAuthenticationBhv; + public List getWebConfigList(final WebConfigPager webConfigPager) { final PagingResultBean webConfigList = webConfigBhv.selectPage(cb -> { @@ -65,10 +70,23 @@ public class WebConfigService implements Serializable { public void delete(final WebConfig webConfig) { + final String webConfigId = webConfig.getId(); + webConfigBhv.delete(webConfig, op -> { op.setRefresh(true); }); + webConfigToLabelBhv.queryDelete(cb -> { + cb.query().setWebConfigId_Equal(webConfigId); + }); + + webConfigToRoleBhv.queryDelete(cb -> { + cb.query().setWebConfigId_Equal(webConfigId); + }); + + webAuthenticationBhv.queryDelete(cb -> { + cb.query().setWebConfigId_Equal(webConfigId); + }); } public List getAllWebConfigList() { diff --git a/src/main/java/org/codelibs/fess/es/config/exentity/FileAuthentication.java b/src/main/java/org/codelibs/fess/es/config/exentity/FileAuthentication.java index cb91fe540..34a86d57b 100644 --- a/src/main/java/org/codelibs/fess/es/config/exentity/FileAuthentication.java +++ b/src/main/java/org/codelibs/fess/es/config/exentity/FileAuthentication.java @@ -18,6 +18,8 @@ package org.codelibs.fess.es.config.exentity; import org.codelibs.fess.app.service.FileConfigService; import org.codelibs.fess.es.config.bsentity.BsFileAuthentication; import org.codelibs.fess.util.ComponentUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * @author FreeGen @@ -25,6 +27,9 @@ import org.codelibs.fess.util.ComponentUtil; public class FileAuthentication extends BsFileAuthentication { private static final long serialVersionUID = 1L; + + private static final Logger logger = LoggerFactory.getLogger(FileAuthentication.class); + private FileConfig fileConfig; public String getId() { @@ -46,7 +51,11 @@ public class FileAuthentication extends BsFileAuthentication { public FileConfig getFileConfig() { if (fileConfig == null) { final FileConfigService fileConfigService = ComponentUtil.getComponent(FileConfigService.class); - fileConfig = fileConfigService.getFileConfig(getFileConfigId()).get(); + try { + fileConfig = fileConfigService.getFileConfig(getFileConfigId()).get(); + } catch (Exception e) { + logger.warn("File Config " + getFileConfigId() + " does not exist.", e); + } } return fileConfig; } diff --git a/src/main/java/org/codelibs/fess/es/config/exentity/WebAuthentication.java b/src/main/java/org/codelibs/fess/es/config/exentity/WebAuthentication.java index 2a71512a2..34bdb1b2e 100644 --- a/src/main/java/org/codelibs/fess/es/config/exentity/WebAuthentication.java +++ b/src/main/java/org/codelibs/fess/es/config/exentity/WebAuthentication.java @@ -35,6 +35,8 @@ import org.codelibs.fess.crawler.exception.CrawlerSystemException; import org.codelibs.fess.es.config.bsentity.BsWebAuthentication; import org.codelibs.fess.util.ComponentUtil; import org.codelibs.fess.util.ParameterUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * @author FreeGen @@ -42,6 +44,9 @@ import org.codelibs.fess.util.ParameterUtil; public class WebAuthentication extends BsWebAuthentication { private static final long serialVersionUID = 1L; + + private static final Logger logger = LoggerFactory.getLogger(WebAuthentication.class); + private WebConfig webConfig; public Authentication getAuthentication() { @@ -103,7 +108,11 @@ public class WebAuthentication extends BsWebAuthentication { public WebConfig getWebConfig() { if (webConfig == null) { final WebConfigService webConfigService = ComponentUtil.getComponent(WebConfigService.class); - webConfig = webConfigService.getWebConfig(getWebConfigId()).get(); + try { + webConfig = webConfigService.getWebConfig(getWebConfigId()).get(); + } catch (Exception e) { + logger.warn("Web Config " + getWebConfigId() + " does not exist.", e); + } } return webConfig; }