update dependencies for maven plugins

This commit is contained in:
Shinsuke Sugaya 2020-10-28 06:55:51 +09:00
parent 92685fbfae
commit 5456e87e39
264 changed files with 4340 additions and 4898 deletions

16
pom.xml
View file

@ -136,7 +136,7 @@
</plugin>
<plugin>
<artifactId>maven-source-plugin</artifactId>
<version>3.1.0</version>
<version>3.2.1</version>
<executions>
<execution>
<id>source-jar</id>
@ -149,7 +149,7 @@
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.3</version>
<version>3.3.1</version>
<configuration>
<webResources>
<resource>
@ -160,7 +160,7 @@
</plugin>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.1.1</version>
<version>3.1.2</version>
<executions>
<execution>
<id>unpack-provided</id>
@ -195,7 +195,7 @@
</plugin>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.1.1</version>
<version>3.2.0</version>
<configuration>
<encoding>UTF-8</encoding>
<docencoding>UTF-8</docencoding>
@ -240,9 +240,9 @@
</executions>
</plugin>
<plugin>
<groupId>net.revelc.code</groupId>
<groupId>net.revelc.code.formatter</groupId>
<artifactId>formatter-maven-plugin</artifactId>
<version>0.5.2</version>
<version>2.13.0</version>
<executions>
<execution>
<goals>
@ -314,7 +314,7 @@
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.1.0</version>
<version>3.2.0</version>
<executions>
<execution>
<id>copy-resources-deb</id>
@ -413,7 +413,7 @@
<!-- zip, tarball -->
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.1.1</version>
<version>3.3.0</version>
<configuration>
<finalName>${project.artifactId}-${project.version}</finalName>
<appendAssemblyId>false</appendAssemblyId>

View file

