Search in sources :

Example 21 with MappedClass

use of org.mongodb.morphia.mapping.MappedClass in project morphia by mongodb.

the class PathTargetTest method simpleResolution.

@Test
public void simpleResolution() {
    getMorphia().map(ParentType.class, EmbeddedType.class);
    Mapper mapper = getMorphia().getMapper();
    MappedClass mappedClass = mapper.getMappedClass(ParentType.class);
    PathTarget pathTarget = new PathTarget(mapper, mappedClass, "name");
    Assert.assertEquals("n", pathTarget.translatedPath());
    Assert.assertEquals(mappedClass.getMappedFieldByJavaField("name"), pathTarget.getTarget());
    pathTarget = new PathTarget(mapper, mappedClass, "n");
    Assert.assertEquals("n", pathTarget.translatedPath());
    Assert.assertEquals(mappedClass.getMappedField("n"), pathTarget.getTarget());
}
Also used : Mapper(org.mongodb.morphia.mapping.Mapper) MappedClass(org.mongodb.morphia.mapping.MappedClass) Test(org.junit.Test)

Example 22 with MappedClass

use of org.mongodb.morphia.mapping.MappedClass in project morphia by mongodb.

the class QueryValidatorTest method shouldAllowSizeOperatorForArrayListTypesAndIntegerValues.

@Test
public //this used to fail
void shouldAllowSizeOperatorForArrayListTypesAndIntegerValues() {
    // given
    MappedClass mappedClass = new MappedClass(EntityWithListsAndArrays.class, new Mapper());
    MappedField mappedField = mappedClass.getMappedField("arrayListOfIntegers");
    // expect
    assertThat(QueryValidator.isCompatibleForOperator(mappedClass, mappedField, NullClass.class, SIZE, 3, new ArrayList<ValidationFailure>()), is(true));
}
Also used : MappedField(org.mongodb.morphia.mapping.MappedField) Mapper(org.mongodb.morphia.mapping.Mapper) ArrayList(java.util.ArrayList) MappedClass(org.mongodb.morphia.mapping.MappedClass) Test(org.junit.Test)

Example 23 with MappedClass

use of org.mongodb.morphia.mapping.MappedClass in project morphia by mongodb.

the class QueryValidatorTest method shouldNotAllowSizeOperatorForNonListTypes.

@Test
public void shouldNotAllowSizeOperatorForNonListTypes() {
    // given
    MappedClass mappedClass = new MappedClass(EntityWithListsAndArrays.class, new Mapper());
    MappedField mappedField = mappedClass.getMappedField("notAnArrayOrList");
    // expect
    assertThat(QueryValidator.isCompatibleForOperator(mappedClass, mappedField, NullClass.class, SIZE, 3, new ArrayList<ValidationFailure>()), is(false));
}
Also used : MappedField(org.mongodb.morphia.mapping.MappedField) Mapper(org.mongodb.morphia.mapping.Mapper) ArrayList(java.util.ArrayList) MappedClass(org.mongodb.morphia.mapping.MappedClass) Test(org.junit.Test)

Example 24 with MappedClass

use of org.mongodb.morphia.mapping.MappedClass in project morphia by mongodb.

the class QueryValidatorTest method shouldRejectTypesAndValuesThatDoNotMatch.

@Test
public void shouldRejectTypesAndValuesThatDoNotMatch() {
    // expect
    MappedClass mappedClass = new MappedClass(SimpleEntity.class, new Mapper());
    MappedField mappedField = mappedClass.getMappedField("name");
    assertThat(QueryValidator.isCompatibleForOperator(mappedClass, mappedField, String.class, EQUAL, 1, new ArrayList<ValidationFailure>()), is(false));
}
Also used : MappedField(org.mongodb.morphia.mapping.MappedField) Mapper(org.mongodb.morphia.mapping.Mapper) ArrayList(java.util.ArrayList) MappedClass(org.mongodb.morphia.mapping.MappedClass) Test(org.junit.Test)

Example 25 with MappedClass

use of org.mongodb.morphia.mapping.MappedClass in project morphia by mongodb.

the class QueryValidatorTest method shouldAllowGeoWithinOperatorWithAllAppropriateTrimmings.

@Test
public void shouldAllowGeoWithinOperatorWithAllAppropriateTrimmings() {
    // expect
    MappedClass mappedClass = new MappedClass(GeoEntity.class, new Mapper());
    MappedField mappedField = mappedClass.getMappedField("array");
    assertThat(QueryValidator.isCompatibleForOperator(mappedClass, mappedField, List.class, GEO_WITHIN, new BasicDBObject("$box", 1), new ArrayList<ValidationFailure>()), is(true));
}
Also used : MappedField(org.mongodb.morphia.mapping.MappedField) Mapper(org.mongodb.morphia.mapping.Mapper) BasicDBObject(com.mongodb.BasicDBObject) ArrayList(java.util.ArrayList) ArrayList(java.util.ArrayList) List(java.util.List) MappedClass(org.mongodb.morphia.mapping.MappedClass) Test(org.junit.Test)

Aggregations

MappedClass (org.mongodb.morphia.mapping.MappedClass)92 Test (org.junit.Test)73 MappedField (org.mongodb.morphia.mapping.MappedField)56 Mapper (org.mongodb.morphia.mapping.Mapper)53 ArrayList (java.util.ArrayList)48 BasicDBObject (com.mongodb.BasicDBObject)18 DBObject (com.mongodb.DBObject)12 BsonDocument (org.bson.BsonDocument)8 Document (org.bson.Document)8 MappingException (org.mongodb.morphia.mapping.MappingException)6 DBCollection (com.mongodb.DBCollection)5 List (java.util.List)5 SimpleEntity (org.mongodb.morphia.entities.SimpleEntity)5 ObjectId (org.bson.types.ObjectId)4 Key (org.mongodb.morphia.Key)4 Index (org.mongodb.morphia.annotations.Index)4 LinkedHashMap (java.util.LinkedHashMap)3 NotSaved (org.mongodb.morphia.annotations.NotSaved)3 UpdateResults (org.mongodb.morphia.query.UpdateResults)3 WriteResult (com.mongodb.WriteResult)2