use of org.molgenis.data.support.QueryImpl in project molgenis by molgenis.
the class MetaDataServiceImpl method getEntityTypes.
@Override
public Stream<EntityType> getEntityTypes() {
List<EntityType> entityTypeList = newArrayList();
Fetch entityTypeFetch = getEntityTypeFetch();
// Fetch the entitytypes page by page so that the results can be cached
final int pageSize = 1000;
for (int page = 0; entityTypeList.size() == page * pageSize; page++) {
QueryImpl<EntityType> query = new QueryImpl<>();
query.setFetch(entityTypeFetch);
query.setPageSize(pageSize);
query.setOffset(page * pageSize);
dataService.findAll(ENTITY_TYPE_META_DATA, query, EntityType.class).forEach(entityTypeList::add);
}
return entityTypeList.stream();
}
use of org.molgenis.data.support.QueryImpl in project molgenis by molgenis.
the class QueryGeneratorTest method generateOneQueryRuleNotEqualsEnum.
@Test
public void generateOneQueryRuleNotEqualsEnum() {
String value = "enum0";
Query<Entity> q = new QueryImpl<>().not().eq(enumAttrName, value);
QueryBuilder query = queryGenerator.createQueryBuilder(q, entityType);
QueryBuilder expectedQuery = boolQuery().mustNot(constantScoreQuery(termQuery(enumAttrName + '.' + FIELD_NOT_ANALYZED, value)));
assertQueryBuilderEquals(query, expectedQuery);
}
use of org.molgenis.data.support.QueryImpl in project molgenis by molgenis.
the class QueryGeneratorTest method generateOneQueryRuleNotEqualsEnumNull.
@Test
public void generateOneQueryRuleNotEqualsEnumNull() {
String value = null;
Query<Entity> q = new QueryImpl<>().not().eq(enumAttrName, value);
QueryBuilder query = queryGenerator.createQueryBuilder(q, entityType);
QueryBuilder expectedQuery = boolQuery().mustNot(constantScoreQuery(boolQuery().mustNot(existsQuery(enumAttrName))));
assertQueryBuilderEquals(query, expectedQuery);
}
use of org.molgenis.data.support.QueryImpl in project molgenis by molgenis.
the class QueryGeneratorTest method generateOneQueryRuleNotEqualsCompoundPartString.
@Test
public void generateOneQueryRuleNotEqualsCompoundPartString() {
String value = "value";
Query<Entity> q = new QueryImpl<>().not().eq(compoundPart0AttrName, value);
QueryBuilder query = queryGenerator.createQueryBuilder(q, entityType);
QueryBuilder expectedQuery = boolQuery().mustNot(constantScoreQuery(termQuery(compoundPart0AttrName + '.' + FIELD_NOT_ANALYZED, value)));
assertQueryBuilderEquals(query, expectedQuery);
}
use of org.molgenis.data.support.QueryImpl in project molgenis by molgenis.
the class QueryGeneratorTest method generateOneQueryRuleNotEqualsCategorical.
// FIXME add test for ref entity where id attribute is int
// FIXME add test where value is entity
@Test
public void generateOneQueryRuleNotEqualsCategorical() {
String value = "id";
Query<Entity> q = new QueryImpl<>().not().eq(categoricalAttrName, value);
QueryBuilder query = queryGenerator.createQueryBuilder(q, entityType);
QueryBuilder expectedQuery = boolQuery().mustNot(constantScoreQuery(nestedQuery(categoricalAttrName, termQuery(categoricalAttrName + ".xid." + FIELD_NOT_ANALYZED, value), ScoreMode.Avg)));
assertQueryBuilderEquals(query, expectedQuery);
}
Aggregations