WIP: IMEventModel end-to-end chain
[aquarium] / src / main / scala / gr / grnet / aquarium / Configurator.scala
index b359d3d..ac0151b 100644 (file)
@@ -41,9 +41,8 @@ import com.ckkloverdos.maybe._
 import com.ckkloverdos.props.Props
 import com.ckkloverdos.convert.Converters.{DefaultConverters => TheDefaultConverters}
 
-import gr.grnet.aquarium.actor.provider.ActorProvider
-import gr.grnet.aquarium.service.{IMEventProcessorService, ResourceEventProcessorService}
-import gr.grnet.aquarium.util.{Lifecycle, Loggable}
+import gr.grnet.aquarium.service._
+import gr.grnet.aquarium.util.{Lifecycle, Loggable, shortNameOfClass}
 import gr.grnet.aquarium.store._
 
 /**
@@ -81,9 +80,9 @@ class Configurator(val props: Props) extends Loggable {
 
   }
 
-  private[this] lazy val _actorProvider: ActorProvider = {
-    val instance = newInstance[ActorProvider](props.getEx(Keys.actor_provider_class))
-    logger.info("Loaded ActorProvider: %s".format(instance.getClass))
+  private[this] lazy val _actorProvider: RoleableActorProviderService = {
+    val instance = newInstance[RoleableActorProviderService](props.getEx(Keys.actor_provider_class))
+    logger.info("Loaded %s: %s".format(shortNameOfClass(classOf[RoleableActorProviderService]), instance.getClass))
     instance
   }
 
@@ -93,7 +92,7 @@ class Configurator(val props: Props) extends Loggable {
    */
   private[this] lazy val _storeProvider: StoreProvider = {
     val instance = newInstance[StoreProvider](props.getEx(Keys.store_provider_class))
-    logger.info("Loaded StoreProvider: %s".format(instance.getClass))
+    logger.info("Loaded %s: %s".format(shortNameOfClass(classOf[StoreProvider]), instance.getClass))
     instance
   }
   
@@ -109,7 +108,9 @@ class Configurator(val props: Props) extends Loggable {
     // `StoreProvider`.
     props.get(Keys.user_state_store_class) map { className ⇒
       val instance = newInstance[UserStateStore](className)
-      logger.info("Overriding UserStateStore provisioning. Implementation given by: %s".format(instance.getClass))
+      logger.info("Overriding %s provisioning. Implementation given by: %s".format(
+        shortNameOfClass(classOf[UserStateStore]),
+        instance.getClass))
       instance
     }
   }
@@ -125,7 +126,7 @@ class Configurator(val props: Props) extends Loggable {
     }
   }
 
-  private[this] lazy val _userEventStoreM: Maybe[IMEventStore] = {
+  private[this] lazy val _imEventStoreM: Maybe[IMEventStore] = {
     props.get(Keys.user_event_store_class) map { className ⇒
       val instance = newInstance[IMEventStore](className)
       logger.info("Overriding IMEventStore provisioning. Implementation given by: %s".format(instance.getClass))
@@ -196,7 +197,7 @@ class Configurator(val props: Props) extends Loggable {
 
   private[this] lazy val _imEventProc = new IMEventProcessorService
 
-  private[this] lazy val _lifecycleServices = List(_restService, _actorProvider, _resEventProc, _imEventProc)
+  private[this] lazy val _lifecycleServices = List(AkkaService, _restService, _actorProvider, _resEventProc, _imEventProc)
 
   def get(key: String, default: String = ""): String = props.getOr(key, default)
 
@@ -265,10 +266,10 @@ class Configurator(val props: Props) extends Loggable {
     }
   }
 
-  def userEventStore = {
-    _userEventStoreM match {
+  def imEventStore = {
+    _imEventStoreM match {
       case Just(es) ⇒ es
-      case _        ⇒ storeProvider.userEventStore
+      case _        ⇒ storeProvider.imEventStore
     }
   }
 
@@ -351,7 +352,7 @@ object Configurator {
     final val version = "version"
 
     /**
-     * The fully qualified name of the class that implements the `ActorProvider`.
+     * The fully qualified name of the class that implements the `RoleableActorProviderService`.
      * Will be instantiated reflectively and should have a public default constructor.
      */
     final val actor_provider_class = "actor.provider.class"
@@ -393,7 +394,7 @@ object Configurator {
     final val policy_store_class = "policy.store.class"
 
 
-    /** The lower mark for the UserActors' LRU, managed by UserActorManager.
+    /** The lower mark for the UserActors' LRU.
      *
      * The terminology is borrowed from the (also borrowed) Apache-lucene-solr-based implementation.
      *
@@ -401,7 +402,7 @@ object Configurator {
     final val user_actors_lru_lower_mark = "user.actors.LRU.lower.mark"
 
     /**
-     * The upper mark for the UserActors' LRU, managed by UserActorManager.
+     * The upper mark for the UserActors' LRU.
      *
      * The terminology is borrowed from the (also borrowed) Apache-lucene-solr-based implementation.
      */
@@ -536,7 +537,7 @@ object Configurator {
     final val events_store_folder = "events.store.folder"
 
     /**
-     * If set to `true`, then an IM event that cannot be parsed to [[gr.grnet.aquarium.events.IMEvent]] is
+     * If set to `true`, then an IM event that cannot be parsed to [[gr.grnet.aquarium.event.im.IMEventModel]] is
      * saved to the [[gr.grnet.aquarium.store.IMEventStore]].
      */
     final val save_unparsed_event_im = "save.unparsed.event.im"
@@ -547,4 +548,9 @@ object Configurator {
      */
     final val admin_cookie = "admin.cookie"
   }
+
+  object HTTP {
+    final val RESTAdminHeaderName = "X-Aquarium-Admin-Cookie"
+    final val RESTAdminHeaderNameLowerCase = RESTAdminHeaderName.toLowerCase
+  }
 }