use of org.molgenis.data.support.QueryImpl in project molgenis by molgenis.
the class OntologyImportService method validateImport.
@Override
public EntitiesValidationReport validateImport(File file, RepositoryCollection source) {
EntitiesValidationReport report = new EntitiesValidationReportImpl();
if (source.getRepository(ONTOLOGY) == null)
throw new MolgenisDataException("Exception Repository [" + ONTOLOGY + "] is missing");
boolean ontologyExists = false;
for (Entity ontologyEntity : source.getRepository(ONTOLOGY)) {
String ontologyIRI = ontologyEntity.getString(OntologyMetaData.ONTOLOGY_IRI);
String ontologyName = ontologyEntity.getString(OntologyMetaData.ONTOLOGY_NAME);
Entity ontologyQueryEntity = dataService.findOne(ONTOLOGY, new QueryImpl<>().eq(OntologyMetaData.ONTOLOGY_IRI, ontologyIRI).or().eq(OntologyMetaData.ONTOLOGY_NAME, ontologyName));
ontologyExists = ontologyQueryEntity != null;
}
if (ontologyExists)
throw new MolgenisDataException("The ontology you are trying to import already exists");
for (String entityTypeId : source.getEntityTypeIds()) {
report.getSheetsImportable().put(entityTypeId, !ontologyExists);
}
return report;
}
use of org.molgenis.data.support.QueryImpl in project molgenis by molgenis.
the class QueryGeneratorTest method generateOneQueryRuleNotEqualsDateTimeNull.
@Test
public void generateOneQueryRuleNotEqualsDateTimeNull() throws ParseException {
Instant value = null;
Query<Entity> q = new QueryImpl<>().not().eq(dateTimeAttrName, value);
QueryBuilder query = queryGenerator.createQueryBuilder(q, entityType);
QueryBuilder expectedQuery = boolQuery().mustNot(constantScoreQuery(boolQuery().mustNot(existsQuery(dateTimeAttrName))));
assertQueryBuilderEquals(query, expectedQuery);
}
use of org.molgenis.data.support.QueryImpl in project molgenis by molgenis.
the class QueryGeneratorTest method generateOneQueryRuleNotEqualsDateNull.
@Test
public void generateOneQueryRuleNotEqualsDateNull() throws ParseException {
LocalDate value = null;
Query<Entity> q = new QueryImpl<>().not().eq(dateAttrName, value);
QueryBuilder query = queryGenerator.createQueryBuilder(q, entityType);
QueryBuilder expectedQuery = boolQuery().mustNot(constantScoreQuery(boolQuery().mustNot(existsQuery(dateAttrName))));
assertQueryBuilderEquals(query, expectedQuery);
}
use of org.molgenis.data.support.QueryImpl in project molgenis by molgenis.
the class QueryGeneratorTest method generateOneQueryRuleNotEqualsScript.
// TODO enable when implemented in QueryGenerator (see note in QueryGenerator)
// @Test
// public void generateOneQueryRuleNotEqualsMref()
// {
// }
@Test
public void generateOneQueryRuleNotEqualsScript() {
String value = "int a = 1;";
Query<Entity> q = new QueryImpl<>().not().eq(scriptAttrName, value);
QueryBuilder query = queryGenerator.createQueryBuilder(q, entityType);
QueryBuilder expectedQuery = boolQuery().mustNot(constantScoreQuery(termQuery(scriptAttrName + '.' + FIELD_NOT_ANALYZED, value)));
assertQueryBuilderEquals(query, expectedQuery);
}
use of org.molgenis.data.support.QueryImpl in project molgenis by molgenis.
the class QueryGeneratorTest method generateOneQueryRuleNotEqualsString.
@Test
public void generateOneQueryRuleNotEqualsString() {
String value = "value";
Query<Entity> q = new QueryImpl<>().not().eq(stringAttrName, value);
QueryBuilder query = queryGenerator.createQueryBuilder(q, entityType);
QueryBuilder expectedQuery = boolQuery().mustNot(constantScoreQuery(termQuery(stringAttrName + '.' + FIELD_NOT_ANALYZED, value)));
assertQueryBuilderEquals(query, expectedQuery);
}
Aggregations