package org.atlasapi.persistence.content.mongo;
import java.util.Map;
import java.util.Set;
import org.slf4j.Logger;
import com.google.common.collect.Ordering;
import com.metabroadcast.common.persistence.mongo.MongoConstants;
import com.mongodb.DBObject;
public class DbObjectHashCodeDebugger {
@SuppressWarnings("unchecked")
public void logHashCodes(DBObject dbObject, Logger log) {
Object id = dbObject.get(MongoConstants.ID);
log.trace("Object ID [{}]: hashCode [{}]", id, dbObject.hashCode());
Map<String, Object> dbMap = dbObject.toMap();
for (String key : Ordering.natural().sortedCopy(dbMap.keySet())) {
Object value = dbMap.get(key);
Integer hashCode = value != null ? value.hashCode() : null;
log.trace("Object ID [{}]: Key [{}], hashCode [{}], Value: [{}]",
new Object[] { id, key, hashCode, value });
}
log.trace("Done logging hashes for {}", id);
}
}