<T> InsertOptions enforceWriteConcern(final InsertOptions options, final Class<T> klass) { if (options.getWriteConcern() == null) { return options .copy() .writeConcern(getWriteConcern(klass)); } return options; }
/** * Inserts entities in to the database * * @param entities the entities to insert * @param <T> the type of the entities * @return the keys of entities */ @Override public <T> Iterable<Key<T>> insert(final Iterable<T> entities) { return insert(entities, new InsertOptions() .writeConcern(defConcern)); }
<T> FindAndModifyOptions enforceWriteConcern(final FindAndModifyOptions options, final Class<T> klass) { if (options.getWriteConcern() == null) { return options .copy() .writeConcern(getWriteConcern(klass)); } return options; }
@SuppressWarnings("deprecation") private void ensureEntityWriteConcern() { DatastoreImpl datastore = (DatastoreImpl) getAds(); assertEquals(ACKNOWLEDGED, datastore.enforceWriteConcern(new InsertOptions(), Simple.class) .getWriteConcern()); assertEquals(ACKNOWLEDGED, datastore.enforceWriteConcern(new UpdateOptions(), Simple.class) .getWriteConcern()); assertEquals(ACKNOWLEDGED, datastore.enforceWriteConcern(new FindAndModifyOptions(), Simple.class) .getWriteConcern()); }
@Test public void testCollectionMapping() { getMorphia().map(ContainsCollection.class); final Key<ContainsCollection> savedKey = getDs().save(new ContainsCollection()); final ContainsCollection loaded = getDs().get(ContainsCollection.class, savedKey.getId()); assertEquals(loaded.coll, (new ContainsCollection()).coll); assertNotNull(loaded.id); }
@Test public void testSerializedMapping() { getMorphia().map(ContainsSerializedData.class); final Key<ContainsSerializedData> savedKey = getDs().save(new ContainsSerializedData()); final ContainsSerializedData loaded = getDs().get(ContainsSerializedData.class, savedKey.getId()); assertNotNull(loaded.data); assertEquals(loaded.data.someString, (new ContainsSerializedData()).data.someString); assertNotNull(loaded.id); }
@Test public void testFinalField() { getMorphia().map(ContainsFinalField.class); final Key<ContainsFinalField> savedKey = getDs().save(new ContainsFinalField("blah")); final ContainsFinalField loaded = getDs().get(ContainsFinalField.class, savedKey.getId()); assertNotNull(loaded); assertNotNull(loaded.name); assertEquals("blah", loaded.name); }
@Test public void testFinalIdField() { getMorphia().map(HasFinalFieldId.class); final Key<HasFinalFieldId> savedKey = getDs().save(new HasFinalFieldId(12)); final HasFinalFieldId loaded = getDs().get(HasFinalFieldId.class, savedKey.getId()); assertNotNull(loaded); assertNotNull(loaded.id); assertEquals(12, loaded.id); }
@Test(expected = MongoException.class) public void testBadMR() { final String map = "function () { if(this['radius']) { doEmit('circle', {count:1}); return; } emit('rect', {count:1}); }"; final String reduce = "function (key, values) { var total = 0; for ( var i=0; i<values.length; i++ ) {total += values[i].count;} " + "return { count : total }; }"; getDs().mapReduce(new MapReduceOptions<ResultEntity>() .resultType(ResultEntity.class) .outputType(OutputType.REPLACE) .query(getAds().find(Shape.class)) .map(map) .reduce(reduce)); }
@SuppressWarnings("deprecation") private void updateValidation(final MappedClass mappedClass, final ValidationLevel level, final ValidationAction action) { ((DatastoreImpl) getDs()).process(mappedClass, new ValidationBuilder().value("{ jelly : { $ne : 'rhubarb' } }") .level(level) .action(action)); } }
<T> DeleteOptions enforceWriteConcern(final DeleteOptions options, final Class<T> klass) { if (options.getWriteConcern() == null) { return options .copy() .writeConcern(getWriteConcern(klass)); } return options; }
<T> UpdateOptions enforceWriteConcern(final UpdateOptions options, final Class<T> klass) { if (options.getWriteConcern() == null) { return options .copy() .writeConcern(getWriteConcern(klass)); } return options; }
@Override public <T> WriteResult delete(final Query<T> query, final WriteConcern wc) { return delete(query, new DeleteOptions().writeConcern(wc)); }
@Override public <T> T findAndModify(final Query<T> query, final UpdateOperations<T> operations) { return findAndModify(query, operations, new FindAndModifyOptions() .returnNew(true)); }
@Before @Override public void setUp() { super.setUp(); getMorphia().map(ContainsByte.class, ContainsDouble.class, ContainsFloat.class, ContainsShort.class); }
@Override public <T> T findAndDelete(final Query<T> query) { return findAndDelete(query, new FindAndModifyOptions()); }
@Override public <T> Key<T> save(final T entity) { return save(entity, new InsertOptions()); }
@Override public UpdateResults updateFirst(final Query<T> query, final UpdateOperations<T> ops) { return ds.update(query, ops, new UpdateOptions()); }
@Override public <T> WriteResult delete(final T entity, final WriteConcern wc) { return delete(entity, new DeleteOptions().writeConcern(wc)); }