fix #1205 virtual host support for labels
This commit is contained in:
parent
c67bb500f6
commit
4a92032c9f
26 changed files with 457 additions and 36 deletions
|
@ -834,6 +834,9 @@
|
|||
"permissions" : {
|
||||
"type": "keyword"
|
||||
},
|
||||
"virtualHost" : {
|
||||
"type": "keyword"
|
||||
},
|
||||
"sortOrder" : {
|
||||
"type" : "integer"
|
||||
},
|
||||
|
|
|
@ -85,7 +85,7 @@ public class AdminDesignAction extends FessAdminAction {
|
|||
for (final Pair<String, String> p : systemHelper.getDesignJspFileNames()) {
|
||||
jspItems.add(new Pair<>(":" + p.getFirst(), "/" + p.getSecond()));
|
||||
}
|
||||
for (String key : fessConfig.getVirtualHostKeys()) {
|
||||
for (String key : fessConfig.getVirtualHostPaths()) {
|
||||
if (StringUtil.isBlank(key)) {
|
||||
key = "/";
|
||||
}
|
||||
|
|
|
@ -54,6 +54,9 @@ public class CreateForm {
|
|||
@CustomSize(maxKey = "form.admin.max.input.size")
|
||||
public String permissions;
|
||||
|
||||
@Size(max = 1000)
|
||||
public String virtualHost;
|
||||
|
||||
@Min(value = 0)
|
||||
@Max(value = 2147483647)
|
||||
@ValidateTypeFailure
|
||||
|
|
|
@ -15,7 +15,6 @@
|
|||
*/
|
||||
package org.codelibs.fess.app.web.admin.searchlist;
|
||||
|
||||
import org.lastaflute.web.validation.Required;
|
||||
import org.lastaflute.web.validation.theme.conversion.ValidateTypeFailure;
|
||||
|
||||
/**
|
||||
|
|
|
@ -79,6 +79,7 @@ public abstract class BsLabelTypeBhv extends EsAbstractBehavior<LabelType, Label
|
|||
result.setIncludedPaths(DfTypeUtil.toString(source.get("includedPaths")));
|
||||
result.setName(DfTypeUtil.toString(source.get("name")));
|
||||
result.setPermissions(toStringArray(source.get("permissions")));
|
||||
result.setVirtualHost(DfTypeUtil.toString(source.get("virtualHost")));
|
||||
result.setSortOrder(DfTypeUtil.toInteger(source.get("sortOrder")));
|
||||
result.setUpdatedBy(DfTypeUtil.toString(source.get("updatedBy")));
|
||||
result.setUpdatedTime(DfTypeUtil.toLong(source.get("updatedTime")));
|
||||
|
|
|
@ -55,6 +55,9 @@ public class BsLabelType extends EsAbstractEntity {
|
|||
/** permissions */
|
||||
protected String[] permissions;
|
||||
|
||||
/** virtualHost */
|
||||
protected String virtualHost;
|
||||
|
||||
/** sortOrder */
|
||||
protected Integer sortOrder;
|
||||
|
||||
|
@ -106,6 +109,9 @@ public class BsLabelType extends EsAbstractEntity {
|
|||
if (permissions != null) {
|
||||
addFieldToSource(sourceMap, "permissions", permissions);
|
||||
}
|
||||
if (virtualHost != null) {
|
||||
addFieldToSource(sourceMap, "virtualHost", virtualHost);
|
||||
}
|
||||
if (sortOrder != null) {
|
||||
addFieldToSource(sourceMap, "sortOrder", sortOrder);
|
||||
}
|
||||
|
@ -137,6 +143,7 @@ public class BsLabelType extends EsAbstractEntity {
|
|||
sb.append(dm).append(includedPaths);
|
||||
sb.append(dm).append(name);
|
||||
sb.append(dm).append(permissions);
|
||||
sb.append(dm).append(virtualHost);
|
||||
sb.append(dm).append(sortOrder);
|
||||
sb.append(dm).append(updatedBy);
|
||||
sb.append(dm).append(updatedTime);
|
||||
|
@ -211,6 +218,16 @@ public class BsLabelType extends EsAbstractEntity {
|
|||
this.permissions = value;
|
||||
}
|
||||
|
||||
public String getVirtualHost() {
|
||||
checkSpecifiedProperty("virtualHost");
|
||||
return convertEmptyToNull(virtualHost);
|
||||
}
|
||||
|
||||
public void setVirtualHost(String value) {
|
||||
registerModifiedProperty("virtualHost");
|
||||
this.virtualHost = value;
|
||||
}
|
||||
|
||||
public Integer getSortOrder() {
|
||||
checkSpecifiedProperty("sortOrder");
|
||||
return sortOrder;
|
||||
|
|
|
@ -90,6 +90,8 @@ public class LabelTypeDbm extends AbstractDBMeta {
|
|||
setupEpg(_epgMap, et -> ((LabelType) et).getName(), (et, vl) -> ((LabelType) et).setName(DfTypeUtil.toString(vl)), "name");
|
||||
setupEpg(_epgMap, et -> ((LabelType) et).getPermissions(), (et, vl) -> ((LabelType) et).setPermissions((String[]) vl),
|
||||
"permissions");
|
||||
setupEpg(_epgMap, et -> ((LabelType) et).getVirtualHost(), (et, vl) -> ((LabelType) et).setVirtualHost(DfTypeUtil.toString(vl)),
|
||||
"virtualHost");
|
||||
setupEpg(_epgMap, et -> ((LabelType) et).getSortOrder(), (et, vl) -> ((LabelType) et).setSortOrder(DfTypeUtil.toInteger(vl)),
|
||||
"sortOrder");
|
||||
setupEpg(_epgMap, et -> ((LabelType) et).getUpdatedBy(), (et, vl) -> ((LabelType) et).setUpdatedBy(DfTypeUtil.toString(vl)),
|
||||
|
@ -145,6 +147,8 @@ public class LabelTypeDbm extends AbstractDBMeta {
|
|||
0, null, false, null, null, null, null, null, false);
|
||||
protected final ColumnInfo _columnPermissions = cci("permissions", "permissions", null, null, String[].class, "permissions", null,
|
||||
false, false, false, "keyword", 0, 0, null, false, null, null, null, null, null, false);
|
||||
protected final ColumnInfo _columnVirtualHost = cci("virtualHost", "virtualHost", null, null, String.class, "virtualHost", null, false,
|
||||
false, false, "keyword", 0, 0, null, false, null, null, null, null, null, false);
|
||||
protected final ColumnInfo _columnSortOrder = cci("sortOrder", "sortOrder", null, null, Integer.class, "sortOrder", null, false, false,
|
||||
false, "Integer", 0, 0, null, false, null, null, null, null, null, false);
|
||||
protected final ColumnInfo _columnUpdatedBy = cci("updatedBy", "updatedBy", null, null, String.class, "updatedBy", null, false, false,
|
||||
|
@ -178,6 +182,10 @@ public class LabelTypeDbm extends AbstractDBMeta {
|
|||
return _columnPermissions;
|
||||
}
|
||||
|
||||
public ColumnInfo columnVirtualHost() {
|
||||
return _columnVirtualHost;
|
||||
}
|
||||
|
||||
public ColumnInfo columnSortOrder() {
|
||||
return _columnSortOrder;
|
||||
}
|
||||
|
@ -202,6 +210,7 @@ public class LabelTypeDbm extends AbstractDBMeta {
|
|||
ls.add(columnIncludedPaths());
|
||||
ls.add(columnName());
|
||||
ls.add(columnPermissions());
|
||||
ls.add(columnVirtualHost());
|
||||
ls.add(columnSortOrder());
|
||||
ls.add(columnUpdatedBy());
|
||||
ls.add(columnUpdatedTime());
|
||||
|
|
|
@ -200,6 +200,10 @@ public class BsLabelTypeCB extends EsAbstractConditionBean {
|
|||
doColumn("permissions");
|
||||
}
|
||||
|
||||
public void columnVirtualHost() {
|
||||
doColumn("virtualHost");
|
||||
}
|
||||
|
||||
public void columnSortOrder() {
|
||||
doColumn("sortOrder");
|
||||
}
|
||||
|
|
|
@ -983,6 +983,137 @@ public abstract class BsLabelTypeCA extends EsAbstractConditionAggregation {
|
|||
}
|
||||
}
|
||||
|
||||
public void setVirtualHost_Terms() {
|
||||
setVirtualHost_Terms(null);
|
||||
}
|
||||
|
||||
public void setVirtualHost_Terms(ConditionOptionCall<TermsAggregationBuilder> opLambda) {
|
||||
setVirtualHost_Terms("virtualHost", opLambda, null);
|
||||
}
|
||||
|
||||
public void setVirtualHost_Terms(ConditionOptionCall<TermsAggregationBuilder> opLambda, OperatorCall<BsLabelTypeCA> aggsLambda) {
|
||||
setVirtualHost_Terms("virtualHost", opLambda, aggsLambda);
|
||||
}
|
||||
|
||||
public void setVirtualHost_Terms(String name, ConditionOptionCall<TermsAggregationBuilder> opLambda,
|
||||
OperatorCall<BsLabelTypeCA> aggsLambda) {
|
||||
TermsAggregationBuilder builder = regTermsA(name, "virtualHost");
|
||||
if (opLambda != null) {
|
||||
opLambda.callback(builder);
|
||||
}
|
||||
if (aggsLambda != null) {
|
||||
LabelTypeCA ca = new LabelTypeCA();
|
||||
aggsLambda.callback(ca);
|
||||
ca.getAggregationBuilderList().forEach(builder::subAggregation);
|
||||
}
|
||||
}
|
||||
|
||||
public void setVirtualHost_SignificantTerms() {
|
||||
setVirtualHost_SignificantTerms(null);
|
||||
}
|
||||
|
||||
public void setVirtualHost_SignificantTerms(ConditionOptionCall<SignificantTermsAggregationBuilder> opLambda) {
|
||||
setVirtualHost_SignificantTerms("virtualHost", opLambda, null);
|
||||
}
|
||||
|
||||
public void setVirtualHost_SignificantTerms(ConditionOptionCall<SignificantTermsAggregationBuilder> opLambda,
|
||||
OperatorCall<BsLabelTypeCA> aggsLambda) {
|
||||
setVirtualHost_SignificantTerms("virtualHost", opLambda, aggsLambda);
|
||||
}
|
||||
|
||||
public void setVirtualHost_SignificantTerms(String name, ConditionOptionCall<SignificantTermsAggregationBuilder> opLambda,
|
||||
OperatorCall<BsLabelTypeCA> aggsLambda) {
|
||||
SignificantTermsAggregationBuilder builder = regSignificantTermsA(name, "virtualHost");
|
||||
if (opLambda != null) {
|
||||
opLambda.callback(builder);
|
||||
}
|
||||
if (aggsLambda != null) {
|
||||
LabelTypeCA ca = new LabelTypeCA();
|
||||
aggsLambda.callback(ca);
|
||||
ca.getAggregationBuilderList().forEach(builder::subAggregation);
|
||||
}
|
||||
}
|
||||
|
||||
public void setVirtualHost_IpRange() {
|
||||
setVirtualHost_IpRange(null);
|
||||
}
|
||||
|
||||
public void setVirtualHost_IpRange(ConditionOptionCall<IpRangeAggregationBuilder> opLambda) {
|
||||
setVirtualHost_IpRange("virtualHost", opLambda, null);
|
||||
}
|
||||
|
||||
public void setVirtualHost_IpRange(ConditionOptionCall<IpRangeAggregationBuilder> opLambda, OperatorCall<BsLabelTypeCA> aggsLambda) {
|
||||
setVirtualHost_IpRange("virtualHost", opLambda, aggsLambda);
|
||||
}
|
||||
|
||||
public void setVirtualHost_IpRange(String name, ConditionOptionCall<IpRangeAggregationBuilder> opLambda,
|
||||
OperatorCall<BsLabelTypeCA> aggsLambda) {
|
||||
IpRangeAggregationBuilder builder = regIpRangeA(name, "virtualHost");
|
||||
if (opLambda != null) {
|
||||
opLambda.callback(builder);
|
||||
}
|
||||
if (aggsLambda != null) {
|
||||
LabelTypeCA ca = new LabelTypeCA();
|
||||
aggsLambda.callback(ca);
|
||||
ca.getAggregationBuilderList().forEach(builder::subAggregation);
|
||||
}
|
||||
}
|
||||
|
||||
public void setVirtualHost_Count() {
|
||||
setVirtualHost_Count(null);
|
||||
}
|
||||
|
||||
public void setVirtualHost_Count(ConditionOptionCall<ValueCountAggregationBuilder> opLambda) {
|
||||
setVirtualHost_Count("virtualHost", opLambda);
|
||||
}
|
||||
|
||||
public void setVirtualHost_Count(String name, ConditionOptionCall<ValueCountAggregationBuilder> opLambda) {
|
||||
ValueCountAggregationBuilder builder = regCountA(name, "virtualHost");
|
||||
if (opLambda != null) {
|
||||
opLambda.callback(builder);
|
||||
}
|
||||
}
|
||||
|
||||
public void setVirtualHost_Cardinality() {
|
||||
setVirtualHost_Cardinality(null);
|
||||
}
|
||||
|
||||
public void setVirtualHost_Cardinality(ConditionOptionCall<CardinalityAggregationBuilder> opLambda) {
|
||||
setVirtualHost_Cardinality("virtualHost", opLambda);
|
||||
}
|
||||
|
||||
public void setVirtualHost_Cardinality(String name, ConditionOptionCall<CardinalityAggregationBuilder> opLambda) {
|
||||
CardinalityAggregationBuilder builder = regCardinalityA(name, "virtualHost");
|
||||
if (opLambda != null) {
|
||||
opLambda.callback(builder);
|
||||
}
|
||||
}
|
||||
|
||||
public void setVirtualHost_Missing() {
|
||||
setVirtualHost_Missing(null);
|
||||
}
|
||||
|
||||
public void setVirtualHost_Missing(ConditionOptionCall<MissingAggregationBuilder> opLambda) {
|
||||
setVirtualHost_Missing("virtualHost", opLambda, null);
|
||||
}
|
||||
|
||||
public void setVirtualHost_Missing(ConditionOptionCall<MissingAggregationBuilder> opLambda, OperatorCall<BsLabelTypeCA> aggsLambda) {
|
||||
setVirtualHost_Missing("virtualHost", opLambda, aggsLambda);
|
||||
}
|
||||
|
||||
public void setVirtualHost_Missing(String name, ConditionOptionCall<MissingAggregationBuilder> opLambda,
|
||||
OperatorCall<BsLabelTypeCA> aggsLambda) {
|
||||
MissingAggregationBuilder builder = regMissingA(name, "virtualHost");
|
||||
if (opLambda != null) {
|
||||
opLambda.callback(builder);
|
||||
}
|
||||
if (aggsLambda != null) {
|
||||
LabelTypeCA ca = new LabelTypeCA();
|
||||
aggsLambda.callback(ca);
|
||||
ca.getAggregationBuilderList().forEach(builder::subAggregation);
|
||||
}
|
||||
}
|
||||
|
||||
public void setSortOrder_Avg() {
|
||||
setSortOrder_Avg(null);
|
||||
}
|
||||
|
|
|
@ -1473,6 +1473,228 @@ public abstract class BsLabelTypeCQ extends EsAbstractConditionQuery {
|
|||
return this;
|
||||
}
|
||||
|
||||
public void setVirtualHost_Equal(String virtualHost) {
|
||||
setVirtualHost_Term(virtualHost, null);
|
||||
}
|
||||
|
||||
public void setVirtualHost_Equal(String virtualHost, ConditionOptionCall<TermQueryBuilder> opLambda) {
|
||||
setVirtualHost_Term(virtualHost, opLambda);
|
||||
}
|
||||
|
||||
public void setVirtualHost_Term(String virtualHost) {
|
||||
setVirtualHost_Term(virtualHost, null);
|
||||
}
|
||||
|
||||
public void setVirtualHost_Term(String virtualHost, ConditionOptionCall<TermQueryBuilder> opLambda) {
|
||||
TermQueryBuilder builder = regTermQ("virtualHost", virtualHost);
|
||||
if (opLambda != null) {
|
||||
opLambda.callback(builder);
|
||||
}
|
||||
}
|
||||
|
||||
public void setVirtualHost_NotEqual(String virtualHost) {
|
||||
setVirtualHost_NotTerm(virtualHost, null);
|
||||
}
|
||||
|
||||
public void setVirtualHost_NotTerm(String virtualHost) {
|
||||
setVirtualHost_NotTerm(virtualHost, null);
|
||||
}
|
||||
|
||||
public void setVirtualHost_NotEqual(String virtualHost, ConditionOptionCall<BoolQueryBuilder> opLambda) {
|
||||
setVirtualHost_NotTerm(virtualHost, opLambda);
|
||||
}
|
||||
|
||||
public void setVirtualHost_NotTerm(String virtualHost, ConditionOptionCall<BoolQueryBuilder> opLambda) {
|
||||
not(not -> not.setVirtualHost_Term(virtualHost), opLambda);
|
||||
}
|
||||
|
||||
public void setVirtualHost_Terms(Collection<String> virtualHostList) {
|
||||
setVirtualHost_Terms(virtualHostList, null);
|
||||
}
|
||||
|
||||
public void setVirtualHost_Terms(Collection<String> virtualHostList, ConditionOptionCall<TermsQueryBuilder> opLambda) {
|
||||
TermsQueryBuilder builder = regTermsQ("virtualHost", virtualHostList);
|
||||
if (opLambda != null) {
|
||||
opLambda.callback(builder);
|
||||
}
|
||||
}
|
||||
|
||||
public void setVirtualHost_InScope(Collection<String> virtualHostList) {
|
||||
setVirtualHost_Terms(virtualHostList, null);
|
||||
}
|
||||
|
||||
public void setVirtualHost_InScope(Collection<String> virtualHostList, ConditionOptionCall<TermsQueryBuilder> opLambda) {
|
||||
setVirtualHost_Terms(virtualHostList, opLambda);
|
||||
}
|
||||
|
||||
public void setVirtualHost_Match(String virtualHost) {
|
||||
setVirtualHost_Match(virtualHost, null);
|
||||
}
|
||||
|
||||
public void setVirtualHost_Match(String virtualHost, ConditionOptionCall<MatchQueryBuilder> opLambda) {
|
||||
MatchQueryBuilder builder = regMatchQ("virtualHost", virtualHost);
|
||||
if (opLambda != null) {
|
||||
opLambda.callback(builder);
|
||||
}
|
||||
}
|
||||
|
||||
public void setVirtualHost_MatchPhrase(String virtualHost) {
|
||||
setVirtualHost_MatchPhrase(virtualHost, null);
|
||||
}
|
||||
|
||||
public void setVirtualHost_MatchPhrase(String virtualHost, ConditionOptionCall<MatchPhraseQueryBuilder> opLambda) {
|
||||
MatchPhraseQueryBuilder builder = regMatchPhraseQ("virtualHost", virtualHost);
|
||||
if (opLambda != null) {
|
||||
opLambda.callback(builder);
|
||||
}
|
||||
}
|
||||
|
||||
public void setVirtualHost_MatchPhrasePrefix(String virtualHost) {
|
||||
setVirtualHost_MatchPhrasePrefix(virtualHost, null);
|
||||
}
|
||||
|
||||
public void setVirtualHost_MatchPhrasePrefix(String virtualHost, ConditionOptionCall<MatchPhrasePrefixQueryBuilder> opLambda) {
|
||||
MatchPhrasePrefixQueryBuilder builder = regMatchPhrasePrefixQ("virtualHost", virtualHost);
|
||||
if (opLambda != null) {
|
||||
opLambda.callback(builder);
|
||||
}
|
||||
}
|
||||
|
||||
public void setVirtualHost_Fuzzy(String virtualHost) {
|
||||
setVirtualHost_Fuzzy(virtualHost, null);
|
||||
}
|
||||
|
||||
public void setVirtualHost_Fuzzy(String virtualHost, ConditionOptionCall<MatchQueryBuilder> opLambda) {
|
||||
MatchQueryBuilder builder = regFuzzyQ("virtualHost", virtualHost);
|
||||
if (opLambda != null) {
|
||||
opLambda.callback(builder);
|
||||
}
|
||||
}
|
||||
|
||||
public void setVirtualHost_Prefix(String virtualHost) {
|
||||
setVirtualHost_Prefix(virtualHost, null);
|
||||
}
|
||||
|
||||
public void setVirtualHost_Prefix(String virtualHost, ConditionOptionCall<PrefixQueryBuilder> opLambda) {
|
||||
PrefixQueryBuilder builder = regPrefixQ("virtualHost", virtualHost);
|
||||
if (opLambda != null) {
|
||||
opLambda.callback(builder);
|
||||
}
|
||||
}
|
||||
|
||||
public void setVirtualHost_Wildcard(String virtualHost) {
|
||||
setVirtualHost_Wildcard(virtualHost, null);
|
||||
}
|
||||
|
||||
public void setVirtualHost_Wildcard(String virtualHost, ConditionOptionCall<WildcardQueryBuilder> opLambda) {
|
||||
WildcardQueryBuilder builder = regWildcardQ("virtualHost", virtualHost);
|
||||
if (opLambda != null) {
|
||||
opLambda.callback(builder);
|
||||
}
|
||||
}
|
||||
|
||||
public void setVirtualHost_Regexp(String virtualHost) {
|
||||
setVirtualHost_Regexp(virtualHost, null);
|
||||
}
|
||||
|
||||
public void setVirtualHost_Regexp(String virtualHost, ConditionOptionCall<RegexpQueryBuilder> opLambda) {
|
||||
RegexpQueryBuilder builder = regRegexpQ("virtualHost", virtualHost);
|
||||
if (opLambda != null) {
|
||||
opLambda.callback(builder);
|
||||
}
|
||||
}
|
||||
|
||||
public void setVirtualHost_SpanTerm(String virtualHost) {
|
||||
setVirtualHost_SpanTerm("virtualHost", null);
|
||||
}
|
||||
|
||||
public void setVirtualHost_SpanTerm(String virtualHost, ConditionOptionCall<SpanTermQueryBuilder> opLambda) {
|
||||
SpanTermQueryBuilder builder = regSpanTermQ("virtualHost", virtualHost);
|
||||
if (opLambda != null) {
|
||||
opLambda.callback(builder);
|
||||
}
|
||||
}
|
||||
|
||||
public void setVirtualHost_GreaterThan(String virtualHost) {
|
||||
setVirtualHost_GreaterThan(virtualHost, null);
|
||||
}
|
||||
|
||||
public void setVirtualHost_GreaterThan(String virtualHost, ConditionOptionCall<RangeQueryBuilder> opLambda) {
|
||||
final Object _value = virtualHost;
|
||||
RangeQueryBuilder builder = regRangeQ("virtualHost", ConditionKey.CK_GREATER_THAN, _value);
|
||||
if (opLambda != null) {
|
||||
opLambda.callback(builder);
|
||||
}
|
||||
}
|
||||
|
||||
public void setVirtualHost_LessThan(String virtualHost) {
|
||||
setVirtualHost_LessThan(virtualHost, null);
|
||||
}
|
||||
|
||||
public void setVirtualHost_LessThan(String virtualHost, ConditionOptionCall<RangeQueryBuilder> opLambda) {
|
||||
final Object _value = virtualHost;
|
||||
RangeQueryBuilder builder = regRangeQ("virtualHost", ConditionKey.CK_LESS_THAN, _value);
|
||||
if (opLambda != null) {
|
||||
opLambda.callback(builder);
|
||||
}
|
||||
}
|
||||
|
||||
public void setVirtualHost_GreaterEqual(String virtualHost) {
|
||||
setVirtualHost_GreaterEqual(virtualHost, null);
|
||||
}
|
||||
|
||||
public void setVirtualHost_GreaterEqual(String virtualHost, ConditionOptionCall<RangeQueryBuilder> opLambda) {
|
||||
final Object _value = virtualHost;
|
||||
RangeQueryBuilder builder = regRangeQ("virtualHost", ConditionKey.CK_GREATER_EQUAL, _value);
|
||||
if (opLambda != null) {
|
||||
opLambda.callback(builder);
|
||||
}
|
||||
}
|
||||
|
||||
public void setVirtualHost_LessEqual(String virtualHost) {
|
||||
setVirtualHost_LessEqual(virtualHost, null);
|
||||
}
|
||||
|
||||
public void setVirtualHost_LessEqual(String virtualHost, ConditionOptionCall<RangeQueryBuilder> opLambda) {
|
||||
final Object _value = virtualHost;
|
||||
RangeQueryBuilder builder = regRangeQ("virtualHost", ConditionKey.CK_LESS_EQUAL, _value);
|
||||
if (opLambda != null) {
|
||||
opLambda.callback(builder);
|
||||
}
|
||||
}
|
||||
|
||||
public void setVirtualHost_Exists() {
|
||||
setVirtualHost_Exists(null);
|
||||
}
|
||||
|
||||
public void setVirtualHost_Exists(ConditionOptionCall<ExistsQueryBuilder> opLambda) {
|
||||
ExistsQueryBuilder builder = regExistsQ("virtualHost");
|
||||
if (opLambda != null) {
|
||||
opLambda.callback(builder);
|
||||
}
|
||||
}
|
||||
|
||||
public void setVirtualHost_CommonTerms(String virtualHost) {
|
||||
setVirtualHost_CommonTerms(virtualHost, null);
|
||||
}
|
||||
|
||||
public void setVirtualHost_CommonTerms(String virtualHost, ConditionOptionCall<CommonTermsQueryBuilder> opLambda) {
|
||||
CommonTermsQueryBuilder builder = regCommonTermsQ("virtualHost", virtualHost);
|
||||
if (opLambda != null) {
|
||||
opLambda.callback(builder);
|
||||
}
|
||||
}
|
||||
|
||||
public BsLabelTypeCQ addOrderBy_VirtualHost_Asc() {
|
||||
regOBA("virtualHost");
|
||||
return this;
|
||||
}
|
||||
|
||||
public BsLabelTypeCQ addOrderBy_VirtualHost_Desc() {
|
||||
regOBD("virtualHost");
|
||||
return this;
|
||||
}
|
||||
|
||||
public void setSortOrder_Equal(Integer sortOrder) {
|
||||
setSortOrder_Term(sortOrder, null);
|
||||
}
|
||||
|
|
|
@ -35,6 +35,7 @@ import org.codelibs.fess.Constants;
|
|||
import org.codelibs.fess.app.service.LabelTypeService;
|
||||
import org.codelibs.fess.entity.SearchRequestParams.SearchRequestType;
|
||||
import org.codelibs.fess.es.config.exentity.LabelType;
|
||||
import org.codelibs.fess.mylasta.direction.FessConfig;
|
||||
import org.codelibs.fess.util.ComponentUtil;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
@ -66,6 +67,7 @@ public class LabelTypeHelper {
|
|||
item.setLabel(labelType.getName());
|
||||
item.setValue(labelType.getValue());
|
||||
item.setPermissions(labelType.getPermissions());
|
||||
item.setVirtualHost(labelType.getVirtualHost());
|
||||
itemList.add(item);
|
||||
}
|
||||
labelTypeItemList = itemList;
|
||||
|
@ -76,10 +78,19 @@ public class LabelTypeHelper {
|
|||
init();
|
||||
}
|
||||
|
||||
final String virtualHostKey = ComponentUtil.getFessConfig().getVirtualHostKey();
|
||||
final List<LabelTypeItem> labelList;
|
||||
if (StringUtil.isBlank(virtualHostKey)) {
|
||||
labelList = labelTypeItemList;
|
||||
} else {
|
||||
labelList =
|
||||
labelTypeItemList.stream().filter(item -> virtualHostKey.equals(item.getVirtualHost())).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
final List<Map<String, String>> itemList = new ArrayList<>();
|
||||
final Set<String> roleSet = roleQueryHelper.build(searchRequestType);
|
||||
if (roleSet.isEmpty()) {
|
||||
for (final LabelTypeItem item : labelTypeItemList) {
|
||||
for (final LabelTypeItem item : labelList) {
|
||||
if (item.getPermissions().length == 0) {
|
||||
final Map<String, String> map = new HashMap<>(2);
|
||||
map.put(Constants.ITEM_LABEL, item.getLabel());
|
||||
|
@ -88,7 +99,7 @@ public class LabelTypeHelper {
|
|||
}
|
||||
}
|
||||
} else {
|
||||
for (final LabelTypeItem item : labelTypeItemList) {
|
||||
for (final LabelTypeItem item : labelList) {
|
||||
final Set<String> permissions = stream(item.getPermissions()).get(stream -> stream.collect(Collectors.toSet()));
|
||||
for (final String roleValue : roleSet) {
|
||||
if (permissions.contains(roleValue)) {
|
||||
|
@ -148,6 +159,8 @@ public class LabelTypeHelper {
|
|||
|
||||
private String[] permissions;
|
||||
|
||||
private String virtualHost;
|
||||
|
||||
public String getLabel() {
|
||||
return label;
|
||||
}
|
||||
|
@ -171,6 +184,14 @@ public class LabelTypeHelper {
|
|||
public void setPermissions(final String[] permissions) {
|
||||
this.permissions = permissions;
|
||||
}
|
||||
|
||||
public String getVirtualHost() {
|
||||
return virtualHost;
|
||||
}
|
||||
|
||||
public void setVirtualHost(String virtualHost) {
|
||||
this.virtualHost = virtualHost;
|
||||
}
|
||||
}
|
||||
|
||||
public static class LabelTypePattern {
|
||||
|
|
|
@ -221,7 +221,7 @@ public class SystemHelper {
|
|||
|
||||
public void refreshDesignJspFiles() {
|
||||
final ServletContext servletContext = LaServletContextUtil.getServletContext();
|
||||
stream(ComponentUtil.getFessConfig().getVirtualHostKeys()).of(
|
||||
stream(ComponentUtil.getFessConfig().getVirtualHostPaths()).of(
|
||||
stream -> stream.filter(s -> s != null && !s.equals("/")).forEach(
|
||||
key -> {
|
||||
designJspFileNameMap
|
||||
|
|
|
@ -1055,6 +1055,9 @@ public class FessLabels extends UserMessages {
|
|||
/** The key of the message: Virtual Hosts */
|
||||
public static final String LABELS_virtual_hosts = "{labels.virtual_hosts}";
|
||||
|
||||
/** The key of the message: Virtual Host */
|
||||
public static final String LABELS_virtual_host = "{labels.virtual_host}";
|
||||
|
||||
/** The key of the message: Label */
|
||||
public static final String LABELS_label_type = "{labels.label_type}";
|
||||
|
||||
|
@ -1463,9 +1466,6 @@ public class FessLabels extends UserMessages {
|
|||
/** The key of the message: Key Match */
|
||||
public static final String LABELS_key_match_title_details = "{labels.key_match_title_details}";
|
||||
|
||||
/** The key of the message: Virtual Host */
|
||||
public static final String LABELS_key_match_virtual_host = "{labels.key_match_virtual_host}";
|
||||
|
||||
/** The key of the message: Page Design */
|
||||
public static final String LABELS_design_configuration = "{labels.design_configuration}";
|
||||
|
||||
|
@ -2265,9 +2265,6 @@ public class FessLabels extends UserMessages {
|
|||
/** The key of the message: Related Content */
|
||||
public static final String LABELS_related_content_title_details = "{labels.related_content_title_details}";
|
||||
|
||||
/** The key of the message: Virtual Host */
|
||||
public static final String LABELS_related_content_virtual_host = "{labels.related_content_virtual_host}";
|
||||
|
||||
/** The key of the message: Related Query */
|
||||
public static final String LABELS_related_query_configuration = "{labels.related_query_configuration}";
|
||||
|
||||
|
@ -2283,9 +2280,6 @@ public class FessLabels extends UserMessages {
|
|||
/** The key of the message: Related Query */
|
||||
public static final String LABELS_related_query_title_details = "{labels.related_query_title_details}";
|
||||
|
||||
/** The key of the message: Virtual Host */
|
||||
public static final String LABELS_related_query_virtual_host = "{labels.related_query_virtual_host}";
|
||||
|
||||
/** The key of the message: Create */
|
||||
public static final String LABELS_crud_button_create = "{labels.crud_button_create}";
|
||||
|
||||
|
|
|
@ -1598,7 +1598,10 @@ public interface FessProp {
|
|||
String getVirtualHostHeaders();
|
||||
|
||||
public default HtmlNext getVirtualHostPath(final HtmlNext page) {
|
||||
return processVirtualHost(s -> new HtmlNext(s + page.getRoutingPath()), page);
|
||||
return processVirtualHost(s -> {
|
||||
final String basePath = StringUtil.isBlank(s) ? StringUtil.EMPTY : "/" + s;
|
||||
return new HtmlNext(basePath + page.getRoutingPath());
|
||||
}, page);
|
||||
}
|
||||
|
||||
public default String getVirtualHostKey() {
|
||||
|
@ -1634,6 +1637,10 @@ public interface FessProp {
|
|||
return stream(getVirtualHosts()).get(stream -> stream.map(h -> h.getValue3()).toArray(n -> new String[n]));
|
||||
}
|
||||
|
||||
public default String[] getVirtualHostPaths() {
|
||||
return stream(getVirtualHosts()).get(stream -> stream.map(h -> "/" + h.getValue3()).toArray(n -> new String[n]));
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public default Tuple3<String, String, String>[] getVirtualHosts() {
|
||||
Tuple3<String, String, String>[] hosts = (Tuple3<String, String, String>[]) propMap.get(VIRTUAL_HOST_HEADERS);
|
||||
|
@ -1644,10 +1651,10 @@ public interface FessProp {
|
|||
.map(s -> {
|
||||
final String[] v1 = s.split("=");
|
||||
if (v1.length == 2) {
|
||||
final String[] v2 = v1[0].split(":");
|
||||
final String[] v2 = v1[0].split(":", 2);
|
||||
if (v2.length == 2) {
|
||||
return new Tuple3<>(v2[0].trim(), v2[0].trim(), "/"
|
||||
+ v1[1].replaceAll("[^a-zA-Z0-9_]", StringUtil.EMPTY).trim());
|
||||
return new Tuple3<>(v2[0].trim(), v2[1].trim(), v1[1].replaceAll("[^a-zA-Z0-9_]",
|
||||
StringUtil.EMPTY).trim());
|
||||
}
|
||||
}
|
||||
return null;
|
||||
|
@ -1656,9 +1663,9 @@ public interface FessProp {
|
|||
if (v == null) {
|
||||
return false;
|
||||
}
|
||||
if ("/admin".equalsIgnoreCase(v.getValue3()) || "/common".equalsIgnoreCase(v.getValue3())
|
||||
|| "/error".equalsIgnoreCase(v.getValue3()) || "/login".equalsIgnoreCase(v.getValue3())
|
||||
|| "/profile".equalsIgnoreCase(v.getValue3())) {
|
||||
if ("admin".equalsIgnoreCase(v.getValue3()) || "common".equalsIgnoreCase(v.getValue3())
|
||||
|| "error".equalsIgnoreCase(v.getValue3()) || "login".equalsIgnoreCase(v.getValue3())
|
||||
|| "profile".equalsIgnoreCase(v.getValue3())) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
|
|
|
@ -22,6 +22,9 @@
|
|||
"permissions": {
|
||||
"type": "keyword"
|
||||
},
|
||||
"virtualHost": {
|
||||
"type": "keyword"
|
||||
},
|
||||
"sortOrder": {
|
||||
"type": "integer"
|
||||
},
|
||||
|
|
|
@ -342,6 +342,7 @@ labels.interval_time=Interval time
|
|||
labels.millisec=ms
|
||||
labels.permissions=Permissions
|
||||
labels.virtual_hosts=Virtual Hosts
|
||||
labels.virtual_host=Virtual Host
|
||||
labels.label_type=Label
|
||||
labels.file_crawling_button_create=Create
|
||||
labels.file_crawling_button_create_job=Create new job
|
||||
|
@ -478,7 +479,6 @@ labels.key_match_size=Size
|
|||
labels.key_match_boost=Boost
|
||||
labels.key_match_urls=Urls
|
||||
labels.key_match_title_details=Key Match
|
||||
labels.key_match_virtual_host=Virtual Host
|
||||
labels.design_configuration=Page Design
|
||||
labels.design_title_file_upload=File Upload
|
||||
labels.design_title_file=File Manager
|
||||
|
@ -745,13 +745,11 @@ labels.related_content_content=Content
|
|||
labels.related_content_list_term=Term
|
||||
labels.related_content_term=Term
|
||||
labels.related_content_title_details=Related Content
|
||||
labels.related_content_virtual_host=Virtual Host
|
||||
labels.related_query_configuration=Related Query
|
||||
labels.related_query_list_term=Term
|
||||
labels.related_query_queries=Queries
|
||||
labels.related_query_term=Term
|
||||
labels.related_query_title_details=Related Query
|
||||
labels.related_query_virtual_host=Virtual Host
|
||||
labels.crud_button_create=Create
|
||||
labels.crud_button_update=Update
|
||||
labels.crud_button_delete=Delete
|
||||
|
|
|
@ -342,6 +342,7 @@ labels.interval_time=Interval time
|
|||
labels.millisec=ms
|
||||
labels.permissions=Permissions
|
||||
labels.virtual_hosts=Virtual Hosts
|
||||
labels.virtual_host=Virtual Host
|
||||
labels.label_type=Label
|
||||
labels.file_crawling_button_create=Create
|
||||
labels.file_crawling_button_create_job=Create new job
|
||||
|
@ -478,7 +479,6 @@ labels.key_match_size=Size
|
|||
labels.key_match_boost=Boost
|
||||
labels.key_match_urls=Urls
|
||||
labels.key_match_title_details=Key Match
|
||||
labels.key_match_virtual_host=Virtual Host
|
||||
labels.design_configuration=Page Design
|
||||
labels.design_title_file_upload=File Upload
|
||||
labels.design_title_file=File Manager
|
||||
|
@ -745,13 +745,11 @@ labels.related_content_content=Content
|
|||
labels.related_content_list_term=Term
|
||||
labels.related_content_term=Term
|
||||
labels.related_content_title_details=Related Content
|
||||
labels.related_content_virtual_host=Virtual Host
|
||||
labels.related_query_configuration=Related Query
|
||||
labels.related_query_list_term=Term
|
||||
labels.related_query_queries=Queries
|
||||
labels.related_query_term=Term
|
||||
labels.related_query_title_details=Related Query
|
||||
labels.related_query_virtual_host=Virtual Host
|
||||
labels.crud_button_create=Create
|
||||
labels.crud_button_update=Update
|
||||
labels.crud_button_delete=Delete
|
||||
|
|
|
@ -335,6 +335,7 @@ labels.interval_time=\u9593\u9694
|
|||
labels.millisec=\u30df\u30ea\u79d2
|
||||
labels.permissions=\u30d1\u30fc\u30df\u30c3\u30b7\u30e7\u30f3
|
||||
labels.virtual_hosts=\u4eee\u60f3\u30db\u30b9\u30c8
|
||||
labels.virtual_host=\u4eee\u60f3\u30db\u30b9\u30c8
|
||||
labels.label_type=\u30e9\u30d9\u30eb
|
||||
labels.file_crawling_button_create=\u4f5c\u6210
|
||||
labels.file_crawling_button_create_job=\u65b0\u3057\u3044\u30b8\u30e7\u30d6\u306e\u4f5c\u6210
|
||||
|
@ -471,7 +472,6 @@ labels.key_match_size=\u30b5\u30a4\u30ba
|
|||
labels.key_match_boost=\u30d6\u30fc\u30b9\u30c8\u5024
|
||||
labels.key_match_urls=URL
|
||||
labels.key_match_title_details=\u30ad\u30fc\u30de\u30c3\u30c1
|
||||
labels.key_match_virtual_host=\u4eee\u60f3\u30db\u30b9\u30c8
|
||||
labels.design_configuration=\u30da\u30fc\u30b8\u306e\u30c7\u30b6\u30a4\u30f3
|
||||
labels.design_title_file_upload=\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3059\u308b\u30d5\u30a1\u30a4\u30eb
|
||||
labels.design_title_file=\u30d5\u30a1\u30a4\u30eb\u30de\u30cd\u30fc\u30b8\u30e3\u30fc
|
||||
|
@ -740,13 +740,11 @@ labels.related_content_content=\u30b3\u30f3\u30c6\u30f3\u30c4
|
|||
labels.related_content_list_term=\u691c\u7d22\u8a9e
|
||||
labels.related_content_term=\u691c\u7d22\u8a9e
|
||||
labels.related_content_title_details=\u95a2\u9023\u30b3\u30f3\u30c6\u30f3\u30c4
|
||||
labels.related_content_virtual_host=\u4eee\u60f3\u30db\u30b9\u30c8
|
||||
labels.related_query_configuration=\u95a2\u9023\u30af\u30a8\u30ea\u30fc
|
||||
labels.related_query_list_term=\u691c\u7d22\u8a9e
|
||||
labels.related_query_queries=\u30af\u30a8\u30ea\u30fc
|
||||
labels.related_query_term=\u691c\u7d22\u8a9e
|
||||
labels.related_query_title_details=\u95a2\u9023\u30af\u30a8\u30ea\u30fc
|
||||
labels.related_query_virtual_host=\u4eee\u60f3\u30db\u30b9\u30c8
|
||||
labels.crud_button_create=\u4f5c\u6210
|
||||
labels.crud_button_update=\u66f4\u65b0
|
||||
labels.crud_button_delete=\u524a\u9664
|
||||
|
|
|
@ -74,7 +74,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<th class="col-xs-2"><la:message
|
||||
key="labels.key_match_virtual_host" /></th>
|
||||
key="labels.virtual_host" /></th>
|
||||
<td>${f:h(virtualHost)}<la:hidden property="virtualHost" /></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
|
|
|
@ -80,7 +80,7 @@
|
|||
</div>
|
||||
<div class="form-group">
|
||||
<label for="virtualHost" class="col-sm-3 control-label"><la:message
|
||||
key="labels.key_match_virtual_host" /></label>
|
||||
key="labels.virtual_host" /></label>
|
||||
<div class="col-sm-9">
|
||||
<la:errors property="virtualHost" />
|
||||
<la:text styleId="virtualHost" property="virtualHost" styleClass="form-control" />
|
||||
|
|
|
@ -73,6 +73,11 @@
|
|||
<td>${f:br(f:h(permissions))}<la:hidden
|
||||
property="permissions" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-xs-2"><la:message
|
||||
key="labels.virtual_host" /></th>
|
||||
<td>${f:h(virtualHost)}<la:hidden property="virtualHost" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><la:message key="labels.sortOrder" /></th>
|
||||
<td>${f:h(sortOrder)}<la:hidden property="sortOrder" /></td>
|
||||
|
|
|
@ -87,6 +87,14 @@
|
|||
rows="5" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="virtualHost" class="col-sm-3 control-label"><la:message
|
||||
key="labels.virtual_host" /></label>
|
||||
<div class="col-sm-9">
|
||||
<la:errors property="virtualHost" />
|
||||
<la:text styleId="virtualHost" property="virtualHost" styleClass="form-control" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="sortOrder" class="col-sm-3 control-label"><la:message
|
||||
key="labels.sortOrder" /></label>
|
||||
|
|
|
@ -61,7 +61,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<th class="col-xs-2"><la:message
|
||||
key="labels.related_content_virtual_host" /></th>
|
||||
key="labels.virtual_host" /></th>
|
||||
<td>${f:h(virtualHost)}<la:hidden property="virtualHost" /></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
|
|
|
@ -62,7 +62,7 @@
|
|||
</div>
|
||||
<div class="form-group">
|
||||
<label for="virtualHost" class="col-sm-3 control-label"><la:message
|
||||
key="labels.related_query_virtual_host" /></label>
|
||||
key="labels.virtual_host" /></label>
|
||||
<div class="col-sm-9">
|
||||
<la:errors property="virtualHost" />
|
||||
<la:text styleId="virtualHost" property="virtualHost" styleClass="form-control" />
|
||||
|
|
|
@ -61,7 +61,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<th class="col-xs-2"><la:message
|
||||
key="labels.related_query_virtual_host" /></th>
|
||||
key="labels.virtual_host" /></th>
|
||||
<td>${f:h(virtualHost)}<la:hidden property="virtualHost" /></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
|
|
|
@ -62,7 +62,7 @@
|
|||
</div>
|
||||
<div class="form-group">
|
||||
<label for="virtualHost" class="col-sm-3 control-label"><la:message
|
||||
key="labels.related_query_virtual_host" /></label>
|
||||
key="labels.virtual_host" /></label>
|
||||
<div class="col-sm-9">
|
||||
<la:errors property="virtualHost" />
|
||||
<la:text styleId="virtualHost" property="virtualHost" styleClass="form-control" />
|
||||
|
|
Loading…
Add table
Reference in a new issue