update dependencies for maven plugins
This commit is contained in:
parent
92685fbfae
commit
5456e87e39
264 changed files with 4340 additions and 4898 deletions
16
pom.xml
16
pom.xml
|
@ -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>
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -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));
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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.");
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -70,7 +70,7 @@ public class AdminAction extends FessAdminAction {
|
|||
// ==============
|
||||
@Execute
|
||||
@Secured({ //
|
||||
AdminDashboardAction.ROLE, //
|
||||
AdminDashboardAction.ROLE, //
|
||||
AdminDashboardAction.ROLE + VIEW, //
|
||||
AdminWizardAction.ROLE, //
|
||||
AdminWizardAction.ROLE + VIEW, //
|
||||
|
|
|
@ -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;
|
||||
});
|
||||
}
|
||||
|
||||
// ===================================================================================
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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());
|
||||
}
|
||||
|
||||
|
|
|
@ -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());
|
||||
}
|
||||
|
||||
|
|
|
@ -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"));
|
||||
});
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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));
|
||||
}
|
||||
|
||||
|
|
|
@ -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));
|
||||
}
|
||||
|
||||
|
|
|
@ -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"));
|
||||
});
|
||||
|
|
|
@ -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));
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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"));
|
||||
});
|
||||
|
|
|
@ -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"));
|
||||
});
|
||||
|
|
|
@ -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"));
|
||||
});
|
||||
|
|
|
@ -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"));
|
||||
});
|
||||
|
|
|
@ -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"));
|
||||
});
|
||||
|
|
|
@ -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"));
|
||||
});
|
||||
|
|
|
@ -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"));
|
||||
});
|
||||
|
|
|
@ -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"));
|
||||
});
|
||||
|
|
|
@ -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"));
|
||||
});
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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"));
|
||||
});
|
||||
|
|
|
@ -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() {
|
||||
|
|
|
@ -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());
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
});
|
||||
}
|
||||
|
||||
// ===================================================================================
|
||||
|
|
|
@ -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"));
|
||||
});
|
||||
|
|
|
@ -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"));
|
||||
});
|
||||
|
|
|
@ -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"));
|
||||
});
|
||||
|
|
|
@ -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)));
|
||||
|
|
|
@ -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));
|
||||
});
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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() {
|
||||
|
|
|
@ -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"));
|
||||
});
|
||||
|
|
|
@ -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"));
|
||||
});
|
||||
|
|
|
@ -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"));
|
||||
});
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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());
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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}
|
||||
|
|
|
@ -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}
|
||||
|
|
|
@ -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}
|
||||
|
|
|
@ -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}
|
||||
|
|
|
@ -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}
|
||||
|
|
|
@ -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}
|
||||
|
|
|
@ -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}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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}
|
||||
|
|
|
@ -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}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -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}
|
||||
|
|
|
@ -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}
|
||||
|
|
|
@ -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}
|
||||
|
|
|
@ -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}
|
||||
|
|
|
@ -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}
|
||||
|
|
|
@ -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}
|
||||
|
|
|
@ -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}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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());
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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
Loading…
Add table
Reference in a new issue