OSDN Git Service

Implementation the Dependency Injection.
[open-pdm-light/PartList.git] / PartsList / PartsList / app / controllers / ProjectController.scala
index c7e9136..15a3142 100644 (file)
@@ -9,10 +9,16 @@ import play.api.data.Forms._
 import forms._
 import models._
 import models.services._
+import models.services.impl._
 import org.squeryl._
 import org.squeryl.PrimitiveTypeMode._
+import com.google.inject._
+import modules._
+
 object ProjectController extends Controller{
   val Home = Redirect(routes.ProjectController.list(0,""))
+  val inject = Guice.createInjector(new ServiceModules)
+  val projectManager = inject.getInstance(classOf[ProjectManager])
   val projectRegistForm = Form(
       mapping(
           "name" -> nonEmptyText,
@@ -43,7 +49,7 @@ object ProjectController extends Controller{
              project => {
                inTransaction {
                  val user = UserManager().getByName(project.users.name)
-                 val newProject = ProjectManager().insert(project)
+                 val newProject = projectManager.insert(project)
                  newProject.users.associate(user)
                   Home.flashing("success" -> "Project %s has been created".format(project.name))
                }
@@ -57,7 +63,7 @@ object ProjectController extends Controller{
          Ok(views.html.errors.errorNotAuthentication())
            } else {
              inTransaction {
-               val project = ProjectManager().getById(id)
+               val project = projectManager.getById(id)
                val projectForm = ProjectForm(project.name, null)
                Ok(views.html.updateProjectForm(projectRegistForm.fill(projectForm), id, project))
                }
@@ -70,7 +76,7 @@ object ProjectController extends Controller{
              formWithErrors => BadRequest(views.html.updateProjectForm(formWithErrors, id, null)),
              project => {
                inTransaction {
-                 ProjectManager().update(project, id)
+                 projectManager.update(project, id)
                  Home.flashing("success" -> "Project %s has been update".format(project.name))
                }
              }
@@ -83,7 +89,7 @@ object ProjectController extends Controller{
          Ok(views.html.errors.errorNotAuthentication())
            } else {  
              inTransaction {
-               ProjectManager().deleteMember(projectId, memberId)
+               projectManager.deleteMember(projectId, memberId)
                Home.flashing("success" -> "Project %s has been update".format("ID=" +memberId))
               }
             }
@@ -97,7 +103,7 @@ object ProjectController extends Controller{
            } else {
              inTransaction {
                val row = Integer.decode(Messages("list.row"))
-               val buff = ProjectManager().list(key)
+               val buff = projectManager.list(key)
                Ok(views.html.projectlist(buff.page(page*row, row), buff.size, key, page))
              }
            }