Event refactoring
[aquarium] / src / main / scala / gr / grnet / aquarium / store / LocalFSEventStore.scala
index 1d9ad66..06dbaa8 100644 (file)
@@ -39,19 +39,16 @@ import gr.grnet.aquarium.Configurator
 import java.io.{FileOutputStream, File}
 import gr.grnet.aquarium.util.{Loggable, stringOfStackTrace}
 import gr.grnet.aquarium.util.date.{TimeHelpers, MutableDateCalc}
-import gr.grnet.aquarium.simulation.uid.{EAIOUUIDGenerator, UIDGenerator}
-import gr.grnet.aquarium.events.{UserEvent, ResourceEvent}
+import gr.grnet.aquarium.event.model.im.IMEventModel
+import gr.grnet.aquarium.event.model.resource.ResourceEventModel
 
 /**
  * This is used whenever the property `events.store.folder` is setup in aquarium configuration.
  *
- * The public methods guarantee they will not propagate any failure.
- *
  * @author Christos KK Loverdos <loverdos@gmail.com>
  */
 
 object LocalFSEventStore extends Loggable {
-  private[this] final val UIDGen: UIDGenerator = EAIOUUIDGenerator
   private[this] final val NewLine  = "\n".getBytes("UTF-8")
   private[this] final val NewLine2 = NewLine ++ NewLine
 
@@ -70,13 +67,13 @@ object LocalFSEventStore extends Loggable {
     logger.debug("Wrote to file {}", file.getCanonicalPath)
   }
 
-  private[this] def resourceEventsFolder(root: File): File = {
+  private[this] def createResourceEventsFolder(root: File): File = {
     val folder = new File(root, "rc")
     folder.mkdirs()
     folder
   }
 
-  private[this] def userEventsFolder(root: File): File = {
+  private[this] def createIMEventsFolder(root: File): File = {
     val folder = new File(root, "im")
     folder.mkdirs()
     folder
@@ -86,20 +83,18 @@ object LocalFSEventStore extends Loggable {
                               folder: File,
                               jsonPayload: Array[Byte],
                               occurredString: String,
-                              uid: String,
                               extraName: Option[String],
                               isParsed: Boolean,
-                              appendString: Option[String] = None): Unit = {
+                              appendString: Option[String]): Unit = {
     val file = new File(
       folder,
-      "%s-%s%s.%s.%s.json".format(
+      "%s-%s%s.%s.json".format(
         tag,
         occurredString,
         extraName match {
           case Some(s) ⇒ "-" + s
           case None    ⇒ ""
         },
-        uid,
         if(isParsed) "p" else "u"
       ))
 
@@ -108,25 +103,22 @@ object LocalFSEventStore extends Loggable {
 
   def storeUnparsedResourceEvent(mc: Configurator, initialPayload: Array[Byte], exception: Throwable): Unit = {
     for(root <- mc.eventsStoreFolder) {
-      val uid = UIDGen.nextUID()
-      val occurredMDC = new MutableDateCalc(TimeHelpers.nowMillis)
+      val occurredMDC = new MutableDateCalc(TimeHelpers.nowMillis())
       val occurredString = occurredMDC.toFilename_YYYYMMDDHHMMSSSSS
-      val rcEventsFolder = resourceEventsFolder(root)
+      val rcEventsFolder = createResourceEventsFolder(root)
       val trace = stringOfStackTrace(exception)
 
-      writeJson("rc", rcEventsFolder, initialPayload, occurredString, uid, None, false, Some(trace))
+      writeJson("rc", rcEventsFolder, initialPayload, occurredString, None, false, Some(trace))
     }
   }
 
-  def storeResourceEvent(mc: Configurator, event: ResourceEvent, initialPayload: Array[Byte]): Unit = {
+  def storeResourceEvent(mc: Configurator, event: ResourceEventModel, initialPayload: Array[Byte]): Unit = {
     require(event ne null, "Resource event must be not null")
 
     for(root <- mc.eventsStoreFolder) {
-      val uid = UIDGen.nextUID()
-
       val occurredMDC = new MutableDateCalc(event.occurredMillis)
       val occurredString = occurredMDC.toFilename_YYYYMMDDHHMMSSSSS
-      val rcEventsFolder = resourceEventsFolder(root)
+      val rcEventsFolder = createResourceEventsFolder(root)
 
       // Store parsed file
       writeJson(
@@ -134,46 +126,43 @@ object LocalFSEventStore extends Loggable {
         rcEventsFolder,
         initialPayload,
         occurredString,
-        uid,
         Some("[%s]-[%s]-[%s]-[%s]".format(
           event.id,
           event.userID,
           event.resource,
           event.instanceID)),
-        true
+        true,
+        None
       )
     }
   }
 
-  def storeUnparsedUserEvent(mc: Configurator, initialPayload: Array[Byte], exception: Throwable): Unit = {
+  def storeUnparsedIMEvent(mc: Configurator, initialPayload: Array[Byte], exception: Throwable): Unit = {
     for(root <- mc.eventsStoreFolder) {
-      val uid = UIDGen.nextUID()
-      val occurredMDC = new MutableDateCalc(TimeHelpers.nowMillis)
+      val occurredMDC = new MutableDateCalc(TimeHelpers.nowMillis())
       val occurredString = occurredMDC.toFilename_YYYYMMDDHHMMSSSSS
-      val rcEventsFolder = userEventsFolder(root)
+      val imEventsFolder = createIMEventsFolder(root)
       val trace = stringOfStackTrace(exception)
 
-      writeJson("im", rcEventsFolder, initialPayload, occurredString, uid, None, false, Some(trace))
+      writeJson("im", imEventsFolder, initialPayload, occurredString, None, false, Some(trace))
     }
   }
 
-  def storeUserEvent(mc: Configurator, event: UserEvent, initialPayload: Array[Byte]): Unit = {
-    require(event ne null, "User event must be not null")
+  def storeIMEvent(mc: Configurator, event: IMEventModel, initialPayload: Array[Byte]): Unit = {
+    require(event ne null, "IM event must be not null")
     for(root <- mc.eventsStoreFolder) {
-      val uid = UIDGen.nextUID()
-
       val occurredMDC = new MutableDateCalc(event.occurredMillis)
       val occurredString = occurredMDC.toFilename_YYYYMMDDHHMMSSSSS
-      val imEventsFolder = userEventsFolder(root)
+      val imEventsFolder = createIMEventsFolder(root)
 
       writeJson(
         "im",
         imEventsFolder,
         initialPayload,
         occurredString,
-        uid,
         Some("[%s]-[%s]".format(event.id, event.userID)),
-        true
+        true,
+        None
       )
     }
   }