package org.atlasapi.persistence.media.entity; import org.atlasapi.media.entity.KeyPhrase; import org.atlasapi.media.entity.Publisher; import com.metabroadcast.common.persistence.translator.TranslatorUtils; import com.mongodb.BasicDBObjectBuilder; import com.mongodb.DBObject; public class KeyPhraseTranslator { private static final String WEIGHTING_KEY = "weighting"; private static final String PUBLISHER_KEY = "publisher"; private static final String PHRASE_KEY = "phrase"; public DBObject toDBObject(KeyPhrase entity) { DBObject dbo = BasicDBObjectBuilder.start().add(PHRASE_KEY, entity.getPhrase()).add(PUBLISHER_KEY, entity.getPublisher().key()).get(); TranslatorUtils.from(dbo, WEIGHTING_KEY, entity.getWeighting()); return dbo; } public KeyPhrase fromDBObject(DBObject dbo) { return new KeyPhrase( TranslatorUtils.toString(dbo, PHRASE_KEY), Publisher.fromKey(TranslatorUtils.toString(dbo, PUBLISHER_KEY)).requireValue(), TranslatorUtils.toDouble(dbo, WEIGHTING_KEY) ); } }