OSDN Git Service

Refactoring to PartsMasterController
authoruyaji <yuichiro.uyama@gmail.com>
Sun, 8 Sep 2013 01:59:08 +0000 (10:59 +0900)
committeruyaji <yuichiro.uyama@gmail.com>
Sun, 8 Sep 2013 01:59:08 +0000 (10:59 +0900)
PartsList/PartsList/app/controllers/NotifyController.scala
PartsList/PartsList/app/controllers/PartsMasterController.scala
PartsList/PartsList/app/controllers/ReplyController.scala
PartsList/PartsList/app/services/AtachManager.scala [moved from PartsList/PartsList/app/utils/UploadAtach.scala with 93% similarity]
PartsList/PartsList/app/services/PartManager.scala [new file with mode: 0644]
PartsList/PartsList/app/services/ProjectManager.scala [new file with mode: 0644]
PartsList/PartsList/document/class.class.violet
PartsList/PartsList/document/class.png

index ea37aa6..e3bc6a7 100644 (file)
@@ -10,6 +10,7 @@ import forms._
 import models._
 import utils._
 import beans._
+import services._
 import org.squeryl._
 import org.squeryl.PrimitiveTypeMode._
 import scala.collection.mutable.ArrayBuffer
@@ -44,10 +45,9 @@ object NotifyController extends Controller{
             val announceUser = PartsListDb.users.where(u => u.name === notify.users.name).head
             val paramState = Integer.decode(notify.state)
             val newNotify = PartsListDb.notifies.insert(Notify(notify.message, notify.atach, announceUser.id, notifyType, partId, designChangeId, paramState))
-            val uploadAtach = UploadAtach()
             var usersBuffer = ArrayBuffer[User]()
             request.body.file("atach").map { atach =>
-               uploadAtach.uploadAtach(atach, newNotify.atach.grpName, 0, newNotify.id, 0)
+               AtachManager().uploadAtach(atach, newNotify.atach.grpName, 0, newNotify.id, 0)
               }
               // 部品通知の場合
             if(partId != 0) {
@@ -103,9 +103,8 @@ object NotifyController extends Controller{
         formWithErrors => BadRequest(views.html.showNotifyForm(formWithErrors, id, partId, notifyType, state, null)), 
         notify => {
           inTransaction {
-            val uploadAtach = UploadAtach()
             request.body.file("atach").map{ atach =>
-                uploadAtach.uploadAtach(atach, notify.atach.grpName, 0, id, 0)
+                AtachManager().uploadAtach(atach, notify.atach.grpName, 0, id, 0)
               }
             Redirect(routes.NotifyController.showNotify(id, partId, notifyType, state))
           }
index 2275b67..12b2ed3 100644 (file)
@@ -8,7 +8,7 @@ import play.api.data.Forms._
 import forms._
 import models._
 import beans._
-import utils._
+import services._
 import org.squeryl._
 import org.squeryl.PrimitiveTypeMode._
 import scala.collection.mutable.ArrayBuffer
@@ -37,11 +37,9 @@ object PartsMasterController extends Controller{
 //           formWithErrors => BadRequest(views.html.error(formWithErrors)),
              part => {
                inTransaction {
-                 val project = getProject(part.projectName)              
-                  val newPart = PartsListDb.parts.insert(Part(part.name, part.atach, project.id))
-                  val uploadAtach = UploadAtach()
+                 val newPart = PartManager().insert(part)
               request.body.file("atach").map { atach =>
-               uploadAtach.uploadAtach(atach, newPart.atach.grpName, newPart.id, 0, 0)
+               AtachManager().uploadAtach(atach, newPart.atach.grpName, newPart.id, 0, 0)
                    }
                  Home.flashing("success" -> "Part %s has been created".format(part.name))
                }  
@@ -51,7 +49,7 @@ object PartsMasterController extends Controller{
 
        def update(id:Long) = Action { implicit request =>
          inTransaction {
-           val part = getPart(id)
+           val part = PartManager().getById(id)
            val partForm = PartForm(part.name, null, part.project.assign(part.project.head).name)
                Ok(views.html.updatePartForm(partRegistForm.fill(partForm), id, part))
          }
@@ -62,14 +60,9 @@ object PartsMasterController extends Controller{
              formWithErrors => BadRequest(views.html.updatePartForm(formWithErrors, id , null)),
              part => {
                inTransaction {
-                 val project = getProject(part.projectName)
-                 val updPart = getPart(id)
-                 val uploadAtach = UploadAtach()
-                 updPart.name = part.name
-                 updPart.projectId = project.id
-                 PartsListDb.parts.update(updPart)
+                 val updPart = PartManager().update(part, id)
                   request.body.file("atach").map { atach =>
-                    uploadAtach.uploadAtach(atach, part.atach.grpName, updPart.id, 0, 0)
+                    AtachManager().uploadAtach(atach, part.atach.grpName, updPart.id, 0, 0)
                    }
                  Home.flashing("success" -> "Part %s has been created".format(part.name))
                }  
@@ -90,15 +83,6 @@ object PartsMasterController extends Controller{
                  val buff = PartsListDb.parts.where(p => p.name like key + "%")
                  Ok(views.html.partsmastershow(buff.page(page*row, row), buff.size, key, page))
          }
-       }
-       
-       def getPart(id:Long):Part =  {
-         PartsListDb.parts.where(p => p.id === id).head
-       }
-
-       def getProject(name:String):Project = {
-         PartsListDb.projects.where(p => p.name === name).head
-        }
-       
+       }       
 
 }
\ No newline at end of file
index 1ff34f4..ada654e 100644 (file)
@@ -6,6 +6,7 @@ import play.api.data.Forms._
 import forms._
 import models._
 import utils._
+import services._
 import org.squeryl._
 import org.squeryl.PrimitiveTypeMode._
 import scala.collection.mutable.ArrayBuffer
@@ -33,10 +34,9 @@ object ReplyController extends Controller{
           inTransaction {
             val replyUser = PartsListDb.users.where(u => u.name like reply.users.name + "%").head
             val newReply = PartsListDb.replies.insert(Reply(reply.message, replyUser.id, notifyId, replyId, reply.atach))
-            val uploadAtach = UploadAtach()
             var usersBuffer = ArrayBuffer[User]()
             request.body.file("atach").map { atach =>
-               uploadAtach.uploadAtach(atach, newReply.atach.grpName, 0, 0, newReply.id)
+               AtachManager().uploadAtach(atach, newReply.atach.grpName, 0, 0, newReply.id)
               }
             var notify: Notify = null
             if(notifyId!=0) {
@@ -103,9 +103,8 @@ object ReplyController extends Controller{
 //        formWithErrors => BadRequest(views.html.error(formWithErrors)),
         reply => {
           inTransaction {
-            val uploadAtach = UploadAtach()
             request.body.file("atach").map { atach =>
-               uploadAtach.uploadAtach(atach, reply.atach.grpName, 0, 0, id)
+               AtachManager().uploadAtach(atach, reply.atach.grpName, 0, 0, id)
               }
             Redirect(routes.ReplyController.showReply(id, partId, notifyType, replyType, state))
             }
@@ -1,11 +1,11 @@
-package utils
+package services
 import models._
 import play.api.i18n._
 import play.api.mvc.MultipartFormData.FilePart
 import play.api.libs.Files.TemporaryFile
 import java.io.File
 
-case class UploadAtach() {
+case class AtachManager() {
   def uploadAtach(atach:FilePart[TemporaryFile], grpName:String, partId:Long, notifyId:Long, replyId:Long) = {
       val filename = atach.filename
       val contentType = atach.contentType
diff --git a/PartsList/PartsList/app/services/PartManager.scala b/PartsList/PartsList/app/services/PartManager.scala
new file mode 100644 (file)
index 0000000..f200949
--- /dev/null
@@ -0,0 +1,28 @@
+package services
+import models._
+import forms._
+import org.squeryl._
+import org.squeryl.PrimitiveTypeMode._
+
+case class PartManager() {
+  
+  def insert(part: PartForm):Part = {
+    val project = ProjectManager().getByName(part.projectName)
+    val newPart = PartsListDb.parts.insert(Part(part.name, part.atach, project.id))
+    return newPart
+  }
+  
+  def update(part: PartForm, id: Long):Part = {
+    val project =ProjectManager().getByName(part.projectName)
+    val updPart = getById(id)
+    updPart.name = part.name
+    updPart.projectId = project.id
+    PartsListDb.parts.update(updPart)
+    return updPart
+  }
+  
+  def getById(id :Long):Part = {
+    return PartsListDb.parts.where(p => p.id === id).head
+  }
+  
+}
\ No newline at end of file
diff --git a/PartsList/PartsList/app/services/ProjectManager.scala b/PartsList/PartsList/app/services/ProjectManager.scala
new file mode 100644 (file)
index 0000000..cdcefba
--- /dev/null
@@ -0,0 +1,12 @@
+package services
+import models._
+import org.squeryl._
+import org.squeryl.PrimitiveTypeMode._
+
+case class ProjectManager() {
+  
+  def getByName(name: String):Project = {
+    return PartsListDb.projects.where(p => p.name === name).head
+  }
+
+}
\ No newline at end of file
index 8a36945..6cb84c5 100644 (file)
@@ -7,7 +7,7 @@
      <void property="text">
       <string>id:Long
 name:String
-parts:Part[0..N]</string>
+</string>
      </void>
     </void>
     <void property="name">
@@ -21,19 +21,19 @@ parts:Part[0..N]</string>
      <string>x</string>
      <void method="set">
       <object idref="Point2D$Double0"/>
-      <double>90.0</double>
+      <double>264.0</double>
      </void>
     </void>
     <void class="java.awt.geom.Point2D$Double" method="getField">
      <string>y</string>
      <void method="set">
       <object idref="Point2D$Double0"/>
-      <double>93.0</double>
+      <double>87.0</double>
      </void>
     </void>
     <void method="setLocation">
-     <double>90.0</double>
-     <double>93.0</double>
+     <double>264.0</double>
+     <double>87.0</double>
     </void>
    </object>
   </void>
@@ -59,19 +59,19 @@ grpName:String
      <string>x</string>
      <void method="set">
       <object idref="Point2D$Double1"/>
-      <double>373.0</double>
+      <double>547.0</double>
      </void>
     </void>
     <void class="java.awt.geom.Point2D$Double" method="getField">
      <string>y</string>
      <void method="set">
       <object idref="Point2D$Double1"/>
-      <double>81.0</double>
+      <double>75.0</double>
      </void>
     </void>
     <void method="setLocation">
-     <double>373.0</double>
-     <double>81.0</double>
+     <double>547.0</double>
+     <double>75.0</double>
     </void>
    </object>
   </void>
@@ -95,19 +95,19 @@ state:Int</string>
      <string>x</string>
      <void method="set">
       <object idref="Point2D$Double2"/>
-      <double>376.0</double>
+      <double>550.0</double>
      </void>
     </void>
     <void class="java.awt.geom.Point2D$Double" method="getField">
      <string>y</string>
      <void method="set">
       <object idref="Point2D$Double2"/>
-      <double>226.0</double>
+      <double>220.0</double>
      </void>
     </void>
     <void method="setLocation">
-     <double>376.0</double>
-     <double>226.0</double>
+     <double>550.0</double>
+     <double>220.0</double>
     </void>
    </object>
   </void>
@@ -130,19 +130,19 @@ name:String</string>
      <string>x</string>
      <void method="set">
       <object idref="Point2D$Double3"/>
-      <double>88.0</double>
+      <double>262.0</double>
      </void>
     </void>
     <void class="java.awt.geom.Point2D$Double" method="getField">
      <string>y</string>
      <void method="set">
       <object idref="Point2D$Double3"/>
-      <double>407.0</double>
+      <double>401.0</double>
      </void>
     </void>
     <void method="setLocation">
-     <double>88.0</double>
-     <double>407.0</double>
+     <double>262.0</double>
+     <double>401.0</double>
     </void>
    </object>
   </void>
@@ -166,19 +166,19 @@ childRelies:Reply[0..N]</string>
      <string>x</string>
      <void method="set">
       <object idref="Point2D$Double4"/>
-      <double>557.0</double>
+      <double>731.0</double>
      </void>
     </void>
     <void class="java.awt.geom.Point2D$Double" method="getField">
      <string>y</string>
      <void method="set">
       <object idref="Point2D$Double4"/>
-      <double>226.0</double>
+      <double>220.0</double>
      </void>
     </void>
     <void method="setLocation">
-     <double>557.0</double>
-     <double>226.0</double>
+     <double>731.0</double>
+     <double>220.0</double>
     </void>
    </object>
   </void>
@@ -202,19 +202,91 @@ email:String</string>
      <string>x</string>
      <void method="set">
       <object idref="Point2D$Double5"/>
-      <double>381.0</double>
+      <double>555.0</double>
      </void>
     </void>
     <void class="java.awt.geom.Point2D$Double" method="getField">
      <string>y</string>
      <void method="set">
       <object idref="Point2D$Double5"/>
-      <double>413.0</double>
+      <double>407.0</double>
+     </void>
+    </void>
+    <void method="setLocation">
+     <double>555.0</double>
+     <double>407.0</double>
+    </void>
+   </object>
+  </void>
+  <void method="addNode">
+   <object class="com.horstmann.violet.ClassNode" id="ClassNode6">
+    <void property="attributes">
+     <void property="text">
+      <string>quantity: Long
+dcSeq: Long</string>
+     </void>
+    </void>
+    <void property="name">
+     <void property="text">
+      <string>PartRelation</string>
+     </void>
+    </void>
+   </object>
+   <object class="java.awt.geom.Point2D$Double" id="Point2D$Double6">
+    <void class="java.awt.geom.Point2D$Double" method="getField">
+     <string>x</string>
+     <void method="set">
+      <object idref="Point2D$Double6"/>
+      <double>47.0</double>
+     </void>
+    </void>
+    <void class="java.awt.geom.Point2D$Double" method="getField">
+     <string>y</string>
+     <void method="set">
+      <object idref="Point2D$Double6"/>
+      <double>87.0</double>
+     </void>
+    </void>
+    <void method="setLocation">
+     <double>47.0</double>
+     <double>87.0</double>
+    </void>
+   </object>
+  </void>
+  <void method="addNode">
+   <object class="com.horstmann.violet.ClassNode" id="ClassNode7">
+    <void property="attributes">
+     <void property="text">
+      <string>id: Long
+dcNo: String
+dcDescription: String
+dcSeq: Long</string>
+     </void>
+    </void>
+    <void property="name">
+     <void property="text">
+      <string>DesignChange</string>
+     </void>
+    </void>
+   </object>
+   <object class="java.awt.geom.Point2D$Double" id="Point2D$Double7">
+    <void class="java.awt.geom.Point2D$Double" method="getField">
+     <string>x</string>
+     <void method="set">
+      <object idref="Point2D$Double7"/>
+      <double>42.0</double>
+     </void>
+    </void>
+    <void class="java.awt.geom.Point2D$Double" method="getField">
+     <string>y</string>
+     <void method="set">
+      <object idref="Point2D$Double7"/>
+      <double>289.0</double>
      </void>
     </void>
     <void method="setLocation">
-     <double>381.0</double>
-     <double>413.0</double>
+     <double>42.0</double>
+     <double>289.0</double>
     </void>
    </object>
   </void>
@@ -313,12 +385,12 @@ email:String</string>
     <void property="bentStyle">
      <object class="com.horstmann.violet.BentStyle" field="HVH"/>
     </void>
-    <void property="endArrowHead">
-     <object class="com.horstmann.violet.ArrowHead" field="V"/>
-    </void>
     <void property="endLabel">
      <string>N</string>
     </void>
+    <void property="startArrowHead">
+     <object class="com.horstmann.violet.ArrowHead" field="V"/>
+    </void>
     <void property="startLabel">
      <string>1</string>
     </void>
@@ -344,5 +416,56 @@ email:String</string>
    <object idref="ClassNode5"/>
    <object idref="ClassNode4"/>
   </void>
+  <void method="connect">
+   <object class="com.horstmann.violet.ClassRelationshipEdge">
+    <void property="bentStyle">
+     <object class="com.horstmann.violet.BentStyle" field="HVH"/>
+    </void>
+    <void property="endArrowHead">
+     <object class="com.horstmann.violet.ArrowHead" field="V"/>
+    </void>
+    <void property="endLabel">
+     <string>N</string>
+    </void>
+    <void property="startLabel">
+     <string>1</string>
+    </void>
+   </object>
+   <object idref="ClassNode0"/>
+   <object idref="ClassNode6"/>
+  </void>
+  <void method="connect">
+   <object class="com.horstmann.violet.ClassRelationshipEdge">
+    <void property="bentStyle">
+     <object class="com.horstmann.violet.BentStyle" field="HVH"/>
+    </void>
+    <void property="endArrowHead">
+     <object class="com.horstmann.violet.ArrowHead" field="V"/>
+    </void>
+    <void property="endLabel">
+     <string>N</string>
+    </void>
+    <void property="startLabel">
+     <string>1</string>
+    </void>
+   </object>
+   <object idref="ClassNode7"/>
+   <object idref="ClassNode6"/>
+  </void>
+  <void method="connect">
+   <object class="com.horstmann.violet.ClassRelationshipEdge">
+    <void property="bentStyle">
+     <object class="com.horstmann.violet.BentStyle" field="HV"/>
+    </void>
+    <void property="endArrowHead">
+     <object class="com.horstmann.violet.ArrowHead" field="V"/>
+    </void>
+    <void property="startLabel">
+     <string>0..1</string>
+    </void>
+   </object>
+   <object idref="ClassNode7"/>
+   <object idref="ClassNode2"/>
+  </void>
  </object>
 </java>
index 8ca3d42..274e2ef 100644 (file)
Binary files a/PartsList/PartsList/document/class.png and b/PartsList/PartsList/document/class.png differ