Fixes to make it compile with the current version of the API
authorGeorgios Gousios <gousiosg@gmail.com>
Thu, 15 Dec 2011 13:02:29 +0000 (15:02 +0200)
committerGeorgios Gousios <gousiosg@gmail.com>
Thu, 15 Dec 2011 13:02:29 +0000 (15:02 +0200)
logic/src/main/scala/gr/grnet/aquarium/actors/EventProcessor.scala
logic/src/main/scala/gr/grnet/aquarium/store/Store.scala [deleted file]
logic/src/main/scala/gr/grnet/aquarium/store/mongodb/MongoDBStore.scala
logic/src/test/scala/gr/grnet/aquarium/store/mongodb/EventStoreTest.scala

index 17dd9d5..177bc7b 100644 (file)
@@ -40,8 +40,8 @@ import akka.actor.{ActorRef, Actor}
 import gr.grnet.aquarium.logic.events.ResourceEvent
 import akka.amqp.{Reject, Acknowledge, Acknowledged, Delivery}
 import gr.grnet.aquarium.util.Loggable
-import gr.grnet.aquarium.store.Store
 import com.ckkloverdos.maybe.{NoVal, Failed, Just}
+import gr.grnet.aquarium.MasterConf
 
 /**
  * An actor that gets events from the queue, stores them persistently
@@ -92,24 +92,17 @@ class EventProcessor extends AkkaAMQP with Loggable {
       case _ => logger.warn("Unknown message")
     }
 
-    def exists(event: ResourceEvent): Boolean = {
-      Store.getEventStore match {
-        case Some(x) => x.findEventById(event.id).isEmpty
-        case None => false
-      }
-    }
+    def exists(event: ResourceEvent): Boolean =
+      MasterConf.MasterConf.eventStore.findEventById(event.id).isEmpty
 
     def persist(event: ResourceEvent): Boolean = {
-      Store.getEventStore match {
-        case Some(x) => x.storeEvent(event) match {
+      MasterConf.MasterConf.eventStore.storeEvent(event) match {
           case Just(x) => true
           case x: Failed =>
             logger.error("Could not save event: %s".format(event))
             false
           case NoVal => false
         }
-        case None => false
-      }
     }
   }
 
diff --git a/logic/src/main/scala/gr/grnet/aquarium/store/Store.scala b/logic/src/main/scala/gr/grnet/aquarium/store/Store.scala
deleted file mode 100644 (file)
index 7dcf2a6..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Copyright 2011 GRNET S.A. All rights reserved.
- *
- *  Redistribution and use in source and binary forms, with or
- *  without modification, are permitted provided that the following
- *  conditions are met:
- *
- *    1. Redistributions of source code must retain the above
- *       copyright notice, this list of conditions and the following
- *       disclaimer.
- *
- *    2. Redistributions in binary form must reproduce the above
- *       copyright notice, this list of conditions and the following
- *       disclaimer in the documentation and/or other materials
- *       provided with the distribution.
- *
- *  THIS SOFTWARE IS PROVIDED BY GRNET S.A. ``AS IS'' AND ANY EXPRESS
- *  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- *  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- *  PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GRNET S.A OR
- *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- *  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- *  USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- *  AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- *  LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- *  ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- *  POSSIBILITY OF SUCH DAMAGE.
- *
- *  The views and conclusions contained in the software and
- *  documentation are those of the authors and should not be
- *  interpreted as representing official policies, either expressed
- *  or implied, of GRNET S.A.
- */
-
-package gr.grnet.aquarium.store
-
-import gr.grnet.aquarium.util.Loggable
-import gr.grnet.aquarium.MasterConf
-import mongodb.MongoDBStore
-
-/**
- * A factory class for getting access to the underlying message store.
- *
- * @author Georgios Gousios <gousiosg@gmail.com>
- */
-object Store extends Loggable {
-
-  private lazy val provider = {
-    MasterConf.MasterConf.get(MasterConf.Keys.persistence_provider)
-  }
-
-  private lazy val host = {
-    MasterConf.MasterConf.get(MasterConf.Keys.persistence_host)
-  }
-
-  private lazy val uname = {
-    MasterConf.MasterConf.get(MasterConf.Keys.persistence_username)
-  }
-
-  private lazy val passwd = {
-    MasterConf.MasterConf.get(MasterConf.Keys.persistence_password)
-  }
-
-  private lazy val port = {
-    MasterConf.MasterConf.get(MasterConf.Keys.persistence_port)
-  }
-
-  private lazy val db = {
-    MasterConf.MasterConf.get(MasterConf.Keys.persistence_db)
-  }
-
-  def getEventStore(): Option[EventStore] = {
-//    provider match {
-//      case "mongodb" =>
-//        Some(new MongoDBStore(host, port, uname, passwd, db))
-//      case _ =>
-//        logger.error("Provider <%s> not supported".format(provider))
-//        None
-//    }
-    None
-  }
-}
\ No newline at end of file
index 08103ff..da6e5f6 100644 (file)
@@ -51,7 +51,8 @@ import gr.grnet.aquarium.{MasterConf, Configurable}
  * @author Christos KK Loverdos <loverdos@gmail.com>
  * @author Georgios Gousios <gousiosg@gmail.com>
  */
-class MongoDBStore(mongo: Mongo, database: String, username: String, password: String) extends EventStore with Loggable {
+class MongoDBStore(val mongo: Mongo, val database: String,
+                   val username: String, val password: String) extends EventStore with Loggable {
   private[store] lazy val events: DBCollection = getCollection(MongoDBStore.EVENTS_COLLECTION)
   private[store] lazy val users: DBCollection = getCollection(MongoDBStore.USERS_COLLECTION)
 
index 5ee48d8..9d078fc 100644 (file)
@@ -38,11 +38,9 @@ package gr.grnet.aquarium.store.mongodb
 import gr.grnet.aquarium.util.{TestMethods, RandomEventGenerator}
 import org.junit.Assume._
 import org.junit.Assert._
-import gr.grnet.aquarium.store.Store
 import collection.mutable.ArrayBuffer
 import gr.grnet.aquarium.logic.events.ResourceEvent
 import org.junit.{Before, After, Test}
-import gr.grnet.aquarium.store.mongodb.MongoDBStore
 import gr.grnet.aquarium.{MasterConf, LogicTestsAssumptions}
 
 /**
@@ -113,7 +111,7 @@ class EventStoreTest extends TestMethods with RandomEventGenerator {
   override def after() = {
     val a = getMongo
 
-    val col = a._mongo.getDB(
+    val col = a.mongo.getDB(
       MasterConf.MasterConf.get(MasterConf.Keys.persistence_db)
     ).getCollection(MongoDBStore.EVENTS_COLLECTION)
 
@@ -122,5 +120,5 @@ class EventStoreTest extends TestMethods with RandomEventGenerator {
       col.remove(res.next)
   }
 
-  private def getMongo = new MongoDBStore()
+  private def getMongo = MasterConf.MasterConf.eventStore.asInstanceOf[MongoDBStore]
 }
\ No newline at end of file