This commit is contained in:
parent
c7e9305bf5
commit
041fe342fa
7 changed files with 538 additions and 37 deletions
|
@ -90,6 +90,18 @@ $manager.makeDirectory($request.generateDirPath)
|
|||
$generator.parse("./elasticsearch/ExConditionQuery.vm", $path, "", "")
|
||||
#end
|
||||
|
||||
#set ($path = "${request.generateDirPath}/cbean/cf/bs/Bs${table.camelizedName}CF.java")
|
||||
$manager.makeDirectory($path)
|
||||
$request.info("parse('${path}')")
|
||||
$generator.parse("./elasticsearch/BsConditionFilter.vm", $path, "", "")
|
||||
|
||||
#set ($path = "${request.generateDirPath}/cbean/cf/${table.camelizedName}CF.java")
|
||||
$manager.makeDirectory($path)
|
||||
$request.info("parse('${path}')")
|
||||
#if (!$files.file(${generator.outputPath},$path).exists())
|
||||
$generator.parse("./elasticsearch/ExConditionFilter.vm", $path, "", "")
|
||||
#end
|
||||
|
||||
#set ($path = "${request.generateDirPath}/bsbhv/Bs${table.camelizedName}Bhv.java")
|
||||
$manager.makeDirectory($path)
|
||||
$request.info("parse('${path}')")
|
||||
|
@ -113,6 +125,11 @@ $manager.makeDirectory($request.generateDirPath)
|
|||
$request.info("parse('${path}')")
|
||||
$generator.parse("./elasticsearch/AbstractConditionQuery.vm", $path, "", "")
|
||||
|
||||
#set ($path = "${request.generateDirPath}/cbean/cf/bs/AbstractConditionFilter.java")
|
||||
$manager.makeDirectory($path)
|
||||
$request.info("parse('${path}')")
|
||||
$generator.parse("./elasticsearch/AbstractConditionFilter.vm", $path, "", "")
|
||||
|
||||
#set ($path = "${request.generateDirPath}/bsentity/AbstractEntity.java")
|
||||
$manager.makeDirectory($path)
|
||||
$request.info("parse('${path}')")
|
||||
|
|
|
@ -592,6 +592,8 @@ public abstract class AbstractConditionBean implements ConditionBean {
|
|||
|
||||
private Boolean version;
|
||||
|
||||
private int terminateAfter = 0;
|
||||
|
||||
public void build(SearchRequestBuilder builder) {
|
||||
if (explain != null) {
|
||||
builder.setExplain(explain);
|
||||
|
@ -614,6 +616,9 @@ public abstract class AbstractConditionBean implements ConditionBean {
|
|||
if (version != null) {
|
||||
builder.setVersion(version);
|
||||
}
|
||||
if (terminateAfter > 0) {
|
||||
builder.setTerminateAfter(terminateAfter);
|
||||
}
|
||||
}
|
||||
|
||||
public void setExplain(boolean explain) {
|
||||
|
@ -644,6 +649,10 @@ public abstract class AbstractConditionBean implements ConditionBean {
|
|||
this.version = version;
|
||||
}
|
||||
|
||||
public void setTerminateAfter(int terminateAfter) {
|
||||
this.terminateAfter = terminateAfter;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
216
dbflute_fess/freegen/elasticsearch/AbstractConditionFilter.vm
Normal file
216
dbflute_fess/freegen/elasticsearch/AbstractConditionFilter.vm
Normal file
|
@ -0,0 +1,216 @@
|
|||
package ${request.package}.cbean.cf.bs;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
import org.dbflute.cbean.ckey.ConditionKey;
|
||||
import org.elasticsearch.index.query.AndFilterBuilder;
|
||||
import org.elasticsearch.index.query.BoolFilterBuilder;
|
||||
import org.elasticsearch.index.query.ExistsFilterBuilder;
|
||||
import org.elasticsearch.index.query.FilterBuilder;
|
||||
import org.elasticsearch.index.query.FilterBuilders;
|
||||
import org.elasticsearch.index.query.IdsFilterBuilder;
|
||||
import org.elasticsearch.index.query.MatchAllFilterBuilder;
|
||||
import org.elasticsearch.index.query.MissingFilterBuilder;
|
||||
import org.elasticsearch.index.query.NotFilterBuilder;
|
||||
import org.elasticsearch.index.query.OrFilterBuilder;
|
||||
import org.elasticsearch.index.query.PrefixFilterBuilder;
|
||||
import org.elasticsearch.index.query.QueryBuilder;
|
||||
import org.elasticsearch.index.query.QueryFilterBuilder;
|
||||
import org.elasticsearch.index.query.RangeFilterBuilder;
|
||||
import org.elasticsearch.index.query.ScriptFilterBuilder;
|
||||
import org.elasticsearch.index.query.TermFilterBuilder;
|
||||
import org.elasticsearch.index.query.TermsFilterBuilder;
|
||||
|
||||
public class AbstractConditionFilter {
|
||||
protected List<FilterBuilder> filterBuilderList;
|
||||
|
||||
public boolean hasFilters() {
|
||||
return filterBuilderList != null && !filterBuilderList.isEmpty();
|
||||
}
|
||||
|
||||
public FilterBuilder getFilter() {
|
||||
if (filterBuilderList == null) {
|
||||
return null;
|
||||
} else if (filterBuilderList.size() == 1) {
|
||||
return filterBuilderList.get(0);
|
||||
}
|
||||
return FilterBuilders.andFilter(filterBuilderList.toArray(new FilterBuilder[filterBuilderList.size()]));
|
||||
}
|
||||
|
||||
public void addFilter(FilterBuilder filterBuilder) {
|
||||
regF(filterBuilder);
|
||||
}
|
||||
|
||||
public void setIds_Equal(Collection<String> idList) {
|
||||
setIds_Equal(idList, null);
|
||||
}
|
||||
|
||||
public void setIds_Equal(Collection<String> idList, ConditionOptionCall<IdsFilterBuilder> opLambda) {
|
||||
IdsFilterBuilder builder = regIdsF(idList);
|
||||
if (opLambda != null) {
|
||||
opLambda.callback(builder);
|
||||
}
|
||||
}
|
||||
|
||||
public void matchAll() {
|
||||
matchAll(null);
|
||||
}
|
||||
|
||||
public void matchAll(ConditionOptionCall<MatchAllFilterBuilder> opLambda) {
|
||||
MatchAllFilterBuilder builder = FilterBuilders.matchAllFilter();
|
||||
regF(builder);
|
||||
if (opLambda != null) {
|
||||
opLambda.callback(builder);
|
||||
}
|
||||
}
|
||||
|
||||
public void setScript(String script) {
|
||||
setScript(script, null);
|
||||
}
|
||||
|
||||
public void setScript(String script, ConditionOptionCall<ScriptFilterBuilder> opLambda) {
|
||||
ScriptFilterBuilder builder = regScriptF(script);
|
||||
if (opLambda != null) {
|
||||
opLambda.callback(builder);
|
||||
}
|
||||
}
|
||||
|
||||
protected void regF(FilterBuilder builder) {
|
||||
if (filterBuilderList == null) {
|
||||
filterBuilderList = new ArrayList<>();
|
||||
}
|
||||
filterBuilderList.add(builder);
|
||||
}
|
||||
|
||||
protected TermFilterBuilder regTermF(String name, Object value) {
|
||||
TermFilterBuilder termFilter = FilterBuilders.termFilter(name, value);
|
||||
regF(termFilter);
|
||||
return termFilter;
|
||||
}
|
||||
|
||||
protected TermsFilterBuilder regTermsF(String name, Collection<?> value) {
|
||||
TermsFilterBuilder termsFilter = FilterBuilders.termsFilter(name, value);
|
||||
regF(termsFilter);
|
||||
return termsFilter;
|
||||
}
|
||||
|
||||
protected PrefixFilterBuilder regPrefixF(String name, String value) {
|
||||
PrefixFilterBuilder prefixFilter = FilterBuilders.prefixFilter(name, value);
|
||||
regF(prefixFilter);
|
||||
return prefixFilter;
|
||||
}
|
||||
|
||||
protected ExistsFilterBuilder regExistsF(String name) {
|
||||
ExistsFilterBuilder existsFilter = FilterBuilders.existsFilter(name);
|
||||
regF(existsFilter);
|
||||
return existsFilter;
|
||||
}
|
||||
|
||||
protected MissingFilterBuilder regMissingF(String name) {
|
||||
MissingFilterBuilder missingFilter = FilterBuilders.missingFilter(name);
|
||||
regF(missingFilter);
|
||||
return missingFilter;
|
||||
}
|
||||
|
||||
protected RangeFilterBuilder regRangeF(String name, ConditionKey ck, Object value) {
|
||||
for (FilterBuilder builder : filterBuilderList) {
|
||||
if (builder instanceof RangeFilterBuilder) {
|
||||
RangeFilterBuilder rangeFilterBuilder = (RangeFilterBuilder) builder;
|
||||
if (rangeFilterBuilder.toString().replaceAll("\\s", "").startsWith("{\"range\":{\"" + name + "\"")) {
|
||||
addRangeC(rangeFilterBuilder, ck, value);
|
||||
return rangeFilterBuilder;
|
||||
}
|
||||
}
|
||||
}
|
||||
RangeFilterBuilder rangeFilterBuilder = FilterBuilders.rangeFilter(name);
|
||||
addRangeC(rangeFilterBuilder, ck, value);
|
||||
regF(rangeFilterBuilder);
|
||||
return rangeFilterBuilder;
|
||||
}
|
||||
|
||||
protected void addRangeC(RangeFilterBuilder builder, ConditionKey ck, Object value) {
|
||||
if (ck.equals(ConditionKey.CK_GREATER_THAN)) {
|
||||
builder.gt(value);
|
||||
} else if (ck.equals(ConditionKey.CK_GREATER_EQUAL)) {
|
||||
builder.gte(value);
|
||||
} else if (ck.equals(ConditionKey.CK_LESS_THAN)) {
|
||||
builder.lt(value);
|
||||
} else if (ck.equals(ConditionKey.CK_LESS_EQUAL)) {
|
||||
builder.lte(value);
|
||||
}
|
||||
}
|
||||
|
||||
protected ScriptFilterBuilder regScriptF(String script) {
|
||||
ScriptFilterBuilder scriptFilter = FilterBuilders.scriptFilter(script);
|
||||
regF(scriptFilter);
|
||||
return scriptFilter;
|
||||
}
|
||||
|
||||
protected IdsFilterBuilder regIdsF(Collection<?> value) {
|
||||
IdsFilterBuilder idsFilter = FilterBuilders.idsFilter(value.toArray(new String[value.size()]));
|
||||
regF(idsFilter);
|
||||
return idsFilter;
|
||||
}
|
||||
|
||||
protected BoolFilterBuilder regBoolF(List<FilterBuilder> mustList, List<FilterBuilder> shouldList, List<FilterBuilder> mustNotList) {
|
||||
BoolFilterBuilder boolFilter = FilterBuilders.boolFilter();
|
||||
mustList.forEach(query -> {
|
||||
boolFilter.must(query);
|
||||
});
|
||||
shouldList.forEach(query -> {
|
||||
boolFilter.should(query);
|
||||
});
|
||||
mustNotList.forEach(query -> {
|
||||
boolFilter.mustNot(query);
|
||||
});
|
||||
return boolFilter;
|
||||
}
|
||||
|
||||
protected AndFilterBuilder regAndF(List<FilterBuilder> filterList) {
|
||||
AndFilterBuilder andFilter = FilterBuilders.andFilter(filterList.toArray(new FilterBuilder[filterList.size()]));
|
||||
regF(andFilter);
|
||||
return andFilter;
|
||||
}
|
||||
|
||||
protected OrFilterBuilder regOrF(List<FilterBuilder> filterList) {
|
||||
OrFilterBuilder andFilter = FilterBuilders.orFilter(filterList.toArray(new FilterBuilder[filterList.size()]));
|
||||
regF(andFilter);
|
||||
return andFilter;
|
||||
}
|
||||
|
||||
protected NotFilterBuilder regNotF(FilterBuilder filter) {
|
||||
NotFilterBuilder notFilter = FilterBuilders.notFilter(filter);
|
||||
regF(notFilter);
|
||||
return notFilter;
|
||||
}
|
||||
|
||||
protected QueryFilterBuilder regQueryF(QueryBuilder filter) {
|
||||
QueryFilterBuilder queryFilter = FilterBuilders.queryFilter(filter);
|
||||
regF(queryFilter);
|
||||
return queryFilter;
|
||||
}
|
||||
|
||||
@FunctionalInterface
|
||||
public interface ConditionOptionCall<OP extends FilterBuilder> {
|
||||
|
||||
/**
|
||||
* @param op The option of condition to be set up. (NotNull)
|
||||
*/
|
||||
void callback(OP op);
|
||||
}
|
||||
|
||||
@FunctionalInterface
|
||||
public interface BoolCall<CF extends AbstractConditionFilter> {
|
||||
|
||||
void callback(CF must, CF should, CF mustNot);
|
||||
}
|
||||
|
||||
@FunctionalInterface
|
||||
public interface OperatorCall<CF extends AbstractConditionFilter> {
|
||||
|
||||
void callback(CF and);
|
||||
}
|
||||
}
|
||||
|
|
@ -5,6 +5,7 @@ import java.util.Collection;
|
|||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import ${request.package}.cbean.cf.bs.AbstractConditionFilter;
|
||||
import org.dbflute.cbean.ConditionBean;
|
||||
import org.dbflute.cbean.ConditionQuery;
|
||||
import org.dbflute.cbean.ckey.ConditionKey;
|
||||
|
@ -20,6 +21,7 @@ import org.elasticsearch.index.query.BoolQueryBuilder;
|
|||
import org.elasticsearch.index.query.FilterBuilder;
|
||||
import org.elasticsearch.index.query.FilteredQueryBuilder;
|
||||
import org.elasticsearch.index.query.FuzzyQueryBuilder;
|
||||
import org.elasticsearch.index.query.MatchAllQueryBuilder;
|
||||
import org.elasticsearch.index.query.MatchQueryBuilder;
|
||||
import org.elasticsearch.index.query.PrefixQueryBuilder;
|
||||
import org.elasticsearch.index.query.QueryBuilder;
|
||||
|
@ -56,6 +58,10 @@ public abstract class AbstractConditionQuery implements ConditionQuery {
|
|||
return fieldSortBuilderList == null ? Collections.emptyList() : fieldSortBuilderList;
|
||||
}
|
||||
|
||||
public boolean hasQueries() {
|
||||
return queryBuilderList != null && !queryBuilderList.isEmpty();
|
||||
}
|
||||
|
||||
public QueryBuilder getQuery() {
|
||||
if (queryBuilderList == null) {
|
||||
return null;
|
||||
|
@ -70,7 +76,7 @@ public abstract class AbstractConditionQuery implements ConditionQuery {
|
|||
}
|
||||
|
||||
public void addQuery(QueryBuilder queryBuilder) {
|
||||
queryBuilderList.add(queryBuilder);
|
||||
regQ(queryBuilder);
|
||||
}
|
||||
|
||||
public void queryString(String queryString) {
|
||||
|
@ -85,11 +91,23 @@ public abstract class AbstractConditionQuery implements ConditionQuery {
|
|||
}
|
||||
}
|
||||
|
||||
protected FilteredQueryBuilder reqFilteredQ(QueryBuilder queryBuilder, FilterBuilder filterBuilder) {
|
||||
public void matchAll() {
|
||||
matchAll(null);
|
||||
}
|
||||
|
||||
public void matchAll(ConditionOptionCall<MatchAllQueryBuilder> opLambda) {
|
||||
MatchAllQueryBuilder builder = QueryBuilders.matchAllQuery();
|
||||
regQ(builder);
|
||||
if (opLambda != null) {
|
||||
opLambda.callback(builder);
|
||||
}
|
||||
}
|
||||
|
||||
protected FilteredQueryBuilder regFilteredQ(QueryBuilder queryBuilder, FilterBuilder filterBuilder) {
|
||||
return QueryBuilders.filteredQuery(queryBuilder, filterBuilder);
|
||||
}
|
||||
|
||||
protected BoolQueryBuilder reqBoolCQ(List<QueryBuilder> mustList, List<QueryBuilder> shouldList, List<QueryBuilder> mustNotList) {
|
||||
protected BoolQueryBuilder regBoolCQ(List<QueryBuilder> mustList, List<QueryBuilder> shouldList, List<QueryBuilder> mustNotList) {
|
||||
BoolQueryBuilder boolQuery = QueryBuilders.boolQuery();
|
||||
mustList.forEach(query -> {
|
||||
boolQuery.must(query);
|
||||
|
@ -103,49 +121,49 @@ public abstract class AbstractConditionQuery implements ConditionQuery {
|
|||
return boolQuery;
|
||||
}
|
||||
|
||||
protected TermQueryBuilder reqTermQ(String name, Object value) {
|
||||
protected TermQueryBuilder regTermQ(String name, Object value) {
|
||||
TermQueryBuilder termQuery = QueryBuilders.termQuery(name, value);
|
||||
regQ(termQuery);
|
||||
return termQuery;
|
||||
}
|
||||
|
||||
protected TermsQueryBuilder reqTermsQ(String name, Collection<?> value) {
|
||||
protected TermsQueryBuilder regTermsQ(String name, Collection<?> value) {
|
||||
TermsQueryBuilder termsQuery = QueryBuilders.termsQuery(name, value);
|
||||
regQ(termsQuery);
|
||||
return termsQuery;
|
||||
}
|
||||
|
||||
protected MatchQueryBuilder reqMatchQ(String name, Object value) {
|
||||
protected MatchQueryBuilder regMatchQ(String name, Object value) {
|
||||
MatchQueryBuilder matchQuery = QueryBuilders.matchQuery(name, value);
|
||||
regQ(matchQuery);
|
||||
return matchQuery;
|
||||
}
|
||||
|
||||
protected MatchQueryBuilder reqMatchPhraseQ(String name, Object value) {
|
||||
protected MatchQueryBuilder regMatchPhraseQ(String name, Object value) {
|
||||
MatchQueryBuilder matchQuery = QueryBuilders.matchPhraseQuery(name, value);
|
||||
regQ(matchQuery);
|
||||
return matchQuery;
|
||||
}
|
||||
|
||||
protected MatchQueryBuilder reqMatchPhrasePrefixQ(String name, Object value) {
|
||||
protected MatchQueryBuilder regMatchPhrasePrefixQ(String name, Object value) {
|
||||
MatchQueryBuilder matchQuery = QueryBuilders.matchPhrasePrefixQuery(name, value);
|
||||
regQ(matchQuery);
|
||||
return matchQuery;
|
||||
}
|
||||
|
||||
protected FuzzyQueryBuilder reqFuzzyQ(String name, Object value) {
|
||||
protected FuzzyQueryBuilder regFuzzyQ(String name, Object value) {
|
||||
FuzzyQueryBuilder fuzzyQuery = QueryBuilders.fuzzyQuery(name, value);
|
||||
regQ(fuzzyQuery);
|
||||
return fuzzyQuery;
|
||||
}
|
||||
|
||||
protected PrefixQueryBuilder reqPrefixQ(String name, String prefix) {
|
||||
protected PrefixQueryBuilder regPrefixQ(String name, String prefix) {
|
||||
PrefixQueryBuilder prefixQuery = QueryBuilders.prefixQuery(name, prefix);
|
||||
regQ(prefixQuery);
|
||||
return prefixQuery;
|
||||
}
|
||||
|
||||
protected RangeQueryBuilder reqRangeQ(String name, ConditionKey ck, Object value) {
|
||||
protected RangeQueryBuilder regRangeQ(String name, ConditionKey ck, Object value) {
|
||||
for (QueryBuilder builder : queryBuilderList) {
|
||||
if (builder instanceof RangeQueryBuilder) {
|
||||
RangeQueryBuilder rangeQueryBuilder = (RangeQueryBuilder) builder;
|
||||
|
@ -353,10 +371,15 @@ public abstract class AbstractConditionQuery implements ConditionQuery {
|
|||
}
|
||||
|
||||
@FunctionalInterface
|
||||
public interface FilteredCall<CQ extends AbstractConditionQuery> {
|
||||
public interface FilteredCall<CQ extends AbstractConditionQuery, CF extends AbstractConditionFilter> {
|
||||
|
||||
void callback(CQ query);
|
||||
void callback(CQ query, CF filter);
|
||||
}
|
||||
|
||||
@FunctionalInterface
|
||||
public interface OperatorCall<CQ extends AbstractConditionQuery> {
|
||||
|
||||
void callback(CQ and);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
225
dbflute_fess/freegen/elasticsearch/BsConditionFilter.vm
Normal file
225
dbflute_fess/freegen/elasticsearch/BsConditionFilter.vm
Normal file
|
@ -0,0 +1,225 @@
|
|||
package ${request.package}.cbean.cf.bs;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import ${request.package}.cbean.cf.${table.camelizedName}CF;
|
||||
import ${request.package}.cbean.cq.${table.camelizedName}CQ;
|
||||
import org.dbflute.exception.IllegalConditionBeanOperationException;
|
||||
import org.dbflute.cbean.ckey.ConditionKey;
|
||||
import org.elasticsearch.index.query.AndFilterBuilder;
|
||||
import org.elasticsearch.index.query.BoolFilterBuilder;
|
||||
import org.elasticsearch.index.query.ExistsFilterBuilder;
|
||||
import org.elasticsearch.index.query.MissingFilterBuilder;
|
||||
import org.elasticsearch.index.query.NotFilterBuilder;
|
||||
import org.elasticsearch.index.query.OrFilterBuilder;
|
||||
import org.elasticsearch.index.query.PrefixFilterBuilder;
|
||||
import org.elasticsearch.index.query.QueryFilterBuilder;
|
||||
import org.elasticsearch.index.query.RangeFilterBuilder;
|
||||
import org.elasticsearch.index.query.TermFilterBuilder;
|
||||
import org.elasticsearch.index.query.TermsFilterBuilder;
|
||||
|
||||
/**
|
||||
* @author FreeGen
|
||||
*/
|
||||
public abstract class Bs${table.camelizedName}CF extends AbstractConditionFilter {
|
||||
|
||||
public void bool(BoolCall<${table.camelizedName}CF> boolLambda) {
|
||||
bool(boolLambda, null);
|
||||
}
|
||||
|
||||
public void bool(BoolCall<${table.camelizedName}CF> boolLambda, ConditionOptionCall<BoolFilterBuilder> opLambda) {
|
||||
${table.camelizedName}CF mustFilter = new ${table.camelizedName}CF();
|
||||
${table.camelizedName}CF shouldFilter = new ${table.camelizedName}CF();
|
||||
${table.camelizedName}CF mustNotFilter = new ${table.camelizedName}CF();
|
||||
boolLambda.callback(mustFilter, shouldFilter, mustNotFilter);
|
||||
if (mustFilter.hasFilters() || shouldFilter.hasFilters() || mustNotFilter.hasFilters()) {
|
||||
BoolFilterBuilder builder =
|
||||
regBoolF(mustFilter.filterBuilderList, shouldFilter.filterBuilderList, mustNotFilter.filterBuilderList);
|
||||
if (opLambda != null) {
|
||||
opLambda.callback(builder);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void and(OperatorCall<${table.camelizedName}CF> andLambda) {
|
||||
and(andLambda, null);
|
||||
}
|
||||
|
||||
public void and(OperatorCall<${table.camelizedName}CF> andLambda, ConditionOptionCall<AndFilterBuilder> opLambda) {
|
||||
${table.camelizedName}CF andFilter = new ${table.camelizedName}CF();
|
||||
andLambda.callback(andFilter);
|
||||
if (andFilter.hasFilters()) {
|
||||
AndFilterBuilder builder = regAndF(andFilter.filterBuilderList);
|
||||
if (opLambda != null) {
|
||||
opLambda.callback(builder);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void or(OperatorCall<${table.camelizedName}CF> orLambda) {
|
||||
or(orLambda, null);
|
||||
}
|
||||
|
||||
public void or(OperatorCall<${table.camelizedName}CF> orLambda, ConditionOptionCall<OrFilterBuilder> opLambda) {
|
||||
${table.camelizedName}CF orFilter = new ${table.camelizedName}CF();
|
||||
orLambda.callback(orFilter);
|
||||
if (orFilter.hasFilters()) {
|
||||
OrFilterBuilder builder = regOrF(orFilter.filterBuilderList);
|
||||
if (opLambda != null) {
|
||||
opLambda.callback(builder);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void not(OperatorCall<${table.camelizedName}CF> notLambda) {
|
||||
not(notLambda, null);
|
||||
}
|
||||
|
||||
public void not(OperatorCall<${table.camelizedName}CF> notLambda, ConditionOptionCall<NotFilterBuilder> opLambda) {
|
||||
${table.camelizedName}CF notFilter = new ${table.camelizedName}CF();
|
||||
notLambda.callback(notFilter);
|
||||
if (notFilter.hasFilters()) {
|
||||
if (notFilter.filterBuilderList.size() > 1) {
|
||||
final String msg = "not filter must be one filter.";
|
||||
throw new IllegalConditionBeanOperationException(msg);
|
||||
}
|
||||
NotFilterBuilder builder = regNotF(notFilter.filterBuilderList.get(0));
|
||||
if (opLambda != null) {
|
||||
opLambda.callback(builder);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void query(org.codelibs.fess.es.cbean.cq.bs.AbstractConditionQuery.OperatorCall<${table.camelizedName}CQ> queryLambda) {
|
||||
query(queryLambda, null);
|
||||
}
|
||||
|
||||
public void query(org.codelibs.fess.es.cbean.cq.bs.AbstractConditionQuery.OperatorCall<${table.camelizedName}CQ> queryLambda,
|
||||
ConditionOptionCall<QueryFilterBuilder> opLambda) {
|
||||
${table.camelizedName}CQ query = new ${table.camelizedName}CQ();
|
||||
queryLambda.callback(query);
|
||||
if (query.hasQueries()) {
|
||||
QueryFilterBuilder builder = regQueryF(query.getQuery());
|
||||
if (opLambda != null) {
|
||||
opLambda.callback(builder);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#foreach ($column in $table.columnList)
|
||||
#if ($column.isNormalColumn)
|
||||
#set ($javaNative = ${column.type})
|
||||
|
||||
public void set${column.capCamelName}_Term($javaNative ${column.uncapCamelName}) {
|
||||
set${column.capCamelName}_Term(${column.uncapCamelName}, null);
|
||||
}
|
||||
|
||||
public void set${column.capCamelName}_Term($javaNative ${column.uncapCamelName}, ConditionOptionCall<TermFilterBuilder> opLambda) {
|
||||
TermFilterBuilder builder = regTermF("${column.name}", ${column.uncapCamelName});
|
||||
if (opLambda != null) {
|
||||
opLambda.callback(builder);
|
||||
}
|
||||
}
|
||||
|
||||
public void set${column.capCamelName}_Terms(Collection<$javaNative> ${column.uncapCamelName}List) {
|
||||
set${column.capCamelName}_Terms(${column.uncapCamelName}List, null);
|
||||
}
|
||||
|
||||
public void set${column.capCamelName}_Terms(Collection<$javaNative> ${column.uncapCamelName}List, ConditionOptionCall<TermsFilterBuilder> opLambda) {
|
||||
TermsFilterBuilder builder = regTermsF("${column.name}", ${column.uncapCamelName}List);
|
||||
if (opLambda != null) {
|
||||
opLambda.callback(builder);
|
||||
}
|
||||
}
|
||||
|
||||
public void set${column.capCamelName}_InScope(Collection<$javaNative> ${column.uncapCamelName}List) {
|
||||
set${column.capCamelName}_Terms(${column.uncapCamelName}List, null);
|
||||
}
|
||||
|
||||
public void set${column.capCamelName}_InScope(Collection<$javaNative> ${column.uncapCamelName}List, ConditionOptionCall<TermsFilterBuilder> opLambda) {
|
||||
set${column.capCamelName}_Terms(${column.uncapCamelName}List, opLambda);
|
||||
}
|
||||
|
||||
#if ($javaNative == "String")
|
||||
public void set${column.capCamelName}_Prefix($javaNative ${column.uncapCamelName}) {
|
||||
set${column.capCamelName}_Prefix(${column.uncapCamelName}, null);
|
||||
}
|
||||
|
||||
public void set${column.capCamelName}_Prefix($javaNative ${column.uncapCamelName}, ConditionOptionCall<PrefixFilterBuilder> opLambda) {
|
||||
PrefixFilterBuilder builder = regPrefixF("${column.name}", ${column.uncapCamelName});
|
||||
if (opLambda != null) {
|
||||
opLambda.callback(builder);
|
||||
}
|
||||
}
|
||||
|
||||
#end
|
||||
public void set${column.capCamelName}_Exists() {
|
||||
set${column.capCamelName}_Exists(null);
|
||||
}
|
||||
|
||||
public void set${column.capCamelName}_Exists(ConditionOptionCall<ExistsFilterBuilder> opLambda) {
|
||||
ExistsFilterBuilder builder = regExistsF("${column.name}");
|
||||
if (opLambda != null) {
|
||||
opLambda.callback(builder);
|
||||
}
|
||||
}
|
||||
|
||||
public void set${column.capCamelName}_Missing() {
|
||||
set${column.capCamelName}_Missing(null);
|
||||
}
|
||||
|
||||
public void set${column.capCamelName}_Missing(ConditionOptionCall<MissingFilterBuilder> opLambda) {
|
||||
MissingFilterBuilder builder = regMissingF("${column.name}");
|
||||
if (opLambda != null) {
|
||||
opLambda.callback(builder);
|
||||
}
|
||||
}
|
||||
|
||||
public void set${column.capCamelName}_GreaterThan($javaNative ${column.uncapCamelName}) {
|
||||
set${column.capCamelName}_GreaterThan(${column.uncapCamelName}, null);
|
||||
}
|
||||
|
||||
public void set${column.capCamelName}_GreaterThan($javaNative ${column.uncapCamelName}, ConditionOptionCall<RangeFilterBuilder> opLambda) {
|
||||
RangeFilterBuilder builder = regRangeF("${column.name}", ConditionKey.CK_GREATER_THAN, ${column.uncapCamelName});
|
||||
if (opLambda != null) {
|
||||
opLambda.callback(builder);
|
||||
}
|
||||
}
|
||||
|
||||
public void set${column.capCamelName}_LessThan($javaNative ${column.uncapCamelName}) {
|
||||
set${column.capCamelName}_LessThan(${column.uncapCamelName}, null);
|
||||
}
|
||||
|
||||
public void set${column.capCamelName}_LessThan($javaNative ${column.uncapCamelName}, ConditionOptionCall<RangeFilterBuilder> opLambda) {
|
||||
RangeFilterBuilder builder = regRangeF("${column.name}", ConditionKey.CK_LESS_THAN, ${column.uncapCamelName});
|
||||
if (opLambda != null) {
|
||||
opLambda.callback(builder);
|
||||
}
|
||||
}
|
||||
|
||||
public void set${column.capCamelName}_GreaterEqual($javaNative ${column.uncapCamelName}) {
|
||||
set${column.capCamelName}_GreaterEqual(${column.uncapCamelName}, null);
|
||||
}
|
||||
|
||||
public void set${column.capCamelName}_GreaterEqual($javaNative ${column.uncapCamelName}, ConditionOptionCall<RangeFilterBuilder> opLambda) {
|
||||
RangeFilterBuilder builder = regRangeF("${column.name}", ConditionKey.CK_GREATER_EQUAL, ${column.uncapCamelName});
|
||||
if (opLambda != null) {
|
||||
opLambda.callback(builder);
|
||||
}
|
||||
}
|
||||
|
||||
public void set${column.capCamelName}_LessEqual($javaNative ${column.uncapCamelName}) {
|
||||
set${column.capCamelName}_LessEqual(${column.uncapCamelName}, null);
|
||||
}
|
||||
|
||||
public void set${column.capCamelName}_LessEqual($javaNative ${column.uncapCamelName}, ConditionOptionCall<RangeFilterBuilder> opLambda) {
|
||||
RangeFilterBuilder builder = regRangeF("${column.name}", ConditionKey.CK_LESS_EQUAL, ${column.uncapCamelName});
|
||||
if (opLambda != null) {
|
||||
opLambda.callback(builder);
|
||||
}
|
||||
}
|
||||
|
||||
#end
|
||||
#end
|
||||
}
|
|
@ -3,6 +3,7 @@ package ${request.package}.cbean.cq.bs;
|
|||
import java.util.Collection;
|
||||
|
||||
import ${request.package}.cbean.cq.${table.camelizedName}CQ;
|
||||
import ${request.package}.cbean.cf.${table.camelizedName}CF;
|
||||
import org.dbflute.cbean.ckey.ConditionKey;
|
||||
import org.elasticsearch.index.query.BoolQueryBuilder;
|
||||
import org.elasticsearch.index.query.FilteredQueryBuilder;
|
||||
|
@ -28,16 +29,17 @@ public abstract class Bs${table.camelizedName}CQ extends AbstractConditionQuery
|
|||
return "${table.name}";
|
||||
}
|
||||
|
||||
public void filtered(FilteredCall<${table.camelizedName}CQ> filteredLambda) {
|
||||
public void filtered(FilteredCall<${table.camelizedName}CQ, ${table.camelizedName}CF> filteredLambda) {
|
||||
filtered(filteredLambda, null);
|
||||
}
|
||||
|
||||
public void filtered(FilteredCall<${table.camelizedName}CQ> filteredLambda, ConditionOptionCall<FilteredQueryBuilder> opLambda) {
|
||||
public void filtered(FilteredCall<${table.camelizedName}CQ, ${table.camelizedName}CF> filteredLambda,
|
||||
ConditionOptionCall<FilteredQueryBuilder> opLambda) {
|
||||
${table.camelizedName}CQ query = new ${table.camelizedName}CQ();
|
||||
filteredLambda.callback(query);
|
||||
if (!query.queryBuilderList.isEmpty()) {
|
||||
// TODO filter
|
||||
FilteredQueryBuilder builder = reqFilteredQ(query.getQuery(), null);
|
||||
${table.camelizedName}CF filter = new ${table.camelizedName}CF();
|
||||
filteredLambda.callback(query, filter);
|
||||
if (query.hasQueries()) {
|
||||
FilteredQueryBuilder builder = regFilteredQ(query.getQuery(), filter.getFilter());
|
||||
if (opLambda != null) {
|
||||
opLambda.callback(builder);
|
||||
}
|
||||
|
@ -53,8 +55,8 @@ public abstract class Bs${table.camelizedName}CQ extends AbstractConditionQuery
|
|||
${table.camelizedName}CQ shouldQuery = new ${table.camelizedName}CQ();
|
||||
${table.camelizedName}CQ mustNotQuery = new ${table.camelizedName}CQ();
|
||||
boolLambda.callback(mustQuery, shouldQuery, mustNotQuery);
|
||||
if (!mustQuery.queryBuilderList.isEmpty() || !shouldQuery.queryBuilderList.isEmpty() || !mustNotQuery.queryBuilderList.isEmpty()) {
|
||||
BoolQueryBuilder builder = reqBoolCQ(mustQuery.queryBuilderList, shouldQuery.queryBuilderList, mustNotQuery.queryBuilderList);
|
||||
if (mustQuery.hasQueries() || shouldQuery.hasQueries() || mustNotQuery.hasQueries()) {
|
||||
BoolQueryBuilder builder = regBoolCQ(mustQuery.queryBuilderList, shouldQuery.queryBuilderList, mustNotQuery.queryBuilderList);
|
||||
if (opLambda != null) {
|
||||
opLambda.callback(builder);
|
||||
}
|
||||
|
@ -69,29 +71,29 @@ public abstract class Bs${table.camelizedName}CQ extends AbstractConditionQuery
|
|||
}
|
||||
|
||||
public void set${column.capCamelName}_Term($javaNative ${column.uncapCamelName}, ConditionOptionCall<TermQueryBuilder> opLambda) {
|
||||
TermQueryBuilder builder = reqTermQ("${column.name}", ${column.uncapCamelName});
|
||||
TermQueryBuilder builder = regTermQ("${column.name}", ${column.uncapCamelName});
|
||||
if (opLambda != null) {
|
||||
opLambda.callback(builder);
|
||||
}
|
||||
}
|
||||
|
||||
public void set${column.capCamelName}_Terms(Collection<$javaNative> ${column.uncapCamelName}List) {
|
||||
set${column.capCamelName}_MatchPhrasePrefix(${column.uncapCamelName}List, null);
|
||||
set${column.capCamelName}_Terms(${column.uncapCamelName}List, null);
|
||||
}
|
||||
|
||||
public void set${column.capCamelName}_MatchPhrasePrefix(Collection<$javaNative> ${column.uncapCamelName}List, ConditionOptionCall<TermsQueryBuilder> opLambda) {
|
||||
TermsQueryBuilder builder = reqTermsQ("${column.name}", ${column.uncapCamelName}List);
|
||||
public void set${column.capCamelName}_Terms(Collection<$javaNative> ${column.uncapCamelName}List, ConditionOptionCall<TermsQueryBuilder> opLambda) {
|
||||
TermsQueryBuilder builder = regTermsQ("${column.name}", ${column.uncapCamelName}List);
|
||||
if (opLambda != null) {
|
||||
opLambda.callback(builder);
|
||||
}
|
||||
}
|
||||
|
||||
public void set${column.capCamelName}_InScope(Collection<$javaNative> ${column.uncapCamelName}List) {
|
||||
set${column.capCamelName}_MatchPhrasePrefix(${column.uncapCamelName}List, null);
|
||||
set${column.capCamelName}_Terms(${column.uncapCamelName}List, null);
|
||||
}
|
||||
|
||||
public void set${column.capCamelName}_InScope(Collection<$javaNative> ${column.uncapCamelName}List, ConditionOptionCall<TermsQueryBuilder> opLambda) {
|
||||
set${column.capCamelName}_MatchPhrasePrefix(${column.uncapCamelName}List, opLambda);
|
||||
set${column.capCamelName}_Terms(${column.uncapCamelName}List, opLambda);
|
||||
}
|
||||
|
||||
public void set${column.capCamelName}_Match($javaNative ${column.uncapCamelName}) {
|
||||
|
@ -99,7 +101,7 @@ public abstract class Bs${table.camelizedName}CQ extends AbstractConditionQuery
|
|||
}
|
||||
|
||||
public void set${column.capCamelName}_Match($javaNative ${column.uncapCamelName}, ConditionOptionCall<MatchQueryBuilder> opLambda) {
|
||||
MatchQueryBuilder builder = reqMatchQ("${column.name}", ${column.uncapCamelName});
|
||||
MatchQueryBuilder builder = regMatchQ("${column.name}", ${column.uncapCamelName});
|
||||
if (opLambda != null) {
|
||||
opLambda.callback(builder);
|
||||
}
|
||||
|
@ -110,7 +112,7 @@ public abstract class Bs${table.camelizedName}CQ extends AbstractConditionQuery
|
|||
}
|
||||
|
||||
public void set${column.capCamelName}_MatchPhrase($javaNative ${column.uncapCamelName}, ConditionOptionCall<MatchQueryBuilder> opLambda) {
|
||||
MatchQueryBuilder builder = reqMatchPhraseQ("${column.name}", ${column.uncapCamelName});
|
||||
MatchQueryBuilder builder = regMatchPhraseQ("${column.name}", ${column.uncapCamelName});
|
||||
if (opLambda != null) {
|
||||
opLambda.callback(builder);
|
||||
}
|
||||
|
@ -121,7 +123,7 @@ public abstract class Bs${table.camelizedName}CQ extends AbstractConditionQuery
|
|||
}
|
||||
|
||||
public void set${column.capCamelName}_MatchPhrasePrefix($javaNative ${column.uncapCamelName}, ConditionOptionCall<MatchQueryBuilder> opLambda) {
|
||||
MatchQueryBuilder builder = reqMatchPhrasePrefixQ("${column.name}", ${column.uncapCamelName});
|
||||
MatchQueryBuilder builder = regMatchPhrasePrefixQ("${column.name}", ${column.uncapCamelName});
|
||||
if (opLambda != null) {
|
||||
opLambda.callback(builder);
|
||||
}
|
||||
|
@ -132,7 +134,7 @@ public abstract class Bs${table.camelizedName}CQ extends AbstractConditionQuery
|
|||
}
|
||||
|
||||
public void set${column.capCamelName}_Fuzzy($javaNative ${column.uncapCamelName}, ConditionOptionCall<FuzzyQueryBuilder> opLambda) {
|
||||
FuzzyQueryBuilder builder = reqFuzzyQ("${column.name}", ${column.uncapCamelName});
|
||||
FuzzyQueryBuilder builder = regFuzzyQ("${column.name}", ${column.uncapCamelName});
|
||||
if (opLambda != null) {
|
||||
opLambda.callback(builder);
|
||||
}
|
||||
|
@ -144,7 +146,7 @@ public abstract class Bs${table.camelizedName}CQ extends AbstractConditionQuery
|
|||
}
|
||||
|
||||
public void set${column.capCamelName}_Prefix($javaNative ${column.uncapCamelName}, ConditionOptionCall<PrefixQueryBuilder> opLambda) {
|
||||
PrefixQueryBuilder builder = reqPrefixQ("${column.name}", ${column.uncapCamelName});
|
||||
PrefixQueryBuilder builder = regPrefixQ("${column.name}", ${column.uncapCamelName});
|
||||
if (opLambda != null) {
|
||||
opLambda.callback(builder);
|
||||
}
|
||||
|
@ -156,7 +158,7 @@ public abstract class Bs${table.camelizedName}CQ extends AbstractConditionQuery
|
|||
}
|
||||
|
||||
public void set${column.capCamelName}_GreaterThan($javaNative ${column.uncapCamelName}, ConditionOptionCall<RangeQueryBuilder> opLambda) {
|
||||
RangeQueryBuilder builder = reqRangeQ("${column.name}", ConditionKey.CK_GREATER_THAN, ${column.uncapCamelName});
|
||||
RangeQueryBuilder builder = regRangeQ("${column.name}", ConditionKey.CK_GREATER_THAN, ${column.uncapCamelName});
|
||||
if (opLambda != null) {
|
||||
opLambda.callback(builder);
|
||||
}
|
||||
|
@ -167,7 +169,7 @@ public abstract class Bs${table.camelizedName}CQ extends AbstractConditionQuery
|
|||
}
|
||||
|
||||
public void set${column.capCamelName}_LessThan($javaNative ${column.uncapCamelName}, ConditionOptionCall<RangeQueryBuilder> opLambda) {
|
||||
RangeQueryBuilder builder = reqRangeQ("${column.name}", ConditionKey.CK_LESS_THAN, ${column.uncapCamelName});
|
||||
RangeQueryBuilder builder = regRangeQ("${column.name}", ConditionKey.CK_LESS_THAN, ${column.uncapCamelName});
|
||||
if (opLambda != null) {
|
||||
opLambda.callback(builder);
|
||||
}
|
||||
|
@ -178,7 +180,7 @@ public abstract class Bs${table.camelizedName}CQ extends AbstractConditionQuery
|
|||
}
|
||||
|
||||
public void set${column.capCamelName}_GreaterEqual($javaNative ${column.uncapCamelName}, ConditionOptionCall<RangeQueryBuilder> opLambda) {
|
||||
RangeQueryBuilder builder = reqRangeQ("${column.name}", ConditionKey.CK_GREATER_EQUAL, ${column.uncapCamelName});
|
||||
RangeQueryBuilder builder = regRangeQ("${column.name}", ConditionKey.CK_GREATER_EQUAL, ${column.uncapCamelName});
|
||||
if (opLambda != null) {
|
||||
opLambda.callback(builder);
|
||||
}
|
||||
|
@ -189,7 +191,7 @@ public abstract class Bs${table.camelizedName}CQ extends AbstractConditionQuery
|
|||
}
|
||||
|
||||
public void set${column.capCamelName}_LessEqual($javaNative ${column.uncapCamelName}, ConditionOptionCall<RangeQueryBuilder> opLambda) {
|
||||
RangeQueryBuilder builder = reqRangeQ("${column.name}", ConditionKey.CK_LESS_EQUAL, ${column.uncapCamelName});
|
||||
RangeQueryBuilder builder = regRangeQ("${column.name}", ConditionKey.CK_LESS_EQUAL, ${column.uncapCamelName});
|
||||
if (opLambda != null) {
|
||||
opLambda.callback(builder);
|
||||
}
|
||||
|
|
9
dbflute_fess/freegen/elasticsearch/ExConditionFilter.vm
Normal file
9
dbflute_fess/freegen/elasticsearch/ExConditionFilter.vm
Normal file
|
@ -0,0 +1,9 @@
|
|||
package ${request.package}.cbean.cf;
|
||||
|
||||
import ${request.package}.cbean.cf.bs.Bs${table.camelizedName}CF;
|
||||
|
||||
/**
|
||||
* @author FreeGen
|
||||
*/
|
||||
public class ${table.camelizedName}CF extends Bs${table.camelizedName}CF {
|
||||
}
|
Loading…
Add table
Reference in a new issue