package org.atlasapi.media.segment; import static com.metabroadcast.common.persistence.mongo.MongoConstants.ID; import static com.metabroadcast.common.persistence.mongo.MongoConstants.SINGLE; import static com.metabroadcast.common.persistence.mongo.MongoConstants.UPSERT; import com.metabroadcast.common.ids.NumberToShortStringCodec; import com.metabroadcast.common.persistence.mongo.DatabasedMongo; import com.metabroadcast.common.persistence.mongo.MongoBuilders; import com.mongodb.DBCollection; import com.mongodb.DBObject; public class MongoSegmentWriter implements SegmentWriter { private final DBCollection collection; private final SegmentTranslator translator; public MongoSegmentWriter(DatabasedMongo mongo, NumberToShortStringCodec idCodec) { this.collection = mongo.collection("segments"); this.translator = new SegmentTranslator(idCodec); } @Override public Segment write(Segment segment) { write(translator.toDBObject(null, segment)); return segment; } private void write(DBObject dbo) { collection.save(dbo); } }