package org.atlasapi.persistence.shorturls;
import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.base.Preconditions.checkNotNull;
import org.atlasapi.media.entity.Identified;
import com.google.common.base.Strings;
import com.metabroadcast.common.persistence.mongo.DatabasedMongo;
import com.metabroadcast.common.persistence.mongo.MongoConstants;
import com.mongodb.BasicDBObject;
import com.mongodb.DBCollection;
public class MongoShortUrlSaver implements ShortUrlSaver {
private final DBCollection shortUrls;
public MongoShortUrlSaver(DatabasedMongo mongo) {
shortUrls = mongo.collection("shortUrls");
}
@Override
public void save(String shortUrl, Identified mapsTo) {
checkArgument(!Strings.isNullOrEmpty(shortUrl), "Short url should not be blank");
checkNotNull(mapsTo);
shortUrls.save(new BasicDBObject(MongoConstants.ID, shortUrl).append("content", mapsTo.getCanonicalUri()));
}
}