瀏覽代碼

fix #387 : remove related auth info

Shinsuke Sugaya 9 年之前
父節點
當前提交
2bf1ebcded

+ 10 - 0
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<DataConfig> getAllDataConfigList() {

+ 17 - 0
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<FileConfig> getFileConfigList(final FileConfigPager fileConfigPager) {
 
         final PagingResultBean<FileConfig> 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<FileConfig> getAllFileConfigList() {

+ 18 - 0
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<WebConfig> getWebConfigList(final WebConfigPager webConfigPager) {
 
         final PagingResultBean<WebConfig> 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<WebConfig> getAllWebConfigList() {

+ 10 - 1
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;
     }

+ 10 - 1
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;
     }