Search in sources :

Example 26 with SystemHelper

use of org.codelibs.fess.helper.SystemHelper in project fess by codelibs.

the class FailureUrlService method getStackTrace.

private String getStackTrace(final Throwable t) {
    final SystemHelper systemHelper = ComponentUtil.getSystemHelper();
    final StringBuilderWriter sw = new StringBuilderWriter();
    final PrintWriter pw = new PrintWriter(sw, true);
    t.printStackTrace(pw);
    return systemHelper.abbreviateLongText(sw.toString());
}
Also used : StringBuilderWriter(org.apache.commons.io.output.StringBuilderWriter) SystemHelper(org.codelibs.fess.helper.SystemHelper) PrintWriter(java.io.PrintWriter)

Example 27 with SystemHelper

use of org.codelibs.fess.helper.SystemHelper in project fess by codelibs.

the class AdminWebconfigAction method getWebConfig.

public static OptionalEntity<WebConfig> getWebConfig(final CreateForm form) {
    final SystemHelper systemHelper = ComponentUtil.getSystemHelper();
    final String username = systemHelper.getUsername();
    final long currentTime = systemHelper.getCurrentTimeAsLong();
    return getEntity(form, username, currentTime).map(entity -> {
        entity.setUpdatedBy(username);
        entity.setUpdatedTime(currentTime);
        copyBeanToBean(form, entity, op -> op.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();
        entity.setPermissions(split(form.permissions, "\n").get(stream -> stream.map(s -> permissionHelper.encode(s)).filter(StringUtil::isNotBlank).distinct().toArray(n -> new String[n])));
        entity.setVirtualHosts(split(form.virtualHosts, "\n").get(stream -> stream.filter(StringUtil::isNotBlank).distinct().map(String::trim).toArray(n -> new String[n])));
        return entity;
    });
}
Also used : Constants(org.codelibs.fess.Constants) WebConfigService(org.codelibs.fess.app.service.WebConfigService) OptionalThing(org.dbflute.optional.OptionalThing) PermissionHelper(org.codelibs.fess.helper.PermissionHelper) ActionRuntime(org.lastaflute.web.ruts.process.ActionRuntime) RenderDataUtil(org.codelibs.fess.util.RenderDataUtil) StreamUtil.split(org.codelibs.core.stream.StreamUtil.split) CrudMode(org.codelibs.fess.app.web.CrudMode) FessAdminAction(org.codelibs.fess.app.web.base.FessAdminAction) RenderData(org.lastaflute.web.response.render.RenderData) RoleTypeService(org.codelibs.fess.app.service.RoleTypeService) WebConfig(org.codelibs.fess.es.config.exentity.WebConfig) HtmlResponse(org.lastaflute.web.response.HtmlResponse) ConfigType(org.codelibs.fess.es.config.exentity.CrawlingConfig.ConfigType) Secured(org.codelibs.fess.annotation.Secured) StreamUtil.stream(org.codelibs.core.stream.StreamUtil.stream) OptionalEntity(org.dbflute.optional.OptionalEntity) Resource(javax.annotation.Resource) StringUtil(org.codelibs.core.lang.StringUtil) Collectors(java.util.stream.Collectors) LabelTypeService(org.codelibs.fess.app.service.LabelTypeService) Stream(java.util.stream.Stream) ComponentUtil(org.codelibs.fess.util.ComponentUtil) ScheduledJobService(org.codelibs.fess.app.service.ScheduledJobService) SystemHelper(org.codelibs.fess.helper.SystemHelper) WebConfigPager(org.codelibs.fess.app.pager.WebConfigPager) Execute(org.lastaflute.web.Execute) SystemHelper(org.codelibs.fess.helper.SystemHelper) PermissionHelper(org.codelibs.fess.helper.PermissionHelper) StringUtil(org.codelibs.core.lang.StringUtil)

Example 28 with SystemHelper

use of org.codelibs.fess.helper.SystemHelper in project fess by codelibs.

the class FileConfig method initDocPathPattern.

protected synchronized void initDocPathPattern() {
    final SystemHelper systemHelper = ComponentUtil.getSystemHelper();
    if (includedDocPathPatterns == null) {
        if (StringUtil.isNotBlank(getIncludedDocPaths())) {
            final List<Pattern> pathPatterList = new ArrayList<>();
            final String[] paths = getIncludedDocPaths().split("[\r\n]");
            for (final String u : paths) {
                final String v = systemHelper.normalizeConfigPath(u);
                if (StringUtil.isNotBlank(v)) {
                    pathPatterList.add(Pattern.compile(systemHelper.encodeUrlFilter(v)));
                }
            }
            includedDocPathPatterns = pathPatterList.toArray(new Pattern[pathPatterList.size()]);
        } else {
            includedDocPathPatterns = new Pattern[0];
        }
    }
    if (excludedDocPathPatterns == null) {
        if (StringUtil.isNotBlank(getExcludedDocPaths())) {
            final List<Pattern> pathPatterList = new ArrayList<>();
            final String[] paths = getExcludedDocPaths().split("[\r\n]");
            for (final String u : paths) {
                final String v = systemHelper.normalizeConfigPath(u);
                if (StringUtil.isNotBlank(v)) {
                    pathPatterList.add(Pattern.compile(systemHelper.encodeUrlFilter(v)));
                }
            }
            excludedDocPathPatterns = pathPatterList.toArray(new Pattern[pathPatterList.size()]);
        } else if (includedDocPathPatterns.length > 0) {
            excludedDocPathPatterns = new Pattern[] { Pattern.compile(".*") };
        } else {
            excludedDocPathPatterns = new Pattern[0];
        }
    }
}
Also used : Pattern(java.util.regex.Pattern) SystemHelper(org.codelibs.fess.helper.SystemHelper) ArrayList(java.util.ArrayList)

Example 29 with SystemHelper

use of org.codelibs.fess.helper.SystemHelper in project fess by codelibs.

the class ThumbnailManager method storeQueue.

protected void storeQueue(final List<Tuple3<String, String, String>> taskList) {
    final FessConfig fessConfig = ComponentUtil.getFessConfig();
    final SystemHelper systemHelper = ComponentUtil.getSystemHelper();
    final String[] targets = fessConfig.getThumbnailGeneratorTargetsAsArray();
    final List<ThumbnailQueue> list = new ArrayList<>();
    taskList.stream().filter(entity -> entity != null).forEach(task -> {
        for (final String target : targets) {
            final ThumbnailQueue entity = new ThumbnailQueue();
            entity.setGenerator(task.getValue1());
            entity.setThumbnailId(task.getValue2());
            entity.setPath(task.getValue3());
            entity.setTarget(target);
            entity.setCreatedBy(Constants.SYSTEM_USER);
            entity.setCreatedTime(systemHelper.getCurrentTimeAsLong());
            list.add(entity);
        }
    });
    taskList.clear();
    if (logger.isDebugEnabled()) {
        logger.debug("Storing {} thumbnail tasks.", list.size());
    }
    final ThumbnailQueueBhv thumbnailQueueBhv = ComponentUtil.getComponent(ThumbnailQueueBhv.class);
    thumbnailQueueBhv.batchInsert(list);
}
Also used : ThumbnailQueueBhv(org.codelibs.fess.es.config.exbhv.ThumbnailQueueBhv) ThreadUtil(org.codelibs.core.lang.ThreadUtil) Constants(org.codelibs.fess.Constants) DocumentUtil(org.codelibs.fess.util.DocumentUtil) FessSystemException(org.codelibs.fess.exception.FessSystemException) HashMap(java.util.HashMap) SearchEngineClient(org.codelibs.fess.es.client.SearchEngineClient) ArrayList(java.util.ArrayList) ThumbnailQueue(org.codelibs.fess.es.config.exentity.ThumbnailQueue) PreDestroy(javax.annotation.PreDestroy) ResourceUtil(org.codelibs.fess.util.ResourceUtil) FessConfig(org.codelibs.fess.mylasta.direction.FessConfig) Lists(com.google.common.collect.Lists) Map(java.util.Map) JobProcessingException(org.codelibs.fess.exception.JobProcessingException) Path(java.nio.file.Path) ExecutorService(java.util.concurrent.ExecutorService) QueryBuilders(org.opensearch.index.query.QueryBuilders) FileVisitor(java.nio.file.FileVisitor) Files(java.nio.file.Files) StringUtil(org.codelibs.core.lang.StringUtil) IOException(java.io.IOException) BlockingQueue(java.util.concurrent.BlockingQueue) FileAlreadyExistsException(java.nio.file.FileAlreadyExistsException) BasicFileAttributes(java.nio.file.attribute.BasicFileAttributes) Tuple3(org.codelibs.core.misc.Tuple3) LinkedBlockingQueue(java.util.concurrent.LinkedBlockingQueue) File(java.io.File) TimeUnit(java.util.concurrent.TimeUnit) FileVisitResult(java.nio.file.FileVisitResult) List(java.util.List) Stream(java.util.stream.Stream) Logger(org.apache.logging.log4j.Logger) ComponentUtil(org.codelibs.fess.util.ComponentUtil) SystemHelper(org.codelibs.fess.helper.SystemHelper) PostConstruct(javax.annotation.PostConstruct) LogManager(org.apache.logging.log4j.LogManager) ThumbnailQueueBhv(org.codelibs.fess.es.config.exbhv.ThumbnailQueueBhv) SystemHelper(org.codelibs.fess.helper.SystemHelper) ArrayList(java.util.ArrayList) ThumbnailQueue(org.codelibs.fess.es.config.exentity.ThumbnailQueue) FessConfig(org.codelibs.fess.mylasta.direction.FessConfig)

Example 30 with SystemHelper

use of org.codelibs.fess.helper.SystemHelper in project fess by codelibs.

the class AbstractDataStore method store.

@Override
public void store(final DataConfig config, final IndexUpdateCallback callback, final Map<String, String> initParamMap) {
    final CrawlingInfoHelper crawlingInfoHelper = ComponentUtil.getCrawlingInfoHelper();
    final SystemHelper systemHelper = ComponentUtil.getSystemHelper();
    final Date documentExpires = crawlingInfoHelper.getDocumentExpires(config);
    final FessConfig fessConfig = ComponentUtil.getFessConfig();
    final Map<String, String> paramEnvMap = systemHelper.getFilteredEnvMap(fessConfig.getCrawlerDataEnvParamKeyPattern());
    final Map<String, String> configParamMap = config.getHandlerParameterMap().entrySet().stream().map(e -> {
        final String key = e.getKey();
        String value = e.getValue();
        for (final Map.Entry<String, String> entry : paramEnvMap.entrySet()) {
            value = value.replace("${" + entry.getKey() + "}", entry.getValue());
        }
        return new Pair<>(key, value);
    }).collect(Collectors.toMap(Pair<String, String>::getFirst, Pair<String, String>::getSecond));
    final Map<String, String> configScriptMap = config.getHandlerScriptMap();
    initParamMap.putAll(configParamMap);
    final Map<String, String> paramMap = initParamMap;
    // default values
    final Map<String, Object> defaultDataMap = new HashMap<>();
    // cid
    final String configId = config.getConfigId();
    if (configId != null) {
        defaultDataMap.put(fessConfig.getIndexFieldConfigId(), configId);
    }
    // expires
    if (documentExpires != null) {
        defaultDataMap.put(fessConfig.getIndexFieldExpires(), documentExpires);
    }
    // segment
    defaultDataMap.put(fessConfig.getIndexFieldSegment(), initParamMap.get(Constants.SESSION_ID));
    // created
    defaultDataMap.put(fessConfig.getIndexFieldCreated(), systemHelper.getCurrentTime());
    // boost
    defaultDataMap.put(fessConfig.getIndexFieldBoost(), config.getBoost().toString());
    // label: labelType
    // role: roleType
    final List<String> roleTypeList = new ArrayList<>();
    stream(config.getPermissions()).of(stream -> stream.forEach(p -> roleTypeList.add(p)));
    defaultDataMap.put(fessConfig.getIndexFieldRole(), roleTypeList);
    // mimetype
    defaultDataMap.put(fessConfig.getIndexFieldMimetype(), mimeType);
    // title
    // content
    // cache
    // digest
    // host
    // site
    // url
    // anchor
    // content_length
    // last_modified
    // id
    // virtual_host
    defaultDataMap.put(fessConfig.getIndexFieldVirtualHost(), stream(config.getVirtualHosts()).get(stream -> stream.filter(StringUtil::isNotBlank).collect(Collectors.toList())));
    storeData(config, callback, new ParamMap<>(paramMap), configScriptMap, defaultDataMap);
}
Also used : DataConfig(org.codelibs.fess.es.config.exentity.DataConfig) ThreadUtil(org.codelibs.core.lang.ThreadUtil) Constants(org.codelibs.fess.Constants) StreamUtil.stream(org.codelibs.core.stream.StreamUtil.stream) Date(java.util.Date) IndexUpdateCallback(org.codelibs.fess.ds.callback.IndexUpdateCallback) StringUtil(org.codelibs.core.lang.StringUtil) Pair(org.codelibs.core.misc.Pair) HashMap(java.util.HashMap) Collectors(java.util.stream.Collectors) ArrayList(java.util.ArrayList) List(java.util.List) FessConfig(org.codelibs.fess.mylasta.direction.FessConfig) Logger(org.apache.logging.log4j.Logger) ComponentUtil(org.codelibs.fess.util.ComponentUtil) CrawlingInfoHelper(org.codelibs.fess.helper.CrawlingInfoHelper) SystemHelper(org.codelibs.fess.helper.SystemHelper) Map(java.util.Map) LogManager(org.apache.logging.log4j.LogManager) HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) FessConfig(org.codelibs.fess.mylasta.direction.FessConfig) Date(java.util.Date) SystemHelper(org.codelibs.fess.helper.SystemHelper) CrawlingInfoHelper(org.codelibs.fess.helper.CrawlingInfoHelper)

Aggregations

SystemHelper (org.codelibs.fess.helper.SystemHelper)42 StringUtil (org.codelibs.core.lang.StringUtil)17 ComponentUtil (org.codelibs.fess.util.ComponentUtil)17 Constants (org.codelibs.fess.Constants)15 ArrayList (java.util.ArrayList)14 FessConfig (org.codelibs.fess.mylasta.direction.FessConfig)14 StreamUtil.stream (org.codelibs.core.stream.StreamUtil.stream)13 HashMap (java.util.HashMap)11 List (java.util.List)10 Map (java.util.Map)10 Collectors (java.util.stream.Collectors)10 OptionalThing (org.dbflute.optional.OptionalThing)8 Stream (java.util.stream.Stream)7 Resource (javax.annotation.Resource)7 StreamUtil.split (org.codelibs.core.stream.StreamUtil.split)7 Secured (org.codelibs.fess.annotation.Secured)7 CrudMode (org.codelibs.fess.app.web.CrudMode)7 FessAdminAction (org.codelibs.fess.app.web.base.FessAdminAction)7 RenderDataUtil (org.codelibs.fess.util.RenderDataUtil)7 OptionalEntity (org.dbflute.optional.OptionalEntity)7