Skip to content

Commit 402ca6c

Browse files
committed
MongoImplicits removed from package object
1 parent 81978c6 commit 402ca6c

File tree

10 files changed

+27
-21
lines changed

10 files changed

+27
-21
lines changed

src/main/scala/com/sfxcode/nosql/mongo/Filter.scala

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@ trait Filter {
2323
case _ => DefaultBson
2424
}
2525

26+
def fieldComparisonFilter(firstFieldName: String, secondFieldName: String, operator: String): Bson =
27+
where("this.%s %s this.%s".format(firstFieldName, operator, secondFieldName))
28+
2629
def nullFilter(fieldName: String): Bson = equal(fieldName, value = null)
2730

2831
def notNullFilter(fieldName: String): Bson = not(nullFilter(fieldName))

src/main/scala/com/sfxcode/nosql/mongo/package.scala

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import org.mongodb.scala.{Document, FindObservable, Observable, ObservableImplic
1818
import scala.collection.JavaConverters._
1919
import scala.language.implicitConversions
2020

21-
package object mongo extends MongoIncludes with DocumentIncludes {
21+
package object mongo extends ObservableIncludes with DocumentIncludes {
2222

2323
implicit class DocumentExtensions[A <: Document](val document: A) extends AnyVal {
2424

@@ -74,8 +74,7 @@ package object mongo extends MongoIncludes with DocumentIncludes {
7474
}
7575
}
7676

77-
trait MongoIncludes extends ObservableIncludes with ObservableImplicits {
78-
implicit def stringToConfig(database: String): MongoConfig = MongoConfig(database)
77+
trait MongoImplicits extends ObservableImplicits with ObservableIncludes {
7978

8079
implicit def observableToResult[T](obs: Observable[T]): T = obs.result()
8180

src/test/scala/com/sfxcode/nosql/mongo/dao/PersonDAOSpec.scala

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package com.sfxcode.nosql.mongo.dao
22

33
import java.util.concurrent.TimeUnit
44

5+
import com.sfxcode.nosql.MongoImplicits
56
import com.sfxcode.nosql.mongo.test.TestDatabase.PersonDAO
67
import com.sfxcode.nosql.mongo._
78
import com.sfxcode.nosql.mongo.model.Person
@@ -10,7 +11,7 @@ import scala.concurrent.ExecutionContext.Implicits.global
1011
import scala.concurrent.duration.Duration
1112
import scala.concurrent.{Await, Future}
1213

13-
class PersonDAOSpec extends PersonSpecification {
14+
class PersonDAOSpec extends PersonSpecification with MongoImplicits {
1415

1516
"PersonDAO" should {
1617

src/test/scala/com/sfxcode/nosql/mongo/dao/StudentDAOSpec.scala

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
package com.sfxcode.nosql.mongo.dao
22

33
import better.files.{File, Resource}
4+
import com.sfxcode.nosql.MongoImplicits
45
import com.sfxcode.nosql.mongo._
56
import com.sfxcode.nosql.mongo.model.Student
67
import com.sfxcode.nosql.mongo.test.UniversityDatabase.{GradeDAO, StudentDAO}
78
import org.specs2.mutable.Specification
89
import org.specs2.specification.BeforeAll
910

10-
class StudentDAOSpec extends Specification with BeforeAll {
11+
class StudentDAOSpec extends Specification with BeforeAll with MongoImplicits {
1112
sequential
1213

1314
override def beforeAll(): Unit = {

src/test/scala/com/sfxcode/nosql/mongo/database/DatabaseProviderSpec.scala

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
package com.sfxcode.nosql.mongo.database
22

33
import better.files.{File, Resource}
4-
import com.mongodb.MongoBulkWriteException
5-
import com.sfxcode.nosql.mongo.test.TestDatabase._
64
import com.sfxcode.nosql.mongo._
75
import com.sfxcode.nosql.mongo.dao.PersonSpecification
6+
import com.sfxcode.nosql.mongo.test.TestDatabase._
87
import org.mongodb.scala.Document
9-
import org.specs2.mutable.Specification
108

119
class DatabaseProviderSpec extends PersonSpecification {
1210

@@ -24,7 +22,7 @@ class DatabaseProviderSpec extends PersonSpecification {
2422

2523
"must evaluate dao by name" in {
2624
val dao = provider.dao("people")
27-
val count: Long = dao.count()
25+
val count: Long = dao.count().result()
2826
count mustEqual 200
2927
}
3028

@@ -36,7 +34,7 @@ class DatabaseProviderSpec extends PersonSpecification {
3634
provider.dropDatabase(databaseName).result()
3735

3836
dao.importJsonFile(File(Resource.getUrl("json/people.json"))).result()
39-
val count: Long = dao.count()
37+
val count: Long = dao.count().result()
4038
count mustEqual 200
4139
}
4240

src/test/scala/com/sfxcode/nosql/mongo/gridfs/GridfsDatabaseFunctions.scala

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
package com.sfxcode.nosql.mongo.gridfs
22

33
import better.files.File
4+
import com.sfxcode.nosql.MongoImplicits
45
import com.sfxcode.nosql.mongo._
56
import com.sfxcode.nosql.mongo.test.TestDatabase.ImageFilesDAO
67
import org.bson.types.ObjectId
78
import org.mongodb.scala.bson.conversions.Bson
89
import org.mongodb.scala.gridfs.GridFSFile
910
import org.mongodb.scala.result.UpdateResult
1011

11-
trait GridfsDatabaseFunctions {
12+
trait GridfsDatabaseFunctions extends MongoImplicits {
1213

1314
def createIndexOnImages(key: String): String =
1415
ImageFilesDAO.createMetadataIndex(key)

src/test/scala/com/sfxcode/nosql/mongo/operation/AggregationSpec.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ class AggregationSpec extends PersonSpecification {
4646
// #agg_convert
4747
val list: List[Map[String, Any]] = aggregated
4848
// #agg_convert
49-
list.foreach(m => println(m("age") + " -> " + m("balance")))
49+
list.foreach(m => println(m("age").toString + " -> " + m("balance")))
5050

5151
list.head("age") must be equalTo 20
5252
list.head("balance") must be equalTo 8333.0

src/test/scala/com/sfxcode/nosql/mongo/operation/IndexSpec.scala

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -31,15 +31,15 @@ class IndexSpec extends PersonSpecification {
3131

3232
"create / drop indexes for key" in {
3333

34-
var createIndexResult: String = PersonDAO.createIndexForField("name")
34+
var createIndexResult: String = PersonDAO.createIndexForField("name").result()
3535

3636
createIndexResult mustEqual "name_1"
3737

3838
PersonDAO.indexList must haveSize(2)
3939
val index: MongoIndex = PersonDAO.indexForName("name_1").get
4040
index.expire must beFalse
4141

42-
val dropIndexResult: Void = PersonDAO.dropIndexForName(createIndexResult)
42+
val dropIndexResult: Void = PersonDAO.dropIndexForName(createIndexResult).result()
4343

4444
PersonDAO.indexList must haveSize(1)
4545
}
@@ -53,7 +53,8 @@ class IndexSpec extends PersonSpecification {
5353

5454
"create descending index for key" in {
5555

56-
var createIndexResult: String = PersonDAO.createIndexForFieldWithName("name", sortAscending = false, "myIndex")
56+
var createIndexResult: String =
57+
PersonDAO.createIndexForFieldWithName("name", sortAscending = false, "myIndex").result()
5758

5859
createIndexResult mustEqual "myIndex"
5960

@@ -68,7 +69,7 @@ class IndexSpec extends PersonSpecification {
6869
"create unique index for key" in {
6970

7071
var createIndexResult: String =
71-
PersonDAO.createUniqueIndexForField("id", sortAscending = false, Some("myUniqueIndex"))
72+
PersonDAO.createUniqueIndexForField("id", sortAscending = false, Some("myUniqueIndex")).result()
7273

7374
createIndexResult mustEqual "myUniqueIndex"
7475

@@ -82,7 +83,7 @@ class IndexSpec extends PersonSpecification {
8283

8384
"create text index for key" in {
8485

85-
var createIndexResult: String = PersonDAO.createTextIndexForField("email")
86+
var createIndexResult: String = PersonDAO.createTextIndexForField("email").result()
8687

8788
createIndexResult mustEqual "email_text"
8889

@@ -96,7 +97,7 @@ class IndexSpec extends PersonSpecification {
9697

9798
"create hashed index for key" in {
9899

99-
var createIndexResult: String = PersonDAO.createHashedIndexForField("email")
100+
var createIndexResult: String = PersonDAO.createHashedIndexForField("email").result()
100101

101102
createIndexResult mustEqual "email_hashed"
102103

@@ -110,7 +111,8 @@ class IndexSpec extends PersonSpecification {
110111

111112
"create expiring index for key" in {
112113

113-
var createIndexResult: String = PersonDAO.createExpiringIndexForField("email", Duration(1, TimeUnit.SECONDS))
114+
var createIndexResult: String =
115+
PersonDAO.createExpiringIndexForField("email", Duration(1, TimeUnit.SECONDS)).result()
114116

115117
createIndexResult mustEqual "email_1"
116118

src/test/scala/com/sfxcode/nosql/mongo/operation/SearchSpec.scala

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
package com.sfxcode.nosql.mongo.operation
22

3+
import com.sfxcode.nosql.MongoImplicits
34
import com.sfxcode.nosql.mongo.Sort._
45
import com.sfxcode.nosql.mongo.test.TestDatabase._
56
import com.sfxcode.nosql.mongo._
67
import com.sfxcode.nosql.mongo.dao.PersonSpecification
78
import com.sfxcode.nosql.mongo.model.Person
89

9-
class SearchSpec extends PersonSpecification {
10+
class SearchSpec extends PersonSpecification with MongoImplicits {
1011

1112
"Search Operations" should {
1213

src/test/scala/com/sfxcode/nosql/mongo/relation/RelationDemoDatabase.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ object RelationDemoDatabase {
5353
// #registry
5454
private val registry = fromProviders(classOf[Node], classOf[User], classOf[Login], classOf[SimplePerson])
5555

56-
val provider = DatabaseProvider("relation_test", registry)
56+
val provider = DatabaseProvider.fromPath("relation_test", registry)
5757

5858
object NodeDAO extends MongoDAO[Node](provider, "nodes") {
5959
lazy val parentRelation = OneToOneRelationship(this, "id")

0 commit comments

Comments
 (0)