Shinsuke Sugaya 9 년 전
부모
커밋
993228c6ce
1개의 변경된 파일21개의 추가작업 그리고 4개의 파일을 삭제
  1. 21 4
      src/main/java/org/codelibs/fess/app/web/admin/upgrade/AdminUpgradeAction.java

+ 21 - 4
src/main/java/org/codelibs/fess/app/web/admin/upgrade/AdminUpgradeAction.java

@@ -39,6 +39,8 @@ import org.codelibs.fess.es.config.exbhv.LabelTypeBhv;
 import org.codelibs.fess.es.config.exbhv.RoleTypeBhv;
 import org.codelibs.fess.es.config.exbhv.WebConfigBhv;
 import org.codelibs.fess.es.config.exbhv.WebConfigToRoleBhv;
+import org.codelibs.fess.es.user.exbhv.RoleBhv;
+import org.codelibs.fess.es.user.exentity.Role;
 import org.codelibs.fess.mylasta.direction.FessConfig;
 import org.elasticsearch.action.admin.indices.alias.IndicesAliasesResponse;
 import org.elasticsearch.action.admin.indices.mapping.get.GetFieldMappingsResponse;
@@ -63,6 +65,9 @@ public class AdminUpgradeAction extends FessAdminAction {
     @Resource
     protected FessConfig fessConfig;
 
+    @Resource
+    protected RoleBhv roleBhv;
+
     @Resource
     protected RoleTypeBhv roleTypeBhv;
 
@@ -330,8 +335,16 @@ public class AdminUpgradeAction extends FessAdminAction {
                                     dataConfigToRoleBhv.queryDelete(cb -> cb.query().setDataConfigId_Equal(dataConfigTypeId));
                                 });
                     });
+
             roleTypeBhv.queryDelete(cb -> {});
 
+            roleBhv.selectEntity(cb -> cb.query().setName_Equal("guest")).orElseGet(() -> {
+                Role entity = new Role();
+                entity.setName("guest");
+                roleBhv.insert(entity);
+                return entity;
+            });
+
             saveInfo(messages -> messages.addSuccessUpgradeFrom(GLOBAL));
         } catch (final Exception e) {
             logger.warn("Failed to upgrade data.", e);
@@ -385,10 +398,14 @@ public class AdminUpgradeAction extends FessAdminAction {
         final GetFieldMappingsResponse gfmResponse =
                 indicesClient.prepareGetFieldMappings(index).addTypes(type).setFields(field).execute().actionGet();
         if (gfmResponse.fieldMappings(index, type, field).isNull()) {
-            final PutMappingResponse pmResponse =
-                    indicesClient.preparePutMapping(index).setType(type).setSource(source).execute().actionGet();
-            if (!pmResponse.isAcknowledged()) {
-                logger.warn("Failed to add " + field + " to " + index + "/" + type);
+            try {
+                final PutMappingResponse pmResponse =
+                        indicesClient.preparePutMapping(index).setType(type).setSource(source).execute().actionGet();
+                if (!pmResponse.isAcknowledged()) {
+                    logger.warn("Failed to add " + field + " to " + index + "/" + type);
+                }
+            } catch (Exception e) {
+                logger.warn("Failed to add " + field + " to " + index + "/" + type, e);
             }
         }
     }