use of dev.morphia.mapping.codec.pojo.EntityModel in project morphia by MorphiaOrg.
the class IndexHelperTest method weightsOnNonTextIndex.
@Test(expectedExceptions = MappingException.class)
public void weightsOnNonTextIndex() {
MongoCollection<Document> indexes = getDatabase().getCollection("indexes");
EntityModel model = getMapper().getEntityModel(IndexedClass.class);
Index index = indexBuilder().fields(fieldBuilder().value("name").weight(10).build()).build();
getIndexHelper().createIndex(indexes, model, index);
}
use of dev.morphia.mapping.codec.pojo.EntityModel in project morphia by MorphiaOrg.
the class IndexHelperTest method index.
@Test
public void index() {
MongoCollection<Document> collection = getDatabase().getCollection("indexes");
EntityModel model = getMapper().getEntityModel(IndexedClass.class);
IndexOptions options = indexOptionsBuilder().name("index_name").background(true).collation(collation().build()).disableValidation(true).language("en").languageOverride("de").sparse(true).unique(true).build();
Index index = indexBuilder().fields(fieldBuilder().value("indexName").build(), fieldBuilder().value("text").type(IndexType.DESC).build()).options(options).build();
getIndexHelper().createIndex(collection, model, index);
List<Document> indexInfo = getIndexInfo(IndexedClass.class);
for (Document document : indexInfo) {
if (document.get("name").equals("indexName")) {
checkIndex(document);
assertEquals(document.get("default_language"), "en");
assertEquals(document.get("language_override"), "de");
assertEquals(document.get("collation"), new Document().append("locale", "en").append("caseLevel", true).append("caseFirst", "upper").append("strength", 5).append("numericOrdering", true).append("alternate", "shifted").append("maxVariable", "space").append("backwards", true).append("normalization", true).append("version", "57.1"));
}
}
}
use of dev.morphia.mapping.codec.pojo.EntityModel in project morphia by MorphiaOrg.
the class IndexHelperTest method indexPartialFilters.
@Test
public void indexPartialFilters() {
MongoCollection<Document> collection = getDatabase().getCollection("indexes");
EntityModel model = getMapper().getEntityModel(IndexedClass.class);
Index index = indexBuilder().fields(fieldBuilder().value("text").build()).options(indexOptionsBuilder().partialFilter("{ name : { $gt : 13 } }").build()).build();
getIndexHelper().createIndex(collection, model, index);
findPartialIndex(Document.parse(index.options().partialFilter()));
}
use of dev.morphia.mapping.codec.pojo.EntityModel in project morphia by MorphiaOrg.
the class TestIndexes method testClassIndexInherit.
@Test
public void testClassIndexInherit() {
getMapper().map(Shape.class, Circle.class);
final EntityModel entityModel = getMapper().getEntityModel(Circle.class);
assertNotNull(entityModel);
assertNotNull(entityModel.getAnnotation(Indexes.class));
getDs().ensureIndexes();
assertEquals(getIndexInfo(Circle.class).size(), 4);
}
use of dev.morphia.mapping.codec.pojo.EntityModel in project morphia by MorphiaOrg.
the class PathTargetTest method maps.
@Test
public void maps() {
getMapper().map(Student.class);
Mapper mapper = getMapper();
EntityModel entityModel = mapper.getEntityModel(Student.class);
PathTarget pathTarget = new PathTarget(mapper, entityModel, "grades.$.data.name");
Assert.assertEquals(pathTarget.translatedPath(), "grades.$.d.name");
Assert.assertEquals(mapper.getEntityModel(Grade.class).getProperty("data"), pathTarget.getTarget());
pathTarget = new PathTarget(mapper, entityModel, "grades.$.d.name");
Assert.assertEquals(pathTarget.translatedPath(), "grades.$.d.name");
Assert.assertEquals(mapper.getEntityModel(Grade.class).getProperty("d"), pathTarget.getTarget());
}
Aggregations