fix #2501 add form.admin.default.template.name
This commit is contained in:
parent
8f70b5cbd4
commit
b9086a2e93
9 changed files with 116 additions and 0 deletions
|
@ -28,6 +28,7 @@ import org.codelibs.fess.es.config.exbhv.DataConfigBhv;
|
|||
import org.codelibs.fess.es.config.exentity.DataConfig;
|
||||
import org.codelibs.fess.mylasta.direction.FessConfig;
|
||||
import org.codelibs.fess.util.ParameterUtil;
|
||||
import org.dbflute.cbean.result.ListResultBean;
|
||||
import org.dbflute.cbean.result.PagingResultBean;
|
||||
import org.dbflute.optional.OptionalEntity;
|
||||
|
||||
|
@ -66,6 +67,17 @@ public class DataConfigService extends FessAppService {
|
|||
return dataConfigBhv.selectByPK(id);
|
||||
}
|
||||
|
||||
public OptionalEntity<DataConfig> getDataConfigByName(final String name) {
|
||||
final ListResultBean<DataConfig> list = dataConfigBhv.selectList(cb -> {
|
||||
cb.query().setName_Equal(name);
|
||||
cb.query().addOrderBy_SortOrder_Asc();
|
||||
});
|
||||
if (list.isEmpty()) {
|
||||
return OptionalEntity.empty();
|
||||
}
|
||||
return OptionalEntity.of(list.get(0));
|
||||
}
|
||||
|
||||
public void store(final DataConfig dataConfig) {
|
||||
dataConfig.setHandlerParameter(ParameterUtil.encrypt(dataConfig.getHandlerParameter()));
|
||||
dataConfigBhv.insertOrUpdate(dataConfig, op -> {
|
||||
|
|
|
@ -29,6 +29,7 @@ import org.codelibs.fess.es.config.exbhv.FileConfigBhv;
|
|||
import org.codelibs.fess.es.config.exentity.FileConfig;
|
||||
import org.codelibs.fess.mylasta.direction.FessConfig;
|
||||
import org.codelibs.fess.util.ParameterUtil;
|
||||
import org.dbflute.cbean.result.ListResultBean;
|
||||
import org.dbflute.cbean.result.PagingResultBean;
|
||||
import org.dbflute.optional.OptionalEntity;
|
||||
|
||||
|
@ -76,6 +77,17 @@ public class FileConfigService extends FessAppService {
|
|||
return fileConfigBhv.selectByPK(id);
|
||||
}
|
||||
|
||||
public OptionalEntity<FileConfig> getFileConfigByName(final String name) {
|
||||
final ListResultBean<FileConfig> list = fileConfigBhv.selectList(cb -> {
|
||||
cb.query().setName_Equal(name);
|
||||
cb.query().addOrderBy_SortOrder_Asc();
|
||||
});
|
||||
if (list.isEmpty()) {
|
||||
return OptionalEntity.empty();
|
||||
}
|
||||
return OptionalEntity.of(list.get(0));
|
||||
}
|
||||
|
||||
public void store(final FileConfig fileConfig) {
|
||||
fileConfig.setConfigParameter(ParameterUtil.encrypt(fileConfig.getConfigParameter()));
|
||||
fileConfigBhv.insertOrUpdate(fileConfig, op -> {
|
||||
|
|
|
@ -30,6 +30,7 @@ import org.codelibs.fess.es.config.exbhv.WebConfigBhv;
|
|||
import org.codelibs.fess.es.config.exentity.WebConfig;
|
||||
import org.codelibs.fess.mylasta.direction.FessConfig;
|
||||
import org.codelibs.fess.util.ParameterUtil;
|
||||
import org.dbflute.cbean.result.ListResultBean;
|
||||
import org.dbflute.cbean.result.PagingResultBean;
|
||||
import org.dbflute.optional.OptionalEntity;
|
||||
|
||||
|
@ -84,6 +85,17 @@ public class WebConfigService extends FessAppService {
|
|||
return webConfigBhv.selectByPK(id);
|
||||
}
|
||||
|
||||
public OptionalEntity<WebConfig> getWebConfigByName(final String name) {
|
||||
final ListResultBean<WebConfig> list = webConfigBhv.selectList(cb -> {
|
||||
cb.query().setName_Equal(name);
|
||||
cb.query().addOrderBy_SortOrder_Asc();
|
||||
});
|
||||
if (list.isEmpty()) {
|
||||
return OptionalEntity.empty();
|
||||
}
|
||||
return OptionalEntity.of(list.get(0));
|
||||
}
|
||||
|
||||
public void store(final WebConfig webConfig) {
|
||||
webConfig.setConfigParameter(ParameterUtil.encrypt(webConfig.getConfigParameter()));
|
||||
webConfigBhv.insertOrUpdate(webConfig, op -> {
|
||||
|
|
|
@ -36,6 +36,7 @@ import org.codelibs.fess.app.service.RoleTypeService;
|
|||
import org.codelibs.fess.app.web.CrudMode;
|
||||
import org.codelibs.fess.app.web.base.FessAdminAction;
|
||||
import org.codelibs.fess.ds.DataStoreFactory;
|
||||
import org.codelibs.fess.es.config.exentity.CrawlingConfig.ConfigType;
|
||||
import org.codelibs.fess.es.config.exentity.DataConfig;
|
||||
import org.codelibs.fess.helper.PermissionHelper;
|
||||
import org.codelibs.fess.helper.SystemHelper;
|
||||
|
@ -143,6 +144,19 @@ public class AdminDataconfigAction extends FessAdminAction {
|
|||
return asEditHtml().useForm(CreateForm.class, op -> {
|
||||
op.setup(form -> {
|
||||
form.initialize();
|
||||
ComponentUtil.getCrawlingConfigHelper().getDefaultConfig(ConfigType.DATA).ifPresent(entity -> {
|
||||
copyBeanToBean(entity, form, copyOp -> {
|
||||
copyOp.excludeNull();
|
||||
copyOp.exclude(Stream.concat(Stream.of(Constants.COMMON_CONVERSION_RULE),
|
||||
Stream.of(Constants.PERMISSIONS, Constants.VIRTUAL_HOSTS)).toArray(n -> new String[n]));
|
||||
});
|
||||
final PermissionHelper permissionHelper = ComponentUtil.getPermissionHelper();
|
||||
form.permissions = stream(entity.getPermissions()).get(stream -> stream.map(s -> permissionHelper.decode(s))
|
||||
.filter(StringUtil::isNotBlank).distinct().collect(Collectors.joining("\n")));
|
||||
form.virtualHosts = stream(entity.getVirtualHosts())
|
||||
.get(stream -> stream.filter(StringUtil::isNotBlank).map(String::trim).collect(Collectors.joining("\n")));
|
||||
form.name = null;
|
||||
});
|
||||
form.crudMode = CrudMode.CREATE;
|
||||
});
|
||||
});
|
||||
|
|
|
@ -32,6 +32,7 @@ import org.codelibs.fess.app.service.LabelTypeService;
|
|||
import org.codelibs.fess.app.service.RoleTypeService;
|
||||
import org.codelibs.fess.app.web.CrudMode;
|
||||
import org.codelibs.fess.app.web.base.FessAdminAction;
|
||||
import org.codelibs.fess.es.config.exentity.CrawlingConfig.ConfigType;
|
||||
import org.codelibs.fess.es.config.exentity.FileConfig;
|
||||
import org.codelibs.fess.helper.PermissionHelper;
|
||||
import org.codelibs.fess.helper.SystemHelper;
|
||||
|
@ -138,6 +139,19 @@ public class AdminFileconfigAction extends FessAdminAction {
|
|||
return asHtml(path_AdminFileconfig_AdminFileconfigEditJsp).useForm(CreateForm.class, op -> {
|
||||
op.setup(form -> {
|
||||
form.initialize();
|
||||
ComponentUtil.getCrawlingConfigHelper().getDefaultConfig(ConfigType.FILE).ifPresent(entity -> {
|
||||
copyBeanToBean(entity, form, copyOp -> {
|
||||
copyOp.excludeNull();
|
||||
copyOp.exclude(Stream.concat(Stream.of(Constants.COMMON_CONVERSION_RULE),
|
||||
Stream.of(Constants.PERMISSIONS, Constants.VIRTUAL_HOSTS)).toArray(n -> new String[n]));
|
||||
});
|
||||
final PermissionHelper permissionHelper = ComponentUtil.getPermissionHelper();
|
||||
form.permissions = stream(entity.getPermissions()).get(stream -> stream.map(s -> permissionHelper.decode(s))
|
||||
.filter(StringUtil::isNotBlank).distinct().collect(Collectors.joining("\n")));
|
||||
form.virtualHosts = stream(entity.getVirtualHosts())
|
||||
.get(stream -> stream.filter(StringUtil::isNotBlank).map(String::trim).collect(Collectors.joining("\n")));
|
||||
form.name = null;
|
||||
});
|
||||
form.crudMode = CrudMode.CREATE;
|
||||
});
|
||||
}).renderWith(data -> {
|
||||
|
|
|
@ -33,6 +33,7 @@ import org.codelibs.fess.app.service.ScheduledJobService;
|
|||
import org.codelibs.fess.app.service.WebConfigService;
|
||||
import org.codelibs.fess.app.web.CrudMode;
|
||||
import org.codelibs.fess.app.web.base.FessAdminAction;
|
||||
import org.codelibs.fess.es.config.exentity.CrawlingConfig.ConfigType;
|
||||
import org.codelibs.fess.es.config.exentity.WebConfig;
|
||||
import org.codelibs.fess.helper.PermissionHelper;
|
||||
import org.codelibs.fess.helper.SystemHelper;
|
||||
|
@ -142,6 +143,19 @@ public class AdminWebconfigAction extends FessAdminAction {
|
|||
return asEditHtml().useForm(CreateForm.class, op -> {
|
||||
op.setup(form -> {
|
||||
form.initialize();
|
||||
ComponentUtil.getCrawlingConfigHelper().getDefaultConfig(ConfigType.WEB).ifPresent(entity -> {
|
||||
copyBeanToBean(entity, form, copyOp -> {
|
||||
copyOp.excludeNull();
|
||||
copyOp.exclude(Stream.concat(Stream.of(Constants.COMMON_CONVERSION_RULE),
|
||||
Stream.of(Constants.PERMISSIONS, Constants.VIRTUAL_HOSTS)).toArray(n -> new String[n]));
|
||||
});
|
||||
final PermissionHelper permissionHelper = ComponentUtil.getPermissionHelper();
|
||||
form.permissions = stream(entity.getPermissions()).get(stream -> stream.map(s -> permissionHelper.decode(s))
|
||||
.filter(StringUtil::isNotBlank).distinct().collect(Collectors.joining("\n")));
|
||||
form.virtualHosts = stream(entity.getVirtualHosts())
|
||||
.get(stream -> stream.filter(StringUtil::isNotBlank).map(String::trim).collect(Collectors.joining("\n")));
|
||||
form.name = null;
|
||||
});
|
||||
form.crudMode = CrudMode.CREATE;
|
||||
});
|
||||
});
|
||||
|
|
|
@ -48,6 +48,7 @@ import org.codelibs.fess.es.config.exentity.WebConfig;
|
|||
import org.codelibs.fess.mylasta.direction.FessConfig;
|
||||
import org.codelibs.fess.util.ComponentUtil;
|
||||
import org.dbflute.cbean.result.ListResultBean;
|
||||
import org.dbflute.optional.OptionalEntity;
|
||||
import org.dbflute.optional.OptionalThing;
|
||||
|
||||
import com.google.common.cache.Cache;
|
||||
|
@ -176,6 +177,7 @@ public class CrawlingConfigHelper {
|
|||
if (idList != null) {
|
||||
cb.query().setId_InScope(idList);
|
||||
}
|
||||
cb.query().setName_NotEqual(ComponentUtil.getFessConfig().getFormAdminDefaultTemplateName());
|
||||
cb.query().addOrderBy_SortOrder_Asc();
|
||||
cb.query().addOrderBy_Name_Asc();
|
||||
cb.fetchFirst(ComponentUtil.getFessConfig().getPageWebConfigMaxFetchSizeAsInteger());
|
||||
|
@ -203,6 +205,7 @@ public class CrawlingConfigHelper {
|
|||
if (idList != null) {
|
||||
cb.query().setId_InScope(idList);
|
||||
}
|
||||
cb.query().setName_NotEqual(ComponentUtil.getFessConfig().getFormAdminDefaultTemplateName());
|
||||
cb.query().addOrderBy_SortOrder_Asc();
|
||||
cb.query().addOrderBy_Name_Asc();
|
||||
cb.fetchFirst(ComponentUtil.getFessConfig().getPageFileConfigMaxFetchSizeAsInteger());
|
||||
|
@ -230,6 +233,7 @@ public class CrawlingConfigHelper {
|
|||
if (idList != null) {
|
||||
cb.query().setId_InScope(idList);
|
||||
}
|
||||
cb.query().setName_NotEqual(ComponentUtil.getFessConfig().getFormAdminDefaultTemplateName());
|
||||
cb.query().addOrderBy_SortOrder_Asc();
|
||||
cb.query().addOrderBy_Name_Asc();
|
||||
cb.fetchFirst(ComponentUtil.getFessConfig().getPageDataConfigMaxFetchSizeAsInteger());
|
||||
|
@ -271,4 +275,22 @@ public class CrawlingConfigHelper {
|
|||
}
|
||||
return urlList;
|
||||
}
|
||||
|
||||
public OptionalEntity<CrawlingConfig> getDefaultConfig(ConfigType configType) {
|
||||
String name = ComponentUtil.getFessConfig().getFormAdminDefaultTemplateName();
|
||||
|
||||
switch (configType) {
|
||||
case WEB:
|
||||
final WebConfigService webConfigService = ComponentUtil.getComponent(WebConfigService.class);
|
||||
return webConfigService.getWebConfigByName(name).map(o -> (CrawlingConfig) o);
|
||||
case FILE:
|
||||
final FileConfigService fileConfigService = ComponentUtil.getComponent(FileConfigService.class);
|
||||
return fileConfigService.getFileConfigByName(name).map(o -> (CrawlingConfig) o);
|
||||
case DATA:
|
||||
final DataConfigService dataConfigService = ComponentUtil.getComponent(DataConfigService.class);
|
||||
return dataConfigService.getDataConfigByName(name).map(o -> (CrawlingConfig) o);
|
||||
default:
|
||||
return OptionalEntity.empty();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -995,6 +995,9 @@ public interface FessConfig extends FessEnv, org.codelibs.fess.mylasta.direction
|
|||
/** The key of the configuration. e.g. false */
|
||||
String FORM_ADMIN_LABEL_IN_CONFIG_ENABLED = "form.admin.label.in.config.enabled";
|
||||
|
||||
/** The key of the configuration. e.g. __TEMPLATE__ */
|
||||
String FORM_ADMIN_DEFAULT_TEMPLATE_NAME = "form.admin.default.template.name";
|
||||
|
||||
/** The key of the configuration. e.g. admin */
|
||||
String AUTHENTICATION_ADMIN_USERS = "authentication.admin.users";
|
||||
|
||||
|
@ -4527,6 +4530,13 @@ public interface FessConfig extends FessEnv, org.codelibs.fess.mylasta.direction
|
|||
*/
|
||||
boolean isFormAdminLabelInConfigEnabled();
|
||||
|
||||
/**
|
||||
* Get the value for the key 'form.admin.default.template.name'. <br>
|
||||
* The value is, e.g. __TEMPLATE__ <br>
|
||||
* @return The value of found property. (NotNull: if not found, exception but basically no way)
|
||||
*/
|
||||
String getFormAdminDefaultTemplateName();
|
||||
|
||||
/**
|
||||
* Get the value for the key 'authentication.admin.users'. <br>
|
||||
* The value is, e.g. admin <br>
|
||||
|
@ -8089,6 +8099,10 @@ public interface FessConfig extends FessEnv, org.codelibs.fess.mylasta.direction
|
|||
return is(FessConfig.FORM_ADMIN_LABEL_IN_CONFIG_ENABLED);
|
||||
}
|
||||
|
||||
public String getFormAdminDefaultTemplateName() {
|
||||
return get(FessConfig.FORM_ADMIN_DEFAULT_TEMPLATE_NAME);
|
||||
}
|
||||
|
||||
public String getAuthenticationAdminUsers() {
|
||||
return get(FessConfig.AUTHENTICATION_ADMIN_USERS);
|
||||
}
|
||||
|
@ -9491,6 +9505,7 @@ public interface FessConfig extends FessEnv, org.codelibs.fess.mylasta.direction
|
|||
defaultMap.put(FessConfig.LOGGING_APP_PACKAGES, "org.codelibs,org.dbflute,org.lastaflute");
|
||||
defaultMap.put(FessConfig.FORM_ADMIN_MAX_INPUT_SIZE, "4000");
|
||||
defaultMap.put(FessConfig.FORM_ADMIN_LABEL_IN_CONFIG_ENABLED, "false");
|
||||
defaultMap.put(FessConfig.FORM_ADMIN_DEFAULT_TEMPLATE_NAME, "__TEMPLATE__");
|
||||
defaultMap.put(FessConfig.AUTHENTICATION_ADMIN_USERS, "admin");
|
||||
defaultMap.put(FessConfig.AUTHENTICATION_ADMIN_ROLES, "admin");
|
||||
defaultMap.put(FessConfig.ROLE_SEARCH_DEFAULT_PERMISSIONS, "");
|
||||
|
|
|
@ -562,6 +562,7 @@ logging.app.packages=org.codelibs,org.dbflute,org.lastaflute
|
|||
# =====
|
||||
form.admin.max.input.size=4000
|
||||
form.admin.label.in.config.enabled=false
|
||||
form.admin.default.template.name=__TEMPLATE__
|
||||
|
||||
# ----------------------------------------------------------
|
||||
# Permission
|
||||
|
|
Loading…
Add table
Reference in a new issue