Skip to content
This repository has been archived by the owner on Jan 21, 2022. It is now read-only.

Commit

Permalink
Updated MongoOptions to sync up with options provided in Java Driver.
Browse files Browse the repository at this point in the history
  • Loading branch information
Brendan W. McAdams committed Jun 27, 2012
1 parent 9d20d21 commit d0bd9d8
Showing 1 changed file with 35 additions and 7 deletions.
42 changes: 35 additions & 7 deletions casbah-core/src/main/scala/MongoOptions.scala
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -24,6 +24,10 @@ package com.mongodb.casbah


import scalaj.collection.Imports._ import scalaj.collection.Imports._


import com.mongodb.{ DBCursor , DBCollection , DBDecoderFactory, DBEncoderFactory}

import javax.net.SocketFactory

/** /**
* Helper class for creating MongoOptions instances * Helper class for creating MongoOptions instances
* *
Expand All @@ -33,6 +37,7 @@ import scalaj.collection.Imports._
*/ */
object MongoOptions { object MongoOptions {


val Defaults = new MongoOptions()
/** /**
* Instantiate a new MongoOptions instance * Instantiate a new MongoOptions instance
* *
Expand All @@ -46,13 +51,25 @@ object MongoOptions {
* @see ServerAddress * @see ServerAddress
* @see MongoDBAddress * @see MongoDBAddress
*/ */
def apply(autoConnectRetry: Boolean = new MongoOptions().autoConnectRetry, def apply(autoConnectRetry: Boolean = Defaults.autoConnectRetry,
connectionsPerHost: Int = new MongoOptions().connectionsPerHost, connectionsPerHost: Int = Defaults.connectionsPerHost,
threadsAllowedToBlockForConnectionMultiplier: Int = new MongoOptions().threadsAllowedToBlockForConnectionMultiplier, threadsAllowedToBlockForConnectionMultiplier: Int = Defaults.threadsAllowedToBlockForConnectionMultiplier,
maxWaitTime: Int = new MongoOptions().maxWaitTime, maxWaitTime: Int = Defaults.maxWaitTime,
connectTimeout: Int = new MongoOptions().connectTimeout, connectTimeout: Int = Defaults.connectTimeout,
socketTimeout: Int = new MongoOptions().socketTimeout, socketTimeout: Int = Defaults.socketTimeout,
socketKeepAlive: Boolean = new MongoOptions().socketKeepAlive) = { socketKeepAlive: Boolean = Defaults.socketKeepAlive,
maxAutoConnectRetryTime: Long = Defaults.maxAutoConnectRetryTime,
slaveOk: Boolean = Defaults.slaveOk,
safe: Boolean = Defaults.safe,
w: Int = Defaults.w,
wTimeout: Int = Defaults.wtimeout,
fsync: Boolean = Defaults.fsync,
j: Boolean = Defaults.j,
dbDecoderFactory: DBDecoderFactory = Defaults.dbDecoderFactory,
dbEncoderFactory: DBEncoderFactory = Defaults.dbEncoderFactory,
socketFactory: SocketFactory = Defaults.socketFactory,
description: String = Defaults.description
) = {
val options = new MongoOptions; val options = new MongoOptions;


options.autoConnectRetry = autoConnectRetry options.autoConnectRetry = autoConnectRetry
Expand All @@ -62,6 +79,17 @@ object MongoOptions {
options.connectTimeout = connectTimeout options.connectTimeout = connectTimeout
options.socketTimeout = socketTimeout options.socketTimeout = socketTimeout
options.socketKeepAlive = socketKeepAlive options.socketKeepAlive = socketKeepAlive
options.maxAutoConnectRetryTime = maxAutoConnectRetryTime
options.slaveOk = slaveOk
options.safe = safe
options.w = w
options.wtimeout = wTimeout
options.fsync = fsync
options.j = j
options.dbDecoderFactory = dbDecoderFactory
options.dbEncoderFactory = dbEncoderFactory
options.socketFactory = socketFactory
options.description = description
options options
} }


Expand Down

0 comments on commit d0bd9d8

Please sign in to comment.