List of usage examples for org.springframework.data.mongodb.core.convert MongoWriter write
void write(T source, S sink);
From source file:org.springframework.data.mongodb.core.MongoTemplate.java
protected <T> void doInsert(String collectionName, T objectToSave, MongoWriter<T> writer) { assertUpdateableIdIfNotSet(objectToSave); BasicDBObject dbDoc = new BasicDBObject(); maybeEmitEvent(new BeforeConvertEvent<T>(objectToSave)); writer.write(objectToSave, dbDoc); maybeEmitEvent(new BeforeSaveEvent<T>(objectToSave, dbDoc)); Object id = insertDBObject(collectionName, dbDoc, objectToSave.getClass()); populateIdIfNecessary(objectToSave, id); maybeEmitEvent(new AfterSaveEvent<T>(objectToSave, dbDoc)); }
From source file:org.springframework.data.mongodb.core.MongoTemplate.java
protected <T> void doInsertBatch(String collectionName, Collection<? extends T> batchToSave, MongoWriter<T> writer) { Assert.notNull(writer);//w w w.ja va 2 s . co m List<DBObject> dbObjectList = new ArrayList<DBObject>(); for (T o : batchToSave) { BasicDBObject dbDoc = new BasicDBObject(); maybeEmitEvent(new BeforeConvertEvent<T>(o)); writer.write(o, dbDoc); maybeEmitEvent(new BeforeSaveEvent<T>(o, dbDoc)); dbObjectList.add(dbDoc); } List<ObjectId> ids = insertDBObjectList(collectionName, dbObjectList); int i = 0; for (T obj : batchToSave) { if (i < ids.size()) { populateIdIfNecessary(obj, ids.get(i)); maybeEmitEvent(new AfterSaveEvent<T>(obj, dbObjectList.get(i))); } i++; } }
From source file:org.springframework.data.mongodb.core.MongoTemplate.java
protected <T> void doSave(String collectionName, T objectToSave, MongoWriter<T> writer) { assertUpdateableIdIfNotSet(objectToSave); BasicDBObject dbDoc = new BasicDBObject(); maybeEmitEvent(new BeforeConvertEvent<T>(objectToSave)); writer.write(objectToSave, dbDoc); maybeEmitEvent(new BeforeSaveEvent<T>(objectToSave, dbDoc)); Object id = saveDBObject(collectionName, dbDoc, objectToSave.getClass()); populateIdIfNecessary(objectToSave, id); maybeEmitEvent(new AfterSaveEvent<T>(objectToSave, dbDoc)); }