Example usage for org.springframework.data.mongodb.core.convert MongoWriter write

List of usage examples for org.springframework.data.mongodb.core.convert MongoWriter write

Introduction

In this page you can find the example usage for org.springframework.data.mongodb.core.convert MongoWriter write.

Prototype

void write(T source, S sink);

Source Link

Usage

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));
}