package org.atlasapi.persistence.media.entity; import org.atlasapi.media.entity.TopicRef; import com.metabroadcast.common.persistence.translator.TranslatorUtils; import com.mongodb.BasicDBObject; import com.mongodb.DBObject; public class TopicRefTranslator { private static final String TOPIC_KEY = "topic"; private static final String WEIGHTING_KEY = "weighting"; private static final String SUPERVISED_KEY = "supervised"; private static final String RELATIONSHIP_KEY = "relationship"; private static final String OFFSET_KEY = "offset"; public DBObject toDBObject(TopicRef contentTopic) { DBObject dbo = new BasicDBObject(); TranslatorUtils.from(dbo, TOPIC_KEY, contentTopic.getTopic()); TranslatorUtils.from(dbo, WEIGHTING_KEY, contentTopic.getWeighting().doubleValue()); TranslatorUtils.from(dbo, SUPERVISED_KEY, contentTopic.isSupervised()); TranslatorUtils.from(dbo, RELATIONSHIP_KEY, contentTopic.getRelationship().name()); TranslatorUtils.from(dbo, OFFSET_KEY, contentTopic.getOffset()); return dbo; } public TopicRef fromDBObject(DBObject dbo) { return new TopicRef(TranslatorUtils.toLong(dbo, TOPIC_KEY), TranslatorUtils.toFloat(dbo, WEIGHTING_KEY), TranslatorUtils.toBoolean(dbo, SUPERVISED_KEY), TopicRef.Relationship.valueOf(TranslatorUtils.toString(dbo, RELATIONSHIP_KEY)), TranslatorUtils.toInteger(dbo, OFFSET_KEY)); } }