/md-poc/archive/Db.scala

https://github.com/victorspivak/projects · Scala · 58 lines · 0 code · 0 blank · 58 comment · 0 complexity · 44b62ca3e4c0de1de66b9368612c6e97 MD5 · raw file

  1. //package svl.mongo
  2. //
  3. //import com.mongodb.casbah.{MongoCollection, MongoClient}
  4. //import com.mongodb.casbah.commons.MongoDBObject
  5. //import scala.collection.mutable
  6. //import com.mongodb.{WriteConcern, DBObject}
  7. //import com.mongodb.casbah.Imports._
  8. //
  9. //class Db (val host:String, val dbName:String) {
  10. // val mongoClient = MongoClient(host)
  11. // val mongoDb = mongoClient(dbName)
  12. //
  13. // def deleteCollection(name:String) = collection(name).remove(MongoDBObject.empty)
  14. // def collection(name:String): MongoCollection = mongoDb(name)
  15. //}
  16. //
  17. //object Db {
  18. // def apply(host:String, dbName:String) = new Db(host, dbName)
  19. //}
  20. //
  21. //trait AbstractEntity {
  22. // def toDbObject:DBObject
  23. //}
  24. //
  25. //class AbstractFilter {
  26. // val constrains = new mutable.MutableList[(String, Any)]
  27. // def filterEquals(key:String, value:Any) = add(key -> value)
  28. // def filterGT(key:String, value:Any) = add(key -> MongoDBObject("$gt" -> value))
  29. // def filterLT(key:String, value:Any) = add(key -> MongoDBObject("$lt" -> value))
  30. //
  31. // private def add(constrain:(String, Any)) = {
  32. // constrains += constrain
  33. // this
  34. // }
  35. //
  36. // def toDbObject:DBObject = MongoDBObject(constrains.toList)
  37. //}
  38. //
  39. //object AbstractFilter {
  40. // def apply() = new AbstractFilter()
  41. //}
  42. //
  43. //abstract class EntityActor[T <: AbstractEntity](val collectionName:String) (implicit val db:Db) {
  44. // def convert(dbObj:DBObject):T
  45. //
  46. // val collection = db.collection(collectionName)
  47. // implicit def toDbObject(t:T):DBObject = t.toDbObject
  48. // def insert(obj:T) = collection.insert(obj.toDbObject, WriteConcern.SAFE)
  49. // def insert(objects:T*) = {
  50. // collection.insert(objects.map(_.toDbObject): _*)
  51. // collection.lastError(WriteConcern.SAFE)
  52. // }
  53. //// def insert(objects:T*) = collection.insert(objects)
  54. //// def insert(o1:T, o2:T) = collection.insert(List(o1, o2): _*)
  55. //
  56. // def query(filter:AbstractFilter) = collection.find(filter.toDbObject).map(convert(_))
  57. // def count(filter:AbstractFilter) = collection.count(filter.toDbObject)
  58. //}