diff options
Diffstat (limited to 'src/main/scala/myapp/cake/container.scala')
-rw-r--r-- | src/main/scala/myapp/cake/container.scala | 49 |
1 files changed, 0 insertions, 49 deletions
diff --git a/src/main/scala/myapp/cake/container.scala b/src/main/scala/myapp/cake/container.scala deleted file mode 100644 index 6437c8b..0000000 --- a/src/main/scala/myapp/cake/container.scala +++ /dev/null @@ -1,49 +0,0 @@ -package myapp.cake.container - -import myapp.cake.services -import myapp.logger.FileLogger -import myapp.database.DBI -import myapp.application.MyApp - -trait HasLogger extends services.HasLogger { - type LoggerType = Logger - - class Logger( - logFileName: String - ) extends FileLogger(logFileName) with LoggerService -} - -trait HasDatabase extends services.HasDatabase { - type DatabaseType = Database - - class Database protected ( - dsn: String, - username: String, - password: String - ) extends DBI(dsn, username, password) with DatabaseService - - object Database { - def connect(dsn: String, username: String, password: String) = - new Database(dsn, username, password) - } -} - -trait HasApplication extends services.HasApplication { - this: HasLogger with HasDatabase => - - type ApplicationType = Application - - class Application extends MyApp(logger, database) with ApplicationService -} - -class Container ( - logFileName: String = "out.log", - dsn: String = "dbi:mysql:myapp", - username: String = "doy", - password: String = "blah" -) extends HasApplication with HasLogger with HasDatabase { - def application = new Application - // def logger = new Logger(logFileName) // non-singleton - lazy val logger = new Logger(logFileName) // singleton - def database = Database.connect(dsn, username, password) -} |