Fix a bug with mongodb cursor
authorChristos KK Loverdos <loverdos@gmail.com>
Mon, 10 Sep 2012 14:02:11 +0000 (17:02 +0300)
committerChristos KK Loverdos <loverdos@gmail.com>
Mon, 10 Sep 2012 14:02:11 +0000 (17:02 +0300)
src/main/scala/gr/grnet/aquarium/store/mongodb/MongoDBStore.scala

index 8fad580..ab7b789 100644 (file)
@@ -301,10 +301,12 @@ class MongoDBStore(
   def foreachPolicy[U](f: PolicyMsg ⇒ U) {
     val cursor = policies.find()
     withCloseable(cursor) { cursor ⇒
-      val dbObject = cursor.next()
-      val payload = dbObject.get(MongoDBStore.JsonNames.payload).asInstanceOf[Array[Byte]]
-      val policy = AvroHelpers.specificRecordOfBytes(payload, new PolicyMsg)
-      f(policy)
+      while(cursor.hasNext) {
+        val dbObject = cursor.next()
+        val payload = dbObject.get(MongoDBStore.JsonNames.payload).asInstanceOf[Array[Byte]]
+        val policy = AvroHelpers.specificRecordOfBytes(payload, new PolicyMsg)
+        f(policy)
+      }
     }
   }