diff --git a/dbflute_fess/freegen/ControlFreeGen.vm b/dbflute_fess/freegen/ControlFreeGen.vm index f2ec8a592..ce32af659 100644 --- a/dbflute_fess/freegen/ControlFreeGen.vm +++ b/dbflute_fess/freegen/ControlFreeGen.vm @@ -44,7 +44,6 @@ $manager.makeDirectory($request.generateDirPath) #end #end #elseif ($request.isResourceTypeElasticsearch()) -#set ($arrayColumnNames = ["groups", "roles"]) #if ($request.requestName.startsWith("Elasticsearch")) ## ## <<< Elasticsearch Schema Gen >>> diff --git a/dbflute_fess/freegen/elasticsearch/BsBehavior.vm b/dbflute_fess/freegen/elasticsearch/BsBehavior.vm index 35052fac0..89363a8f0 100644 --- a/dbflute_fess/freegen/elasticsearch/BsBehavior.vm +++ b/dbflute_fess/freegen/elasticsearch/BsBehavior.vm @@ -55,10 +55,11 @@ public abstract class Bs${table.camelizedName}Bhv extends AbstractBehavior<${tab protected RESULT createEntity(Map source, Class entityType) { try { final RESULT result = entityType.newInstance(); +#set ($tableMetaSettings = ${table.indexSettings.settings.index.dbflute.get($table.name)}) #foreach ($column in $table.columnList) #if ($column.isNormalColumn) #set ($javaNative = ${column.type}) -#if ($arrayColumnNames.contains($column.name)) +#if ($tableMetaSettings.properties.get($column.name).array) result.set${column.capCamelName}(to${javaNative}Array(source.get("${column.name}"))); #else result.set${column.capCamelName}(DfTypeUtil.to$javaNative(source.get("${column.name}"))); diff --git a/dbflute_fess/freegen/elasticsearch/BsEntity.vm b/dbflute_fess/freegen/elasticsearch/BsEntity.vm index 3a7fd9910..f6e488795 100644 --- a/dbflute_fess/freegen/elasticsearch/BsEntity.vm +++ b/dbflute_fess/freegen/elasticsearch/BsEntity.vm @@ -33,13 +33,14 @@ public class Bs${table.camelizedName} extends AbstractEntity { // =================================================================================== // Attribute // ========= +#set ($tableMetaSettings = ${table.indexSettings.settings.index.dbflute.get($table.name)}) #foreach ($column in $table.columnList) #if ($column.isNormalColumn) #set ($javaNative = ${column.type}) #elseif ($column.isRefColumn) #set ($javaNative = ${column.camelizedName}) #end -#if ($arrayColumnNames.contains($column.name))#set($arrayType = "[]")#else#set($arrayType = "")#end +#if ($tableMetaSettings.properties.get($column.name).array)#set($arrayType = "[]")#else#set($arrayType = "")#end #if ($column.name != $idColumn) /** ${column.name} */ protected ${javaNative}${arrayType} ${column.uncapCamelName}; @@ -60,7 +61,7 @@ public class Bs${table.camelizedName} extends AbstractEntity { #elseif ($column.isRefColumn) #set ($javaNative = ${column.camelizedName}) #end -#if ($arrayColumnNames.contains($column.name))#set($arrayType = "[]")#else#set($arrayType = "")#end +#if ($tableMetaSettings.properties.get($column.name).array)#set($arrayType = "[]")#else#set($arrayType = "")#end #if ($column.name != $idColumn) #if ($javaNative == "boolean") public ${javaNative} is${column.capCamelName}() { diff --git a/dbflute_fess/freegen/elasticsearch/DBMeta.vm b/dbflute_fess/freegen/elasticsearch/DBMeta.vm index 366361de0..4c6fe2446 100644 --- a/dbflute_fess/freegen/elasticsearch/DBMeta.vm +++ b/dbflute_fess/freegen/elasticsearch/DBMeta.vm @@ -38,13 +38,14 @@ public class ${table.camelizedName}Dbm extends AbstractDBMeta { // --------------- protected final Map _epgMap = newHashMap(); { +#set ($tableMetaSettings = ${table.indexSettings.settings.index.dbflute.get($table.name)}) #foreach ($col in $table.columnList) #if ($col.isNormalColumn) #set ($javaNative = ${col.type}) #elseif ($col.isRefColumn) #set ($javaNative = ${col.camelizedName}) #end -#if ($arrayColumnNames.contains($col.name)) +#if ($tableMetaSettings.properties.get($col.name).array) setupEpg(_epgMap, et-> ((${table.camelizedName})et).get${col.camelizedName}(),(et,vl)->((${table.camelizedName}) et).set${col.camelizedName}((${javaNative}[])vl), "${col.uncapCamelName}"); #else setupEpg(_epgMap, et-> ((${table.camelizedName})et).get${col.camelizedName}(),(et,vl)->((${table.camelizedName}) et).set${col.camelizedName}(DfTypeUtil.to${javaNative}(vl)), "${col.uncapCamelName}"); @@ -66,7 +67,7 @@ public class ${table.camelizedName}Dbm extends AbstractDBMeta { #elseif ($col.isRefColumn) #set ($javaNative = ${col.camelizedName}) #end -#if ($arrayColumnNames.contains($col.name))#set($arrayType = "[]")#else#set($arrayType = "")#end +#if ($tableMetaSettings.properties.get($col.name).array)#set($arrayType = "[]")#else#set($arrayType = "")#end protected final ColumnInfo _column${col.camelizedName} = cci("${col.name}", "${col.name}", null, null, ${javaNative}${arrayType}.class, "${col.uncapCamelName}", null, false, false, false, "${col.type}", 0, 0, null, false, null, null, null, null, null, false); #end diff --git a/src/main/config/es/fess_user.json b/src/main/config/es/fess_user.json index 7ef815b06..084f5eda5 100644 --- a/src/main/config/es/fess_user.json +++ b/src/main/config/es/fess_user.json @@ -71,7 +71,18 @@ "settings" : { "index" : { "refresh_interval" : "1s", - "number_of_shards" : "5", + "dbflute" : { + "user" : { + "properties" : { + "groups" : { + "array" : "true" + }, + "roles" : { + "array" : "true" + } + } + } + }, "number_of_replicas" : "0" } } diff --git a/src/main/resources/fess_indices/.fess_user.json b/src/main/resources/fess_indices/.fess_user.json index 095b0fe6a..7bc5f92a2 100644 --- a/src/main/resources/fess_indices/.fess_user.json +++ b/src/main/resources/fess_indices/.fess_user.json @@ -4,6 +4,18 @@ "refresh_interval": "1s", "number_of_shards": 5, "number_of_replicas": 0 + }, + "dbflute": { + "user": { + "properties": { + "groups": { + "array": true + }, + "roles": { + "array": true + } + } + } } } }