use of org.mongodb.morphia.mapping.MappedClass in project morphia by mongodb.
the class MappedFieldTypeValidatorTest method shouldAllowAListThatDoesNotContainNumbers.
@Test
public void shouldAllowAListThatDoesNotContainNumbers() {
// given
MappedClass mappedClass = new MappedClass(EntityWithListsAndArrays.class, new Mapper());
MappedField mappedField = mappedClass.getMappedField("listOfIntegers");
// expect
assertThat(MappedFieldTypeValidator.isIterableOfNumbers(mappedField), is(true));
}
use of org.mongodb.morphia.mapping.MappedClass in project morphia by mongodb.
the class MappedFieldTypeValidatorTest method shouldAllowArraysOfNumbers.
@Test
public void shouldAllowArraysOfNumbers() {
// given
MappedClass mappedClass = new MappedClass(EntityWithListsAndArrays.class, new Mapper());
MappedField mappedField = mappedClass.getMappedField("arrayOfInts");
// expect
assertThat(MappedFieldTypeValidator.isArrayOfNumbers(mappedField), is(true));
}
use of org.mongodb.morphia.mapping.MappedClass in project morphia by mongodb.
the class SizeOperationValidatorTest method shouldAllowSizeOperatorForIterableTypesAndIntegerValues.
@Test
public void shouldAllowSizeOperatorForIterableTypesAndIntegerValues() {
// given
MappedClass mappedClass = new MappedClass(EntityWithListsAndArrays.class, new Mapper());
MappedField mappedField = mappedClass.getMappedField("setOfIntegers");
List<ValidationFailure> validationFailures = new ArrayList<ValidationFailure>();
// when
boolean validationApplied = SizeOperationValidator.getInstance().apply(mappedField, SIZE, 3, validationFailures);
// then
assertThat(validationApplied, is(true));
assertThat(validationFailures.size(), is(0));
}
use of org.mongodb.morphia.mapping.MappedClass in project morphia by mongodb.
the class PathTarget method resolveField.
private MappedField resolveField(final String segment) {
MappedField mf = context.getMappedField(segment);
if (mf == null) {
mf = context.getMappedFieldByJavaField(segment);
}
if (mf == null) {
Iterator<MappedClass> subTypes = mapper.getSubTypes(context).iterator();
while (mf == null && subTypes.hasNext()) {
context = subTypes.next();
mf = resolveField(segment);
}
}
if (mf != null) {
context = mapper.getMappedClass(mf.getSubClass() != null ? mf.getSubClass() : mf.getConcreteType());
}
return mf;
}
use of org.mongodb.morphia.mapping.MappedClass in project morphia by mongodb.
the class IndexHelperTest method indexedPartialFilters.
@Test
public void indexedPartialFilters() {
MongoCollection<Document> collection = getDatabase().getCollection("indexes");
MappedClass mappedClass = getMorphia().getMapper().getMappedClass(IndexedClass.class);
Indexed indexed = new IndexedBuilder().options(new IndexOptionsBuilder().partialFilter("{ name : { $gt : 13 } }"));
indexHelper.createIndex(collection, mappedClass, indexHelper.convert(indexed, "text"), false);
findPartialIndex(BasicDBObject.parse(indexed.options().partialFilter()));
}
Aggregations