@ -250,8 +250,8 @@ public class Constants extends CoreLibConstants {
public static final String FTP = "FTP";
public static final String[] RESERVED = { "+", "-", "&&", "||", "!", "(", ")", "{", "}", "[", "]", "^", "~", "*", "?", "\\", ";", ":",
"/" };
public static final String[] RESERVED =
{ "+", "-", "&&", "||", "!", "(", ")", "{", "}", "[", "]", "^", "~", "*", "?", "\\", ";", ":", "/" };
public static final Pattern LUCENE_FIELD_RESERVED_PATTERN = Pattern.compile("([+\\-!\\(\\){}\\[\\]^\"~\\\\:\\p{Zs}]|(&&)|(\\|\\|))"); // "*", "?",
@ -341,8 +341,8 @@ public class Constants extends CoreLibConstants {
public static final String GUEST_USER = "guest";
public static final String[] PAGER_CONVERSION_RULE = { "allRecordCount", "pageSize", "currentPageNumber", "allPageCount",
"existPrePage", "existNextPage" };
public static final String[] PAGER_CONVERSION_RULE =
{ "allRecordCount", "pageSize", "currentPageNumber", "allPageCount", "existPrePage", "existNextPage" };
// crawler types
public static final String WEB_CRAWLER_TYPE = "web_crawling";

View file

@ -75,8 +75,8 @@ public class EsApiManager extends BaseApiManager {
}
@Override
public void process(final HttpServletRequest request, final HttpServletResponse response, final FilterChain chain) throws IOException,
ServletException {
public void process(final HttpServletRequest request, final HttpServletResponse response, final FilterChain chain)
throws IOException, ServletException {
final RequestManager requestManager = ComponentUtil.getRequestManager();
if (!requestManager.findUserBean(FessUserBean.class).map(user -> user.hasRoles(acceptedRoles)).orElse(Boolean.FALSE)) {
response.sendError(HttpServletResponse.SC_UNAUTHORIZED, "Unauthorized access: " + request.getServletPath());

View file

@ -88,8 +88,8 @@ public class GsaApiManager extends BaseApiManager implements WebApiManager {
}
@Override
public void process(final HttpServletRequest request, final HttpServletResponse response, final FilterChain chain) throws IOException,
ServletException {
public void process(final HttpServletRequest request, final HttpServletResponse response, final FilterChain chain)
throws IOException, ServletException {
switch (getFormatType(request)) {
case SEARCH:
processSearchRequest(request, response, chain);
@ -281,7 +281,8 @@ public class GsaApiManager extends BaseApiManager implements WebApiManager {
buf.append("<HAS>");
buf.append("<L/>");
buf.append("<C SZ=\"");
buf.append(DocumentUtil.getValue(document, fessConfig.getIndexFieldContentLength(), Long.class, (long) 0).longValue() / 1000);
buf.append(DocumentUtil.getValue(document, fessConfig.getIndexFieldContentLength(), Long.class, (long) 0).longValue()
/ 1000);
document.remove(fessConfig.getIndexFieldContentLength());
buf.append("k\" CID=\"");
buf.append(DocumentUtil.getValue(document, fessConfig.getIndexFieldDocId(), String.class));

View file

@ -96,8 +96,8 @@ public class JsonApiManager extends BaseJsonApiManager {
}
@Override
public void process(final HttpServletRequest request, final HttpServletResponse response, final FilterChain chain) throws IOException,
ServletException {
public void process(final HttpServletRequest request, final HttpServletResponse response, final FilterChain chain)
throws IOException, ServletException {
switch (getFormatType(request)) {
case SEARCH:
processSearchRequest(request, response, chain);
@ -126,7 +126,8 @@ public class JsonApiManager extends BaseJsonApiManager {
}
}
protected void processScrollSearchRequest(final HttpServletRequest request, final HttpServletResponse response, final FilterChain chain) {
protected void processScrollSearchRequest(final HttpServletRequest request, final HttpServletResponse response,
final FilterChain chain) {
final SearchHelper searchHelper = ComponentUtil.getSearchHelper();
final FessConfig fessConfig = ComponentUtil.getFessConfig();
@ -447,7 +448,8 @@ public class JsonApiManager extends BaseJsonApiManager {
}
protected void processPopularWordRequest(final HttpServletRequest request, final HttpServletResponse response, final FilterChain chain) {
protected void processPopularWordRequest(final HttpServletRequest request, final HttpServletResponse response,
final FilterChain chain) {
if (!ComponentUtil.getFessConfig().isWebApiPopularWord()) {
writeJsonResponse(9, null, "Unsupported operation.");
return;
@ -472,9 +474,8 @@ public class JsonApiManager extends BaseJsonApiManager {
Exception err = null;
final StringBuilder buf = new StringBuilder(255); // TODO replace response stream
try {
final List<String> popularWordList =
popularWordHelper.getWordList(SearchRequestType.JSON, seed, tagList.toArray(new String[tagList.size()]), null, fields,
excludes);
final List<String> popularWordList = popularWordHelper.getWordList(SearchRequestType.JSON, seed,
tagList.toArray(new String[tagList.size()]), null, fields, excludes);
buf.append("\"result\":[");
boolean first1 = true;
@ -524,58 +525,52 @@ public class JsonApiManager extends BaseJsonApiManager {
throw new WebApiException(6, "No searched urls.");
}
searchHelper
.getDocumentByDocId(docId, new String[] { fessConfig.getIndexFieldUrl(), fessConfig.getIndexFieldLang() },
OptionalThing.empty())
.ifPresent(
doc -> {
final String favoriteUrl = DocumentUtil.getValue(doc, fessConfig.getIndexFieldUrl(), String.class);
final String userCode = userInfoHelper.getUserCode();
searchHelper.getDocumentByDocId(docId, new String[] { fessConfig.getIndexFieldUrl(), fessConfig.getIndexFieldLang() },
OptionalThing.empty()).ifPresent(doc -> {
final String favoriteUrl = DocumentUtil.getValue(doc, fessConfig.getIndexFieldUrl(), String.class);
final String userCode = userInfoHelper.getUserCode();
if (StringUtil.isBlank(userCode)) {
throw new WebApiException(2, "No user session.");
} else if (StringUtil.isBlank(favoriteUrl)) {
throw new WebApiException(2, "URL is null.");
}
if (StringUtil.isBlank(userCode)) {
throw new WebApiException(2, "No user session.");
} else if (StringUtil.isBlank(favoriteUrl)) {
throw new WebApiException(2, "URL is null.");
}
boolean found = false;
for (final String id : docIds) {
if (docId.equals(id)) {
found = true;
break;
}
}
if (!found) {
throw new WebApiException(5, "Not found: " + favoriteUrl);
}
boolean found = false;
for (final String id : docIds) {
if (docId.equals(id)) {
found = true;
break;
}
}
if (!found) {
throw new WebApiException(5, "Not found: " + favoriteUrl);
}
if (!favoriteLogService.addUrl(userCode, (userInfo, favoriteLog) -> {
favoriteLog.setUserInfoId(userInfo.getId());
favoriteLog.setUrl(favoriteUrl);
favoriteLog.setDocId(docId);
favoriteLog.setQueryId(queryId);
favoriteLog.setCreatedAt(systemHelper.getCurrentTimeAsLocalDateTime());
})) {
throw new WebApiException(4, "Failed to add url: " + favoriteUrl);
}
if (!favoriteLogService.addUrl(userCode, (userInfo, favoriteLog) -> {
favoriteLog.setUserInfoId(userInfo.getId());
favoriteLog.setUrl(favoriteUrl);
favoriteLog.setDocId(docId);
favoriteLog.setQueryId(queryId);
favoriteLog.setCreatedAt(systemHelper.getCurrentTimeAsLocalDateTime());
})) {
throw new WebApiException(4, "Failed to add url: " + favoriteUrl);
}
final String id = DocumentUtil.getValue(doc, fessConfig.getIndexFieldId(), String.class);
searchHelper.update(
id,
builder -> {
final Script script =
ComponentUtil.getLanguageHelper().createScript(doc,
"ctx._source." + fessConfig.getIndexFieldFavoriteCount() + "+=1");
builder.setScript(script);
final Map<String, Object> upsertMap = new HashMap<>();
upsertMap.put(fessConfig.getIndexFieldFavoriteCount(), 1);
builder.setUpsert(upsertMap);
builder.setRefreshPolicy(Constants.TRUE);
});
final String id = DocumentUtil.getValue(doc, fessConfig.getIndexFieldId(), String.class);
searchHelper.update(id, builder -> {
final Script script = ComponentUtil.getLanguageHelper().createScript(doc,
"ctx._source." + fessConfig.getIndexFieldFavoriteCount() + "+=1");
builder.setScript(script);
final Map<String, Object> upsertMap = new HashMap<>();
upsertMap.put(fessConfig.getIndexFieldFavoriteCount(), 1);
builder.setUpsert(upsertMap);
builder.setRefreshPolicy(Constants.TRUE);
});
writeJsonResponse(0, "\"result\":\"ok\"", (String) null);
writeJsonResponse(0, "\"result\":\"ok\"", (String) null);
}).orElse(() -> {
}).orElse(() -> {
throw new WebApiException(6, "Not found: " + docId);
});
@ -620,11 +615,9 @@ public class JsonApiManager extends BaseJsonApiManager {
}
final String[] docIds = userInfoHelper.getResultDocIds(queryId);
final List<Map<String, Object>> docList =
searchHelper.getDocumentListByDocIds(
docIds,
new String[] { fessConfig.getIndexFieldUrl(), fessConfig.getIndexFieldDocId(),
fessConfig.getIndexFieldFavoriteCount() }, OptionalThing.empty(), SearchRequestType.JSON);
final List<Map<String, Object>> docList = searchHelper.getDocumentListByDocIds(docIds, new String[] {
fessConfig.getIndexFieldUrl(), fessConfig.getIndexFieldDocId(), fessConfig.getIndexFieldFavoriteCount() },
OptionalThing.empty(), SearchRequestType.JSON);
List<String> urlList = new ArrayList<>(docList.size());
for (final Map<String, Object> doc : docList) {
final String urlObj = DocumentUtil.getValue(doc, fessConfig.getIndexFieldUrl(), String.class);

View file

@ -71,8 +71,8 @@ public class SuggestApiManager extends BaseJsonApiManager {
}
@Override
public void process(final HttpServletRequest request, final HttpServletResponse response, final FilterChain chain) throws IOException,
ServletException {
public void process(final HttpServletRequest request, final HttpServletResponse response, final FilterChain chain)
throws IOException, ServletException {
final FessConfig fessConfig = ComponentUtil.getFessConfig();
if (!fessConfig.isAcceptedSearchReferer(request.getHeader("referer"))) {
writeJsonResponse(99, StringUtil.EMPTY, "Referer is invalid.");

View file

@ -98,8 +98,8 @@ public class AllJobScheduler implements LaJobScheduler {
@Override
public LaJobRunner createRunner() {
return new LaJobRunner().useAccessContext(resource -> accessContextLogic.create(resource, OptionalThing::empty,
OptionalThing::empty, () -> APP_TYPE));
return new LaJobRunner().useAccessContext(
resource -> accessContextLogic.create(resource, OptionalThing::empty, OptionalThing::empty, () -> APP_TYPE));
}
public void setJobClass(final Class<? extends LaJob> jobClass) {

View file

@ -55,8 +55,8 @@ public class AccessTokenService {
// update pager
BeanUtil.copyBeanToBean(accessTokenList, accessTokenPager, option -> option.include(Constants.PAGER_CONVERSION_RULE));
accessTokenPager.setPageNumberList(accessTokenList.pageRange(op -> op.rangeSize(fessConfig.getPagingPageRangeSizeAsInteger()))
.createPageNumberList());
accessTokenPager.setPageNumberList(
accessTokenList.pageRange(op -> op.rangeSize(fessConfig.getPagingPageRangeSizeAsInteger())).createPageNumberList());
return accessTokenList;
}
@ -94,24 +94,21 @@ public class AccessTokenService {
public OptionalEntity<Set<String>> getPermissions(final HttpServletRequest request) {
final String token = ComponentUtil.getAccessTokenHelper().getAccessTokenFromRequest(request);
if (StringUtil.isNotBlank(token)) {
return accessTokenBhv
.selectEntity(cb -> {
cb.query().setToken_Term(token);
})
.map(accessToken -> {
final Set<String> permissionSet = new HashSet<>();
final Long expiredTime = accessToken.getExpiredTime();
if (expiredTime != null && expiredTime.longValue() > 0
&& expiredTime.longValue() < ComponentUtil.getSystemHelper().getCurrentTimeAsLong()) {
throw new InvalidAccessTokenException("invalid_token", "The token is expired("
+ FessFunctions.formatDate(FessFunctions.date(expiredTime)) + ").");
}
stream(accessToken.getPermissions()).of(stream -> stream.forEach(permissionSet::add));
final String name = accessToken.getParameterName();
stream(request.getParameterValues(name)).of(
stream -> stream.filter(StringUtil::isNotBlank).forEach(permissionSet::add));
return OptionalEntity.of(permissionSet);
}).orElseThrow(() -> new InvalidAccessTokenException("invalid_token", "Invalid token: " + token));
return accessTokenBhv.selectEntity(cb -> {
cb.query().setToken_Term(token);
}).map(accessToken -> {
final Set<String> permissionSet = new HashSet<>();
final Long expiredTime = accessToken.getExpiredTime();
if (expiredTime != null && expiredTime.longValue() > 0
&& expiredTime.longValue() < ComponentUtil.getSystemHelper().getCurrentTimeAsLong()) {
throw new InvalidAccessTokenException("invalid_token",
"The token is expired(" + FessFunctions.formatDate(FessFunctions.date(expiredTime)) + ").");
}
stream(accessToken.getPermissions()).of(stream -> stream.forEach(permissionSet::add));
final String name = accessToken.getParameterName();
stream(request.getParameterValues(name)).of(stream -> stream.filter(StringUtil::isNotBlank).forEach(permissionSet::add));
return OptionalEntity.of(permissionSet);
}).orElseThrow(() -> new InvalidAccessTokenException("invalid_token", "Invalid token: " + token));
}
return OptionalEntity.empty();
}

View file

@ -67,8 +67,8 @@ public class BadWordService {
// update pager
BeanUtil.copyBeanToBean(badWordList, badWordPager, option -> option.include(Constants.PAGER_CONVERSION_RULE));
badWordPager.setPageNumberList(badWordList.pageRange(op -> op.rangeSize(fessConfig.getPagingPageRangeSizeAsInteger()))
.createPageNumberList());
badWordPager.setPageNumberList(
badWordList.pageRange(op -> op.rangeSize(fessConfig.getPagingPageRangeSizeAsInteger())).createPageNumberList());
return badWordList;
}

View file

@ -47,8 +47,8 @@ public class BoostDocumentRuleService extends FessAppService {
// update pager
BeanUtil.copyBeanToBean(boostDocumentRuleList, boostDocumentRulePager, option -> option.include(Constants.PAGER_CONVERSION_RULE));
boostDocumentRulePager.setPageNumberList(boostDocumentRuleList.pageRange(
op -> op.rangeSize(fessConfig.getPagingPageRangeSizeAsInteger())).createPageNumberList());
boostDocumentRulePager.setPageNumberList(
boostDocumentRuleList.pageRange(op -> op.rangeSize(fessConfig.getPagingPageRangeSizeAsInteger())).createPageNumberList());
return boostDocumentRuleList;
}

View file

@ -38,19 +38,18 @@ public class CharMappingService {
protected FessConfig fessConfig;
public List<CharMappingItem> getCharMappingList(final String dictId, final CharMappingPager charMappingPager) {
return getCharMappingFile(dictId).map(
file -> {
final int pageSize = charMappingPager.getPageSize();
final PagingList<CharMappingItem> charMappingList =
file.selectList((charMappingPager.getCurrentPageNumber() - 1) * pageSize, pageSize);
return getCharMappingFile(dictId).map(file -> {
final int pageSize = charMappingPager.getPageSize();
final PagingList<CharMappingItem> charMappingList =
file.selectList((charMappingPager.getCurrentPageNumber() - 1) * pageSize, pageSize);
// update pager
BeanUtil.copyBeanToBean(charMappingList, charMappingPager, option -> option.include(Constants.PAGER_CONVERSION_RULE));
charMappingList.setPageRangeSize(fessConfig.getPagingPageRangeSizeAsInteger());
charMappingPager.setPageNumberList(charMappingList.createPageNumberList());
// update pager
BeanUtil.copyBeanToBean(charMappingList, charMappingPager, option -> option.include(Constants.PAGER_CONVERSION_RULE));
charMappingList.setPageRangeSize(fessConfig.getPagingPageRangeSizeAsInteger());
charMappingPager.setPageNumberList(charMappingList.createPageNumberList());
return (List<CharMappingItem>) charMappingList;
}).orElse(Collections.emptyList());
return (List<CharMappingItem>) charMappingList;
}).orElse(Collections.emptyList());
}
public OptionalEntity<CharMappingFile> getCharMappingFile(final String dictId) {

View file

@ -76,8 +76,8 @@ public class CrawlingInfoService {
// update pager
BeanUtil.copyBeanToBean(crawlingInfoList, crawlingInfoPager, option -> option.include(Constants.PAGER_CONVERSION_RULE));
crawlingInfoPager.setPageNumberList(crawlingInfoList.pageRange(op -> op.rangeSize(fessConfig.getPagingPageRangeSizeAsInteger()))
.createPageNumberList());
crawlingInfoPager.setPageNumberList(
crawlingInfoList.pageRange(op -> op.rangeSize(fessConfig.getPagingPageRangeSizeAsInteger())).createPageNumberList());
return crawlingInfoList;
}

View file

@ -202,13 +202,10 @@ public class ElevateWordService {
continue;
}
try {
final String[] permissions =
split(getValue(list, 2), ",").get(
stream -> stream.map(permissionHelper::encode).filter(StringUtil::isNotBlank).distinct()
.toArray(n -> new String[n]));
final String[] labels =
split(getValue(list, 3), ",").get(
stream -> stream.filter(StringUtil::isNotBlank).distinct().toArray(n -> new String[n]));
final String[] permissions = split(getValue(list, 2), ",").get(stream -> stream.map(permissionHelper::encode)
.filter(StringUtil::isNotBlank).distinct().toArray(n -> new String[n]));
final String[] labels = split(getValue(list, 3), ",")
.get(stream -> stream.filter(StringUtil::isNotBlank).distinct().toArray(n -> new String[n]));
ElevateWord elevateWord = elevateWordBhv.selectEntity(cb -> {
cb.query().setSuggestWord_Equal(suggestWord);
if (permissions.length > 0) {
@ -228,14 +225,13 @@ public class ElevateWordService {
elevateWord.setCreatedTime(now);
elevateWordBhv.insert(elevateWord);
final String id = elevateWord.getId();
final List<ElevateWordToLabel> mappingList =
stream(labels).get(
stream -> stream.map(l -> labelTypeBhv.selectEntity(cb -> cb.query().setValue_Equal(l)).map(e -> {
final ElevateWordToLabel m = new ElevateWordToLabel();
m.setElevateWordId(id);
m.setLabelTypeId(e.getId());
return m;
}).orElse(null)).filter(e -> e != null).collect(Collectors.toList()));
final List<ElevateWordToLabel> mappingList = stream(labels)
.get(stream -> stream.map(l -> labelTypeBhv.selectEntity(cb -> cb.query().setValue_Equal(l)).map(e -> {
final ElevateWordToLabel m = new ElevateWordToLabel();
m.setElevateWordId(id);
m.setLabelTypeId(e.getId());
return m;
}).orElse(null)).filter(e -> e != null).collect(Collectors.toList()));
if (!mappingList.isEmpty()) {
elevateWordToLabelBhv.batchInsert(mappingList);
}
@ -251,21 +247,20 @@ public class ElevateWordService {
elevateWord.setUpdatedTime(now);
elevateWordBhv.update(elevateWord);
final String id = elevateWord.getId();
final List<ElevateWordToLabel> mappingList =
stream(labels).get(
stream -> stream.map(l -> labelTypeBhv.selectEntity(cb -> cb.query().setValue_Equal(l)).map(e -> {
final List<ElevateWordToLabel> mList = elevateWordToLabelBhv.selectList(cb -> {
cb.query().setElevateWordId_Equal(id);
cb.query().setLabelTypeId_Equal(e.getId());
});
if (!mList.isEmpty()) {
return null;
}
final ElevateWordToLabel m = new ElevateWordToLabel();
m.setElevateWordId(id);
m.setLabelTypeId(e.getId());
return m;
}).orElse(null)).filter(e -> e != null).collect(Collectors.toList()));
final List<ElevateWordToLabel> mappingList = stream(labels)
.get(stream -> stream.map(l -> labelTypeBhv.selectEntity(cb -> cb.query().setValue_Equal(l)).map(e -> {
final List<ElevateWordToLabel> mList = elevateWordToLabelBhv.selectList(cb -> {
cb.query().setElevateWordId_Equal(id);
cb.query().setLabelTypeId_Equal(e.getId());
});
if (!mList.isEmpty()) {
return null;
}
final ElevateWordToLabel m = new ElevateWordToLabel();
m.setElevateWordId(id);
m.setLabelTypeId(e.getId());
return m;
}).orElse(null)).filter(e -> e != null).collect(Collectors.toList()));
if (!mappingList.isEmpty()) {
elevateWordToLabelBhv.batchInsert(mappingList);
}
@ -300,17 +295,12 @@ public class ElevateWordService {
@Override
public void handle(final ElevateWord entity) {
final List<String> list = new ArrayList<>();
final String permissions =
stream(entity.getPermissions()).get(
stream -> stream.map(s -> permissionHelper.decode(s)).filter(StringUtil::isNotBlank).distinct()
.collect(Collectors.joining(",")));
final String labels =
elevateWordToLabelBhv
.selectList(cb -> cb.query().setElevateWordId_Equal(entity.getId()))
.stream()
.map(e -> labelTypeBhv.selectByPK(e.getLabelTypeId()).map(LabelType::getValue)
.filter(StringUtil::isNotBlank).orElse(null)).distinct().sorted()
.collect(Collectors.joining(","));
final String permissions = stream(entity.getPermissions()).get(stream -> stream.map(s -> permissionHelper.decode(s))
.filter(StringUtil::isNotBlank).distinct().collect(Collectors.joining(",")));
final String labels = elevateWordToLabelBhv
.selectList(cb -> cb.query().setElevateWordId_Equal(entity.getId())).stream().map(e -> labelTypeBhv
.selectByPK(e.getLabelTypeId()).map(LabelType::getValue).filter(StringUtil::isNotBlank).orElse(null))
.distinct().sorted().collect(Collectors.joining(","));
addToList(list, entity.getSuggestWord());
addToList(list, entity.getReading());
addToList(list, permissions);

View file

@ -83,13 +83,11 @@ public class GroupService {
op.setRefreshPolicy(Constants.TRUE);
});
userBhv.selectCursor(
cb -> cb.query().setGroups_Equal(group.getId()),
entity -> {
entity.setGroups(stream(entity.getGroups()).get(
stream -> stream.filter(s -> !s.equals(group.getId())).toArray(n -> new String[n])));
userBhv.insertOrUpdate(entity);
});
userBhv.selectCursor(cb -> cb.query().setGroups_Equal(group.getId()), entity -> {
entity.setGroups(
stream(entity.getGroups()).get(stream -> stream.filter(s -> !s.equals(group.getId())).toArray(n -> new String[n])));
userBhv.insertOrUpdate(entity);
});
}

View file

@ -43,12 +43,12 @@ public class KuromojiService {
final PagingList<KuromojiItem> kuromojiList = file.selectList((kuromojiPager.getCurrentPageNumber() - 1) * pageSize, pageSize);
// update pager
BeanUtil.copyBeanToBean(kuromojiList, kuromojiPager, option -> option.include(Constants.PAGER_CONVERSION_RULE));
kuromojiList.setPageRangeSize(fessConfig.getPagingPageRangeSizeAsInteger());
kuromojiPager.setPageNumberList(kuromojiList.createPageNumberList());
BeanUtil.copyBeanToBean(kuromojiList, kuromojiPager, option -> option.include(Constants.PAGER_CONVERSION_RULE));
kuromojiList.setPageRangeSize(fessConfig.getPagingPageRangeSizeAsInteger());
kuromojiPager.setPageNumberList(kuromojiList.createPageNumberList());
return (List<KuromojiItem>) kuromojiList;
}).orElse(Collections.emptyList());
return (List<KuromojiItem>) kuromojiList;
}).orElse(Collections.emptyList());
}
public OptionalEntity<KuromojiFile> getKuromojiFile(final String dictId) {

View file

@ -38,19 +38,18 @@ public class ProtwordsService {
protected FessConfig fessConfig;
public List<ProtwordsItem> getProtwordsList(final String dictId, final ProtwordsPager protwordsPager) {
return getProtwordsFile(dictId).map(
file -> {
final int pageSize = protwordsPager.getPageSize();
final PagingList<ProtwordsItem> protwordsList =
file.selectList((protwordsPager.getCurrentPageNumber() - 1) * pageSize, pageSize);
return getProtwordsFile(dictId).map(file -> {
final int pageSize = protwordsPager.getPageSize();
final PagingList<ProtwordsItem> protwordsList =
file.selectList((protwordsPager.getCurrentPageNumber() - 1) * pageSize, pageSize);
// update pager
BeanUtil.copyBeanToBean(protwordsList, protwordsPager, option -> option.include(Constants.PAGER_CONVERSION_RULE));
protwordsList.setPageRangeSize(fessConfig.getPagingPageRangeSizeAsInteger());
protwordsPager.setPageNumberList(protwordsList.createPageNumberList());
// update pager
BeanUtil.copyBeanToBean(protwordsList, protwordsPager, option -> option.include(Constants.PAGER_CONVERSION_RULE));
protwordsList.setPageRangeSize(fessConfig.getPagingPageRangeSizeAsInteger());
protwordsPager.setPageNumberList(protwordsList.createPageNumberList());
return (List<ProtwordsItem>) protwordsList;
}).orElse(Collections.emptyList());
return (List<ProtwordsItem>) protwordsList;
}).orElse(Collections.emptyList());
}
public OptionalEntity<ProtwordsFile> getProtwordsFile(final String dictId) {

View file

@ -48,8 +48,8 @@ public class RelatedContentService extends FessAppService {
// update pager
BeanUtil.copyBeanToBean(relatedContentList, relatedContentPager, option -> option.include(Constants.PAGER_CONVERSION_RULE));
relatedContentPager.setPageNumberList(relatedContentList
.pageRange(op -> op.rangeSize(fessConfig.getPagingPageRangeSizeAsInteger())).createPageNumberList());
relatedContentPager.setPageNumberList(
relatedContentList.pageRange(op -> op.rangeSize(fessConfig.getPagingPageRangeSizeAsInteger())).createPageNumberList());
return relatedContentList;
}

View file

@ -48,8 +48,8 @@ public class RelatedQueryService extends FessAppService {
// update pager
BeanUtil.copyBeanToBean(relatedQueryList, relatedQueryPager, option -> option.include(Constants.PAGER_CONVERSION_RULE));
relatedQueryPager.setPageNumberList(relatedQueryList.pageRange(op -> op.rangeSize(fessConfig.getPagingPageRangeSizeAsInteger()))
.createPageNumberList());
relatedQueryPager.setPageNumberList(
relatedQueryList.pageRange(op -> op.rangeSize(fessConfig.getPagingPageRangeSizeAsInteger())).createPageNumberList());
return relatedQueryList;
}

View file

@ -80,13 +80,11 @@ public class RoleService {
op.setRefreshPolicy(Constants.TRUE);
});
userBhv.selectCursor(
cb -> cb.query().setRoles_Equal(role.getId()),
entity -> {
entity.setRoles(stream(entity.getRoles()).get(
stream -> stream.filter(s -> !s.equals(role.getId())).toArray(n -> new String[n])));
userBhv.insertOrUpdate(entity);
});
userBhv.selectCursor(cb -> cb.query().setRoles_Equal(role.getId()), entity -> {
entity.setRoles(
stream(entity.getRoles()).get(stream -> stream.filter(s -> !s.equals(role.getId())).toArray(n -> new String[n])));
userBhv.insertOrUpdate(entity);
});
}
protected void setupListCondition(final RoleCB cb, final RolePager rolePager) {

View file

@ -38,20 +38,18 @@ public class StemmerOverrideService {
protected FessConfig fessConfig;
public List<StemmerOverrideItem> getStemmerOverrideList(final String dictId, final StemmerOverridePager stemmerOvberridePager) {
return getStemmerOverrideFile(dictId).map(
file -> {
final int pageSize = stemmerOvberridePager.getPageSize();
final PagingList<StemmerOverrideItem> stemmerOvberrideList =
file.selectList((stemmerOvberridePager.getCurrentPageNumber() - 1) * pageSize, pageSize);
return getStemmerOverrideFile(dictId).map(file -> {
final int pageSize = stemmerOvberridePager.getPageSize();
final PagingList<StemmerOverrideItem> stemmerOvberrideList =
file.selectList((stemmerOvberridePager.getCurrentPageNumber() - 1) * pageSize, pageSize);
// update pager
BeanUtil.copyBeanToBean(stemmerOvberrideList, stemmerOvberridePager,
option -> option.include(Constants.PAGER_CONVERSION_RULE));
stemmerOvberrideList.setPageRangeSize(fessConfig.getPagingPageRangeSizeAsInteger());
stemmerOvberridePager.setPageNumberList(stemmerOvberrideList.createPageNumberList());
// update pager
BeanUtil.copyBeanToBean(stemmerOvberrideList, stemmerOvberridePager, option -> option.include(Constants.PAGER_CONVERSION_RULE));
stemmerOvberrideList.setPageRangeSize(fessConfig.getPagingPageRangeSizeAsInteger());
stemmerOvberridePager.setPageNumberList(stemmerOvberrideList.createPageNumberList());
return (List<StemmerOverrideItem>) stemmerOvberrideList;
}).orElse(Collections.emptyList());
return (List<StemmerOverrideItem>) stemmerOvberrideList;
}).orElse(Collections.emptyList());
}
public OptionalEntity<StemmerOverrideFile> getStemmerOverrideFile(final String dictId) {

View file

@ -38,19 +38,18 @@ public class StopwordsService {
protected FessConfig fessConfig;
public List<StopwordsItem> getStopwordsList(final String dictId, final StopwordsPager stopwordsPager) {
return getStopwordsFile(dictId).map(
file -> {
final int pageSize = stopwordsPager.getPageSize();
final PagingList<StopwordsItem> stopwordsList =
file.selectList((stopwordsPager.getCurrentPageNumber() - 1) * pageSize, pageSize);
return getStopwordsFile(dictId).map(file -> {
final int pageSize = stopwordsPager.getPageSize();
final PagingList<StopwordsItem> stopwordsList =
file.selectList((stopwordsPager.getCurrentPageNumber() - 1) * pageSize, pageSize);
// update pager
BeanUtil.copyBeanToBean(stopwordsList, stopwordsPager, option -> option.include(Constants.PAGER_CONVERSION_RULE));
stopwordsList.setPageRangeSize(fessConfig.getPagingPageRangeSizeAsInteger());
stopwordsPager.setPageNumberList(stopwordsList.createPageNumberList());
// update pager
BeanUtil.copyBeanToBean(stopwordsList, stopwordsPager, option -> option.include(Constants.PAGER_CONVERSION_RULE));
stopwordsList.setPageRangeSize(fessConfig.getPagingPageRangeSizeAsInteger());
stopwordsPager.setPageNumberList(stopwordsList.createPageNumberList());
return (List<StopwordsItem>) stopwordsList;
}).orElse(Collections.emptyList());
return (List<StopwordsItem>) stopwordsList;
}).orElse(Collections.emptyList());
}
public OptionalEntity<StopwordsFile> getStopwordsFile(final String dictId) {

View file

@ -43,12 +43,12 @@ public class SynonymService {
final PagingList<SynonymItem> synonymList = file.selectList((synonymPager.getCurrentPageNumber() - 1) * pageSize, pageSize);
// update pager
BeanUtil.copyBeanToBean(synonymList, synonymPager, option -> option.include(Constants.PAGER_CONVERSION_RULE));
synonymList.setPageRangeSize(fessConfig.getPagingPageRangeSizeAsInteger());
synonymPager.setPageNumberList(synonymList.createPageNumberList());
BeanUtil.copyBeanToBean(synonymList, synonymPager, option -> option.include(Constants.PAGER_CONVERSION_RULE));
synonymList.setPageRangeSize(fessConfig.getPagingPageRangeSizeAsInteger());
synonymPager.setPageNumberList(synonymList.createPageNumberList());
return (List<SynonymItem>) synonymList;
}).orElse(Collections.emptyList());
return (List<SynonymItem>) synonymList;
}).orElse(Collections.emptyList());
}
public OptionalEntity<SynonymFile> getSynonymFile(final String dictId) {

View file

@ -70,7 +70,7 @@ public class AdminAction extends FessAdminAction {
// ==============
@Execute
@Secured({ //
AdminDashboardAction.ROLE, //
AdminDashboardAction.ROLE, //
AdminDashboardAction.ROLE + VIEW, //
AdminWizardAction.ROLE, //
AdminWizardAction.ROLE + VIEW, //

View file

@ -150,29 +150,20 @@ public class AdminAccesstokenAction extends FessAdminAction {
public HtmlResponse details(final int crudMode, final String id) {
verifyCrudMode(crudMode, CrudMode.DETAILS);
saveToken();
return asDetailsHtml().useForm(
EditForm.class,
op -> {
op.setup(form -> {
accessTokenService
.getAccessToken(id)
.ifPresent(
entity -> {
copyBeanToBean(entity, form, copyOp -> copyOp.exclude(Constants.PERMISSIONS, EXPIRED_TIME)
.excludeNull().dateConverter(Constants.DEFAULT_DATETIME_FORMAT, EXPIRES));
final PermissionHelper permissionHelper = ComponentUtil.getPermissionHelper();
form.permissions =
stream(entity.getPermissions()).get(
stream -> stream.map(permissionHelper::decode).filter(StringUtil::isNotBlank)
.distinct().collect(Collectors.joining("\n")));
form.crudMode = crudMode;
})
.orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id),
this::asListHtml);
});
});
return asDetailsHtml().useForm(EditForm.class, op -> {
op.setup(form -> {
accessTokenService.getAccessToken(id).ifPresent(entity -> {
copyBeanToBean(entity, form, copyOp -> copyOp.exclude(Constants.PERMISSIONS, EXPIRED_TIME).excludeNull()
.dateConverter(Constants.DEFAULT_DATETIME_FORMAT, EXPIRES));
final PermissionHelper permissionHelper = ComponentUtil.getPermissionHelper();
form.permissions = stream(entity.getPermissions()).get(stream -> stream.map(permissionHelper::decode)
.filter(StringUtil::isNotBlank).distinct().collect(Collectors.joining("\n")));
form.crudMode = crudMode;
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), this::asListHtml);
});
});
});
}
@Execute
@ -180,23 +171,15 @@ public class AdminAccesstokenAction extends FessAdminAction {
public HtmlResponse edit(final EditForm form) {
validate(form, messages -> {}, this::asListHtml);
final String id = form.id;
accessTokenService
.getAccessToken(id)
.ifPresent(
entity -> {
copyBeanToBean(
entity,
form,
op -> op.exclude(Constants.PERMISSIONS, EXPIRED_TIME).dateConverter(Constants.DEFAULT_DATETIME_FORMAT,
EXPIRES));
final PermissionHelper permissionHelper = ComponentUtil.getPermissionHelper();
form.permissions =
stream(entity.getPermissions()).get(
stream -> stream.map(permissionHelper::decode).filter(StringUtil::isNotBlank).distinct()
.collect(Collectors.joining("\n")));
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), this::asListHtml);
});
accessTokenService.getAccessToken(id).ifPresent(entity -> {
copyBeanToBean(entity, form,
op -> op.exclude(Constants.PERMISSIONS, EXPIRED_TIME).dateConverter(Constants.DEFAULT_DATETIME_FORMAT, EXPIRES));
final PermissionHelper permissionHelper = ComponentUtil.getPermissionHelper();
form.permissions = stream(entity.getPermissions()).get(stream -> stream.map(permissionHelper::decode)
.filter(StringUtil::isNotBlank).distinct().collect(Collectors.joining("\n")));
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), this::asListHtml);
});
saveToken();
if (form.crudMode.intValue() == CrudMode.EDIT) {
// back
@ -217,17 +200,16 @@ public class AdminAccesstokenAction extends FessAdminAction {
verifyCrudMode(form.crudMode, CrudMode.CREATE);
validate(form, messages -> {}, this::asEditHtml);
verifyToken(this::asEditHtml);
getAccessToken(form).ifPresent(
entity -> {
entity.setToken(accessTokenHelper.generateAccessToken());
try {
accessTokenService.store(entity);
saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
getAccessToken(form).ifPresent(entity -> {
entity.setToken(accessTokenHelper.generateAccessToken());
try {
accessTokenService.store(entity);
saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateInstance(GLOBAL), this::asEditHtml);
});
return redirect(getClass());
@ -239,16 +221,15 @@ public class AdminAccesstokenAction extends FessAdminAction {
verifyCrudMode(form.crudMode, CrudMode.EDIT);
validate(form, messages -> {}, this::asEditHtml);
verifyToken(this::asEditHtml);
getAccessToken(form).ifPresent(
entity -> {
try {
accessTokenService.store(entity);
saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
getAccessToken(form).ifPresent(entity -> {
try {
accessTokenService.store(entity);
saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, form.id), this::asEditHtml);
});
return redirect(getClass());
@ -261,21 +242,17 @@ public class AdminAccesstokenAction extends FessAdminAction {
validate(form, messages -> {}, this::asDetailsHtml);
verifyToken(this::asDetailsHtml);
final String id = form.id;
accessTokenService
.getAccessToken(id)
.ifPresent(
entity -> {
try {
accessTokenService.delete(entity);
saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(
messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), this::asDetailsHtml);
});
accessTokenService.getAccessToken(id).ifPresent(entity -> {
try {
accessTokenService.delete(entity);
saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), this::asDetailsHtml);
});
return redirect(getClass());
}
@ -306,19 +283,16 @@ public class AdminAccesstokenAction extends FessAdminAction {
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);
BeanUtil.copyBeanToBean(form, entity,
op -> op.exclude(Constants.COMMON_CONVERSION_RULE).exclude(TOKEN, Constants.PERMISSIONS, EXPIRED_TIME)
.dateConverter(Constants.DEFAULT_DATETIME_FORMAT, EXPIRES));
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])));
return entity;
});
return getEntity(form, username, currentTime).map(entity -> {
entity.setUpdatedBy(username);
entity.setUpdatedTime(currentTime);
BeanUtil.copyBeanToBean(form, entity, op -> op.exclude(Constants.COMMON_CONVERSION_RULE)
.exclude(TOKEN, Constants.PERMISSIONS, EXPIRED_TIME).dateConverter(Constants.DEFAULT_DATETIME_FORMAT, EXPIRES));
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])));
return entity;
});
}
// ===================================================================================

View file

@ -184,45 +184,38 @@ public class AdminBackupAction extends FessAdminAction {
private void importBulk(final String fileName, final File tempFile) {
final ObjectMapper mapper = new ObjectMapper();
try (CurlResponse response =
ComponentUtil
.getCurlHelper()
.post("/_bulk")
.onConnect(
(req, con) -> {
con.setDoOutput(true);
try (final BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(tempFile)));
final BufferedWriter bw =
new BufferedWriter(new OutputStreamWriter(con.getOutputStream(),
Constants.CHARSET_UTF_8))) {
String line;
while ((line = br.readLine()) != null) {
if (StringUtil.isNotBlank(line)) {
final Map<String, Map<String, String>> dataObj;
if (line.contains("_type")) {
dataObj = parseObject(mapper, line);
} else {
dataObj = null;
}
if (dataObj != null) {
final Map<String, String> indexObj = dataObj.get("index");
if (indexObj != null && indexObj.containsKey("_type")) {
indexObj.remove("_type");
bw.write(mapper.writeValueAsString(dataObj));
} else {
bw.write(line);
}
} else {
bw.write(line);
}
}
bw.write("\n");
}
bw.flush();
} catch (IOException e) {
throw new IORuntimeException(e);
}
}).execute()) {
try (CurlResponse response = ComponentUtil.getCurlHelper().post("/_bulk").onConnect((req, con) -> {
con.setDoOutput(true);
try (final BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(tempFile)));
final BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(con.getOutputStream(), Constants.CHARSET_UTF_8))) {
String line;
while ((line = br.readLine()) != null) {
if (StringUtil.isNotBlank(line)) {
final Map<String, Map<String, String>> dataObj;
if (line.contains("_type")) {
dataObj = parseObject(mapper, line);
} else {
dataObj = null;
}
if (dataObj != null) {
final Map<String, String> indexObj = dataObj.get("index");
if (indexObj != null && indexObj.containsKey("_type")) {
indexObj.remove("_type");
bw.write(mapper.writeValueAsString(dataObj));
} else {
bw.write(line);
}
} else {
bw.write(line);
}
}
bw.write("\n");
}
bw.flush();
} catch (IOException e) {
throw new IORuntimeException(e);
}
}).execute()) {
if (logger.isDebugEnabled()) {
logger.debug("Bulk Response:\n{}", response.getContentAsString());
}
@ -338,14 +331,12 @@ public class AdminBackupAction extends FessAdminAction {
index = id;
filename = id + ".bulk";
}
return asStream(filename).contentTypeOctetStream().stream(
out -> {
try (CurlResponse response =
ComponentUtil.getCurlHelper().get("/" + index + "/_data").param("format", "json")
.param("scroll", fessConfig.getIndexScrollSearchTimeout()).execute()) {
out.write(response.getContentAsStream());
}
});
return asStream(filename).contentTypeOctetStream().stream(out -> {
try (CurlResponse response = ComponentUtil.getCurlHelper().get("/" + index + "/_data").param("format", "json")
.param("scroll", fessConfig.getIndexScrollSearchTimeout()).execute()) {
out.write(response.getContentAsStream());
}
});
}
}
throwValidationError(messages -> messages.addErrorsCouldNotFindBackupIndex(GLOBAL), this::asListHtml);
@ -385,14 +376,12 @@ public class AdminBackupAction extends FessAdminAction {
((LocalDateTime) value).atZone(ZoneId.systemDefault()).withZoneSameInstant(ZoneId.of("UTC")).format(ISO_8601_FORMATTER);
buf.append('"').append(StringEscapeUtils.escapeJson(format)).append('"');
} else if (value instanceof String[]) {
final String json =
Arrays.stream((String[]) value).map(s -> "\"" + StringEscapeUtils.escapeJson(s) + "\"")
.collect(Collectors.joining(","));
final String json = Arrays.stream((String[]) value).map(s -> "\"" + StringEscapeUtils.escapeJson(s) + "\"")
.collect(Collectors.joining(","));
buf.append('[').append(json).append(']');
} else if (value instanceof List) {
final String json =
((List<?>) value).stream().map(s -> "\"" + StringEscapeUtils.escapeJson(s.toString()) + "\"")
.collect(Collectors.joining(","));
final String json = ((List<?>) value).stream().map(s -> "\"" + StringEscapeUtils.escapeJson(s.toString()) + "\"")
.collect(Collectors.joining(","));
buf.append('[').append(json).append(']');
} else if (value instanceof Map) {
buf.append('{');
@ -416,47 +405,41 @@ public class AdminBackupAction extends FessAdminAction {
public static Consumer<Writer> getSearchLogNdjsonWriteCall() {
return writer -> {
final SearchLogBhv bhv = ComponentUtil.getComponent(SearchLogBhv.class);
bhv.selectCursor(
cb -> {
cb.query().matchAll();
cb.query().addOrderBy_RequestedAt_Asc();
},
entity -> {
final StringBuilder buf = new StringBuilder();
buf.append('{');
appendJson("id", entity.getId(), buf).append(',');
appendJson("query-id", entity.getQueryId(), buf).append(',');
appendJson("user-info-id", entity.getUserInfoId(), buf).append(',');
appendJson("user-session-id", entity.getUserSessionId(), buf).append(',');
appendJson("user", entity.getUser(), buf).append(',');
appendJson("search-word", entity.getSearchWord(), buf).append(',');
appendJson("hit-count", entity.getHitCount(), buf).append(',');
appendJson("query-page-size", entity.getQueryPageSize(), buf).append(',');
appendJson("query-offset", entity.getQueryOffset(), buf).append(',');
appendJson("referer", entity.getReferer(), buf).append(',');
appendJson("languages", entity.getLanguages(), buf).append(',');
appendJson("roles", entity.getRoles(), buf).append(',');
appendJson("user-agent", entity.getUserAgent(), buf).append(',');
appendJson("client-ip", entity.getClientIp(), buf).append(',');
appendJson("access-type", entity.getAccessType(), buf).append(',');
appendJson("query-time", entity.getQueryTime(), buf).append(',');
appendJson("response-time", entity.getResponseTime(), buf).append(',');
appendJson("requested-at", entity.getRequestedAt(), buf).append(',');
final Map<String, List<String>> searchFieldMap =
entity.getSearchFieldLogList()
.stream()
.collect(
Collectors.groupingBy(Pair::getFirst,
Collectors.mapping(Pair::getSecond, Collectors.toList())));
appendJson("search-field", searchFieldMap, buf);
buf.append('}');
buf.append('\n');
try {
writer.write(buf.toString());
} catch (final IOException e) {
throw new IORuntimeException(e);
}
});
bhv.selectCursor(cb -> {
cb.query().matchAll();
cb.query().addOrderBy_RequestedAt_Asc();
}, entity -> {
final StringBuilder buf = new StringBuilder();
buf.append('{');
appendJson("id", entity.getId(), buf).append(',');
appendJson("query-id", entity.getQueryId(), buf).append(',');
appendJson("user-info-id", entity.getUserInfoId(), buf).append(',');
appendJson("user-session-id", entity.getUserSessionId(), buf).append(',');
appendJson("user", entity.getUser(), buf).append(',');
appendJson("search-word", entity.getSearchWord(), buf).append(',');
appendJson("hit-count", entity.getHitCount(), buf).append(',');
appendJson("query-page-size", entity.getQueryPageSize(), buf).append(',');
appendJson("query-offset", entity.getQueryOffset(), buf).append(',');
appendJson("referer", entity.getReferer(), buf).append(',');
appendJson("languages", entity.getLanguages(), buf).append(',');
appendJson("roles", entity.getRoles(), buf).append(',');
appendJson("user-agent", entity.getUserAgent(), buf).append(',');
appendJson("client-ip", entity.getClientIp(), buf).append(',');
appendJson("access-type", entity.getAccessType(), buf).append(',');
appendJson("query-time", entity.getQueryTime(), buf).append(',');
appendJson("response-time", entity.getResponseTime(), buf).append(',');
appendJson("requested-at", entity.getRequestedAt(), buf).append(',');
final Map<String, List<String>> searchFieldMap = entity.getSearchFieldLogList().stream()
.collect(Collectors.groupingBy(Pair::getFirst, Collectors.mapping(Pair::getSecond, Collectors.toList())));
appendJson("search-field", searchFieldMap, buf);
buf.append('}');
buf.append('\n');
try {
writer.write(buf.toString());
} catch (final IOException e) {
throw new IORuntimeException(e);
}
});
};
}
@ -548,8 +531,8 @@ public class AdminBackupAction extends FessAdminAction {
}
private HtmlResponse asListHtml() {
return asHtml(path_AdminBackup_AdminBackupJsp).useForm(UploadForm.class).renderWith(
data -> RenderDataUtil.register(data, "backupItems", getBackupItems()));
return asHtml(path_AdminBackup_AdminBackupJsp).useForm(UploadForm.class)
.renderWith(data -> RenderDataUtil.register(data, "backupItems", getBackupItems()));
}
private void deleteTempFile(final File tempFile) {

View file

@ -239,17 +239,16 @@ public class AdminBadwordAction extends FessAdminAction {
verifyCrudMode(form.crudMode, CrudMode.CREATE);
validate(form, messages -> {}, this::asEditHtml);
verifyToken(this::asEditHtml);
getBadWord(form).ifPresent(
entity -> {
try {
badWordService.store(entity);
suggestHelper.addBadWord(entity.getSuggestWord(), false);
saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
getBadWord(form).ifPresent(entity -> {
try {
badWordService.store(entity);
suggestHelper.addBadWord(entity.getSuggestWord(), false);
saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateInstance(GLOBAL), this::asEditHtml);
});
return redirect(getClass());
@ -261,17 +260,16 @@ public class AdminBadwordAction extends FessAdminAction {
verifyCrudMode(form.crudMode, CrudMode.EDIT);
validate(form, messages -> {}, this::asEditHtml);
verifyToken(this::asEditHtml);
getBadWord(form).ifPresent(
entity -> {
try {
badWordService.store(entity);
suggestHelper.storeAllBadWords(false);
saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
getBadWord(form).ifPresent(entity -> {
try {
badWordService.store(entity);
suggestHelper.storeAllBadWords(false);
saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, form.id), this::asEditHtml);
});
return redirect(getClass());
@ -284,22 +282,18 @@ public class AdminBadwordAction extends FessAdminAction {
validate(form, messages -> {}, this::asDetailsHtml);
verifyToken(this::asDetailsHtml);
final String id = form.id;
badWordService
.getBadWord(id)
.ifPresent(
entity -> {
try {
badWordService.delete(entity);
suggestHelper.deleteBadWord(entity.getSuggestWord());
saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(
messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asDetailsHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), this::asDetailsHtml);
});
badWordService.getBadWord(id).ifPresent(entity -> {
try {
badWordService.delete(entity);
suggestHelper.deleteBadWord(entity.getSuggestWord());
saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asDetailsHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), this::asDetailsHtml);
});
return redirect(getClass());
}

View file

@ -181,16 +181,15 @@ public class AdminBoostdocAction extends FessAdminAction {
verifyCrudMode(form.crudMode, CrudMode.CREATE);
validate(form, messages -> {}, this::asEditHtml);
verifyToken(this::asEditHtml);
getBoostDocumentRule(form).ifPresent(
entity -> {
try {
boostDocumentRuleService.store(entity);
saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
getBoostDocumentRule(form).ifPresent(entity -> {
try {
boostDocumentRuleService.store(entity);
saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateInstance(GLOBAL), this::asEditHtml);
});
return redirect(getClass());
@ -202,16 +201,15 @@ public class AdminBoostdocAction extends FessAdminAction {
verifyCrudMode(form.crudMode, CrudMode.EDIT);
validate(form, messages -> {}, this::asEditHtml);
verifyToken(this::asEditHtml);
getBoostDocumentRule(form).ifPresent(
entity -> {
try {
boostDocumentRuleService.store(entity);
saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
getBoostDocumentRule(form).ifPresent(entity -> {
try {
boostDocumentRuleService.store(entity);
saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, form.id), this::asEditHtml);
});
return redirect(getClass());
@ -224,21 +222,17 @@ public class AdminBoostdocAction extends FessAdminAction {
validate(form, messages -> {}, this::asDetailsHtml);
verifyToken(this::asDetailsHtml);
final String id = form.id;
boostDocumentRuleService
.getBoostDocumentRule(id)
.ifPresent(
entity -> {
try {
boostDocumentRuleService.delete(entity);
saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(
messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), this::asDetailsHtml);
});
boostDocumentRuleService.getBoostDocumentRule(id).ifPresent(entity -> {
try {
boostDocumentRuleService.delete(entity);
saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), this::asDetailsHtml);
});
return redirect(getClass());
}

View file

@ -221,7 +221,7 @@ public class AdminCrawlinginfoAction extends FessAdminAction {
private HtmlResponse asListHtml() {
return asHtml(path_AdminCrawlinginfo_AdminCrawlinginfoJsp).renderWith(data -> {
RenderDataUtil.register(data, "crawlingInfoItems", crawlingInfoService.getCrawlingInfoList(crawlingInfoPager)); // page navi
}).useForm(SearchForm.class, setup -> {
}).useForm(SearchForm.class, setup -> {
setup.setup(form -> {
copyBeanToBean(crawlingInfoPager, form, op -> op.include("id"));
});

View file

@ -153,26 +153,19 @@ public class AdminDataconfigAction extends FessAdminAction {
public HtmlResponse edit(final EditForm form) {
validate(form, messages -> {}, this::asListHtml);
final String id = form.id;
dataConfigService
.getDataConfig(id)
.ifPresent(
entity -> {
copyBeanToBean(entity, form, copyOp -> {
copyOp.excludeNull();
copyOp.exclude(Constants.PERMISSIONS, Constants.VIRTUAL_HOSTS);
});
final PermissionHelper permissionHelper = ComponentUtil.getPermissionHelper();
form.permissions =
stream(entity.getPermissions()).get(
stream -> stream.map(permissionHelper::decode).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")));
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), this::asListHtml);
});
dataConfigService.getDataConfig(id).ifPresent(entity -> {
copyBeanToBean(entity, form, copyOp -> {
copyOp.excludeNull();
copyOp.exclude(Constants.PERMISSIONS, Constants.VIRTUAL_HOSTS);
});
final PermissionHelper permissionHelper = ComponentUtil.getPermissionHelper();
form.permissions = stream(entity.getPermissions()).get(stream -> stream.map(permissionHelper::decode)
.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")));
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), this::asListHtml);
});
saveToken();
if (form.crudMode.intValue() == CrudMode.EDIT) {
// back
@ -192,34 +185,23 @@ public class AdminDataconfigAction extends FessAdminAction {
public HtmlResponse details(final int crudMode, final String id) {
verifyCrudMode(crudMode, CrudMode.DETAILS);
saveToken();
return asDetailsHtml().useForm(
EditForm.class,
op -> {
op.setup(form -> {
dataConfigService
.getDataConfig(id)
.ifPresent(
entity -> {
copyBeanToBean(entity, form, copyOp -> {
copyOp.excludeNull();
copyOp.exclude(Constants.PERMISSIONS, Constants.VIRTUAL_HOSTS);
});
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.crudMode = crudMode;
})
.orElse(() -> throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id),
this::asListHtml));
return asDetailsHtml().useForm(EditForm.class, op -> {
op.setup(form -> {
dataConfigService.getDataConfig(id).ifPresent(entity -> {
copyBeanToBean(entity, form, copyOp -> {
copyOp.excludeNull();
copyOp.exclude(Constants.PERMISSIONS, Constants.VIRTUAL_HOSTS);
});
});
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.crudMode = crudMode;
}).orElse(
() -> throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), this::asListHtml));
});
});
}
// -----------------------------------------------------
@ -231,16 +213,15 @@ public class AdminDataconfigAction extends FessAdminAction {
verifyCrudMode(form.crudMode, CrudMode.CREATE);
validate(form, messages -> {}, this::asEditHtml);
verifyToken(this::asEditHtml);
getDataConfig(form).ifPresent(
entity -> {
try {
dataConfigService.store(entity);
saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
getDataConfig(form).ifPresent(entity -> {
try {
dataConfigService.store(entity);
saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateInstance(GLOBAL), this::asEditHtml);
});
return redirect(getClass());
@ -252,16 +233,15 @@ public class AdminDataconfigAction extends FessAdminAction {
verifyCrudMode(form.crudMode, CrudMode.EDIT);
validate(form, messages -> {}, this::asEditHtml);
verifyToken(this::asEditHtml);
getDataConfig(form).ifPresent(
entity -> {
try {
dataConfigService.store(entity);
saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
getDataConfig(form).ifPresent(entity -> {
try {
dataConfigService.store(entity);
saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, form.id), this::asEditHtml);
});
return redirect(getClass());
@ -274,20 +254,15 @@ public class AdminDataconfigAction extends FessAdminAction {
validate(form, messages -> {}, this::asDetailsHtml);
verifyToken(this::asDetailsHtml);
final String id = form.id;
dataConfigService
.getDataConfig(id)
.ifPresent(
entity -> {
try {
dataConfigService.delete(entity);
saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(
messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
})
.orElse(() -> throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), this::asDetailsHtml));
dataConfigService.getDataConfig(id).ifPresent(entity -> {
try {
dataConfigService.delete(entity);
saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), this::asDetailsHtml));
return redirect(getClass());
}
@ -317,23 +292,20 @@ public class AdminDataconfigAction extends FessAdminAction {
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;
});
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;
});
}
protected void registerRolesAndLabels(final RenderData data) {

View file

@ -154,15 +154,12 @@ public class AdminDictKuromojiAction extends FessAdminAction {
@Secured({ ROLE })
public HtmlResponse edit(final EditForm form) {
validate(form, messages -> {}, () -> asListHtml(form.dictId));
kuromojiService
.getKuromojiItem(form.dictId, form.id)
.ifPresent(entity -> {
copyBeanToBean(entity, form, op -> {});
})
.orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, form.getDisplayId()),
() -> asListHtml(form.dictId));
});
kuromojiService.getKuromojiItem(form.dictId, form.id).ifPresent(entity -> {
copyBeanToBean(entity, form, op -> {});
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, form.getDisplayId()),
() -> asListHtml(form.dictId));
});
saveToken();
if (form.crudMode.intValue() == CrudMode.EDIT) {
// back
@ -182,26 +179,20 @@ public class AdminDictKuromojiAction extends FessAdminAction {
public HtmlResponse details(final String dictId, final int crudMode, final long id) {
verifyCrudMode(crudMode, CrudMode.DETAILS, dictId);
saveToken();
return asDetailsHtml().useForm(
EditForm.class,
op -> {
op.setup(form -> {
kuromojiService
.getKuromojiItem(dictId, id)
.ifPresent(entity -> {
copyBeanToBean(entity, form, copyOp -> {
copyOp.excludeNull();
});
form.crudMode = crudMode;
})
.orElse(() -> {
throwValidationError(
messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, dictId + ":" + id),
() -> asListHtml(dictId));
});
form.dictId = dictId;
return asDetailsHtml().useForm(EditForm.class, op -> {
op.setup(form -> {
kuromojiService.getKuromojiItem(dictId, id).ifPresent(entity -> {
copyBeanToBean(entity, form, copyOp -> {
copyOp.excludeNull();
});
form.crudMode = crudMode;
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, dictId + ":" + id),
() -> asListHtml(dictId));
});
form.dictId = dictId;
});
});
}
// -----------------------------------------------------
@ -229,17 +220,14 @@ public class AdminDictKuromojiAction extends FessAdminAction {
public ActionResponse download(final DownloadForm form) {
validate(form, messages -> {}, () -> downloadpage(form.dictId));
verifyTokenKeep(() -> downloadpage(form.dictId));
return kuromojiService
.getKuromojiFile(form.dictId)
return kuromojiService.getKuromojiFile(form.dictId)
.map(file -> asStream(new File(file.getPath()).getName()).contentTypeOctetStream().stream(out -> {
file.writeOut(out);
}))
.orElseGet(
() -> {
throwValidationError(messages -> messages.addErrorsFailedToDownloadKuromojiFile(GLOBAL),
() -> downloadpage(form.dictId));
return null;
});
})).orElseGet(() -> {
throwValidationError(messages -> messages.addErrorsFailedToDownloadKuromojiFile(GLOBAL),
() -> downloadpage(form.dictId));
return null;
});
}
// -----------------------------------------------------
@ -267,21 +255,19 @@ public class AdminDictKuromojiAction extends FessAdminAction {
public HtmlResponse upload(final UploadForm form) {
validate(form, messages -> {}, () -> uploadpage(form.dictId));
verifyToken(() -> uploadpage(form.dictId));
return kuromojiService
.getKuromojiFile(form.dictId)
.map(file -> {
try (InputStream inputStream = form.kuromojiFile.getInputStream()) {
file.update(inputStream);
} catch (final IOException e) {
throwValidationError(messages -> messages.addErrorsFailedToUploadKuromojiFile(GLOBAL),
() -> redirectWith(getClass(), moreUrl("uploadpage/" + form.dictId)));
}
saveInfo(messages -> messages.addSuccessUploadKuromojiFile(GLOBAL));
return redirectWith(getClass(), moreUrl("list/1").params("dictId", form.dictId));
}).orElseGet(() -> {
throwValidationError(messages -> messages.addErrorsFailedToUploadKuromojiFile(GLOBAL), () -> uploadpage(form.dictId));
return null;
});
return kuromojiService.getKuromojiFile(form.dictId).map(file -> {
try (InputStream inputStream = form.kuromojiFile.getInputStream()) {
file.update(inputStream);
} catch (final IOException e) {
throwValidationError(messages -> messages.addErrorsFailedToUploadKuromojiFile(GLOBAL),
() -> redirectWith(getClass(), moreUrl("uploadpage/" + form.dictId)));
}
saveInfo(messages -> messages.addSuccessUploadKuromojiFile(GLOBAL));
return redirectWith(getClass(), moreUrl("list/1").params("dictId", form.dictId));
}).orElseGet(() -> {
throwValidationError(messages -> messages.addErrorsFailedToUploadKuromojiFile(GLOBAL), () -> uploadpage(form.dictId));
return null;
});
}
@ -294,16 +280,15 @@ public class AdminDictKuromojiAction extends FessAdminAction {
verifyCrudMode(form.crudMode, CrudMode.CREATE, form.dictId);
validate(form, messages -> {}, this::asEditHtml);
verifyToken(this::asEditHtml);
createKuromojiItem(form, this::asEditHtml).ifPresent(
entity -> {
try {
kuromojiService.store(form.dictId, entity);
saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
createKuromojiItem(form, this::asEditHtml).ifPresent(entity -> {
try {
kuromojiService.store(form.dictId, entity);
saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateInstance(GLOBAL), this::asEditHtml);
});
return redirectWith(getClass(), moreUrl("list/1").params("dictId", form.dictId));
@ -315,16 +300,15 @@ public class AdminDictKuromojiAction extends FessAdminAction {
verifyCrudMode(form.crudMode, CrudMode.EDIT, form.dictId);
validate(form, messages -> {}, this::asEditHtml);
verifyToken(this::asEditHtml);
createKuromojiItem(form, this::asEditHtml).ifPresent(
entity -> {
try {
kuromojiService.store(form.dictId, entity);
saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
createKuromojiItem(form, this::asEditHtml).ifPresent(entity -> {
try {
kuromojiService.store(form.dictId, entity);
saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, form.getDisplayId()), this::asEditHtml);
});
return redirectWith(getClass(), moreUrl("list/1").params("dictId", form.dictId));
@ -336,23 +320,17 @@ public class AdminDictKuromojiAction extends FessAdminAction {
verifyCrudMode(form.crudMode, CrudMode.DETAILS, form.dictId);
validate(form, messages -> {}, this::asDetailsHtml);
verifyToken(this::asDetailsHtml);
kuromojiService
.getKuromojiItem(form.dictId, form.id)
.ifPresent(
entity -> {
try {
kuromojiService.delete(form.dictId, entity);
saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(
messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
})
.orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, form.getDisplayId()),
this::asDetailsHtml);
});
kuromojiService.getKuromojiItem(form.dictId, form.id).ifPresent(entity -> {
try {
kuromojiService.delete(form.dictId, entity);
saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, form.getDisplayId()), this::asDetailsHtml);
});
return redirectWith(getClass(), moreUrl("list/1").params("dictId", form.dictId));
}
@ -385,7 +363,8 @@ public class AdminDictKuromojiAction extends FessAdminAction {
}
}
public static OptionalEntity<KuromojiItem> createKuromojiItem(final FessBaseAction action, final CreateForm form, final VaErrorHook hook) {
public static OptionalEntity<KuromojiItem> createKuromojiItem(final FessBaseAction action, final CreateForm form,
final VaErrorHook hook) {
return getEntity(form).map(entity -> {
entity.setNewToken(form.token);
entity.setNewSegmentation(form.segmentation);

View file

@ -156,16 +156,13 @@ public class AdminDictMappingAction extends FessAdminAction {
@Secured({ ROLE })
public HtmlResponse edit(final EditForm form) {
validate(form, messages -> {}, () -> asListHtml(form.dictId));
charMappingService
.getCharMappingItem(form.dictId, form.id)
.ifPresent(entity -> {
form.inputs = entity.getInputsValue();
form.output = entity.getOutput();
})
.orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, form.getDisplayId()),
() -> asListHtml(form.dictId));
});
charMappingService.getCharMappingItem(form.dictId, form.id).ifPresent(entity -> {
form.inputs = entity.getInputsValue();
form.output = entity.getOutput();
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, form.getDisplayId()),
() -> asListHtml(form.dictId));
});
saveToken();
if (form.crudMode.intValue() == CrudMode.EDIT) {
// back
@ -185,26 +182,20 @@ public class AdminDictMappingAction extends FessAdminAction {
public HtmlResponse details(final String dictId, final int crudMode, final long id) {
verifyCrudMode(crudMode, CrudMode.DETAILS, dictId);
saveToken();
return asDetailsHtml().useForm(
EditForm.class,
op -> {
op.setup(form -> {
charMappingService
.getCharMappingItem(dictId, id)
.ifPresent(entity -> {
form.inputs = entity.getInputsValue();
form.output = entity.getOutput();
})
.orElse(() -> {
throwValidationError(
messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, dictId + ":" + id),
() -> asListHtml(dictId));
});
form.id = id;
form.crudMode = crudMode;
form.dictId = dictId;
});
return asDetailsHtml().useForm(EditForm.class, op -> {
op.setup(form -> {
charMappingService.getCharMappingItem(dictId, id).ifPresent(entity -> {
form.inputs = entity.getInputsValue();
form.output = entity.getOutput();
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, dictId + ":" + id),
() -> asListHtml(dictId));
});
form.id = id;
form.crudMode = crudMode;
form.dictId = dictId;
});
});
}
// -----------------------------------------------------
@ -232,17 +223,14 @@ public class AdminDictMappingAction extends FessAdminAction {
public ActionResponse download(final DownloadForm form) {
validate(form, messages -> {}, () -> downloadpage(form.dictId));
verifyTokenKeep(() -> downloadpage(form.dictId));
return charMappingService
.getCharMappingFile(form.dictId)
return charMappingService.getCharMappingFile(form.dictId)
.map(file -> asStream(new File(file.getPath()).getName()).contentTypeOctetStream().stream(out -> {
file.writeOut(out);
}))
.orElseGet(
() -> {
throwValidationError(messages -> messages.addErrorsFailedToDownloadMappingFile(GLOBAL),
() -> downloadpage(form.dictId));
return null;
});
})).orElseGet(() -> {
throwValidationError(messages -> messages.addErrorsFailedToDownloadMappingFile(GLOBAL),
() -> downloadpage(form.dictId));
return null;
});
}
// -----------------------------------------------------
@ -270,21 +258,19 @@ public class AdminDictMappingAction extends FessAdminAction {
public HtmlResponse upload(final UploadForm form) {
validate(form, messages -> {}, () -> uploadpage(form.dictId));
verifyToken(() -> uploadpage(form.dictId));
return charMappingService
.getCharMappingFile(form.dictId)
.map(file -> {
try (InputStream inputStream = form.charMappingFile.getInputStream()) {
file.update(inputStream);
} catch (final IOException e) {
throwValidationError(messages -> messages.addErrorsFailedToUploadMappingFile(GLOBAL),
() -> redirectWith(getClass(), moreUrl("uploadpage/" + form.dictId)));
}
saveInfo(messages -> messages.addSuccessUploadMappingFile(GLOBAL));
return redirectWith(getClass(), moreUrl("list/1").params("dictId", form.dictId));
}).orElseGet(() -> {
throwValidationError(messages -> messages.addErrorsFailedToUploadMappingFile(GLOBAL), () -> uploadpage(form.dictId));
return null;
});
return charMappingService.getCharMappingFile(form.dictId).map(file -> {
try (InputStream inputStream = form.charMappingFile.getInputStream()) {
file.update(inputStream);
} catch (final IOException e) {
throwValidationError(messages -> messages.addErrorsFailedToUploadMappingFile(GLOBAL),
() -> redirectWith(getClass(), moreUrl("uploadpage/" + form.dictId)));
}
saveInfo(messages -> messages.addSuccessUploadMappingFile(GLOBAL));
return redirectWith(getClass(), moreUrl("list/1").params("dictId", form.dictId));
}).orElseGet(() -> {
throwValidationError(messages -> messages.addErrorsFailedToUploadMappingFile(GLOBAL), () -> uploadpage(form.dictId));
return null;
});
}
@ -297,16 +283,15 @@ public class AdminDictMappingAction extends FessAdminAction {
verifyCrudMode(form.crudMode, CrudMode.CREATE, form.dictId);
validate(form, messages -> {}, this::asEditHtml);
verifyToken(this::asEditHtml);
createCharMappingItem(form, this::asEditHtml).ifPresent(
entity -> {
try {
charMappingService.store(form.dictId, entity);
saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
createCharMappingItem(form, this::asEditHtml).ifPresent(entity -> {
try {
charMappingService.store(form.dictId, entity);
saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateInstance(GLOBAL), this::asEditHtml);
});
return redirectWith(getClass(), moreUrl("list/1").params("dictId", form.dictId));
@ -318,16 +303,15 @@ public class AdminDictMappingAction extends FessAdminAction {
verifyCrudMode(form.crudMode, CrudMode.EDIT, form.dictId);
validate(form, messages -> {}, this::asEditHtml);
verifyToken(this::asEditHtml);
createCharMappingItem(form, this::asEditHtml).ifPresent(
entity -> {
try {
charMappingService.store(form.dictId, entity);
saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
createCharMappingItem(form, this::asEditHtml).ifPresent(entity -> {
try {
charMappingService.store(form.dictId, entity);
saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, form.getDisplayId()), this::asEditHtml);
});
return redirectWith(getClass(), moreUrl("list/1").params("dictId", form.dictId));
@ -339,23 +323,17 @@ public class AdminDictMappingAction extends FessAdminAction {
verifyCrudMode(form.crudMode, CrudMode.DETAILS, form.dictId);
validate(form, messages -> {}, this::asDetailsHtml);
verifyToken(this::asDetailsHtml);
charMappingService
.getCharMappingItem(form.dictId, form.id)
.ifPresent(
entity -> {
try {
charMappingService.delete(form.dictId, entity);
saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(
messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
})
.orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, form.getDisplayId()),
this::asDetailsHtml);
});
charMappingService.getCharMappingItem(form.dictId, form.id).ifPresent(entity -> {
try {
charMappingService.delete(form.dictId, entity);
saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, form.getDisplayId()), this::asDetailsHtml);
});
return redirectWith(getClass(), moreUrl("list/1").params("dictId", form.dictId));
}

View file

@ -153,15 +153,12 @@ public class AdminDictProtwordsAction extends FessAdminAction {
@Secured({ ROLE })
public HtmlResponse edit(final EditForm form) {
validate(form, messages -> {}, () -> asListHtml(form.dictId));
protwordsService
.getProtwordsItem(form.dictId, form.id)
.ifPresent(entity -> {
form.input = entity.getInputValue();
})
.orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, form.getDisplayId()),
() -> asListHtml(form.dictId));
});
protwordsService.getProtwordsItem(form.dictId, form.id).ifPresent(entity -> {
form.input = entity.getInputValue();
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, form.getDisplayId()),
() -> asListHtml(form.dictId));
});
saveToken();
if (form.crudMode.intValue() == CrudMode.EDIT) {
// back
@ -181,25 +178,19 @@ public class AdminDictProtwordsAction extends FessAdminAction {
public HtmlResponse details(final String dictId, final int crudMode, final long id) {
verifyCrudMode(crudMode, CrudMode.DETAILS, dictId);
saveToken();
return asDetailsHtml().useForm(
EditForm.class,
op -> {
op.setup(form -> {
protwordsService
.getProtwordsItem(dictId, id)
.ifPresent(entity -> {
form.input = entity.getInputValue();
})
.orElse(() -> {
throwValidationError(
messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, dictId + ":" + id),
() -> asListHtml(dictId));
});
form.id = id;
form.crudMode = crudMode;
form.dictId = dictId;
});
return asDetailsHtml().useForm(EditForm.class, op -> {
op.setup(form -> {
protwordsService.getProtwordsItem(dictId, id).ifPresent(entity -> {
form.input = entity.getInputValue();
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, dictId + ":" + id),
() -> asListHtml(dictId));
});
form.id = id;
form.crudMode = crudMode;
form.dictId = dictId;
});
});
}
// -----------------------------------------------------
@ -227,17 +218,14 @@ public class AdminDictProtwordsAction extends FessAdminAction {
public ActionResponse download(final DownloadForm form) {
validate(form, messages -> {}, () -> downloadpage(form.dictId));
verifyTokenKeep(() -> downloadpage(form.dictId));
return protwordsService
.getProtwordsFile(form.dictId)
return protwordsService.getProtwordsFile(form.dictId)
.map(file -> asStream(new File(file.getPath()).getName()).contentTypeOctetStream().stream(out -> {
file.writeOut(out);
}))
.orElseGet(
() -> {
throwValidationError(messages -> messages.addErrorsFailedToDownloadProtwordsFile(GLOBAL),
() -> downloadpage(form.dictId));
return null;
});
})).orElseGet(() -> {
throwValidationError(messages -> messages.addErrorsFailedToDownloadProtwordsFile(GLOBAL),
() -> downloadpage(form.dictId));
return null;
});
}
// -----------------------------------------------------
@ -265,21 +253,19 @@ public class AdminDictProtwordsAction extends FessAdminAction {
public HtmlResponse upload(final UploadForm form) {
validate(form, messages -> {}, () -> uploadpage(form.dictId));
verifyToken(() -> uploadpage(form.dictId));
return protwordsService
.getProtwordsFile(form.dictId)
.map(file -> {
try (InputStream inputStream = form.protwordsFile.getInputStream()) {
file.update(inputStream);
} catch (final IOException e) {
throwValidationError(messages -> messages.addErrorsFailedToUploadProtwordsFile(GLOBAL),
() -> redirectWith(getClass(), moreUrl("uploadpage/" + form.dictId)));
}
saveInfo(messages -> messages.addSuccessUploadProtwordsFile(GLOBAL));
return redirectWith(getClass(), moreUrl("list/1").params("dictId", form.dictId));
}).orElseGet(() -> {
throwValidationError(messages -> messages.addErrorsFailedToUploadProtwordsFile(GLOBAL), () -> uploadpage(form.dictId));
return null;
});
return protwordsService.getProtwordsFile(form.dictId).map(file -> {
try (InputStream inputStream = form.protwordsFile.getInputStream()) {
file.update(inputStream);
} catch (final IOException e) {
throwValidationError(messages -> messages.addErrorsFailedToUploadProtwordsFile(GLOBAL),
() -> redirectWith(getClass(), moreUrl("uploadpage/" + form.dictId)));
}
saveInfo(messages -> messages.addSuccessUploadProtwordsFile(GLOBAL));
return redirectWith(getClass(), moreUrl("list/1").params("dictId", form.dictId));
}).orElseGet(() -> {
throwValidationError(messages -> messages.addErrorsFailedToUploadProtwordsFile(GLOBAL), () -> uploadpage(form.dictId));
return null;
});
}
@ -308,9 +294,8 @@ public class AdminDictProtwordsAction extends FessAdminAction {
createProtwordsItem(form, this::asEditHtml).ifPresent(entity -> {
protwordsService.store(form.dictId, entity);
saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
}).orElse(
() -> throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, form.getDisplayId()),
this::asEditHtml));
}).orElse(() -> throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, form.getDisplayId()),
this::asEditHtml));
return redirectWith(getClass(), moreUrl("list/1").params("dictId", form.dictId));
}
@ -320,16 +305,12 @@ public class AdminDictProtwordsAction extends FessAdminAction {
verifyCrudMode(form.crudMode, CrudMode.DETAILS, form.dictId);
validate(form, messages -> {}, this::asDetailsHtml);
verifyToken(this::asDetailsHtml);
protwordsService
.getProtwordsItem(form.dictId, form.id)
.ifPresent(entity -> {
protwordsService.delete(form.dictId, entity);
saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
})
.orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, form.getDisplayId()),
this::asDetailsHtml);
});
protwordsService.getProtwordsItem(form.dictId, form.id).ifPresent(entity -> {
protwordsService.delete(form.dictId, entity);
saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, form.getDisplayId()), this::asDetailsHtml);
});
return redirectWith(getClass(), moreUrl("list/1").params("dictId", form.dictId));
}

View file

@ -154,16 +154,13 @@ public class AdminDictStemmeroverrideAction extends FessAdminAction {
@Secured({ ROLE })
public HtmlResponse edit(final EditForm form) {
validate(form, messages -> {}, () -> asListHtml(form.dictId));
stemmerOverrideService
.getStemmerOverrideItem(form.dictId, form.id)
.ifPresent(entity -> {
form.input = entity.getInput();
form.output = entity.getOutput();
})
.orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, form.getDisplayId()),
() -> asListHtml(form.dictId));
});
stemmerOverrideService.getStemmerOverrideItem(form.dictId, form.id).ifPresent(entity -> {
form.input = entity.getInput();
form.output = entity.getOutput();
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, form.getDisplayId()),
() -> asListHtml(form.dictId));
});
saveToken();
if (form.crudMode.intValue() == CrudMode.EDIT) {
// back
@ -183,26 +180,20 @@ public class AdminDictStemmeroverrideAction extends FessAdminAction {
public HtmlResponse details(final String dictId, final int crudMode, final long id) {
verifyCrudMode(crudMode, CrudMode.DETAILS, dictId);
saveToken();
return asDetailsHtml().useForm(
EditForm.class,
op -> {
op.setup(form -> {
stemmerOverrideService
.getStemmerOverrideItem(dictId, id)
.ifPresent(entity -> {
form.input = entity.getInput();
form.output = entity.getOutput();
})
.orElse(() -> {
throwValidationError(
messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, dictId + ":" + id),
() -> asListHtml(dictId));
});
form.id = id;
form.crudMode = crudMode;
form.dictId = dictId;
});
return asDetailsHtml().useForm(EditForm.class, op -> {
op.setup(form -> {
stemmerOverrideService.getStemmerOverrideItem(dictId, id).ifPresent(entity -> {
form.input = entity.getInput();
form.output = entity.getOutput();
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, dictId + ":" + id),
() -> asListHtml(dictId));
});
form.id = id;
form.crudMode = crudMode;
form.dictId = dictId;
});
});
}
// -----------------------------------------------------
@ -230,17 +221,14 @@ public class AdminDictStemmeroverrideAction extends FessAdminAction {
public ActionResponse download(final DownloadForm form) {
validate(form, messages -> {}, () -> downloadpage(form.dictId));
verifyTokenKeep(() -> downloadpage(form.dictId));
return stemmerOverrideService
.getStemmerOverrideFile(form.dictId)
return stemmerOverrideService.getStemmerOverrideFile(form.dictId)
.map(file -> asStream(new File(file.getPath()).getName()).contentTypeOctetStream().stream(out -> {
file.writeOut(out);
}))
.orElseGet(
() -> {
throwValidationError(messages -> messages.addErrorsFailedToDownloadStemmeroverrideFile(GLOBAL),
() -> downloadpage(form.dictId));
return null;
});
})).orElseGet(() -> {
throwValidationError(messages -> messages.addErrorsFailedToDownloadStemmeroverrideFile(GLOBAL),
() -> downloadpage(form.dictId));
return null;
});
}
// -----------------------------------------------------
@ -268,24 +256,19 @@ public class AdminDictStemmeroverrideAction extends FessAdminAction {
public HtmlResponse upload(final UploadForm form) {
validate(form, messages -> {}, () -> uploadpage(form.dictId));
verifyToken(() -> uploadpage(form.dictId));
return stemmerOverrideService
.getStemmerOverrideFile(form.dictId)
.map(file -> {
try (InputStream inputStream = form.stemmerOverrideFile.getInputStream()) {
file.update(inputStream);
} catch (final IOException e) {
throwValidationError(messages -> messages.addErrorsFailedToUploadStemmeroverrideFile(GLOBAL),
() -> redirectWith(getClass(), moreUrl("uploadpage/" + form.dictId)));
}
saveInfo(messages -> messages.addSuccessUploadStemmeroverrideFile(GLOBAL));
return redirectWith(getClass(), moreUrl("list/1").params("dictId", form.dictId));
})
.orElseGet(
() -> {
throwValidationError(messages -> messages.addErrorsFailedToUploadStemmeroverrideFile(GLOBAL),
() -> uploadpage(form.dictId));
return null;
});
return stemmerOverrideService.getStemmerOverrideFile(form.dictId).map(file -> {
try (InputStream inputStream = form.stemmerOverrideFile.getInputStream()) {
file.update(inputStream);
} catch (final IOException e) {
throwValidationError(messages -> messages.addErrorsFailedToUploadStemmeroverrideFile(GLOBAL),
() -> redirectWith(getClass(), moreUrl("uploadpage/" + form.dictId)));
}
saveInfo(messages -> messages.addSuccessUploadStemmeroverrideFile(GLOBAL));
return redirectWith(getClass(), moreUrl("list/1").params("dictId", form.dictId));
}).orElseGet(() -> {
throwValidationError(messages -> messages.addErrorsFailedToUploadStemmeroverrideFile(GLOBAL), () -> uploadpage(form.dictId));
return null;
});
}
@ -298,16 +281,15 @@ public class AdminDictStemmeroverrideAction extends FessAdminAction {
verifyCrudMode(form.crudMode, CrudMode.CREATE, form.dictId);
validate(form, messages -> {}, this::asEditHtml);
verifyToken(this::asEditHtml);
createStemmerOverrideItem(form, this::asEditHtml).ifPresent(
entity -> {
try {
stemmerOverrideService.store(form.dictId, entity);
saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
createStemmerOverrideItem(form, this::asEditHtml).ifPresent(entity -> {
try {
stemmerOverrideService.store(form.dictId, entity);
saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateInstance(GLOBAL), this::asEditHtml);
});
return redirectWith(getClass(), moreUrl("list/1").params("dictId", form.dictId));
@ -319,16 +301,15 @@ public class AdminDictStemmeroverrideAction extends FessAdminAction {
verifyCrudMode(form.crudMode, CrudMode.EDIT, form.dictId);
validate(form, messages -> {}, this::asEditHtml);
verifyToken(this::asEditHtml);
createStemmerOverrideItem(form, this::asEditHtml).ifPresent(
entity -> {
try {
stemmerOverrideService.store(form.dictId, entity);
saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
createStemmerOverrideItem(form, this::asEditHtml).ifPresent(entity -> {
try {
stemmerOverrideService.store(form.dictId, entity);
saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
saveToken();
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, form.getDisplayId()), this::asEditHtml);
});
@ -341,23 +322,17 @@ public class AdminDictStemmeroverrideAction extends FessAdminAction {
verifyCrudMode(form.crudMode, CrudMode.DETAILS, form.dictId);
validate(form, messages -> {}, this::asDetailsHtml);
verifyToken(this::asDetailsHtml);
stemmerOverrideService
.getStemmerOverrideItem(form.dictId, form.id)
.ifPresent(
entity -> {
try {
stemmerOverrideService.delete(form.dictId, entity);
saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(
messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
})
.orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, form.getDisplayId()),
this::asDetailsHtml);
});
stemmerOverrideService.getStemmerOverrideItem(form.dictId, form.id).ifPresent(entity -> {
try {
stemmerOverrideService.delete(form.dictId, entity);
saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, form.getDisplayId()), this::asDetailsHtml);
});
return redirectWith(getClass(), moreUrl("list/1").params("dictId", form.dictId));
}
@ -419,11 +394,10 @@ public class AdminDictStemmeroverrideAction extends FessAdminAction {
}
private HtmlResponse asListHtml(final String dictId) {
return asHtml(path_AdminDictStemmeroverride_AdminDictStemmeroverrideJsp).renderWith(
data -> {
RenderDataUtil.register(data, "stemmerOverrideItemItems",
stemmerOverrideService.getStemmerOverrideList(dictId, stemmerOverridePager));
}).useForm(SearchForm.class, setup -> {
return asHtml(path_AdminDictStemmeroverride_AdminDictStemmeroverrideJsp).renderWith(data -> {
RenderDataUtil.register(data, "stemmerOverrideItemItems",
stemmerOverrideService.getStemmerOverrideList(dictId, stemmerOverridePager));
}).useForm(SearchForm.class, setup -> {
setup.setup(form -> {
copyBeanToBean(stemmerOverridePager, form, op -> op.include("id"));
});

View file

@ -151,15 +151,12 @@ public class AdminDictStopwordsAction extends FessAdminAction {
@Secured({ ROLE })
public HtmlResponse edit(final EditForm form) {
validate(form, messages -> {}, () -> asListHtml(form.dictId));
stopwordsService
.getStopwordsItem(form.dictId, form.id)
.ifPresent(entity -> {
form.input = entity.getInputValue();
})
.orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, form.getDisplayId()),
() -> asListHtml(form.dictId));
});
stopwordsService.getStopwordsItem(form.dictId, form.id).ifPresent(entity -> {
form.input = entity.getInputValue();
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, form.getDisplayId()),
() -> asListHtml(form.dictId));
});
saveToken();
if (form.crudMode.intValue() == CrudMode.EDIT) {
// back
@ -179,25 +176,19 @@ public class AdminDictStopwordsAction extends FessAdminAction {
public HtmlResponse details(final String dictId, final int crudMode, final long id) {
verifyCrudMode(crudMode, CrudMode.DETAILS, dictId);
saveToken();
return asDetailsHtml().useForm(
EditForm.class,
op -> {
op.setup(form -> {
stopwordsService
.getStopwordsItem(dictId, id)
.ifPresent(entity -> {
form.input = entity.getInputValue();
})
.orElse(() -> {
throwValidationError(
messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, dictId + ":" + id),
() -> asListHtml(dictId));
});
form.id = id;
form.crudMode = crudMode;
form.dictId = dictId;
});
return asDetailsHtml().useForm(EditForm.class, op -> {
op.setup(form -> {
stopwordsService.getStopwordsItem(dictId, id).ifPresent(entity -> {
form.input = entity.getInputValue();
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, dictId + ":" + id),
() -> asListHtml(dictId));
});
form.id = id;
form.crudMode = crudMode;
form.dictId = dictId;
});
});
}
// -----------------------------------------------------
@ -225,17 +216,14 @@ public class AdminDictStopwordsAction extends FessAdminAction {
public ActionResponse download(final DownloadForm form) {
validate(form, messages -> {}, () -> downloadpage(form.dictId));
verifyTokenKeep(() -> downloadpage(form.dictId));
return stopwordsService
.getStopwordsFile(form.dictId)
return stopwordsService.getStopwordsFile(form.dictId)
.map(file -> asStream(new File(file.getPath()).getName()).contentTypeOctetStream().stream(out -> {
file.writeOut(out);
}))
.orElseGet(
() -> {
throwValidationError(messages -> messages.addErrorsFailedToDownloadStopwordsFile(GLOBAL),
() -> downloadpage(form.dictId));
return null;
});
})).orElseGet(() -> {
throwValidationError(messages -> messages.addErrorsFailedToDownloadStopwordsFile(GLOBAL),
() -> downloadpage(form.dictId));
return null;
});
}
// -----------------------------------------------------
@ -263,21 +251,19 @@ public class AdminDictStopwordsAction extends FessAdminAction {
public HtmlResponse upload(final UploadForm form) {
validate(form, messages -> {}, () -> uploadpage(form.dictId));
verifyToken(() -> uploadpage(form.dictId));
return stopwordsService
.getStopwordsFile(form.dictId)
.map(file -> {
try (InputStream inputStream = form.stopwordsFile.getInputStream()) {
file.update(inputStream);
} catch (final IOException e) {
throwValidationError(messages -> messages.addErrorsFailedToUploadStopwordsFile(GLOBAL),
() -> redirectWith(getClass(), moreUrl("uploadpage/" + form.dictId)));
}
saveInfo(messages -> messages.addSuccessUploadStopwordsFile(GLOBAL));
return redirectWith(getClass(), moreUrl("list/1").params("dictId", form.dictId));
}).orElseGet(() -> {
throwValidationError(messages -> messages.addErrorsFailedToUploadStopwordsFile(GLOBAL), () -> uploadpage(form.dictId));
return null;
});
return stopwordsService.getStopwordsFile(form.dictId).map(file -> {
try (InputStream inputStream = form.stopwordsFile.getInputStream()) {
file.update(inputStream);
} catch (final IOException e) {
throwValidationError(messages -> messages.addErrorsFailedToUploadStopwordsFile(GLOBAL),
() -> redirectWith(getClass(), moreUrl("uploadpage/" + form.dictId)));
}
saveInfo(messages -> messages.addSuccessUploadStopwordsFile(GLOBAL));
return redirectWith(getClass(), moreUrl("list/1").params("dictId", form.dictId));
}).orElseGet(() -> {
throwValidationError(messages -> messages.addErrorsFailedToUploadStopwordsFile(GLOBAL), () -> uploadpage(form.dictId));
return null;
});
}
@ -306,9 +292,8 @@ public class AdminDictStopwordsAction extends FessAdminAction {
createStopwordsItem(form, this::asEditHtml).ifPresent(entity -> {
stopwordsService.store(form.dictId, entity);
saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
}).orElse(
() -> throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, form.getDisplayId()),
this::asEditHtml));
}).orElse(() -> throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, form.getDisplayId()),
this::asEditHtml));
return redirectWith(getClass(), moreUrl("list/1").params("dictId", form.dictId));
}
@ -318,16 +303,12 @@ public class AdminDictStopwordsAction extends FessAdminAction {
verifyCrudMode(form.crudMode, CrudMode.DETAILS, form.dictId);
validate(form, messages -> {}, this::asDetailsHtml);
verifyToken(this::asDetailsHtml);
stopwordsService
.getStopwordsItem(form.dictId, form.id)
.ifPresent(entity -> {
stopwordsService.delete(form.dictId, entity);
saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
})
.orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, form.getDisplayId()),
this::asDetailsHtml);
});
stopwordsService.getStopwordsItem(form.dictId, form.id).ifPresent(entity -> {
stopwordsService.delete(form.dictId, entity);
saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, form.getDisplayId()), this::asDetailsHtml);
});
return redirectWith(getClass(), moreUrl("list/1").params("dictId", form.dictId));
}

View file

@ -156,16 +156,13 @@ public class AdminDictSynonymAction extends FessAdminAction {
@Secured({ ROLE })
public HtmlResponse edit(final EditForm form) {
validate(form, messages -> {}, () -> asListHtml(form.dictId));
synonymService
.getSynonymItem(form.dictId, form.id)
.ifPresent(entity -> {
form.inputs = entity.getInputsValue();
form.outputs = entity.getOutputsValue();
})
.orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, form.getDisplayId()),
() -> asListHtml(form.dictId));
});
synonymService.getSynonymItem(form.dictId, form.id).ifPresent(entity -> {
form.inputs = entity.getInputsValue();
form.outputs = entity.getOutputsValue();
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, form.getDisplayId()),
() -> asListHtml(form.dictId));
});
saveToken();
if (form.crudMode.intValue() == CrudMode.EDIT) {
// back
@ -185,26 +182,20 @@ public class AdminDictSynonymAction extends FessAdminAction {
public HtmlResponse details(final String dictId, final int crudMode, final long id) {
verifyCrudMode(crudMode, CrudMode.DETAILS, dictId);
saveToken();
return asDetailsHtml().useForm(
EditForm.class,
op -> {
op.setup(form -> {
synonymService
.getSynonymItem(dictId, id)
.ifPresent(entity -> {
form.inputs = entity.getInputsValue();
form.outputs = entity.getOutputsValue();
})
.orElse(() -> {
throwValidationError(
messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, dictId + ":" + id),
() -> asListHtml(dictId));
});
form.id = id;
form.crudMode = crudMode;
form.dictId = dictId;
});
return asDetailsHtml().useForm(EditForm.class, op -> {
op.setup(form -> {
synonymService.getSynonymItem(dictId, id).ifPresent(entity -> {
form.inputs = entity.getInputsValue();
form.outputs = entity.getOutputsValue();
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, dictId + ":" + id),
() -> asListHtml(dictId));
});
form.id = id;
form.crudMode = crudMode;
form.dictId = dictId;
});
});
}
// -----------------------------------------------------
@ -232,17 +223,14 @@ public class AdminDictSynonymAction extends FessAdminAction {
public ActionResponse download(final DownloadForm form) {
validate(form, messages -> {}, () -> downloadpage(form.dictId));
verifyTokenKeep(() -> downloadpage(form.dictId));
return synonymService
.getSynonymFile(form.dictId)
return synonymService.getSynonymFile(form.dictId)
.map(file -> asStream(new File(file.getPath()).getName()).contentTypeOctetStream().stream(out -> {
file.writeOut(out);
}))
.orElseGet(
() -> {
throwValidationError(messages -> messages.addErrorsFailedToDownloadSynonymFile(GLOBAL),
() -> downloadpage(form.dictId));
return null;
});
})).orElseGet(() -> {
throwValidationError(messages -> messages.addErrorsFailedToDownloadSynonymFile(GLOBAL),
() -> downloadpage(form.dictId));
return null;
});
}
// -----------------------------------------------------
@ -270,21 +258,19 @@ public class AdminDictSynonymAction extends FessAdminAction {
public HtmlResponse upload(final UploadForm form) {
validate(form, messages -> {}, () -> uploadpage(form.dictId));
verifyToken(() -> uploadpage(form.dictId));
return synonymService
.getSynonymFile(form.dictId)
.map(file -> {
try (InputStream inputStream = form.synonymFile.getInputStream()) {
file.update(inputStream);
} catch (final IOException e) {
throwValidationError(messages -> messages.addErrorsFailedToUploadSynonymFile(GLOBAL),
() -> redirectWith(getClass(), moreUrl("uploadpage/" + form.dictId)));
}
saveInfo(messages -> messages.addSuccessUploadSynonymFile(GLOBAL));
return redirectWith(getClass(), moreUrl("list/1").params("dictId", form.dictId));
}).orElseGet(() -> {
throwValidationError(messages -> messages.addErrorsFailedToUploadSynonymFile(GLOBAL), () -> uploadpage(form.dictId));
return null;
});
return synonymService.getSynonymFile(form.dictId).map(file -> {
try (InputStream inputStream = form.synonymFile.getInputStream()) {
file.update(inputStream);
} catch (final IOException e) {
throwValidationError(messages -> messages.addErrorsFailedToUploadSynonymFile(GLOBAL),
() -> redirectWith(getClass(), moreUrl("uploadpage/" + form.dictId)));
}
saveInfo(messages -> messages.addSuccessUploadSynonymFile(GLOBAL));
return redirectWith(getClass(), moreUrl("list/1").params("dictId", form.dictId));
}).orElseGet(() -> {
throwValidationError(messages -> messages.addErrorsFailedToUploadSynonymFile(GLOBAL), () -> uploadpage(form.dictId));
return null;
});
}
@ -297,16 +283,15 @@ public class AdminDictSynonymAction extends FessAdminAction {
verifyCrudMode(form.crudMode, CrudMode.CREATE, form.dictId);
validate(form, messages -> {}, this::asEditHtml);
verifyToken(this::asEditHtml);
createSynonymItem(form, this::asEditHtml).ifPresent(
entity -> {
try {
synonymService.store(form.dictId, entity);
saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
createSynonymItem(form, this::asEditHtml).ifPresent(entity -> {
try {
synonymService.store(form.dictId, entity);
saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateInstance(GLOBAL), this::asEditHtml);
});
return redirectWith(getClass(), moreUrl("list/1").params("dictId", form.dictId));
@ -318,16 +303,15 @@ public class AdminDictSynonymAction extends FessAdminAction {
verifyCrudMode(form.crudMode, CrudMode.EDIT, form.dictId);
validate(form, messages -> {}, this::asEditHtml);
verifyToken(this::asEditHtml);
createSynonymItem(form, this::asEditHtml).ifPresent(
entity -> {
try {
synonymService.store(form.dictId, entity);
saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
createSynonymItem(form, this::asEditHtml).ifPresent(entity -> {
try {
synonymService.store(form.dictId, entity);
saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
saveToken();
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, form.getDisplayId()), this::asEditHtml);
});
@ -340,23 +324,17 @@ public class AdminDictSynonymAction extends FessAdminAction {
verifyCrudMode(form.crudMode, CrudMode.DETAILS, form.dictId);
validate(form, messages -> {}, this::asDetailsHtml);
verifyToken(this::asDetailsHtml);
synonymService
.getSynonymItem(form.dictId, form.id)
.ifPresent(
entity -> {
try {
synonymService.delete(form.dictId, entity);
saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(
messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
})
.orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, form.getDisplayId()),
this::asDetailsHtml);
});
synonymService.getSynonymItem(form.dictId, form.id).ifPresent(entity -> {
try {
synonymService.delete(form.dictId, entity);
saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, form.getDisplayId()), this::asDetailsHtml);
});
return redirectWith(getClass(), moreUrl("list/1").params("dictId", form.dictId));
}
@ -389,7 +367,8 @@ public class AdminDictSynonymAction extends FessAdminAction {
}
}
public static OptionalEntity<SynonymItem> createSynonymItem(final FessBaseAction action, final CreateForm form, final VaErrorHook hook) {
public static OptionalEntity<SynonymItem> createSynonymItem(final FessBaseAction action, final CreateForm form,
final VaErrorHook hook) {
return getEntity(form).map(entity -> {
final String[] newInputs = splitLine(form.inputs);
validateSynonymString(action, newInputs, "inputs", hook);

View file

@ -181,16 +181,15 @@ public class AdminDuplicatehostAction extends FessAdminAction {
verifyCrudMode(form.crudMode, CrudMode.CREATE);
validate(form, messages -> {}, this::asEditHtml);
verifyToken(this::asEditHtml);
getDuplicateHost(form).ifPresent(
entity -> {
try {
duplicateHostService.store(entity);
saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
getDuplicateHost(form).ifPresent(entity -> {
try {
duplicateHostService.store(entity);
saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateInstance(GLOBAL), this::asEditHtml);
});
return redirect(getClass());
@ -202,16 +201,15 @@ public class AdminDuplicatehostAction extends FessAdminAction {
verifyCrudMode(form.crudMode, CrudMode.EDIT);
validate(form, messages -> {}, this::asEditHtml);
verifyToken(this::asEditHtml);
getDuplicateHost(form).ifPresent(
entity -> {
try {
duplicateHostService.store(entity);
saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
getDuplicateHost(form).ifPresent(entity -> {
try {
duplicateHostService.store(entity);
saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, form.id), this::asEditHtml);
});
return redirect(getClass());
@ -224,21 +222,17 @@ public class AdminDuplicatehostAction extends FessAdminAction {
validate(form, messages -> {}, this::asDetailsHtml);
verifyToken(this::asDetailsHtml);
final String id = form.id;
duplicateHostService
.getDuplicateHost(id)
.ifPresent(
entity -> {
try {
duplicateHostService.delete(entity);
saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(
messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), this::asDetailsHtml);
});
duplicateHostService.getDuplicateHost(id).ifPresent(entity -> {
try {
duplicateHostService.delete(entity);
saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), this::asDetailsHtml);
});
return redirect(getClass());
}
@ -294,7 +288,7 @@ public class AdminDuplicatehostAction extends FessAdminAction {
private HtmlResponse asListHtml() {
return asHtml(path_AdminDuplicatehost_AdminDuplicatehostJsp).renderWith(data -> {
RenderDataUtil.register(data, "duplicateHostItems", duplicateHostService.getDuplicateHostList(duplicateHostPager)); // page navi
}).useForm(SearchForm.class, setup -> {
}).useForm(SearchForm.class, setup -> {
setup.setup(form -> {
copyBeanToBean(duplicateHostPager, form, op -> op.include("regularName", "duplicateHostName"));
});

View file

@ -162,22 +162,17 @@ public class AdminElevatewordAction extends FessAdminAction {
public HtmlResponse edit(final EditForm form) {
validate(form, messages -> {}, this::asListHtml);
final String id = form.id;
elevateWordService
.getElevateWord(id)
.ifPresent(
entity -> {
copyBeanToBean(entity, form, copyOp -> {
copyOp.excludeNull();
copyOp.exclude(Constants.PERMISSIONS);
});
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")));
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), this::asListHtml);
});
elevateWordService.getElevateWord(id).ifPresent(entity -> {
copyBeanToBean(entity, form, copyOp -> {
copyOp.excludeNull();
copyOp.exclude(Constants.PERMISSIONS);
});
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")));
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), this::asListHtml);
});
saveToken();
if (form.crudMode.intValue() == CrudMode.EDIT) {
// back
@ -198,26 +193,17 @@ public class AdminElevatewordAction extends FessAdminAction {
verifyCrudMode(crudMode, CrudMode.DETAILS);
saveToken();
final PermissionHelper permissionHelper = ComponentUtil.getPermissionHelper();
return asHtml(path_AdminElevateword_AdminElevatewordDetailsJsp).useForm(
EditForm.class,
op -> op.setup(form -> {
elevateWordService
.getElevateWord(id)
.ifPresent(
entity -> {
copyBeanToBean(entity, form, copyOp -> {
copyOp.excludeNull();
copyOp.exclude(Constants.PERMISSIONS);
});
form.permissions =
stream(entity.getPermissions()).get(
stream -> stream.map(permissionHelper::decode).filter(StringUtil::isNotBlank)
.distinct().collect(Collectors.joining("\n")));
form.crudMode = crudMode;
})
.orElse(() -> throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id),
this::asListHtml));
})).renderWith(this::registerLabels);
return asHtml(path_AdminElevateword_AdminElevatewordDetailsJsp).useForm(EditForm.class, op -> op.setup(form -> {
elevateWordService.getElevateWord(id).ifPresent(entity -> {
copyBeanToBean(entity, form, copyOp -> {
copyOp.excludeNull();
copyOp.exclude(Constants.PERMISSIONS);
});
form.permissions = stream(entity.getPermissions()).get(stream -> stream.map(permissionHelper::decode)
.filter(StringUtil::isNotBlank).distinct().collect(Collectors.joining("\n")));
form.crudMode = crudMode;
}).orElse(() -> throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), this::asListHtml));
})).renderWith(this::registerLabels);
}
// -----------------------------------------------------
@ -271,18 +257,17 @@ public class AdminElevatewordAction extends FessAdminAction {
verifyCrudMode(form.crudMode, CrudMode.CREATE);
validate(form, messages -> {}, this::asEditHtml);
verifyToken(this::asEditHtml);
getElevateWord(form).ifPresent(
entity -> {
try {
elevateWordService.store(entity);
suggestHelper.addElevateWord(entity.getSuggestWord(), entity.getReading(), entity.getLabelTypeValues(),
entity.getPermissions(), entity.getBoost(), false);
saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
getElevateWord(form).ifPresent(entity -> {
try {
elevateWordService.store(entity);
suggestHelper.addElevateWord(entity.getSuggestWord(), entity.getReading(), entity.getLabelTypeValues(),
entity.getPermissions(), entity.getBoost(), false);
saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateInstance(GLOBAL), this::asEditHtml);
});
return redirect(getClass());
@ -294,18 +279,17 @@ public class AdminElevatewordAction extends FessAdminAction {
verifyCrudMode(form.crudMode, CrudMode.EDIT);
validate(form, messages -> {}, this::asEditHtml);
verifyToken(this::asEditHtml);
getElevateWord(form).ifPresent(
entity -> {
try {
elevateWordService.store(entity);
suggestHelper.deleteAllElevateWord(false);
suggestHelper.storeAllElevateWords(false);
saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
getElevateWord(form).ifPresent(entity -> {
try {
elevateWordService.store(entity);
suggestHelper.deleteAllElevateWord(false);
suggestHelper.storeAllElevateWords(false);
saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, form.id), this::asEditHtml);
});
return redirect(getClass());
@ -318,21 +302,16 @@ public class AdminElevatewordAction extends FessAdminAction {
validate(form, messages -> {}, this::asDetailsHtml);
verifyToken(this::asDetailsHtml);
final String id = form.id;
elevateWordService
.getElevateWord(id)
.ifPresent(
entity -> {
try {
elevateWordService.delete(entity);
suggestHelper.deleteElevateWord(entity.getSuggestWord(), false);
saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(
messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
})
.orElse(() -> throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), this::asDetailsHtml));
elevateWordService.getElevateWord(id).ifPresent(entity -> {
try {
elevateWordService.delete(entity);
suggestHelper.deleteElevateWord(entity.getSuggestWord(), false);
saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), this::asDetailsHtml));
return redirect(getClass());
}
@ -381,18 +360,16 @@ public class AdminElevatewordAction extends FessAdminAction {
final String username = systemHelper.getUsername();
final long currentTime = systemHelper.getCurrentTimeAsLong();
return getEntity(form, username, currentTime).map(
entity -> {
entity.setUpdatedBy(username);
entity.setUpdatedTime(currentTime);
BeanUtil.copyBeanToBean(form, entity, op -> op.exclude(Stream.concat(Stream.of(Constants.COMMON_CONVERSION_RULE),
Stream.of(Constants.PERMISSIONS)).toArray(n -> new String[n])));
final PermissionHelper permissionHelper = ComponentUtil.getPermissionHelper();
entity.setPermissions(split(form.permissions, "\n").get(
stream -> stream.map(permissionHelper::encode).filter(StringUtil::isNotBlank).distinct()
.toArray(n -> new String[n])));
return entity;
});
return getEntity(form, username, currentTime).map(entity -> {
entity.setUpdatedBy(username);
entity.setUpdatedTime(currentTime);
BeanUtil.copyBeanToBean(form, entity, op -> op.exclude(Stream
.concat(Stream.of(Constants.COMMON_CONVERSION_RULE), Stream.of(Constants.PERMISSIONS)).toArray(n -> new String[n])));
final PermissionHelper permissionHelper = ComponentUtil.getPermissionHelper();
entity.setPermissions(split(form.permissions, "\n").get(
stream -> stream.map(permissionHelper::encode).filter(StringUtil::isNotBlank).distinct().toArray(n -> new String[n])));
return entity;
});
}
protected void registerLabels(final RenderData data) {
@ -420,7 +397,7 @@ public class AdminElevatewordAction extends FessAdminAction {
private HtmlResponse asListHtml() {
return asHtml(path_AdminElevateword_AdminElevatewordJsp).renderWith(data -> {
RenderDataUtil.register(data, "elevateWordItems", elevateWordService.getElevateWordList(elevateWordPager)); // page navi
}).useForm(SearchForm.class, setup -> {
}).useForm(SearchForm.class, setup -> {
setup.setup(form -> {
copyBeanToBean(elevateWordPager, form, op -> op.include("id"));
});

View file

@ -178,7 +178,7 @@ public class AdminFailureurlAction extends FessAdminAction {
private HtmlResponse asListHtml() {
return asHtml(path_AdminFailureurl_AdminFailureurlJsp).renderWith(data -> {
RenderDataUtil.register(data, "failureUrlItems", failureUrlService.getFailureUrlList(failureUrlPager)); // page navi
}).useForm(SearchForm.class, setup -> {
}).useForm(SearchForm.class, setup -> {
setup.setup(form -> {
copyBeanToBean(failureUrlPager, form, op -> op.include("url", "errorCountMin", "errorCountMax", "errorName"));
});

View file

@ -196,16 +196,15 @@ public class AdminFileauthAction extends FessAdminAction {
verifyCrudMode(form.crudMode, CrudMode.CREATE);
validate(form, messages -> {}, this::asEditHtml);
verifyToken(this::asEditHtml);
getFileAuthentication(form).ifPresent(
entity -> {
try {
fileAuthenticationService.store(entity);
saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
getFileAuthentication(form).ifPresent(entity -> {
try {
fileAuthenticationService.store(entity);
saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateInstance(GLOBAL), this::asEditHtml);
});
return redirect(getClass());
@ -217,16 +216,15 @@ public class AdminFileauthAction extends FessAdminAction {
verifyCrudMode(form.crudMode, CrudMode.EDIT);
validate(form, messages -> {}, this::asEditHtml);
verifyToken(this::asEditHtml);
getFileAuthentication(form).ifPresent(
entity -> {
try {
fileAuthenticationService.store(entity);
saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
getFileAuthentication(form).ifPresent(entity -> {
try {
fileAuthenticationService.store(entity);
saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, form.id), this::asEditHtml);
});
return redirect(getClass());
@ -239,21 +237,17 @@ public class AdminFileauthAction extends FessAdminAction {
validate(form, messages -> {}, this::asDetailsHtml);
verifyToken(this::asDetailsHtml);
final String id = form.id;
fileAuthenticationService
.getFileAuthentication(id)
.ifPresent(
entity -> {
try {
fileAuthenticationService.delete(entity);
saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(
messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), this::asDetailsHtml);
});
fileAuthenticationService.getFileAuthentication(id).ifPresent(entity -> {
try {
fileAuthenticationService.delete(entity);
saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), this::asDetailsHtml);
});
return redirect(getClass());
}
@ -331,13 +325,12 @@ public class AdminFileauthAction extends FessAdminAction {
// =========
private HtmlResponse asListHtml() {
return asHtml(path_AdminFileauth_AdminFileauthJsp).renderWith(
data -> {
RenderDataUtil.register(data, "fileAuthenticationItems",
fileAuthenticationService.getFileAuthenticationList(fileAuthenticationPager)); // page navi
RenderDataUtil.register(data, "displayCreateLink", !crawlingConfigHelper
.getAllFileConfigList(false, false, false, null).isEmpty());
}).useForm(SearchForm.class, setup -> {
return asHtml(path_AdminFileauth_AdminFileauthJsp).renderWith(data -> {
RenderDataUtil.register(data, "fileAuthenticationItems",
fileAuthenticationService.getFileAuthenticationList(fileAuthenticationPager)); // page navi
RenderDataUtil.register(data, "displayCreateLink",
!crawlingConfigHelper.getAllFileConfigList(false, false, false, null).isEmpty());
}).useForm(SearchForm.class, setup -> {
setup.setup(form -> {
copyBeanToBean(fileAuthenticationPager, form, op -> op.include("id"));
});

View file

@ -151,24 +151,16 @@ public class AdminFileconfigAction extends FessAdminAction {
validate(form, messages -> {}, this::asListHtml);
final PermissionHelper permissionHelper = ComponentUtil.getPermissionHelper();
final String id = form.id;
fileConfigService
.getFileConfig(id)
.ifPresent(
entity -> {
copyBeanToBean(entity, form, copyOp -> {
copyOp.excludeNull();
copyOp.exclude(Constants.PERMISSIONS, Constants.VIRTUAL_HOSTS);
});
form.permissions =
stream(entity.getPermissions()).get(
stream -> stream.map(permissionHelper::decode).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")));
})
.orElse(() -> throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), this::asListHtml));
fileConfigService.getFileConfig(id).ifPresent(entity -> {
copyBeanToBean(entity, form, copyOp -> {
copyOp.excludeNull();
copyOp.exclude(Constants.PERMISSIONS, Constants.VIRTUAL_HOSTS);
});
form.permissions = stream(entity.getPermissions()).get(stream -> stream.map(permissionHelper::decode)
.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")));
}).orElse(() -> throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), this::asListHtml));
saveToken();
if (form.crudMode.intValue() == CrudMode.EDIT) {
// back
@ -188,32 +180,20 @@ public class AdminFileconfigAction extends FessAdminAction {
public HtmlResponse details(final int crudMode, final String id) {
verifyCrudMode(crudMode, CrudMode.DETAILS);
saveToken();
return asHtml(path_AdminFileconfig_AdminFileconfigDetailsJsp).useForm(
EditForm.class,
op -> op.setup(form -> {
fileConfigService
.getFileConfig(id)
.ifPresent(
entity -> {
copyBeanToBean(entity, form, copyOp -> {
copyOp.excludeNull();
copyOp.exclude(Constants.PERMISSIONS, Constants.VIRTUAL_HOSTS);
});
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.crudMode = crudMode;
})
.orElse(() -> throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id),
this::asListHtml));
})).renderWith(this::registerRolesAndLabels);
return asHtml(path_AdminFileconfig_AdminFileconfigDetailsJsp).useForm(EditForm.class, op -> op.setup(form -> {
fileConfigService.getFileConfig(id).ifPresent(entity -> {
copyBeanToBean(entity, form, copyOp -> {
copyOp.excludeNull();
copyOp.exclude(Constants.PERMISSIONS, Constants.VIRTUAL_HOSTS);
});
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.crudMode = crudMode;
}).orElse(() -> throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), this::asListHtml));
})).renderWith(this::registerRolesAndLabels);
}
// -----------------------------------------------------
@ -225,16 +205,15 @@ public class AdminFileconfigAction extends FessAdminAction {
verifyCrudMode(form.crudMode, CrudMode.CREATE);
validate(form, messages -> {}, this::asEditHtml);
verifyToken(this::asEditHtml);
getFileConfig(form).ifPresent(
entity -> {
try {
fileConfigService.store(entity);
saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
getFileConfig(form).ifPresent(entity -> {
try {
fileConfigService.store(entity);
saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateInstance(GLOBAL), this::asEditHtml);
});
return redirect(getClass());
@ -246,16 +225,15 @@ public class AdminFileconfigAction extends FessAdminAction {
verifyCrudMode(form.crudMode, CrudMode.EDIT);
validate(form, messages -> {}, this::asEditHtml);
verifyToken(this::asEditHtml);
getFileConfig(form).ifPresent(
entity -> {
try {
fileConfigService.store(entity);
saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
getFileConfig(form).ifPresent(entity -> {
try {
fileConfigService.store(entity);
saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, form.id), this::asEditHtml);
});
return redirect(getClass());
@ -268,21 +246,17 @@ public class AdminFileconfigAction extends FessAdminAction {
validate(form, messages -> {}, this::asDetailsHtml);
verifyToken(this::asDetailsHtml);
final String id = form.id;
fileConfigService
.getFileConfig(id)
.ifPresent(
entity -> {
try {
fileConfigService.delete(entity);
saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(
messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), this::asDetailsHtml);
});
fileConfigService.getFileConfig(id).ifPresent(entity -> {
try {
fileConfigService.delete(entity);
saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), this::asDetailsHtml);
});
return redirect(getClass());
}
@ -312,23 +286,20 @@ public class AdminFileconfigAction extends FessAdminAction {
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;
});
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;
});
}
protected void registerRolesAndLabels(final RenderData data) {
@ -355,7 +326,7 @@ public class AdminFileconfigAction extends FessAdminAction {
private HtmlResponse asListHtml() {
return asHtml(path_AdminFileconfig_AdminFileconfigJsp).renderWith(data -> {
RenderDataUtil.register(data, "fileConfigItems", fileConfigService.getFileConfigList(fileConfigPager)); // page navi
}).useForm(SearchForm.class, setup -> {
}).useForm(SearchForm.class, setup -> {
setup.setup(form -> {
copyBeanToBean(fileConfigPager, form, op -> op.include("name", "paths", "description"));
});

View file

@ -191,17 +191,16 @@ public class AdminGroupAction extends FessAdminAction {
validate(form, messages -> {}, this::asEditHtml);
validateAttributes(form.attributes, v -> throwValidationError(v, this::asEditHtml));
verifyToken(this::asEditHtml);
getGroup(form).ifPresent(
entity -> {
try {
groupService.store(entity);
saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
} catch (final Exception e) {
logger.error("Failed to add " + entity, e);
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
getGroup(form).ifPresent(entity -> {
try {
groupService.store(entity);
saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
} catch (final Exception e) {
logger.error("Failed to add " + entity, e);
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateInstance(GLOBAL), this::asEditHtml);
});
return redirect(getClass());
@ -214,17 +213,16 @@ public class AdminGroupAction extends FessAdminAction {
validate(form, messages -> {}, this::asEditHtml);
validateAttributes(form.attributes, v -> throwValidationError(v, this::asEditHtml));
verifyToken(this::asEditHtml);
getGroup(form).ifPresent(
entity -> {
try {
groupService.store(entity);
saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
} catch (final Exception e) {
logger.error("Failed to update " + entity, e);
throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
getGroup(form).ifPresent(entity -> {
try {
groupService.store(entity);
saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
} catch (final Exception e) {
logger.error("Failed to update " + entity, e);
throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, form.id), this::asEditHtml);
});
return redirect(getClass());
@ -237,22 +235,18 @@ public class AdminGroupAction extends FessAdminAction {
validate(form, messages -> {}, this::asDetailsHtml);
verifyToken(this::asDetailsHtml);
final String id = form.id;
groupService
.getGroup(id)
.ifPresent(
entity -> {
try {
groupService.delete(entity);
saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
} catch (final Exception e) {
logger.error("Failed to delete " + entity, e);
throwValidationError(
messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asDetailsHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), this::asDetailsHtml);
});
groupService.getGroup(id).ifPresent(entity -> {
try {
groupService.delete(entity);
saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
} catch (final Exception e) {
logger.error("Failed to delete " + entity, e);
throwValidationError(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asDetailsHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), this::asDetailsHtml);
});
return redirect(getClass());
}
@ -308,7 +302,7 @@ public class AdminGroupAction extends FessAdminAction {
private HtmlResponse asListHtml() {
return asHtml(path_AdminGroup_AdminGroupJsp).renderWith(data -> {
RenderDataUtil.register(data, "groupItems", groupService.getGroupList(groupPager)); // page navi
}).useForm(SearchForm.class, setup -> {
}).useForm(SearchForm.class, setup -> {
setup.setup(form -> {
copyBeanToBean(groupPager, form, op -> op.include("id"));
});

View file

@ -199,7 +199,7 @@ public class AdminJoblogAction extends FessAdminAction {
private HtmlResponse asListHtml() {
return asHtml(path_AdminJoblog_AdminJoblogJsp).renderWith(data -> {
RenderDataUtil.register(data, "jobLogItems", jobLogService.getJobLogList(jobLogPager)); // page navi
}).useForm(SearchForm.class, setup -> {
}).useForm(SearchForm.class, setup -> {
setup.setup(form -> {
copyBeanToBean(jobLogPager, form, op -> op.include("id"));
});

View file

@ -192,17 +192,16 @@ public class AdminKeymatchAction extends FessAdminAction {
verifyCrudMode(form.crudMode, CrudMode.CREATE);
validate(form, messages -> {}, this::asEditHtml);
verifyToken(this::asEditHtml);
getKeyMatch(form).ifPresent(
entity -> {
try {
keyMatchService.store(entity);
saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
ComponentUtil.getKeyMatchHelper().update();
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
getKeyMatch(form).ifPresent(entity -> {
try {
keyMatchService.store(entity);
saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
ComponentUtil.getKeyMatchHelper().update();
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateInstance(GLOBAL), this::asEditHtml);
});
return redirect(getClass());
@ -214,17 +213,16 @@ public class AdminKeymatchAction extends FessAdminAction {
verifyCrudMode(form.crudMode, CrudMode.EDIT);
validate(form, messages -> {}, this::asEditHtml);
verifyToken(this::asEditHtml);
getKeyMatch(form).ifPresent(
entity -> {
try {
keyMatchService.store(entity);
saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
ComponentUtil.getKeyMatchHelper().update();
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
getKeyMatch(form).ifPresent(entity -> {
try {
keyMatchService.store(entity);
saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
ComponentUtil.getKeyMatchHelper().update();
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, form.id), this::asEditHtml);
});
return redirect(getClass());
@ -237,22 +235,18 @@ public class AdminKeymatchAction extends FessAdminAction {
validate(form, messages -> {}, this::asDetailsHtml);
verifyToken(this::asDetailsHtml);
final String id = form.id;
keyMatchService
.getKeyMatch(id)
.ifPresent(
entity -> {
try {
keyMatchService.delete(entity);
saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
ComponentUtil.getKeyMatchHelper().update();
} catch (final Exception e) {
throwValidationError(
messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), this::asDetailsHtml);
});
keyMatchService.getKeyMatch(id).ifPresent(entity -> {
try {
keyMatchService.delete(entity);
saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
ComponentUtil.getKeyMatchHelper().update();
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), this::asDetailsHtml);
});
return redirect(getClass());
}
@ -309,7 +303,7 @@ public class AdminKeymatchAction extends FessAdminAction {
private HtmlResponse asListHtml() {
return asHtml(path_AdminKeymatch_AdminKeymatchJsp).renderWith(data -> {
RenderDataUtil.register(data, "keyMatchItems", keyMatchService.getKeyMatchList(keyMatchPager)); // page navi
}).useForm(SearchForm.class, setup -> {
}).useForm(SearchForm.class, setup -> {
setup.setup(form -> {
copyBeanToBean(keyMatchPager, form, op -> op.include("term", "query"));
});

View file

@ -148,22 +148,17 @@ public class AdminLabeltypeAction extends FessAdminAction {
public HtmlResponse edit(final EditForm form) {
validate(form, messages -> {}, this::asListHtml);
final String id = form.id;
labelTypeService
.getLabelType(id)
.ifPresent(
entity -> {
copyBeanToBean(entity, form, copyOp -> {
copyOp.excludeNull();
copyOp.exclude(Constants.PERMISSIONS);
});
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")));
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), this::asListHtml);
});
labelTypeService.getLabelType(id).ifPresent(entity -> {
copyBeanToBean(entity, form, copyOp -> {
copyOp.excludeNull();
copyOp.exclude(Constants.PERMISSIONS);
});
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")));
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), this::asListHtml);
});
saveToken();
if (form.crudMode.intValue() == CrudMode.EDIT) {
// back
@ -183,32 +178,22 @@ public class AdminLabeltypeAction extends FessAdminAction {
public HtmlResponse details(final int crudMode, final String id) {
verifyCrudMode(crudMode, CrudMode.DETAILS);
saveToken();
return asHtml(path_AdminLabeltype_AdminLabeltypeDetailsJsp).useForm(
EditForm.class,
op -> {
op.setup(form -> {
labelTypeService
.getLabelType(id)
.ifPresent(
entity -> {
copyBeanToBean(entity, form, copyOp -> {
copyOp.excludeNull();
copyOp.exclude(Constants.PERMISSIONS);
});
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.crudMode = crudMode;
})
.orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id),
this::asListHtml);
});
return asHtml(path_AdminLabeltype_AdminLabeltypeDetailsJsp).useForm(EditForm.class, op -> {
op.setup(form -> {
labelTypeService.getLabelType(id).ifPresent(entity -> {
copyBeanToBean(entity, form, copyOp -> {
copyOp.excludeNull();
copyOp.exclude(Constants.PERMISSIONS);
});
}).renderWith(data -> {
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.crudMode = crudMode;
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), this::asListHtml);
});
});
}).renderWith(data -> {
registerRoleTypeItems(data);
});
}
@ -222,16 +207,15 @@ public class AdminLabeltypeAction extends FessAdminAction {
verifyCrudMode(form.crudMode, CrudMode.CREATE);
validate(form, messages -> {}, this::asEditHtml);
verifyToken(this::asEditHtml);
getLabelType(form).ifPresent(
entity -> {
try {
labelTypeService.store(entity);
saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
getLabelType(form).ifPresent(entity -> {
try {
labelTypeService.store(entity);
saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateInstance(GLOBAL), this::asEditHtml);
});
return redirect(getClass());
@ -243,16 +227,15 @@ public class AdminLabeltypeAction extends FessAdminAction {
verifyCrudMode(form.crudMode, CrudMode.EDIT);
validate(form, messages -> {}, this::asEditHtml);
verifyToken(this::asEditHtml);
getLabelType(form).ifPresent(
entity -> {
try {
labelTypeService.store(entity);
saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
getLabelType(form).ifPresent(entity -> {
try {
labelTypeService.store(entity);
saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, form.id), this::asEditHtml);
});
return redirect(getClass());
@ -265,21 +248,17 @@ public class AdminLabeltypeAction extends FessAdminAction {
validate(form, messages -> {}, this::asDetailsHtml);
verifyToken(this::asDetailsHtml);
final String id = form.id;
labelTypeService
.getLabelType(id)
.ifPresent(
entity -> {
try {
labelTypeService.delete(entity);
saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(
messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), this::asDetailsHtml);
});
labelTypeService.getLabelType(id).ifPresent(entity -> {
try {
labelTypeService.delete(entity);
saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), this::asDetailsHtml);
});
return redirect(getClass());
}
@ -310,18 +289,16 @@ public class AdminLabeltypeAction extends FessAdminAction {
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)).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])));
return entity;
});
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)).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])));
return entity;
});
}
protected void registerRoleTypeItems(final RenderData data) {
@ -346,7 +323,7 @@ public class AdminLabeltypeAction extends FessAdminAction {
private HtmlResponse asListHtml() {
return asHtml(path_AdminLabeltype_AdminLabeltypeJsp).renderWith(data -> {
RenderDataUtil.register(data, "labelTypeItems", labelTypeService.getLabelTypeList(labelTypePager)); // page navi
}).useForm(SearchForm.class, setup -> {
}).useForm(SearchForm.class, setup -> {
setup.setup(form -> {
copyBeanToBean(labelTypePager, form, op -> op.include("name", "value"));
});

View file

@ -56,9 +56,9 @@ public class AdminMaintenanceAction extends FessAdminAction {
//
private static final Logger logger = LogManager.getLogger(AdminMaintenanceAction.class);
private static final String[] ES_CAT_NAMES = new String[] { "aliases", "allocation", "count", "fielddata", "health", "indices",
"master", "nodeattrs", "nodes", "pending_tasks", "plugins", "recovery", "repositories", "thread_pool", "shards", "segments",
"snapshots", "templates" };
private static final String[] ES_CAT_NAMES =
new String[] { "aliases", "allocation", "count", "fielddata", "health", "indices", "master", "nodeattrs", "nodes",
"pending_tasks", "plugins", "recovery", "repositories", "thread_pool", "shards", "segments", "snapshots", "templates" };
// ===================================================================================
// Attribute
@ -117,22 +117,11 @@ public class AdminMaintenanceAction extends FessAdminAction {
validate(form, messages -> {}, this::asIndexHtml);
verifyToken(this::asIndexHtml);
final String docIndex = fessConfig.getIndexDocumentUpdateIndex();
fessEsClient
.admin()
.indices()
.prepareClose(docIndex)
.execute(
ActionListener.wrap(
res -> {
logger.info("Close {}", docIndex);
fessEsClient
.admin()
.indices()
.prepareOpen(docIndex)
.execute(
ActionListener.wrap(res2 -> logger.info("Open {}", docIndex),
e -> logger.warn("Failed to open " + docIndex, e)));
}, e -> logger.warn("Failed to close " + docIndex, e)));
fessEsClient.admin().indices().prepareClose(docIndex).execute(ActionListener.wrap(res -> {
logger.info("Close {}", docIndex);
fessEsClient.admin().indices().prepareOpen(docIndex).execute(
ActionListener.wrap(res2 -> logger.info("Open {}", docIndex), e -> logger.warn("Failed to open " + docIndex, e)));
}, e -> logger.warn("Failed to close " + docIndex, e)));
saveInfo(messages -> messages.addSuccessStartedDataUpdate(GLOBAL));
return redirect(getClass());
}
@ -142,16 +131,12 @@ public class AdminMaintenanceAction extends FessAdminAction {
public HtmlResponse clearCrawlerIndex(final ActionForm form) {
validate(form, messages -> {}, this::asIndexHtml);
verifyToken(this::asIndexHtml);
fessEsClient
.admin()
.indices()
.prepareDelete(//
fessConfig.getIndexDocumentCrawlerIndex() + ".queue", //
fessConfig.getIndexDocumentCrawlerIndex() + ".data", //
fessConfig.getIndexDocumentCrawlerIndex() + ".filter")
.execute(
ActionListener.wrap(res -> logger.info("Deleted .crawler indices."),
e -> logger.warn("Failed to delete .crawler.* indices.", e)));
fessEsClient.admin().indices().prepareDelete(//
fessConfig.getIndexDocumentCrawlerIndex() + ".queue", //
fessConfig.getIndexDocumentCrawlerIndex() + ".data", //
fessConfig.getIndexDocumentCrawlerIndex() + ".filter")
.execute(ActionListener.wrap(res -> logger.info("Deleted .crawler indices."),
e -> logger.warn("Failed to delete .crawler.* indices.", e)));
saveInfo(messages -> messages.addSuccessStartedDataUpdate(GLOBAL));
return redirect(getClass());
}
@ -233,9 +218,8 @@ public class AdminMaintenanceAction extends FessAdminAction {
final ZipEntry entry = new ZipEntry(id + "/fess_basic_config.bulk");
try {
zos.putNextEntry(entry);
try (CurlResponse response =
ComponentUtil.getCurlHelper().get("/.fess_basic_config/_data").param("format", "json")
.param("scroll", fessConfig.getIndexScrollSearchTimeout()).execute()) {
try (CurlResponse response = ComponentUtil.getCurlHelper().get("/.fess_basic_config/_data").param("format", "json")
.param("scroll", fessConfig.getIndexScrollSearchTimeout()).execute()) {
CopyUtil.copy(response.getContentAsStream(), zos);
}
} catch (final IOException e) {

View file

@ -182,16 +182,15 @@ public class AdminPathmapAction extends FessAdminAction {
verifyCrudMode(form.crudMode, CrudMode.CREATE);
validate(form, messages -> {}, this::asEditHtml);
verifyToken(this::asEditHtml);
getPathMapping(form).ifPresent(
entity -> {
try {
pathMappingService.store(entity);
saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
getPathMapping(form).ifPresent(entity -> {
try {
pathMappingService.store(entity);
saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateInstance(GLOBAL), this::asEditHtml);
});
return redirect(getClass());
@ -203,16 +202,15 @@ public class AdminPathmapAction extends FessAdminAction {
verifyCrudMode(form.crudMode, CrudMode.EDIT);
validate(form, messages -> {}, this::asEditHtml);
verifyToken(this::asEditHtml);
getPathMapping(form).ifPresent(
entity -> {
try {
pathMappingService.store(entity);
saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
getPathMapping(form).ifPresent(entity -> {
try {
pathMappingService.store(entity);
saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, form.id), this::asEditHtml);
});
return redirect(getClass());
@ -225,21 +223,17 @@ public class AdminPathmapAction extends FessAdminAction {
validate(form, messages -> {}, this::asDetailsHtml);
verifyToken(this::asDetailsHtml);
final String id = form.id;
pathMappingService
.getPathMapping(id)
.ifPresent(
entity -> {
try {
pathMappingService.delete(entity);
saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(
messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), this::asDetailsHtml);
});
pathMappingService.getPathMapping(id).ifPresent(entity -> {
try {
pathMappingService.delete(entity);
saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), this::asDetailsHtml);
});
return redirect(getClass());
}
@ -295,7 +289,7 @@ public class AdminPathmapAction extends FessAdminAction {
private HtmlResponse asListHtml() {
return asHtml(path_AdminPathmap_AdminPathmapJsp).renderWith(data -> {
RenderDataUtil.register(data, "pathMappingItems", pathMappingService.getPathMappingList(pathMapPager)); // page navi
}).useForm(SearchForm.class, setup -> {
}).useForm(SearchForm.class, setup -> {
setup.setup(form -> {
copyBeanToBean(pathMapPager, form, op -> op.include("regex", "replacement"));
});

View file

@ -87,7 +87,8 @@ public class AdminPluginAction extends FessAdminAction {
throwValidationError(messages -> messages.addErrorsPluginFileIsNotFound(GLOBAL, form.id), this::asListHtml);
}
if (!form.jarFile.getFileName().endsWith(".jar")) {
throwValidationError(messages -> messages.addErrorsFileIsNotSupported(GLOBAL, form.jarFile.getFileName()), this::asListHtml);
throwValidationError(messages -> messages.addErrorsFileIsNotSupported(GLOBAL, form.jarFile.getFileName()),
this::asListHtml);
}
final String filename = form.jarFile.getFileName();
final File tempFile = ComponentUtil.getSystemHelper().createTempFile("tmp-adminplugin-", ".jar");
@ -143,8 +144,8 @@ public class AdminPluginAction extends FessAdminAction {
}
private HtmlResponse asListHtml() {
return asHtml(path_AdminPlugin_AdminPluginJsp).renderWith(
data -> data.register("installedArtifactItems", getAllInstalledArtifacts())).useForm(DeleteForm.class);
return asHtml(path_AdminPlugin_AdminPluginJsp)
.renderWith(data -> data.register("installedArtifactItems", getAllInstalledArtifacts())).useForm(DeleteForm.class);
}
public static List<Map<String, String>> getAllAvailableArtifacts() {

View file

@ -181,16 +181,15 @@ public class AdminRelatedcontentAction extends FessAdminAction {
verifyCrudMode(form.crudMode, CrudMode.CREATE);
validate(form, messages -> {}, this::asEditHtml);
verifyToken(this::asEditHtml);
getRelatedContent(form).ifPresent(
entity -> {
try {
relatedContentService.store(entity);
saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
getRelatedContent(form).ifPresent(entity -> {
try {
relatedContentService.store(entity);
saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateInstance(GLOBAL), this::asEditHtml);
});
return redirect(getClass());
@ -202,16 +201,15 @@ public class AdminRelatedcontentAction extends FessAdminAction {
verifyCrudMode(form.crudMode, CrudMode.EDIT);
validate(form, messages -> {}, this::asEditHtml);
verifyToken(this::asEditHtml);
getRelatedContent(form).ifPresent(
entity -> {
try {
relatedContentService.store(entity);
saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
getRelatedContent(form).ifPresent(entity -> {
try {
relatedContentService.store(entity);
saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, form.id), this::asEditHtml);
});
return redirect(getClass());
@ -224,21 +222,17 @@ public class AdminRelatedcontentAction extends FessAdminAction {
validate(form, messages -> {}, this::asDetailsHtml);
verifyToken(this::asDetailsHtml);
final String id = form.id;
relatedContentService
.getRelatedContent(id)
.ifPresent(
entity -> {
try {
relatedContentService.delete(entity);
saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(
messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), this::asDetailsHtml);
});
relatedContentService.getRelatedContent(id).ifPresent(entity -> {
try {
relatedContentService.delete(entity);
saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), this::asDetailsHtml);
});
return redirect(getClass());
}

View file

@ -141,20 +141,16 @@ public class AdminRelatedqueryAction extends FessAdminAction {
public HtmlResponse edit(final EditForm form) {
validate(form, messages -> {}, this::asListHtml);
final String id = form.id;
relatedQueryService
.getRelatedQuery(id)
.ifPresent(
entity -> {
copyBeanToBean(entity, form, copyOp -> {
copyOp.excludeNull();
copyOp.exclude(Constants.QUERIES);
});
form.queries =
stream(entity.getQueries()).get(
stream -> stream.filter(StringUtil::isNotBlank).collect(Collectors.joining("\n")));
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), this::asListHtml);
});
relatedQueryService.getRelatedQuery(id).ifPresent(entity -> {
copyBeanToBean(entity, form, copyOp -> {
copyOp.excludeNull();
copyOp.exclude(Constants.QUERIES);
});
form.queries =
stream(entity.getQueries()).get(stream -> stream.filter(StringUtil::isNotBlank).collect(Collectors.joining("\n")));
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), this::asListHtml);
});
saveToken();
if (form.crudMode.intValue() == CrudMode.EDIT) {
// back
@ -174,30 +170,21 @@ public class AdminRelatedqueryAction extends FessAdminAction {
public HtmlResponse details(final int crudMode, final String id) {
verifyCrudMode(crudMode, CrudMode.DETAILS);
saveToken();
return asDetailsHtml().useForm(
EditForm.class,
op -> {
op.setup(form -> {
relatedQueryService
.getRelatedQuery(id)
.ifPresent(
entity -> {
copyBeanToBean(entity, form, copyOp -> {
copyOp.excludeNull();
copyOp.exclude(Constants.QUERIES);
});
form.queries =
stream(entity.getQueries()).get(
stream -> stream.filter(StringUtil::isNotBlank).collect(
Collectors.joining("\n")));
form.crudMode = crudMode;
})
.orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id),
this::asListHtml);
});
return asDetailsHtml().useForm(EditForm.class, op -> {
op.setup(form -> {
relatedQueryService.getRelatedQuery(id).ifPresent(entity -> {
copyBeanToBean(entity, form, copyOp -> {
copyOp.excludeNull();
copyOp.exclude(Constants.QUERIES);
});
form.queries = stream(entity.getQueries())
.get(stream -> stream.filter(StringUtil::isNotBlank).collect(Collectors.joining("\n")));
form.crudMode = crudMode;
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), this::asListHtml);
});
});
});
}
// -----------------------------------------------------
@ -209,16 +196,15 @@ public class AdminRelatedqueryAction extends FessAdminAction {
verifyCrudMode(form.crudMode, CrudMode.CREATE);
validate(form, messages -> {}, this::asEditHtml);
verifyToken(this::asEditHtml);
getRelatedQuery(form).ifPresent(
entity -> {
try {
relatedQueryService.store(entity);
saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
getRelatedQuery(form).ifPresent(entity -> {
try {
relatedQueryService.store(entity);
saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateInstance(GLOBAL), this::asEditHtml);
});
return redirect(getClass());
@ -230,16 +216,15 @@ public class AdminRelatedqueryAction extends FessAdminAction {
verifyCrudMode(form.crudMode, CrudMode.EDIT);
validate(form, messages -> {}, this::asEditHtml);
verifyToken(this::asEditHtml);
getRelatedQuery(form).ifPresent(
entity -> {
try {
relatedQueryService.store(entity);
saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
getRelatedQuery(form).ifPresent(entity -> {
try {
relatedQueryService.store(entity);
saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, form.id), this::asEditHtml);
});
return redirect(getClass());
@ -252,21 +237,17 @@ public class AdminRelatedqueryAction extends FessAdminAction {
validate(form, messages -> {}, this::asDetailsHtml);
verifyToken(this::asDetailsHtml);
final String id = form.id;
relatedQueryService
.getRelatedQuery(id)
.ifPresent(
entity -> {
try {
relatedQueryService.delete(entity);
saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(
messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), this::asDetailsHtml);
});
relatedQueryService.getRelatedQuery(id).ifPresent(entity -> {
try {
relatedQueryService.delete(entity);
saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), this::asDetailsHtml);
});
return redirect(getClass());
}
@ -297,16 +278,14 @@ public class AdminRelatedqueryAction extends FessAdminAction {
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);
BeanUtil.copyBeanToBean(form, entity, op -> op.exclude(Stream.concat(Stream.of(Constants.COMMON_CONVERSION_RULE),
Stream.of(Constants.QUERIES)).toArray(n -> new String[n])));
entity.setQueries(split(form.queries, "\n").get(
stream -> stream.filter(StringUtil::isNotBlank).toArray(n -> new String[n])));
return entity;
});
return getEntity(form, username, currentTime).map(entity -> {
entity.setUpdatedBy(username);
entity.setUpdatedTime(currentTime);
BeanUtil.copyBeanToBean(form, entity, op -> op.exclude(
Stream.concat(Stream.of(Constants.COMMON_CONVERSION_RULE), Stream.of(Constants.QUERIES)).toArray(n -> new String[n])));
entity.setQueries(split(form.queries, "\n").get(stream -> stream.filter(StringUtil::isNotBlank).toArray(n -> new String[n])));
return entity;
});
}
// ===================================================================================

View file

@ -194,16 +194,15 @@ public class AdminReqheaderAction extends FessAdminAction {
verifyCrudMode(form.crudMode, CrudMode.CREATE);
validate(form, messages -> {}, this::asEditHtml);
verifyToken(this::asEditHtml);
getRequestHeader(form).ifPresent(
entity -> {
try {
requestHeaderService.store(entity);
saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
getRequestHeader(form).ifPresent(entity -> {
try {
requestHeaderService.store(entity);
saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateInstance(GLOBAL), this::asEditHtml);
});
return redirect(getClass());
@ -215,16 +214,15 @@ public class AdminReqheaderAction extends FessAdminAction {
verifyCrudMode(form.crudMode, CrudMode.EDIT);
validate(form, messages -> {}, this::asEditHtml);
verifyToken(this::asEditHtml);
getRequestHeader(form).ifPresent(
entity -> {
try {
requestHeaderService.store(entity);
saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
getRequestHeader(form).ifPresent(entity -> {
try {
requestHeaderService.store(entity);
saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, form.id), this::asEditHtml);
});
return redirect(getClass());
@ -237,21 +235,17 @@ public class AdminReqheaderAction extends FessAdminAction {
validate(form, messages -> {}, this::asDetailsHtml);
verifyToken(this::asDetailsHtml);
final String id = form.id;
requestHeaderService
.getRequestHeader(id)
.ifPresent(
entity -> {
try {
requestHeaderService.delete(entity);
saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(
messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), this::asDetailsHtml);
});
requestHeaderService.getRequestHeader(id).ifPresent(entity -> {
try {
requestHeaderService.delete(entity);
saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), this::asDetailsHtml);
});
return redirect(getClass());
}
@ -323,9 +317,9 @@ public class AdminReqheaderAction extends FessAdminAction {
private HtmlResponse asListHtml() {
return asHtml(path_AdminReqheader_AdminReqheaderJsp).renderWith(data -> {
RenderDataUtil.register(data, "requestHeaderItems", requestHeaderService.getRequestHeaderList(reqHeaderPager)); // page navi
RenderDataUtil.register(data, "displayCreateLink", !crawlingConfigHelper.getAllWebConfigList(false, false, false, null)
.isEmpty());
}).useForm(SearchForm.class, setup -> {
RenderDataUtil.register(data, "displayCreateLink",
!crawlingConfigHelper.getAllWebConfigList(false, false, false, null).isEmpty());
}).useForm(SearchForm.class, setup -> {
setup.setup(form -> {
copyBeanToBean(reqHeaderPager, form, op -> op.include("id"));
});

View file

@ -165,17 +165,16 @@ public class AdminRoleAction extends FessAdminAction {
verifyCrudMode(form.crudMode, CrudMode.CREATE);
validate(form, messages -> {}, this::asEditHtml);
verifyToken(this::asEditHtml);
getRole(form).ifPresent(
entity -> {
try {
roleService.store(entity);
saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
} catch (final Exception e) {
logger.error("Failed to add " + entity, e);
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
getRole(form).ifPresent(entity -> {
try {
roleService.store(entity);
saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
} catch (final Exception e) {
logger.error("Failed to add " + entity, e);
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateInstance(GLOBAL), this::asEditHtml);
});
return redirect(getClass());
@ -249,7 +248,7 @@ public class AdminRoleAction extends FessAdminAction {
private HtmlResponse asListHtml() {
return asHtml(path_AdminRole_AdminRoleJsp).renderWith(data -> {
RenderDataUtil.register(data, "roleItems", roleService.getRoleList(rolePager)); // page navi
}).useForm(SearchForm.class, setup -> {
}).useForm(SearchForm.class, setup -> {
setup.setup(form -> {
copyBeanToBean(rolePager, form, op -> op.include("id"));
});

View file

@ -129,30 +129,28 @@ public class AdminSchedulerAction extends FessAdminAction {
@Secured({ ROLE })
public HtmlResponse createnewjob(final String type, final String id, final String name) {
saveToken();
return asHtml(path_AdminScheduler_AdminSchedulerEditJsp).useForm(
CreateForm.class,
op -> {
op.setup(scheduledJobForm -> {
scheduledJobForm.initialize();
scheduledJobForm.crudMode = CrudMode.CREATE;
scheduledJobForm.jobLogging = Constants.ON;
scheduledJobForm.crawler = Constants.ON;
scheduledJobForm.available = Constants.ON;
scheduledJobForm.cronExpression = null;
final String decodedName = new String(Base64.getUrlDecoder().decode(name), Constants.CHARSET_UTF_8);
scheduledJobForm.name = MessageFormat.format(fessConfig.getJobTemplateTitle(type), decodedName);
final String[] ids = new String[] { "", "", "" };
if (Constants.WEB_CRAWLER_TYPE.equals(type)) {
ids[0] = "\"" + id + "\"";
} else if (Constants.FILE_CRAWLER_TYPE.equals(type)) {
ids[1] = "\"" + id + "\"";
} else if (Constants.DATA_CRAWLER_TYPE.equals(type)) {
ids[2] = "\"" + id + "\"";
}
scheduledJobForm.scriptData =
MessageFormat.format(fessConfig.getJobTemplateScript(), ids[0], ids[1], ids[2], id.replace('-', '_'));
});
});
return asHtml(path_AdminScheduler_AdminSchedulerEditJsp).useForm(CreateForm.class, op -> {
op.setup(scheduledJobForm -> {
scheduledJobForm.initialize();
scheduledJobForm.crudMode = CrudMode.CREATE;
scheduledJobForm.jobLogging = Constants.ON;
scheduledJobForm.crawler = Constants.ON;
scheduledJobForm.available = Constants.ON;
scheduledJobForm.cronExpression = null;
final String decodedName = new String(Base64.getUrlDecoder().decode(name), Constants.CHARSET_UTF_8);
scheduledJobForm.name = MessageFormat.format(fessConfig.getJobTemplateTitle(type), decodedName);
final String[] ids = new String[] { "", "", "" };
if (Constants.WEB_CRAWLER_TYPE.equals(type)) {
ids[0] = "\"" + id + "\"";
} else if (Constants.FILE_CRAWLER_TYPE.equals(type)) {
ids[1] = "\"" + id + "\"";
} else if (Constants.DATA_CRAWLER_TYPE.equals(type)) {
ids[2] = "\"" + id + "\"";
}
scheduledJobForm.scriptData =
MessageFormat.format(fessConfig.getJobTemplateScript(), ids[0], ids[1], ids[2], id.replace('-', '_'));
});
});
}
@Execute
@ -223,16 +221,15 @@ public class AdminSchedulerAction extends FessAdminAction {
verifyCrudMode(form.crudMode, CrudMode.CREATE);
validate(form, messages -> {}, this::asEditHtml);
verifyToken(this::asEditHtml);
getScheduledJob(form).ifPresent(
entity -> {
try {
scheduledJobService.store(entity);
saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
getScheduledJob(form).ifPresent(entity -> {
try {
scheduledJobService.store(entity);
saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateInstance(GLOBAL), this::asEditHtml);
});
return redirect(getClass());
@ -244,16 +241,15 @@ public class AdminSchedulerAction extends FessAdminAction {
verifyCrudMode(form.crudMode, CrudMode.EDIT);
validate(form, messages -> {}, this::asEditHtml);
verifyToken(this::asEditHtml);
getScheduledJob(form).ifPresent(
entity -> {
try {
scheduledJobService.store(entity);
saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
getScheduledJob(form).ifPresent(entity -> {
try {
scheduledJobService.store(entity);
saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, form.id), this::asEditHtml);
});
return redirect(getClass());
@ -266,21 +262,17 @@ public class AdminSchedulerAction extends FessAdminAction {
final String id = form.id;
validate(form, messages -> {}, () -> asDetailsHtml(id));
verifyToken(() -> asDetailsHtml(id));
scheduledJobService
.getScheduledJob(id)
.ifPresent(
entity -> {
try {
scheduledJobService.delete(entity);
saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(
messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), () -> asDetailsHtml(id));
});
scheduledJobService.getScheduledJob(id).ifPresent(entity -> {
try {
scheduledJobService.delete(entity);
saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), () -> asDetailsHtml(id));
});
return redirect(getClass());
}
@ -399,7 +391,7 @@ public class AdminSchedulerAction extends FessAdminAction {
private HtmlResponse asListHtml() {
return asHtml(path_AdminScheduler_AdminSchedulerJsp).renderWith(data -> {
RenderDataUtil.register(data, "scheduledJobItems", scheduledJobService.getScheduledJobList(schedulerPager)); // page navi
}).useForm(SearchForm.class, setup -> {
}).useForm(SearchForm.class, setup -> {
setup.setup(form -> {
copyBeanToBean(schedulerPager, form, op -> op.include("id"));
});

View file

@ -272,23 +272,22 @@ public class AdminSearchlistAction extends FessAdminAction {
validate(form, messages -> {}, this::asEditHtml);
validateFields(form, v -> throwValidationError(v, this::asEditHtml));
verifyToken(this::asEditHtml);
getDoc(form).ifPresent(
entity -> {
try {
entity.putAll(fessConfig.convertToStorableDoc(form.doc));
getDoc(form).ifPresent(entity -> {
try {
entity.putAll(fessConfig.convertToStorableDoc(form.doc));
final String newId = ComponentUtil.getCrawlingInfoHelper().generateId(entity);
entity.put(fessConfig.getIndexFieldId(), newId);
final String newId = ComponentUtil.getCrawlingInfoHelper().generateId(entity);
entity.put(fessConfig.getIndexFieldId(), newId);
final String index = fessConfig.getIndexDocumentUpdateIndex();
fessEsClient.store(index, entity);
saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
} catch (final Exception e) {
logger.error("Failed to add " + entity, e);
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
final String index = fessConfig.getIndexDocumentUpdateIndex();
fessEsClient.store(index, entity);
saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
} catch (final Exception e) {
logger.error("Failed to add " + entity, e);
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateInstance(GLOBAL), this::asEditHtml);
});
return redirect(getClass());
@ -301,32 +300,31 @@ public class AdminSearchlistAction extends FessAdminAction {
validate(form, messages -> {}, this::asEditHtml);
validateFields(form, v -> throwValidationError(v, this::asEditHtml));
verifyToken(this::asEditHtml);
getDoc(form).ifPresent(
entity -> {
final String index = fessConfig.getIndexDocumentUpdateIndex();
try {
entity.putAll(fessConfig.convertToStorableDoc(form.doc));
getDoc(form).ifPresent(entity -> {
final String index = fessConfig.getIndexDocumentUpdateIndex();
try {
entity.putAll(fessConfig.convertToStorableDoc(form.doc));
final String newId = ComponentUtil.getCrawlingInfoHelper().generateId(entity);
final String oldId = (String) entity.get(fessConfig.getIndexFieldId());
if (!newId.equals(oldId)) {
entity.put(fessConfig.getIndexFieldId(), newId);
entity.remove(fessConfig.getIndexFieldVersion());
final Long seqNo = (Long) entity.remove(fessConfig.getIndexFieldSeqNo());
final Long primaryTerm = (Long) entity.remove(fessConfig.getIndexFieldPrimaryTerm());
if (seqNo != null && primaryTerm != null && oldId != null) {
fessEsClient.delete(index, oldId, seqNo, primaryTerm);
}
}
fessEsClient.store(index, entity);
saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
} catch (final Exception e) {
logger.error("Failed to update " + entity, e);
throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
final String newId = ComponentUtil.getCrawlingInfoHelper().generateId(entity);
final String oldId = (String) entity.get(fessConfig.getIndexFieldId());
if (!newId.equals(oldId)) {
entity.put(fessConfig.getIndexFieldId(), newId);
entity.remove(fessConfig.getIndexFieldVersion());
final Long seqNo = (Long) entity.remove(fessConfig.getIndexFieldSeqNo());
final Long primaryTerm = (Long) entity.remove(fessConfig.getIndexFieldPrimaryTerm());
if (seqNo != null && primaryTerm != null && oldId != null) {
fessEsClient.delete(index, oldId, seqNo, primaryTerm);
}
}).orElse(() -> {
}
fessEsClient.store(index, entity);
saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
} catch (final Exception e) {
logger.error("Failed to update " + entity, e);
throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, form.id), this::asEditHtml);
});
return redirectWith(getClass(), moreUrl("search").params("q", URLUtil.encode(form.q, Constants.UTF_8)));

View file

@ -36,8 +36,8 @@ public class AdminSearchlogAction extends FessAdminAction {
public static final String ROLE = "admin-searchlog";
private static final String[] CONDITION_FIELDS = new String[] { "logType", "queryId", "userSessionId", "accessType",
"requestedTimeRange", "pageSize" };
private static final String[] CONDITION_FIELDS =
new String[] { "logType", "queryId", "userSessionId", "accessType", "requestedTimeRange", "pageSize" };
// ===================================================================================
// Attribute
@ -190,7 +190,7 @@ public class AdminSearchlogAction extends FessAdminAction {
private HtmlResponse asListHtml() {
return asHtml(path_AdminSearchlog_AdminSearchlogJsp).renderWith(data -> {
RenderDataUtil.register(data, "searchLogItems", searchLogService.getSearchLogList(searchLogPager)); // page navi
}).useForm(SearchForm.class, setup -> {
}).useForm(SearchForm.class, setup -> {
setup.setup(form -> {
copyBeanToBean(searchLogPager, form, op -> op.include(CONDITION_FIELDS));
});

View file

@ -121,18 +121,17 @@ public class AdminStorageAction extends FessAdminAction {
if (StringUtil.isEmpty(values[1])) {
throwValidationError(messages -> messages.addErrorsStorageFileNotFound(GLOBAL), () -> asListHtml(encodeId(values[0])));
}
return asStream(values[1]).contentTypeOctetStream().stream(
out -> {
try {
downloadObject(getObjectName(values[0], values[1]), out);
} catch (final StorageException e) {
if (logger.isDebugEnabled()) {
logger.debug("Failed to download {}", values[1], e);
}
throwValidationError(messages -> messages.addErrorsStorageFileDownloadFailure(GLOBAL, values[1]),
() -> asListHtml(encodeId(values[0])));
}
});
return asStream(values[1]).contentTypeOctetStream().stream(out -> {
try {
downloadObject(getObjectName(values[0], values[1]), out);
} catch (final StorageException e) {
if (logger.isDebugEnabled()) {
logger.debug("Failed to download {}", values[1], e);
}
throwValidationError(messages -> messages.addErrorsStorageFileDownloadFailure(GLOBAL, values[1]),
() -> asListHtml(encodeId(values[0])));
}
});
}
@Execute
@ -147,7 +146,8 @@ public class AdminStorageAction extends FessAdminAction {
deleteObject(objectName);
} catch (final StorageException e) {
logger.debug("Failed to delete {}", values[1], e);
throwValidationError(messages -> messages.addErrorsFailedToDeleteFile(GLOBAL, values[1]), () -> asListHtml(encodeId(values[0])));
throwValidationError(messages -> messages.addErrorsFailedToDeleteFile(GLOBAL, values[1]),
() -> asListHtml(encodeId(values[0])));
}
saveInfo(messages -> messages.addSuccessDeleteFile(GLOBAL, values[1]));
return redirectWith(getClass(), moreUrl("list/" + encodeId(values[0])));
@ -168,10 +168,9 @@ public class AdminStorageAction extends FessAdminAction {
final FessConfig fessConfig = ComponentUtil.getFessConfig();
final MinioClient minioClient = createClient(fessConfig);
final PutObjectOptions options = new PutObjectOptions(uploadFile.getFileSize(), -1);
final PutObjectArgs args =
PutObjectArgs.builder().bucket(fessConfig.getStorageBucket()).object(objectName)
.stream(in, options.objectSize(), options.partSize()).contentType(options.contentType())
.headers(options.headers()).sse(options.sse()).build();
final PutObjectArgs args = PutObjectArgs.builder().bucket(fessConfig.getStorageBucket()).object(objectName)
.stream(in, options.objectSize(), options.partSize()).contentType(options.contentType()).headers(options.headers())
.sse(options.sse()).build();
minioClient.putObject(args);
} catch (final Exception e) {
throw new StorageException("Failed to upload " + objectName, e);
@ -213,10 +212,9 @@ public class AdminStorageAction extends FessAdminAction {
final ArrayList<Map<String, Object>> list = new ArrayList<>();
try {
final MinioClient minioClient = createClient(fessConfig);
final ListObjectsArgs args =
ListObjectsArgs.builder().bucket(fessConfig.getStorageBucket())
.prefix(prefix != null && prefix.length() > 0 ? prefix + "/" : prefix).recursive(false)
.includeUserMetadata(false).useApiVersion1(false).build();
final ListObjectsArgs args = ListObjectsArgs.builder().bucket(fessConfig.getStorageBucket())
.prefix(prefix != null && prefix.length() > 0 ? prefix + "/" : prefix).recursive(false).includeUserMetadata(false)
.useApiVersion1(false).build();
for (final Result<Item> result : minioClient.listObjects(args)) {
final Map<String, Object> map = new HashMap<>();
final Item item = result.get();

View file

@ -51,9 +51,9 @@ public class AdminSysteminfoAction extends FessAdminAction {
@Resource
protected DynamicProperties systemProperties;
private static final String[] bugReportLabels = { "file.separator", "file.encoding", "java.runtime.version", "java.vm.info",
"java.vm.name", "java.vm.vendor", "java.vm.version", "os.arch", "os.name", "os.version", "user.country", "user.language",
"user.timezone" };
private static final String[] bugReportLabels =
{ "file.separator", "file.encoding", "java.runtime.version", "java.vm.info", "java.vm.name", "java.vm.vendor",
"java.vm.version", "os.arch", "os.name", "os.version", "user.country", "user.language", "user.timezone" };
// ===================================================================================
// Hook

View file

@ -470,9 +470,9 @@ public class AdminUpgradeAction extends FessAdminAction {
private void upgradeFrom12_1() {
final IndicesAdminClient indicesClient = fessEsClient.admin().indices();
UpgradeUtil.putMapping(indicesClient, "fess_log.search_log", "search_log", "{\"dynamic_templates\": ["
+ "{\"documents\": {\"path_match\": \"documents.*\",\"mapping\": {\"type\": \"keyword\"}}}"//
+ "]}");
UpgradeUtil.putMapping(indicesClient, "fess_log.search_log", "search_log",
"{\"dynamic_templates\": [" + "{\"documents\": {\"path_match\": \"documents.*\",\"mapping\": {\"type\": \"keyword\"}}}"//
+ "]}");
UpgradeUtil.addFieldMapping(indicesClient, "fess_log.click_log", "click_log", "urlId",
"{\"properties\":{\"urlId\":{\"type\":\"keyword\"}}}");
}
@ -504,12 +504,8 @@ public class AdminUpgradeAction extends FessAdminAction {
}
private void upgradeFrom13_0() {
UpgradeUtil
.addData(
fessEsClient,
".fess_config.scheduled_job",
"label_updater",
"{\"name\":\"Label Updater\",\"target\":\"all\",\"cronExpression\":\"\",\"scriptType\":\"groovy\",\"scriptData\":\"return container.getComponent(\\\"updateLabelJob\\\").execute();\",\"jobLogging\":false,\"crawler\":false,\"available\":true,\"sortOrder\":11,\"createdBy\":\"system\",\"createdTime\":0,\"updatedBy\":\"system\",\"updatedTime\":0}");
UpgradeUtil.addData(fessEsClient, ".fess_config.scheduled_job", "label_updater",
"{\"name\":\"Label Updater\",\"target\":\"all\",\"cronExpression\":\"\",\"scriptType\":\"groovy\",\"scriptData\":\"return container.getComponent(\\\"updateLabelJob\\\").execute();\",\"jobLogging\":false,\"crawler\":false,\"available\":true,\"sortOrder\":11,\"createdBy\":\"system\",\"createdTime\":0,\"updatedBy\":\"system\",\"updatedTime\":0}");
}
private void upgradeFrom13_1() {

View file

@ -214,17 +214,16 @@ public class AdminUserAction extends FessAdminAction {
validateAttributes(form.attributes, v -> throwValidationError(v, this::asEditHtml));
verifyPassword(form, this::asEditHtml);
verifyToken(this::asEditHtml);
getUser(form).ifPresent(
entity -> {
try {
userService.store(entity);
saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
} catch (final Exception e) {
logger.error("Failed to add " + entity, e);
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
getUser(form).ifPresent(entity -> {
try {
userService.store(entity);
saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
} catch (final Exception e) {
logger.error("Failed to add " + entity, e);
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateInstance(GLOBAL), this::asEditHtml);
});
return redirect(getClass());
@ -238,17 +237,16 @@ public class AdminUserAction extends FessAdminAction {
validateAttributes(form.attributes, v -> throwValidationError(v, this::asEditHtml));
verifyPassword(form, this::asEditHtml);
verifyToken(this::asEditHtml);
getUser(form).ifPresent(
entity -> {
try {
userService.store(entity);
saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
} catch (final Exception e) {
logger.error("Failed to update " + entity, e);
throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
getUser(form).ifPresent(entity -> {
try {
userService.store(entity);
saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
} catch (final Exception e) {
logger.error("Failed to update " + entity, e);
throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, form.id), this::asEditHtml);
});
return redirect(getClass());
@ -266,22 +264,18 @@ public class AdminUserAction extends FessAdminAction {
});
verifyToken(this::asDetailsHtml);
final String id = form.id;
userService
.getUser(id)
.ifPresent(
entity -> {
try {
userService.delete(entity);
saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
} catch (final Exception e) {
logger.error("Failed to delete " + entity, e);
throwValidationError(
messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asDetailsHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), this::asDetailsHtml);
});
userService.getUser(id).ifPresent(entity -> {
try {
userService.delete(entity);
saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
} catch (final Exception e) {
logger.error("Failed to delete " + entity, e);
throwValidationError(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asDetailsHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), this::asDetailsHtml);
});
return redirect(getClass());
}
@ -370,7 +364,7 @@ public class AdminUserAction extends FessAdminAction {
private HtmlResponse asListHtml() {
return asHtml(path_AdminUser_AdminUserJsp).renderWith(data -> {
RenderDataUtil.register(data, "userItems", userService.getUserList(userPager)); // page navi
}).useForm(SearchForm.class, setup -> {
}).useForm(SearchForm.class, setup -> {
setup.setup(form -> {
copyBeanToBean(userPager, form, op -> op.include("id"));
});

View file

@ -197,16 +197,15 @@ public class AdminWebauthAction extends FessAdminAction {
verifyCrudMode(form.crudMode, CrudMode.CREATE);
validate(form, messages -> {}, this::asEditHtml);
verifyToken(this::asEditHtml);
getWebAuthentication(form).ifPresent(
entity -> {
try {
webAuthenticationService.store(entity);
saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
getWebAuthentication(form).ifPresent(entity -> {
try {
webAuthenticationService.store(entity);
saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateInstance(GLOBAL), this::asEditHtml);
});
return redirect(getClass());
@ -218,16 +217,15 @@ public class AdminWebauthAction extends FessAdminAction {
verifyCrudMode(form.crudMode, CrudMode.EDIT);
validate(form, messages -> {}, this::asEditHtml);
verifyToken(this::asEditHtml);
getWebAuthentication(form).ifPresent(
entity -> {
try {
webAuthenticationService.store(entity);
saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
getWebAuthentication(form).ifPresent(entity -> {
try {
webAuthenticationService.store(entity);
saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, form.id), this::asEditHtml);
});
return redirect(getClass());
@ -240,21 +238,17 @@ public class AdminWebauthAction extends FessAdminAction {
validate(form, messages -> {}, this::asDetailsHtml);
verifyToken(this::asDetailsHtml);
final String id = form.id;
webAuthenticationService
.getWebAuthentication(id)
.ifPresent(
entity -> {
try {
webAuthenticationService.delete(entity);
saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(
messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), this::asDetailsHtml);
});
webAuthenticationService.getWebAuthentication(id).ifPresent(entity -> {
try {
webAuthenticationService.delete(entity);
saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), this::asDetailsHtml);
});
return redirect(getClass());
}
@ -336,9 +330,9 @@ public class AdminWebauthAction extends FessAdminAction {
private HtmlResponse asListHtml() {
return asHtml(path_AdminWebauth_AdminWebauthJsp).renderWith(data -> {
RenderDataUtil.register(data, "webAuthenticationItems", webAuthenticationService.getWebAuthenticationList(webAuthPager)); // page navi
RenderDataUtil.register(data, "displayCreateLink", !crawlingConfigHelper.getAllWebConfigList(false, false, false, null)
.isEmpty());
}).useForm(SearchForm.class, setup -> {
RenderDataUtil.register(data, "displayCreateLink",
!crawlingConfigHelper.getAllWebConfigList(false, false, false, null).isEmpty());
}).useForm(SearchForm.class, setup -> {
setup.setup(form -> {
copyBeanToBean(webAuthPager, form, op -> op.include("id"));
});

View file

@ -152,26 +152,19 @@ public class AdminWebconfigAction extends FessAdminAction {
public HtmlResponse edit(final EditForm form) {
validate(form, messages -> {}, this::asListHtml);
final String id = form.id;
webConfigService
.getWebConfig(id)
.ifPresent(
entity -> {
copyBeanToBean(entity, form, copyOp -> {
copyOp.excludeNull();
copyOp.exclude(Constants.PERMISSIONS, Constants.VIRTUAL_HOSTS);
});
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")));
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), this::asListHtml);
});
webConfigService.getWebConfig(id).ifPresent(entity -> {
copyBeanToBean(entity, form, copyOp -> {
copyOp.excludeNull();
copyOp.exclude(Constants.PERMISSIONS, Constants.VIRTUAL_HOSTS);
});
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")));
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), this::asListHtml);
});
saveToken();
if (form.crudMode.intValue() == CrudMode.EDIT) {
// back
@ -191,36 +184,24 @@ public class AdminWebconfigAction extends FessAdminAction {
public HtmlResponse details(final int crudMode, final String id) {
verifyCrudMode(crudMode, CrudMode.DETAILS);
saveToken();
return asDetailsHtml().useForm(
EditForm.class,
op -> {
op.setup(form -> {
webConfigService
.getWebConfig(id)
.ifPresent(
entity -> {
copyBeanToBean(entity, form, copyOp -> {
copyOp.excludeNull();
copyOp.exclude(Constants.PERMISSIONS, Constants.VIRTUAL_HOSTS);
});
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.crudMode = crudMode;
})
.orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id),
this::asListHtml);
});
return asDetailsHtml().useForm(EditForm.class, op -> {
op.setup(form -> {
webConfigService.getWebConfig(id).ifPresent(entity -> {
copyBeanToBean(entity, form, copyOp -> {
copyOp.excludeNull();
copyOp.exclude(Constants.PERMISSIONS, Constants.VIRTUAL_HOSTS);
});
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.crudMode = crudMode;
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), this::asListHtml);
});
});
});
}
// -----------------------------------------------------
@ -232,16 +213,15 @@ public class AdminWebconfigAction extends FessAdminAction {
verifyCrudMode(form.crudMode, CrudMode.CREATE);
validate(form, messages -> {}, this::asEditHtml);
verifyToken(this::asEditHtml);
getWebConfig(form).ifPresent(
entity -> {
try {
webConfigService.store(entity);
saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
getWebConfig(form).ifPresent(entity -> {
try {
webConfigService.store(entity);
saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudFailedToCreateInstance(GLOBAL), this::asEditHtml);
});
return redirect(getClass());
@ -253,16 +233,15 @@ public class AdminWebconfigAction extends FessAdminAction {
verifyCrudMode(form.crudMode, CrudMode.EDIT);
validate(form, messages -> {}, this::asEditHtml);
verifyToken(this::asEditHtml);
getWebConfig(form).ifPresent(
entity -> {
try {
webConfigService.store(entity);
saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
getWebConfig(form).ifPresent(entity -> {
try {
webConfigService.store(entity);
saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, form.id), this::asEditHtml);
});
return redirect(getClass());
@ -275,21 +254,17 @@ public class AdminWebconfigAction extends FessAdminAction {
validate(form, messages -> {}, this::asDetailsHtml);
verifyToken(this::asDetailsHtml);
final String id = form.id;
webConfigService
.getWebConfig(id)
.ifPresent(
entity -> {
try {
webConfigService.delete(entity);
saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(
messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), this::asDetailsHtml);
});
webConfigService.getWebConfig(id).ifPresent(entity -> {
try {
webConfigService.delete(entity);
saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
} catch (final Exception e) {
throwValidationError(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
this::asEditHtml);
}
}).orElse(() -> {
throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), this::asDetailsHtml);
});
return redirect(getClass());
}
@ -319,23 +294,20 @@ public class AdminWebconfigAction extends FessAdminAction {
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;
});
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;
});
}
protected void registerRolesAndLabels(final RenderData data) {
@ -362,7 +334,7 @@ public class AdminWebconfigAction extends FessAdminAction {
private HtmlResponse asListHtml() {
return asHtml(path_AdminWebconfig_AdminWebconfigJsp).renderWith(data -> {
RenderDataUtil.register(data, "webConfigItems", webConfigService.getWebConfigList(webConfigPager)); // page navi
}).useForm(SearchForm.class, setup -> {
}).useForm(SearchForm.class, setup -> {
setup.setup(form -> {
copyBeanToBean(webConfigPager, form, op -> op.include("id", "name", "urls", "description"));
});

View file

@ -40,6 +40,7 @@ public class ApiResult {
public enum Status {
OK(0), BAD_REQUEST(1), SYSTEM_ERROR(2), UNAUTHORIZED(3);
private final int id;
private Status(final int id) {
@ -342,11 +343,9 @@ public class ApiResult {
public ApiErrorResponse message(final VaMessenger<FessMessages> validationMessagesLambda) {
final FessMessages messages = new FessMessages();
validationMessagesLambda.message(messages);
message =
ComponentUtil
.getMessageManager()
.toMessageList(LaRequestUtil.getOptionalRequest().map(HttpServletRequest::getLocale).orElse(Locale.ENGLISH),
messages).stream().collect(Collectors.joining(" "));
message = ComponentUtil.getMessageManager()
.toMessageList(LaRequestUtil.getOptionalRequest().map(HttpServletRequest::getLocale).orElse(Locale.ENGLISH), messages)
.stream().collect(Collectors.joining(" "));
return this;
}
}

View file

@ -132,10 +132,8 @@ public class ApiAdminAccesstokenAction extends FessApiAdminAction {
copyBeanToBean(entity, body, copyOp -> copyOp.exclude(Constants.PERMISSIONS, AdminAccesstokenAction.EXPIRED_TIME).excludeNull()
.dateConverter(Constants.DEFAULT_DATETIME_FORMAT, AdminAccesstokenAction.EXPIRES));
final PermissionHelper permissionHelper = ComponentUtil.getPermissionHelper();
body.permissions =
stream(entity.getPermissions()).get(
stream -> stream.map(permissionHelper::decode).filter(StringUtil::isNotBlank).distinct()
.collect(Collectors.joining("\n")));
body.permissions = stream(entity.getPermissions()).get(
stream -> stream.map(permissionHelper::decode).filter(StringUtil::isNotBlank).distinct().collect(Collectors.joining("\n")));
body.crudMode = null;
return body;

View file

@ -91,13 +91,12 @@ public class ApiAdminBackupAction extends FessApiAdminAction {
index = id;
filename = id + ".bulk";
}
return asStream(filename).contentTypeOctetStream().stream(
out -> {
try (CurlResponse response =
ComponentUtil.getCurlHelper().get("/" + index + "/_data").param("format", "json").execute()) {
out.write(response.getContentAsStream());
}
});
return asStream(filename).contentTypeOctetStream().stream(out -> {
try (CurlResponse response =
ComponentUtil.getCurlHelper().get("/" + index + "/_data").param("format", "json").execute()) {
out.write(response.getContentAsStream());
}
});
}
}

View file

@ -63,9 +63,9 @@ public class ApiAdminBadwordAction extends FessApiAdminAction {
validateApi(body, messages -> {});
final BadWordPager pager = copyBeanToNewBean(body, BadWordPager.class);
final List<BadWord> list = badWordService.getBadWordList(pager);
return asJson(new ApiResult.ApiConfigsResponse<EditBody>()
.settings(list.stream().map(this::createEditBody).collect(Collectors.toList())).total(pager.getAllRecordCount())
.status(ApiResult.Status.OK).result());
return asJson(
new ApiResult.ApiConfigsResponse<EditBody>().settings(list.stream().map(this::createEditBody).collect(Collectors.toList()))
.total(pager.getAllRecordCount()).status(ApiResult.Status.OK).result());
}
// GET /api/admin/badword/{id}

View file

@ -62,9 +62,9 @@ public class ApiAdminDataconfigAction extends FessApiAdminAction {
validateApi(body, messages -> {});
final DataConfigPager pager = copyBeanToNewBean(body, DataConfigPager.class);
final List<DataConfig> list = dataConfigService.getDataConfigList(pager);
return asJson(new ApiResult.ApiConfigsResponse<EditBody>()
.settings(list.stream().map(this::createEditBody).collect(Collectors.toList())).total(pager.getAllRecordCount())
.status(ApiResult.Status.OK).result());
return asJson(
new ApiResult.ApiConfigsResponse<EditBody>().settings(list.stream().map(this::createEditBody).collect(Collectors.toList()))
.total(pager.getAllRecordCount()).status(ApiResult.Status.OK).result());
}
// GET /api/admin/dataconfig/setting/{id}
@ -138,13 +138,10 @@ public class ApiAdminDataconfigAction extends FessApiAdminAction {
copyOp.exclude(Constants.PERMISSIONS, Constants.VIRTUAL_HOSTS);
});
final PermissionHelper permissionHelper = ComponentUtil.getPermissionHelper();
body.permissions =
stream(entity.getPermissions()).get(
stream -> stream.map(s -> permissionHelper.decode(s)).filter(StringUtil::isNotBlank).distinct()
.collect(Collectors.joining("\n")));
body.virtualHosts =
stream(entity.getVirtualHosts()).get(
stream -> stream.filter(StringUtil::isNotBlank).distinct().map(String::trim).collect(Collectors.joining("\n")));
body.permissions = stream(entity.getPermissions()).get(stream -> stream.map(s -> permissionHelper.decode(s))
.filter(StringUtil::isNotBlank).distinct().collect(Collectors.joining("\n")));
body.virtualHosts = stream(entity.getVirtualHosts())
.get(stream -> stream.filter(StringUtil::isNotBlank).distinct().map(String::trim).collect(Collectors.joining("\n")));
return body;
}
}

View file

@ -37,7 +37,8 @@ public class ApiAdminDictAction extends FessApiAdminAction {
public JsonResponse<ApiResult> get$index() {
final DictionaryFile<? extends DictionaryItem>[] dictFiles = dictionaryManager.getDictionaryFiles();
return asJson(new ApiResult.ApiConfigsResponse<ListBody>()
.settings(Stream.of(dictFiles).map(this::createListBody).collect(Collectors.toList())).status(ApiResult.Status.OK).result());
.settings(Stream.of(dictFiles).map(this::createListBody).collect(Collectors.toList())).status(ApiResult.Status.OK)
.result());
}
protected ListBody createListBody(final DictionaryFile<? extends DictionaryItem> dictionaryFile) {

View file

@ -48,9 +48,8 @@ public class ApiAdminDictKuromojiAction extends FessApiAdminAction {
validateApi(body, messages -> {});
final KuromojiPager pager = copyBeanToNewBean(body, KuromojiPager.class);
return asJson(new ApiResult.ApiConfigsResponse<EditBody>()
.settings(
kuromojiService.getKuromojiList(body.dictId, pager).stream()
.map(protwordsItem -> createEditBody(protwordsItem, dictId)).collect(Collectors.toList()))
.settings(kuromojiService.getKuromojiList(body.dictId, pager).stream()
.map(protwordsItem -> createEditBody(protwordsItem, dictId)).collect(Collectors.toList()))
.status(ApiResult.Status.OK).result());
}
@ -78,8 +77,8 @@ public class ApiAdminDictKuromojiAction extends FessApiAdminAction {
return null;
});
kuromojiService.store(body.dictId, entity);
return asJson(new ApiResult.ApiUpdateResponse().id(String.valueOf(entity.getId())).created(true).status(ApiResult.Status.OK)
.result());
return asJson(
new ApiResult.ApiUpdateResponse().id(String.valueOf(entity.getId())).created(true).status(ApiResult.Status.OK).result());
}
// POST /api/admin/dict/kuromoji/setting/{dictId}
@ -96,8 +95,8 @@ public class ApiAdminDictKuromojiAction extends FessApiAdminAction {
return null;
});
kuromojiService.store(body.dictId, entity);
return asJson(new ApiResult.ApiUpdateResponse().id(String.valueOf(entity.getId())).created(false).status(ApiResult.Status.OK)
.result());
return asJson(
new ApiResult.ApiUpdateResponse().id(String.valueOf(entity.getId())).created(false).status(ApiResult.Status.OK).result());
}
// DELETE /api/admin/dict/kuromoji/setting/{dictId}/{id}

View file

@ -48,9 +48,8 @@ public class ApiAdminDictMappingAction extends FessApiAdminAction {
validateApi(body, messages -> {});
final CharMappingPager pager = copyBeanToNewBean(body, CharMappingPager.class);
return asJson(new ApiResult.ApiConfigsResponse<EditBody>()
.settings(
charMappingService.getCharMappingList(body.dictId, pager).stream()
.map(protwordsItem -> createEditBody(protwordsItem, dictId)).collect(Collectors.toList()))
.settings(charMappingService.getCharMappingList(body.dictId, pager).stream()
.map(protwordsItem -> createEditBody(protwordsItem, dictId)).collect(Collectors.toList()))
.status(ApiResult.Status.OK).result());
}
@ -78,8 +77,8 @@ public class ApiAdminDictMappingAction extends FessApiAdminAction {
return null;
});
charMappingService.store(body.dictId, entity);
return asJson(new ApiResult.ApiUpdateResponse().id(String.valueOf(entity.getId())).created(true).status(ApiResult.Status.OK)
.result());
return asJson(
new ApiResult.ApiUpdateResponse().id(String.valueOf(entity.getId())).created(true).status(ApiResult.Status.OK).result());
}
// POST /api/admin/dict/mapping/setting/{dictId}
@ -96,8 +95,8 @@ public class ApiAdminDictMappingAction extends FessApiAdminAction {
return null;
});
charMappingService.store(body.dictId, entity);
return asJson(new ApiResult.ApiUpdateResponse().id(String.valueOf(entity.getId())).created(false).status(ApiResult.Status.OK)
.result());
return asJson(
new ApiResult.ApiUpdateResponse().id(String.valueOf(entity.getId())).created(false).status(ApiResult.Status.OK).result());
}
// DELETE /api/admin/dict/mapping/setting/{dictId}/{id}

View file

@ -47,9 +47,8 @@ public class ApiAdminDictProtwordsAction extends FessApiAdminAction {
validateApi(body, messages -> {});
final ProtwordsPager pager = copyBeanToNewBean(body, ProtwordsPager.class);
return asJson(new ApiResult.ApiConfigsResponse<EditBody>()
.settings(
protwordsService.getProtwordsList(body.dictId, pager).stream()
.map(protwordsItem -> createEditBody(protwordsItem, dictId)).collect(Collectors.toList()))
.settings(protwordsService.getProtwordsList(body.dictId, pager).stream()
.map(protwordsItem -> createEditBody(protwordsItem, dictId)).collect(Collectors.toList()))
.status(ApiResult.Status.OK).result());
}
@ -77,8 +76,8 @@ public class ApiAdminDictProtwordsAction extends FessApiAdminAction {
return null;
});
protwordsService.store(body.dictId, entity);
return asJson(new ApiResult.ApiUpdateResponse().id(String.valueOf(entity.getId())).created(true).status(ApiResult.Status.OK)
.result());
return asJson(
new ApiResult.ApiUpdateResponse().id(String.valueOf(entity.getId())).created(true).status(ApiResult.Status.OK).result());
}
// POST /api/admin/dict/protwords/setting/{dictId}
@ -95,8 +94,8 @@ public class ApiAdminDictProtwordsAction extends FessApiAdminAction {
return null;
});
protwordsService.store(body.dictId, entity);
return asJson(new ApiResult.ApiUpdateResponse().id(String.valueOf(entity.getId())).created(false).status(ApiResult.Status.OK)
.result());
return asJson(
new ApiResult.ApiUpdateResponse().id(String.valueOf(entity.getId())).created(false).status(ApiResult.Status.OK).result());
}
// DELETE /api/admin/dict/protwords/setting/{dictId}/{id}

View file

@ -48,26 +48,19 @@ public class ApiAdminDictStemmeroverrideAction extends FessApiAdminAction {
validateApi(body, messages -> {});
final StemmerOverridePager pager = copyBeanToNewBean(body, StemmerOverridePager.class);
return asJson(new ApiResult.ApiConfigsResponse<EditBody>()
.settings(
stemmerOverrideService.getStemmerOverrideList(body.dictId, pager).stream()
.map(protwordsItem -> createEditBody(protwordsItem, dictId)).collect(Collectors.toList()))
.settings(stemmerOverrideService.getStemmerOverrideList(body.dictId, pager).stream()
.map(protwordsItem -> createEditBody(protwordsItem, dictId)).collect(Collectors.toList()))
.status(ApiResult.Status.OK).result());
}
// GET /api/admin/dict/stemmerOverride/setting/{dictId}/{id}
@Execute
public JsonResponse<ApiResult> get$setting(final String dictId, final long id) {
return asJson(new ApiResult.ApiConfigResponse()
.setting(
stemmerOverrideService
.getStemmerOverrideItem(dictId, id)
.map(entity -> createEditBody(entity, dictId))
.orElseGet(
() -> {
throwValidationErrorApi(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL,
String.valueOf(id)));
return null;
})).status(ApiResult.Status.OK).result());
return asJson(new ApiResult.ApiConfigResponse().setting(
stemmerOverrideService.getStemmerOverrideItem(dictId, id).map(entity -> createEditBody(entity, dictId)).orElseGet(() -> {
throwValidationErrorApi(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, String.valueOf(id)));
return null;
})).status(ApiResult.Status.OK).result());
}
// PUT /api/admin/dict/stemmerOverride/setting/{dictId}
@ -84,8 +77,8 @@ public class ApiAdminDictStemmeroverrideAction extends FessApiAdminAction {
return null;
});
stemmerOverrideService.store(body.dictId, entity);
return asJson(new ApiResult.ApiUpdateResponse().id(String.valueOf(entity.getId())).created(true).status(ApiResult.Status.OK)
.result());
return asJson(
new ApiResult.ApiUpdateResponse().id(String.valueOf(entity.getId())).created(true).status(ApiResult.Status.OK).result());
}
// POST /api/admin/dict/stemmerOverride/setting/{dictId}
@ -102,8 +95,8 @@ public class ApiAdminDictStemmeroverrideAction extends FessApiAdminAction {
return null;
});
stemmerOverrideService.store(body.dictId, entity);
return asJson(new ApiResult.ApiUpdateResponse().id(String.valueOf(entity.getId())).created(false).status(ApiResult.Status.OK)
.result());
return asJson(
new ApiResult.ApiUpdateResponse().id(String.valueOf(entity.getId())).created(false).status(ApiResult.Status.OK).result());
}
// DELETE /api/admin/dict/stemmerOverride/setting/{dictId}/{id}

View file

@ -47,9 +47,8 @@ public class ApiAdminDictStopwordsAction extends FessApiAdminAction {
validateApi(body, messages -> {});
final StopwordsPager pager = copyBeanToNewBean(body, StopwordsPager.class);
return asJson(new ApiResult.ApiConfigsResponse<EditBody>()
.settings(
stopwordsService.getStopwordsList(body.dictId, pager).stream()
.map(stopwordsItem -> createEditBody(stopwordsItem, dictId)).collect(Collectors.toList()))
.settings(stopwordsService.getStopwordsList(body.dictId, pager).stream()
.map(stopwordsItem -> createEditBody(stopwordsItem, dictId)).collect(Collectors.toList()))
.status(ApiResult.Status.OK).result());
}
@ -77,8 +76,8 @@ public class ApiAdminDictStopwordsAction extends FessApiAdminAction {
return null;
});
stopwordsService.store(body.dictId, entity);
return asJson(new ApiResult.ApiUpdateResponse().id(String.valueOf(entity.getId())).created(true).status(ApiResult.Status.OK)
.result());
return asJson(
new ApiResult.ApiUpdateResponse().id(String.valueOf(entity.getId())).created(true).status(ApiResult.Status.OK).result());
}
// POST /api/admin/dict/stopwords/setting/{dictId}
@ -95,8 +94,8 @@ public class ApiAdminDictStopwordsAction extends FessApiAdminAction {
return null;
});
stopwordsService.store(body.dictId, entity);
return asJson(new ApiResult.ApiUpdateResponse().id(String.valueOf(entity.getId())).created(false).status(ApiResult.Status.OK)
.result());
return asJson(
new ApiResult.ApiUpdateResponse().id(String.valueOf(entity.getId())).created(false).status(ApiResult.Status.OK).result());
}
// DELETE /api/admin/dict/stopwords/setting/{dictId}/{id}

View file

@ -48,9 +48,8 @@ public class ApiAdminDictSynonymAction extends FessApiAdminAction {
validateApi(body, messages -> {});
final SynonymPager pager = copyBeanToNewBean(body, SynonymPager.class);
return asJson(new ApiResult.ApiConfigsResponse<EditBody>()
.settings(
synonymService.getSynonymList(body.dictId, pager).stream()
.map(protwordsItem -> createEditBody(protwordsItem, dictId)).collect(Collectors.toList()))
.settings(synonymService.getSynonymList(body.dictId, pager).stream()
.map(protwordsItem -> createEditBody(protwordsItem, dictId)).collect(Collectors.toList()))
.status(ApiResult.Status.OK).result());
}
@ -78,8 +77,8 @@ public class ApiAdminDictSynonymAction extends FessApiAdminAction {
return null;
});
synonymService.store(body.dictId, entity);
return asJson(new ApiResult.ApiUpdateResponse().id(String.valueOf(entity.getId())).created(true).status(ApiResult.Status.OK)
.result());
return asJson(
new ApiResult.ApiUpdateResponse().id(String.valueOf(entity.getId())).created(true).status(ApiResult.Status.OK).result());
}
// POST /api/admin/dict/synonym/setting/{dictId}
@ -96,8 +95,8 @@ public class ApiAdminDictSynonymAction extends FessApiAdminAction {
return null;
});
synonymService.store(body.dictId, entity);
return asJson(new ApiResult.ApiUpdateResponse().id(String.valueOf(entity.getId())).created(false).status(ApiResult.Status.OK)
.result());
return asJson(
new ApiResult.ApiUpdateResponse().id(String.valueOf(entity.getId())).created(false).status(ApiResult.Status.OK).result());
}
// DELETE /api/admin/dict/synonym/setting/{dictId}/{id}

View file

@ -57,9 +57,9 @@ public class ApiAdminDuplicatehostAction extends FessApiAdminAction {
validateApi(body, messages -> {});
final DuplicateHostPager pager = copyBeanToNewBean(body, DuplicateHostPager.class);
final List<DuplicateHost> list = duplicateHostService.getDuplicateHostList(pager);
return asJson(new ApiResult.ApiConfigsResponse<EditBody>()
.settings(list.stream().map(this::createEditBody).collect(Collectors.toList())).total(pager.getAllRecordCount())
.status(ApiResult.Status.OK).result());
return asJson(
new ApiResult.ApiConfigsResponse<EditBody>().settings(list.stream().map(this::createEditBody).collect(Collectors.toList()))
.total(pager.getAllRecordCount()).status(ApiResult.Status.OK).result());
}
// GET /api/admin/duplicatehost/setting/{id}

View file

@ -67,9 +67,9 @@ public class ApiAdminElevatewordAction extends FessApiAdminAction {
validateApi(body, messages -> {});
final ElevateWordPager pager = copyBeanToNewBean(body, ElevateWordPager.class);
final List<ElevateWord> list = elevateWordService.getElevateWordList(pager);
return asJson(new ApiResult.ApiConfigsResponse<EditBody>()
.settings(list.stream().map(this::createEditBody).collect(Collectors.toList())).total(pager.getAllRecordCount())
.status(ApiResult.Status.OK).result());
return asJson(
new ApiResult.ApiConfigsResponse<EditBody>().settings(list.stream().map(this::createEditBody).collect(Collectors.toList()))
.total(pager.getAllRecordCount()).status(ApiResult.Status.OK).result());
}
// GET /api/admin/elevateword/{id}
@ -83,10 +83,8 @@ public class ApiAdminElevatewordAction extends FessApiAdminAction {
final EditBody body = createEditBody(entity);
final PermissionHelper permissionHelper = ComponentUtil.getPermissionHelper();
body.permissions =
stream(entity.getPermissions()).get(
stream -> stream.map(s -> permissionHelper.decode(s)).filter(StringUtil::isNotBlank).distinct()
.collect(Collectors.joining("\n")));
body.permissions = stream(entity.getPermissions()).get(stream -> stream.map(s -> permissionHelper.decode(s))
.filter(StringUtil::isNotBlank).distinct().collect(Collectors.joining("\n")));
return asJson(new ApiResult.ApiConfigResponse().setting(body).status(ApiResult.Status.OK).result());
}
@ -103,8 +101,8 @@ public class ApiAdminElevatewordAction extends FessApiAdminAction {
});
try {
elevateWordService.store(entity);
suggestHelper.addElevateWord(entity.getSuggestWord(), entity.getReading(), entity.getLabelTypeValues(),
entity.getPermissions(), entity.getBoost(), false);
suggestHelper.addElevateWord(entity.getSuggestWord(), entity.getReading(), entity.getLabelTypeValues(), entity.getPermissions(),
entity.getBoost(), false);
} catch (final Exception e) {
throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)));
}
@ -197,10 +195,8 @@ public class ApiAdminElevatewordAction extends FessApiAdminAction {
copyOp.exclude(Constants.PERMISSIONS);
});
final PermissionHelper permissionHelper = ComponentUtil.getPermissionHelper();
body.permissions =
stream(entity.getPermissions()).get(
stream -> stream.map(s -> permissionHelper.decode(s)).filter(StringUtil::isNotBlank).distinct()
.collect(Collectors.joining("\n")));
body.permissions = stream(entity.getPermissions()).get(stream -> stream.map(s -> permissionHelper.decode(s))
.filter(StringUtil::isNotBlank).distinct().collect(Collectors.joining("\n")));
return body;
}

View file

@ -61,9 +61,9 @@ public class ApiAdminFileauthAction extends FessApiAdminAction {
validateApi(body, messages -> {});
final FileAuthPager pager = copyBeanToNewBean(body, FileAuthPager.class);
final List<FileAuthentication> list = fileAuthService.getFileAuthenticationList(pager);
return asJson(new ApiResult.ApiConfigsResponse<EditBody>()
.settings(list.stream().map(this::createEditBody).collect(Collectors.toList())).total(pager.getAllRecordCount())
.status(ApiResult.Status.OK).result());
return asJson(
new ApiResult.ApiConfigsResponse<EditBody>().settings(list.stream().map(this::createEditBody).collect(Collectors.toList()))
.total(pager.getAllRecordCount()).status(ApiResult.Status.OK).result());
}
// GET /api/admin/fileauth/setting/{id}

View file

@ -62,9 +62,9 @@ public class ApiAdminFileconfigAction extends FessApiAdminAction {
validateApi(body, messages -> {});
final FileConfigPager pager = copyBeanToNewBean(body, FileConfigPager.class);
final List<FileConfig> list = fileConfigService.getFileConfigList(pager);
return asJson(new ApiResult.ApiConfigsResponse<EditBody>()
.settings(list.stream().map(this::createEditBody).collect(Collectors.toList())).total(pager.getAllRecordCount())
.status(ApiResult.Status.OK).result());
return asJson(
new ApiResult.ApiConfigsResponse<EditBody>().settings(list.stream().map(this::createEditBody).collect(Collectors.toList()))
.total(pager.getAllRecordCount()).status(ApiResult.Status.OK).result());
}
// GET /api/admin/fileconfig/setting/{id}
@ -138,13 +138,10 @@ public class ApiAdminFileconfigAction extends FessApiAdminAction {
copyOp.exclude(Constants.PERMISSIONS, Constants.VIRTUAL_HOSTS);
});
final PermissionHelper permissionHelper = ComponentUtil.getPermissionHelper();
body.permissions =
stream(entity.getPermissions()).get(
stream -> stream.map(s -> permissionHelper.decode(s)).filter(StringUtil::isNotBlank).distinct()
.collect(Collectors.joining("\n")));
body.virtualHosts =
stream(entity.getVirtualHosts()).get(
stream -> stream.filter(StringUtil::isNotBlank).distinct().map(String::trim).collect(Collectors.joining("\n")));
body.permissions = stream(entity.getPermissions()).get(stream -> stream.map(s -> permissionHelper.decode(s))
.filter(StringUtil::isNotBlank).distinct().collect(Collectors.joining("\n")));
body.virtualHosts = stream(entity.getVirtualHosts())
.get(stream -> stream.filter(StringUtil::isNotBlank).distinct().map(String::trim).collect(Collectors.joining("\n")));
return body;
}
}

View file

@ -45,9 +45,9 @@ public class ApiAdminGroupAction extends FessApiAdminAction {
validateApi(body, messages -> {});
final GroupPager pager = copyBeanToNewBean(body, GroupPager.class);
final List<Group> list = groupService.getGroupList(pager);
return asJson(new ApiResult.ApiConfigsResponse<EditBody>()
.settings(list.stream().map(this::createEditBody).collect(Collectors.toList())).total(pager.getAllRecordCount())
.status(ApiResult.Status.OK).result());
return asJson(
new ApiResult.ApiConfigsResponse<EditBody>().settings(list.stream().map(this::createEditBody).collect(Collectors.toList()))
.total(pager.getAllRecordCount()).status(ApiResult.Status.OK).result());
}
// GET /api/admin/group/setting/{id}

View file

@ -57,9 +57,9 @@ public class ApiAdminKeymatchAction extends FessApiAdminAction {
validateApi(body, messages -> {});
final KeyMatchPager pager = copyBeanToNewBean(body, KeyMatchPager.class);
final List<KeyMatch> list = keyMatchService.getKeyMatchList(pager);
return asJson(new ApiResult.ApiConfigsResponse<EditBody>()
.settings(list.stream().map(this::createEditBody).collect(Collectors.toList())).total(pager.getAllRecordCount())
.status(ApiResult.Status.OK).result());
return asJson(
new ApiResult.ApiConfigsResponse<EditBody>().settings(list.stream().map(this::createEditBody).collect(Collectors.toList()))
.total(pager.getAllRecordCount()).status(ApiResult.Status.OK).result());
}
// GET /api/admin/keymatch/setting/{id}

View file

@ -62,9 +62,9 @@ public class ApiAdminLabeltypeAction extends FessApiAdminAction {
validateApi(body, messages -> {});
final LabelTypePager pager = copyBeanToNewBean(body, LabelTypePager.class);
final List<LabelType> list = labelTypeService.getLabelTypeList(pager);
return asJson(new ApiResult.ApiConfigsResponse<EditBody>()
.settings(list.stream().map(this::createEditBody).collect(Collectors.toList())).total(pager.getAllRecordCount())
.status(ApiResult.Status.OK).result());
return asJson(
new ApiResult.ApiConfigsResponse<EditBody>().settings(list.stream().map(this::createEditBody).collect(Collectors.toList()))
.total(pager.getAllRecordCount()).status(ApiResult.Status.OK).result());
}
// GET /api/admin/labeltype/setting/{id}
@ -138,10 +138,8 @@ public class ApiAdminLabeltypeAction extends FessApiAdminAction {
copyOp.exclude(Constants.PERMISSIONS);
});
final PermissionHelper permissionHelper = ComponentUtil.getPermissionHelper();
body.permissions =
stream(entity.getPermissions()).get(
stream -> stream.map(s -> permissionHelper.decode(s)).filter(StringUtil::isNotBlank).distinct()
.collect(Collectors.joining("\n")));
body.permissions = stream(entity.getPermissions()).get(stream -> stream.map(s -> permissionHelper.decode(s))
.filter(StringUtil::isNotBlank).distinct().collect(Collectors.joining("\n")));
return body;
}
}

View file

@ -44,16 +44,16 @@ public class ApiAdminPathmapAction extends FessApiAdminAction {
validateApi(body, messages -> {});
final PathMapPager pager = copyBeanToNewBean(body, PathMapPager.class);
final List<PathMapping> list = pathMappingService.getPathMappingList(pager);
return asJson(new ApiResult.ApiConfigsResponse<EditBody>()
.settings(list.stream().map(this::createEditBody).collect(Collectors.toList())).total(pager.getAllRecordCount())
.status(ApiResult.Status.OK).result());
return asJson(
new ApiResult.ApiConfigsResponse<EditBody>().settings(list.stream().map(this::createEditBody).collect(Collectors.toList()))
.total(pager.getAllRecordCount()).status(ApiResult.Status.OK).result());
}
// GET /api/admin/pathmap/setting/{id}
@Execute
public JsonResponse<ApiResult> get$setting(final String id) {
return asJson(new ApiResult.ApiConfigResponse()
.setting(pathMappingService.getPathMapping(id).map(this::createEditBody).orElseGet(() -> {
return asJson(
new ApiResult.ApiConfigResponse().setting(pathMappingService.getPathMapping(id).map(this::createEditBody).orElseGet(() -> {
throwValidationErrorApi(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id));
return null;
})).status(ApiResult.Status.OK).result());

View file

@ -52,7 +52,8 @@ public class ApiAdminPluginAction extends FessApiAdminAction {
validateApi(body, messages -> {});
final Artifact artifact = ComponentUtil.getPluginHelper().getArtifact(body.name, body.version);
if (artifact == null) {
return asJson(new ApiResult.ApiErrorResponse().message("invalid name or version").status(ApiResult.Status.BAD_REQUEST).result());
return asJson(
new ApiResult.ApiErrorResponse().message("invalid name or version").status(ApiResult.Status.BAD_REQUEST).result());
}
installArtifact(artifact);
return asJson(new ApiResult.ApiResponse().status(ApiResult.Status.OK).result());

View file

@ -54,16 +54,16 @@ public class ApiAdminRelatedcontentAction extends FessApiAdminAction {
validateApi(body, messages -> {});
final RelatedContentPager pager = copyBeanToNewBean(body, RelatedContentPager.class);
final List<RelatedContent> list = relatedContentService.getRelatedContentList(pager);
return asJson(new ApiResult.ApiConfigsResponse<EditBody>()
.settings(list.stream().map(this::createEditBody).collect(Collectors.toList())).total(pager.getAllRecordCount())
.status(ApiResult.Status.OK).result());
return asJson(
new ApiResult.ApiConfigsResponse<EditBody>().settings(list.stream().map(this::createEditBody).collect(Collectors.toList()))
.total(pager.getAllRecordCount()).status(ApiResult.Status.OK).result());
}
// GET /api/admin/relatedcontent/setting/{id}
@Execute
public JsonResponse<ApiResult> get$setting(final String id) {
return asJson(new ApiConfigResponse()
.setting(relatedContentService.getRelatedContent(id).map(this::createEditBody).orElseGet(() -> {
return asJson(
new ApiConfigResponse().setting(relatedContentService.getRelatedContent(id).map(this::createEditBody).orElseGet(() -> {
throwValidationErrorApi(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id));
return null;
})).status(Status.OK).result());

View file

@ -57,9 +57,9 @@ public class ApiAdminRelatedqueryAction extends FessApiAdminAction {
validateApi(body, messages -> {});
final RelatedQueryPager pager = copyBeanToNewBean(body, RelatedQueryPager.class);
final List<RelatedQuery> list = relatedQueryService.getRelatedQueryList(pager);
return asJson(new ApiResult.ApiConfigsResponse<EditBody>()
.settings(list.stream().map(this::createEditBody).collect(Collectors.toList())).total(pager.getAllRecordCount())
.status(ApiResult.Status.OK).result());
return asJson(
new ApiResult.ApiConfigsResponse<EditBody>().settings(list.stream().map(this::createEditBody).collect(Collectors.toList()))
.total(pager.getAllRecordCount()).status(ApiResult.Status.OK).result());
}
// GET /api/admin/relatedquery/setting/{id}

View file

@ -61,9 +61,9 @@ public class ApiAdminReqheaderAction extends FessApiAdminAction {
validateApi(body, messages -> {});
final ReqHeaderPager pager = copyBeanToNewBean(body, ReqHeaderPager.class);
final List<RequestHeader> list = reqHeaderService.getRequestHeaderList(pager);
return asJson(new ApiResult.ApiConfigsResponse<EditBody>()
.settings(list.stream().map(this::createEditBody).collect(Collectors.toList())).total(pager.getAllRecordCount())
.status(ApiResult.Status.OK).result());
return asJson(
new ApiResult.ApiConfigsResponse<EditBody>().settings(list.stream().map(this::createEditBody).collect(Collectors.toList()))
.total(pager.getAllRecordCount()).status(ApiResult.Status.OK).result());
}
// GET /api/admin/reqheader/setting/{id}

View file

@ -43,9 +43,9 @@ public class ApiAdminRoleAction extends FessApiAdminAction {
validateApi(body, messages -> {});
final RolePager pager = copyBeanToNewBean(body, RolePager.class);
final List<Role> list = roleService.getRoleList(pager);
return asJson(new ApiResult.ApiConfigsResponse<EditBody>()
.settings(list.stream().map(this::createEditBody).collect(Collectors.toList())).total(pager.getAllRecordCount())
.status(ApiResult.Status.OK).result());
return asJson(
new ApiResult.ApiConfigsResponse<EditBody>().settings(list.stream().map(this::createEditBody).collect(Collectors.toList()))
.total(pager.getAllRecordCount()).status(ApiResult.Status.OK).result());
}
// GET /api/admin/role/setting/{id}

View file

@ -95,9 +95,9 @@ public class ApiAdminSchedulerAction extends FessApiAdminAction {
validateApi(body, messages -> {});
final SchedulerPager pager = copyBeanToNewBean(body, SchedulerPager.class);
final List<ScheduledJob> list = scheduledJobService.getScheduledJobList(pager);
return asJson(new ApiResult.ApiConfigsResponse<EditBody>()
.settings(list.stream().map(this::createEditBody).collect(Collectors.toList())).total(pager.getAllRecordCount())
.status(ApiResult.Status.OK).result());
return asJson(
new ApiResult.ApiConfigsResponse<EditBody>().settings(list.stream().map(this::createEditBody).collect(Collectors.toList()))
.total(pager.getAllRecordCount()).status(ApiResult.Status.OK).result());
}
// GET /api/admin/scheduler/setting/{id}

View file

@ -141,8 +141,8 @@ public class ApiAdminSearchlistAction extends FessApiAdminAction {
throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToCreateInstance(GLOBAL));
return null;
});
return asJson(new ApiUpdateResponse().id(doc.get(fessConfig.getIndexFieldDocId()).toString()).created(true).status(Status.OK)
.result());
return asJson(
new ApiUpdateResponse().id(doc.get(fessConfig.getIndexFieldDocId()).toString()).created(true).status(Status.OK).result());
}
// POST /api/admin/searchlist/doc
@ -182,8 +182,8 @@ public class ApiAdminSearchlistAction extends FessApiAdminAction {
throwValidationErrorApi(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, body.doc.toString()));
return null;
});
return asJson(new ApiUpdateResponse().id(doc.get(fessConfig.getIndexFieldDocId()).toString()).created(false).status(Status.OK)
.result());
return asJson(
new ApiUpdateResponse().id(doc.get(fessConfig.getIndexFieldDocId()).toString()).created(false).status(Status.OK).result());
}
// DELETE /api/admin/searchlist/doc/{doc_id}

View file

@ -44,9 +44,9 @@ public class ApiAdminUserAction extends FessApiAdminAction {
validateApi(body, messages -> {});
final UserPager pager = copyBeanToNewBean(body, UserPager.class);
final List<User> list = userService.getUserList(pager);
return asJson(new ApiResult.ApiConfigsResponse<EditBody>()
.settings(list.stream().map(this::createEditBody).collect(Collectors.toList())).total(pager.getAllRecordCount())
.status(ApiResult.Status.OK).result());
return asJson(
new ApiResult.ApiConfigsResponse<EditBody>().settings(list.stream().map(this::createEditBody).collect(Collectors.toList()))
.total(pager.getAllRecordCount()).status(ApiResult.Status.OK).result());
}
// GET /api/admin/user/setting/{id}

View file

@ -61,9 +61,9 @@ public class ApiAdminWebauthAction extends FessApiAdminAction {
validateApi(body, messages -> {});
final WebAuthPager pager = copyBeanToNewBean(body, WebAuthPager.class);
final List<WebAuthentication> list = webAuthService.getWebAuthenticationList(pager);
return asJson(new ApiResult.ApiConfigsResponse<EditBody>()
.settings(list.stream().map(this::createEditBody).collect(Collectors.toList())).total(pager.getAllRecordCount())
.status(ApiResult.Status.OK).result());
return asJson(
new ApiResult.ApiConfigsResponse<EditBody>().settings(list.stream().map(this::createEditBody).collect(Collectors.toList()))
.total(pager.getAllRecordCount()).status(ApiResult.Status.OK).result());
}
// GET /api/admin/webauth/setting/{id}

View file

@ -62,9 +62,9 @@ public class ApiAdminWebconfigAction extends FessApiAdminAction {
validateApi(body, messages -> {});
final WebConfigPager pager = copyBeanToNewBean(body, WebConfigPager.class);
final List<WebConfig> list = webConfigService.getWebConfigList(pager);
return asJson(new ApiResult.ApiConfigsResponse<EditBody>()
.settings(list.stream().map(this::createEditBody).collect(Collectors.toList())).total(pager.getAllRecordCount())
.status(ApiResult.Status.OK).result());
return asJson(
new ApiResult.ApiConfigsResponse<EditBody>().settings(list.stream().map(this::createEditBody).collect(Collectors.toList()))
.total(pager.getAllRecordCount()).status(ApiResult.Status.OK).result());
}
// GET /api/admin/webconfig/setting/{id}
@ -138,13 +138,10 @@ public class ApiAdminWebconfigAction extends FessApiAdminAction {
copyOp.exclude(Constants.PERMISSIONS, Constants.VIRTUAL_HOSTS);
});
final PermissionHelper permissionHelper = ComponentUtil.getPermissionHelper();
body.permissions =
stream(entity.getPermissions()).get(
stream -> stream.map(s -> permissionHelper.decode(s)).filter(StringUtil::isNotBlank).distinct()
.collect(Collectors.joining("\n")));
body.virtualHosts =
stream(entity.getVirtualHosts()).get(
stream -> stream.filter(StringUtil::isNotBlank).distinct().map(String::trim).collect(Collectors.joining("\n")));
body.permissions = stream(entity.getPermissions()).get(stream -> stream.map(s -> permissionHelper.decode(s))
.filter(StringUtil::isNotBlank).distinct().collect(Collectors.joining("\n")));
body.virtualHosts = stream(entity.getVirtualHosts())
.get(stream -> stream.filter(StringUtil::isNotBlank).distinct().map(String::trim).collect(Collectors.joining("\n")));
return body;
}
}

View file

@ -51,9 +51,8 @@ public abstract class FessAdminAction extends FessBaseAction {
super.setupHtmlData(runtime);
systemHelper.setupAdminHtmlData(this, runtime);
final Boolean editable =
getUserBean().map(user -> user.hasRoles(fessConfig.getAuthenticationAdminRolesAsArray()) || user.hasRole(getActionRole()))
.orElse(false);
final Boolean editable = getUserBean()
.map(user -> user.hasRoles(fessConfig.getAuthenticationAdminRolesAsArray()) || user.hasRole(getActionRole())).orElse(false);
runtime.registerData("editable", editable);
runtime.registerData("editableClass", editable ? StringUtil.EMPTY : "disabled");
final String forumLink = systemHelper.getForumLink();

View file

@ -131,11 +131,8 @@ public abstract class FessSearchAction extends FessBaseAction {
final String username = systemHelper.getUsername();
runtime.registerData("username", username);
runtime.registerData("editableUser", fessLoginAssist.getSavedUserBean().map(FessUserBean::isEditable).orElse(false));
runtime.registerData(
"adminUser",
fessConfig.isAdminUser(username)
|| fessLoginAssist.getSavedUserBean().map(user -> user.hasRoles(fessConfig.getAuthenticationAdminRolesAsArray()))
.orElse(false));
runtime.registerData("adminUser", fessConfig.isAdminUser(username) || fessLoginAssist.getSavedUserBean()
.map(user -> user.hasRoles(fessConfig.getAuthenticationAdminRolesAsArray())).orElse(false));
runtime.registerData("pageLoginLink", fessConfig.isLoginLinkEnabled());
}

View file

@ -69,9 +69,8 @@ public class CacheAction extends FessSearchAction {
return redirect(ErrorAction.class);
}
final StreamResponse response =
asStream(DocumentUtil.getValue(doc, fessConfig.getIndexFieldDocId(), String.class)).contentType("text/html; charset=UTF-8")
.data(content.getBytes(Constants.CHARSET_UTF_8));
final StreamResponse response = asStream(DocumentUtil.getValue(doc, fessConfig.getIndexFieldDocId(), String.class))
.contentType("text/html; charset=UTF-8").data(content.getBytes(Constants.CHARSET_UTF_8));
response.headerContentDispositionInline(); // TODO will be fixed in lastaflute
return response;
}

View file

@ -72,9 +72,8 @@ public class GoAction extends FessSearchAction {
Map<String, Object> doc = null;
try {
doc =
searchHelper.getDocumentByDocId(form.docId,
new String[] { fessConfig.getIndexFieldUrl(), fessConfig.getIndexFieldConfigId() }, getUserBean()).orElse(null);
doc = searchHelper.getDocumentByDocId(form.docId,
new String[] { fessConfig.getIndexFieldUrl(), fessConfig.getIndexFieldConfigId() }, getUserBean()).orElse(null);
} catch (final Exception e) {
logger.warn("Failed to request: " + form.docId, e);
}

View file

@ -97,7 +97,7 @@ public class ProfileAction extends FessSearchAction {
}
protected HtmlResponse asIndexHtml() {
return getUserBean().map(u -> asHtml(virtualHost(path_Profile_IndexJsp)).useForm(ProfileForm.class)).orElseGet(
() -> redirect(LoginAction.class));
return getUserBean().map(u -> asHtml(virtualHost(path_Profile_IndexJsp)).useForm(ProfileForm.class))
.orElseGet(() -> redirect(LoginAction.class));
}
}

View file

@ -151,22 +151,21 @@ public class SearchAction extends FessSearchAction {
form.lang = searchHelper.getLanguages(request, form);
final WebRenderData renderData = new WebRenderData();
searchHelper.search(form, renderData, getUserBean());
return asHtml(virtualHost(path_SearchJsp)).renderWith(
data -> {
if (form.hasConditionQuery()) {
form.q = renderData.getSearchQuery();
}
renderData.register(data);
RenderDataUtil.register(data, "displayQuery",
getDisplayQuery(form, labelTypeHelper.getLabelTypeItemList(SearchRequestType.SEARCH)));
createPagingQuery(form);
final String[] relatedContents = relatedContentHelper.getRelatedContents(form.getQuery());
RenderDataUtil.register(data, "relatedContents", relatedContents);
final String[] relatedQueries = relatedQueryHelper.getRelatedQueries(form.getQuery());
if (relatedQueries.length > 0) {
RenderDataUtil.register(data, "relatedQueries", relatedQueries);
}
});
return asHtml(virtualHost(path_SearchJsp)).renderWith(data -> {
if (form.hasConditionQuery()) {
form.q = renderData.getSearchQuery();
}
renderData.register(data);
RenderDataUtil.register(data, "displayQuery",
getDisplayQuery(form, labelTypeHelper.getLabelTypeItemList(SearchRequestType.SEARCH)));
createPagingQuery(form);
final String[] relatedContents = relatedContentHelper.getRelatedContents(form.getQuery());
RenderDataUtil.register(data, "relatedContents", relatedContents);
final String[] relatedQueries = relatedQueryHelper.getRelatedQueries(form.getQuery());
if (relatedQueries.length > 0) {
RenderDataUtil.register(data, "relatedQueries", relatedQueries);
}
});
} catch (final InvalidQueryException e) {
if (logger.isDebugEnabled()) {
logger.debug(e.getMessage(), e);
@ -228,9 +227,8 @@ public class SearchAction extends FessSearchAction {
protected void createPagingQuery(final SearchForm form) {
final List<String> pagingQueryList = new ArrayList<>();
if (form.ex_q != null) {
stream(form.ex_q).of(
stream -> stream.filter(StringUtil::isNotBlank).distinct()
.forEach(q -> pagingQueryList.add("ex_q=" + LaFunctions.u(q))));
stream(form.ex_q).of(stream -> stream.filter(StringUtil::isNotBlank).distinct()
.forEach(q -> pagingQueryList.add("ex_q=" + LaFunctions.u(q))));
}
if (StringUtil.isNotBlank(form.sort)) {
pagingQueryList.add("sort=" + LaFunctions.u(form.sort));
@ -255,27 +253,16 @@ public class SearchAction extends FessSearchAction {
}
}
}
form.fields
.entrySet()
.stream()
.filter(e -> e.getValue() != null)
.forEach(
e -> {
final String key = LaFunctions.u(e.getKey());
stream(e.getValue()).of(
stream -> stream.filter(StringUtil::isNotBlank).forEach(
s -> pagingQueryList.add("fields." + key + "=" + LaFunctions.u(s))));
});
form.as.entrySet()
.stream()
.filter(e -> e.getValue() != null)
.forEach(
e -> {
final String key = LaFunctions.u(e.getKey());
stream(e.getValue()).of(
stream -> stream.filter(StringUtil::isNotBlank).forEach(
s -> pagingQueryList.add("as." + key + "=" + LaFunctions.u(s))));
});
form.fields.entrySet().stream().filter(e -> e.getValue() != null).forEach(e -> {
final String key = LaFunctions.u(e.getKey());
stream(e.getValue()).of(stream -> stream.filter(StringUtil::isNotBlank)
.forEach(s -> pagingQueryList.add("fields." + key + "=" + LaFunctions.u(s))));
});
form.as.entrySet().stream().filter(e -> e.getValue() != null).forEach(e -> {
final String key = LaFunctions.u(e.getKey());
stream(e.getValue()).of(stream -> stream.filter(StringUtil::isNotBlank)
.forEach(s -> pagingQueryList.add("as." + key + "=" + LaFunctions.u(s))));
});
request.setAttribute(Constants.PAGING_QUERY_LIST, pagingQueryList);
}

View file

@ -98,14 +98,10 @@ public class FessCrawlerThread extends CrawlerThread {
if (logger.isDebugEnabled()) {
logger.debug("Searching indexed document: {}", id);
}
final Map<String, Object> document =
indexingHelper.getDocument(
fessEsClient,
id,
new String[] { fessConfig.getIndexFieldId(), fessConfig.getIndexFieldLastModified(),
fessConfig.getIndexFieldAnchor(), fessConfig.getIndexFieldSegment(),
fessConfig.getIndexFieldExpires(), fessConfig.getIndexFieldClickCount(),
fessConfig.getIndexFieldFavoriteCount() });
final Map<String, Object> document = indexingHelper.getDocument(fessEsClient, id,
new String[] { fessConfig.getIndexFieldId(), fessConfig.getIndexFieldLastModified(),
fessConfig.getIndexFieldAnchor(), fessConfig.getIndexFieldSegment(), fessConfig.getIndexFieldExpires(),
fessConfig.getIndexFieldClickCount(), fessConfig.getIndexFieldFavoriteCount() });
if (document == null) {
storeChildUrlsToQueue(urlQueue, getChildUrlSet(fessEsClient, id));
return true;
@ -246,8 +242,8 @@ public class FessCrawlerThread extends CrawlerThread {
final String url = urlQueue.getUrl();
final FailureUrlService failureUrlService = ComponentUtil.getComponent(FailureUrlService.class);
failureUrlService.store(crawlingConfig, ContentNotFoundException.class.getCanonicalName(), url, new ContentNotFoundException(
urlQueue.getParentUrl(), url));
failureUrlService.store(crawlingConfig, ContentNotFoundException.class.getCanonicalName(), url,
new ContentNotFoundException(urlQueue.getParentUrl(), url));
}
}

View file

@ -108,64 +108,60 @@ public abstract class AbstractFessFileTransformer extends AbstractTransformer im
getLogger().debug("ExtractData: {}", extractData);
}
// meta
extractData
.getKeySet()
.stream()
.filter(k -> extractData.getValues(k) != null)
.forEach(key -> {
final String[] values = extractData.getValues(key);
metaDataMap.put(key, values);
extractData.getKeySet().stream().filter(k -> extractData.getValues(k) != null).forEach(key -> {
final String[] values = extractData.getValues(key);
metaDataMap.put(key, values);
// meta -> content
if (fessConfig.isCrawlerMetadataContentIncluded(key)) {
final String joinedValue = StringUtils.join(values, ' ');
if (StringUtil.isNotBlank(joinedValue)) {
if (contentMetaBuf.length() > 0) {
contentMetaBuf.append(' ');
}
contentMetaBuf.append(joinedValue.trim());
// meta -> content
if (fessConfig.isCrawlerMetadataContentIncluded(key)) {
final String joinedValue = StringUtils.join(values, ' ');
if (StringUtil.isNotBlank(joinedValue)) {
if (contentMetaBuf.length() > 0) {
contentMetaBuf.append(' ');
}
contentMetaBuf.append(joinedValue.trim());
}
}
final Tuple3<String, String, String> mapping = fessConfig.getCrawlerMetadataNameMapping(key);
if (mapping != null) {
if (Constants.MAPPING_TYPE_ARRAY.equalsIgnoreCase(mapping.getValue2())) {
dataMap.put(mapping.getValue1(), values);
} else if (Constants.MAPPING_TYPE_STRING.equalsIgnoreCase(mapping.getValue2())) {
final String joinedValue = StringUtils.join(values, ' ');
dataMap.put(mapping.getValue1(), joinedValue.trim());
} else if (values.length == 1) {
try {
if (Constants.MAPPING_TYPE_LONG.equalsIgnoreCase(mapping.getValue2())) {
dataMap.put(mapping.getValue1(), Long.parseLong(values[0]));
} else if (Constants.MAPPING_TYPE_DOUBLE.equalsIgnoreCase(mapping.getValue2())) {
dataMap.put(mapping.getValue1(), Double.parseDouble(values[0]));
} else if (Constants.MAPPING_TYPE_DATE.equalsIgnoreCase(mapping.getValue2())
|| Constants.MAPPING_TYPE_PDF_DATE.equalsIgnoreCase(mapping.getValue2())) {
final String dateFormate;
if (StringUtil.isNotBlank(mapping.getValue3())) {
dateFormate = mapping.getValue3();
} else if (Constants.MAPPING_TYPE_PDF_DATE.equalsIgnoreCase(mapping.getValue2())) {
dateFormate = mapping.getValue2();
} else {
dateFormate = Constants.DATE_OPTIONAL_TIME;
}
}
final Tuple3<String, String, String> mapping = fessConfig.getCrawlerMetadataNameMapping(key);
if (mapping != null) {
if (Constants.MAPPING_TYPE_ARRAY.equalsIgnoreCase(mapping.getValue2())) {
dataMap.put(mapping.getValue1(), values);
} else if (Constants.MAPPING_TYPE_STRING.equalsIgnoreCase(mapping.getValue2())) {
final String joinedValue = StringUtils.join(values, ' ');
dataMap.put(mapping.getValue1(), joinedValue.trim());
} else if (values.length == 1) {
try {
if (Constants.MAPPING_TYPE_LONG.equalsIgnoreCase(mapping.getValue2())) {
dataMap.put(mapping.getValue1(), Long.parseLong(values[0]));
} else if (Constants.MAPPING_TYPE_DOUBLE.equalsIgnoreCase(mapping.getValue2())) {
dataMap.put(mapping.getValue1(), Double.parseDouble(values[0]));
} else if (Constants.MAPPING_TYPE_DATE.equalsIgnoreCase(mapping.getValue2())
|| Constants.MAPPING_TYPE_PDF_DATE.equalsIgnoreCase(mapping.getValue2())) {
final String dateFormate;
if (StringUtil.isNotBlank(mapping.getValue3())) {
dateFormate = mapping.getValue3();
} else if (Constants.MAPPING_TYPE_PDF_DATE.equalsIgnoreCase(mapping.getValue2())) {
dateFormate = mapping.getValue2();
} else {
dateFormate = Constants.DATE_OPTIONAL_TIME;
}
final Date dt = FessFunctions.parseDate(values[0], dateFormate);
if (dt != null) {
dataMap.put(mapping.getValue1(), FessFunctions.formatDate(dt));
} else {
logger.warn("Failed to parse {}", mapping.toString());
}
} else {
logger.warn("Unknown mapping type: {}={}", key, mapping);
}
} catch (final Exception e) {
logger.warn("Failed to parse " + values[0], e);
}
final Date dt = FessFunctions.parseDate(values[0], dateFormate);
if (dt != null) {
dataMap.put(mapping.getValue1(), FessFunctions.formatDate(dt));
} else {
logger.warn("Failed to parse {}", mapping.toString());
}
} else {
logger.warn("Unknown mapping type: {}={}", key, mapping);
}
} catch (final Exception e) {
logger.warn("Failed to parse " + values[0], e);
}
}
}
});
});
} catch (final Exception e) {
final CrawlingAccessException rcae = new CrawlingAccessException("Could not get a text from " + responseData.getUrl(), e);
rcae.setLogLevel(CrawlingAccessException.WARN);
@ -223,8 +219,8 @@ public abstract class AbstractFessFileTransformer extends AbstractTransformer im
responseData.addMetaData(Extractor.class.getSimpleName(), extractor);
final String body = documentHelper.getContent(crawlingConfig, responseData, bodyBase, dataMap);
putResultDataBody(dataMap, fessConfig.getIndexFieldContent(), body);
if ((Constants.TRUE.equalsIgnoreCase(fieldConfigMap.get(fessConfig.getIndexFieldCache())) || fessConfig
.isCrawlerDocumentCacheEnabled()) && fessConfig.isSupportedDocumentCacheMimetypes(mimeType)) {
if ((Constants.TRUE.equalsIgnoreCase(fieldConfigMap.get(fessConfig.getIndexFieldCache()))
|| fessConfig.isCrawlerDocumentCacheEnabled()) && fessConfig.isSupportedDocumentCacheMimetypes(mimeType)) {
if (responseData.getContentLength() > 0
&& responseData.getContentLength() <= fessConfig.getCrawlerDocumentCacheMaxSizeAsInteger().longValue()) {
@ -244,11 +240,8 @@ public abstract class AbstractFessFileTransformer extends AbstractTransformer im
dataMap.remove(titleField);
if (url.endsWith("/")) {
if (StringUtil.isNotBlank(content)) {
putResultDataBody(
dataMap,
titleField,
documentHelper.getDigest(responseData, body, dataMap,
fessConfig.getCrawlerDocumentFileMaxTitleLengthAsInteger()));
putResultDataBody(dataMap, titleField, documentHelper.getDigest(responseData, body, dataMap,
fessConfig.getCrawlerDocumentFileMaxTitleLengthAsInteger()));
} else {
putResultDataBody(dataMap, titleField, fessConfig.getCrawlerDocumentFileNoTitleLabel());
}
@ -388,8 +381,8 @@ public abstract class AbstractFessFileTransformer extends AbstractTransformer im
if (configParam != null) {
final String keepOriginalBody = configParam.get(Config.KEEP_ORIGINAL_BODY);
if (StringUtil.isNotBlank(keepOriginalBody)) {
params.put(TikaExtractor.NORMALIZE_TEXT, Constants.TRUE.equalsIgnoreCase(keepOriginalBody) ? Constants.FALSE
: Constants.TRUE);
params.put(TikaExtractor.NORMALIZE_TEXT,
Constants.TRUE.equalsIgnoreCase(keepOriginalBody) ? Constants.FALSE : Constants.TRUE);
}
}
return params;

View file

@ -395,8 +395,8 @@ public class FessXpathTransformer extends XpathTransformer implements FessTransf
final String body = getSingleNodeValue(document, getContentXpath(fessConfig, xpathConfigMap), prunedContent);
putResultDataBody(dataMap, fessConfig.getIndexFieldContent(),
documentHelper.getContent(crawlingConfig, responseData, body, dataMap));
if ((Constants.TRUE.equalsIgnoreCase(fieldConfigMap.get(fessConfig.getIndexFieldCache())) || fessConfig
.isCrawlerDocumentCacheEnabled()) && fessConfig.isSupportedDocumentCacheMimetypes(mimeType)) {
if ((Constants.TRUE.equalsIgnoreCase(fieldConfigMap.get(fessConfig.getIndexFieldCache()))
|| fessConfig.isCrawlerDocumentCacheEnabled()) && fessConfig.isSupportedDocumentCacheMimetypes(mimeType)) {
if (responseData.getContentLength() > 0
&& responseData.getContentLength() <= fessConfig.getCrawlerDocumentCacheMaxSizeAsInteger().longValue()) {
String charSet = responseData.getCharSet();

View file

@ -50,31 +50,27 @@ public class DictionaryManager {
}
public DictionaryFile<? extends DictionaryItem>[] getDictionaryFiles() {
try (CurlResponse response =
ComponentUtil.getCurlHelper().get("/_configsync/file").param("fields", "path,@timestamp")
.param("size", ComponentUtil.getFessConfig().getPageDictionaryMaxFetchSize()).execute()) {
try (CurlResponse response = ComponentUtil.getCurlHelper().get("/_configsync/file").param("fields", "path,@timestamp")
.param("size", ComponentUtil.getFessConfig().getPageDictionaryMaxFetchSize()).execute()) {
final Map<String, Object> contentMap = response.getContent(EcrCurl.jsonParser());
@SuppressWarnings("unchecked")
final List<Map<String, Object>> fileList = (List<Map<String, Object>>) contentMap.get("file");
return fileList
.stream()
.map(fileMap -> {
try {
final String path = fileMap.get("path").toString();
final Date timestamp =
new SimpleDateFormat(Constants.DATE_FORMAT_ISO_8601_EXTEND_UTC).parse(fileMap.get("@timestamp")
.toString());
for (final DictionaryCreator creator : creatorList) {
final DictionaryFile<? extends DictionaryItem> file = creator.create(path, timestamp);
if (file != null) {
return file;
}
}
} catch (final Exception e) {
logger.warn("Failed to load " + fileMap, e);
return fileList.stream().map(fileMap -> {
try {
final String path = fileMap.get("path").toString();
final Date timestamp =
new SimpleDateFormat(Constants.DATE_FORMAT_ISO_8601_EXTEND_UTC).parse(fileMap.get("@timestamp").toString());
for (final DictionaryCreator creator : creatorList) {
final DictionaryFile<? extends DictionaryItem> file = creator.create(path, timestamp);
if (file != null) {
return file;
}
return null;
}).filter(file -> file != null).toArray(n -> new DictionaryFile<?>[n]);
}
} catch (final Exception e) {
logger.warn("Failed to load " + fileMap, e);
}
return null;
}).filter(file -> file != null).toArray(n -> new DictionaryFile<?>[n]);
} catch (final IOException e) {
throw new DictionaryException("Failed to access dictionaries", e);
}
@ -96,18 +92,17 @@ public class DictionaryManager {
}
// TODO use stream
try (CurlResponse response =
ComponentUtil.getCurlHelper().post("/_configsync/file").param("path", dictFile.getPath())
.body(FileUtil.readUTF8(file)).execute()) {
final Map<String, Object> contentMap = response.getContent(EcrCurl.jsonParser());
if (!Constants.TRUE.equalsIgnoreCase(contentMap.get("acknowledged").toString())) {
throw new DictionaryException("Failed to update " + dictFile.getPath());
}
} catch (final IOException e) {
throw new DictionaryException("Failed to update " + dictFile.getPath(), e);
try (CurlResponse response = ComponentUtil.getCurlHelper().post("/_configsync/file").param("path", dictFile.getPath())
.body(FileUtil.readUTF8(file)).execute()) {
final Map<String, Object> contentMap = response.getContent(EcrCurl.jsonParser());
if (!Constants.TRUE.equalsIgnoreCase(contentMap.get("acknowledged").toString())) {
throw new DictionaryException("Failed to update " + dictFile.getPath());
}
} catch (final IOException e) {
throw new DictionaryException("Failed to update " + dictFile.getPath(), e);
}
}).orElse(() -> {
}).orElse(() -> {
throw new DictionaryException(dictFile.getPath() + " does not exist.");
});
}

Some files were not shown because too many files have changed in this diff Show more