PageRenderTime 25ms CodeModel.GetById 15ms RepoModel.GetById 0ms app.codeStats 0ms

/src/main/scala/com/mycotrack/db/MycoMongoDb.scala

http://github.com/JanxSpirit/mycotrack_mongo
Scala | 54 lines | 39 code | 12 blank | 3 comment | 0 complexity | 9ade51c478e83949bbd67f5a2bca91ad MD5 | raw file
  1. package com.mycotrack.db
  2. import _root_.net.liftweb.mongodb._
  3. import _root_.net.liftweb.util._
  4. import _root_.net.liftweb.common._
  5. import net.liftweb.json.DefaultFormats
  6. import net.liftweb.json.JsonAST._
  7. import net.liftweb.json.JsonParser._
  8. import net.liftweb.json.JsonDSL._
  9. import com.mongodb.casbah.gridfs.Imports._
  10. import com.mongodb.{Mongo, BasicDBObject, BasicDBObjectBuilder, DBObject}
  11. import com.mongodb.casbah.MongoConnection
  12. import com.mongodb._
  13. import com.mongodb.casbah.Imports._
  14. import net.liftweb.json.JsonDSL._
  15. object MycoMongoDb {
  16. def gridFs = {
  17. GridFS(MongoConnection(Props.get("mongodb_host").get, Props.get("mongodb_port").get.toInt)(Props.get("images_gridfs_name").get));
  18. }
  19. def setup {
  20. Props.requireOrDie("mongodb_host", "mongodb_port", "mongodb_db_name", "images_gridfs_name")
  21. MongoDB.defineDb(DefaultMongoIdentifier, MongoAddress(MongoHost(Props.get("mongodb_host").get, Props.get("mongodb_port").get.toInt), Props.get("mongodb_db_name").get))
  22. }
  23. def isMongoRunning: Boolean = {
  24. try {
  25. MongoDB.use(DefaultMongoIdentifier)(db => {
  26. db.getLastError
  27. })
  28. true
  29. }
  30. catch {
  31. case e => false
  32. }
  33. }
  34. def incrementMasterCounter: Int = {
  35. val seqColl = MongoConnection()("mycotrack")("seq")
  36. val seq = seqColl.findAndModify(MongoDBObject("_id" -> "projects"), MongoDBObject("seq" -> 1), MongoDBObject("_id" -> 1), false, com.mongodb.casbah.Imports.$inc ("seq" -> 1), true, true).get
  37. seq.getAs[Int]("seq").get
  38. //val counter = counterColl.findOne.get
  39. //counterColl.update(counter, $inc("value" -> 1), true, false)
  40. //counterColl.update(counter, "value" -> 1, true, false)
  41. }
  42. }