org.atlasapi.application.MongoSourceLicenseStore.java Source code

Java tutorial

Introduction

Here is the source code for org.atlasapi.application.MongoSourceLicenseStore.java

Source

package org.atlasapi.application;

import static com.metabroadcast.common.persistence.mongo.MongoBuilders.where;

import org.atlasapi.media.entity.Publisher;

import com.google.common.base.Optional;
import com.metabroadcast.common.persistence.mongo.DatabasedMongo;
import com.mongodb.DBCollection;

public class MongoSourceLicenseStore implements SourceLicenseStore {
    public static final String SOURCE_LICENSES_COLLECTION = "sourceLicenses";

    private SourceLicenseTranslator translator = new SourceLicenseTranslator();

    private final DBCollection sourceLicenses;

    public MongoSourceLicenseStore(DatabasedMongo mongo) {
        this.sourceLicenses = mongo.collection(SOURCE_LICENSES_COLLECTION);
    }

    @Override
    public Optional<SourceLicense> licenseFor(Publisher source) {
        return Optional.fromNullable(
                translator.fromDBObject(sourceLicenses.findOne(where().idEquals(source.key()).build())));
    }

    @Override
    public void store(SourceLicense sourceLicense) {
        sourceLicenses.save(translator.toDBObject(sourceLicense));
    }

}