Index: /trunk/doc/DatabaseDesign.tex
===================================================================
--- /trunk/doc/DatabaseDesign.tex	(revision 20)
+++ /trunk/doc/DatabaseDesign.tex	(revision 21)
@@ -30,5 +30,5 @@
   \subitem and ease of maintenance.
  \item SVN and FTP/SSH for collaboration.
- \item Django python web framework.
+ \item Grails web framework.
   \item Architecture MVC
 %TODO:
Index: /trunk/src/grails-app/conf/BootStrap.groovy
===================================================================
--- /trunk/src/grails-app/conf/BootStrap.groovy	(revision 20)
+++ /trunk/src/grails-app/conf/BootStrap.groovy	(revision 21)
@@ -1,21 +1,74 @@
-class BootStrap {
+import grails.util.GrailsUtil
 
-     def init = { servletContext ->
+class BootStrap 
+{
+    def init = { servletContext ->
 
-        //TypeOfPersonGroup
-         new TypeOfPersonGroup(name:"Department").save()
-         new TypeOfPersonGroup(name:"Contractor").save()
-         new TypeOfPersonGroup(name:"ProjectTeam").save()
-         
-         //PersonGroup
-         new PersonGroup(typeOfPersonGroup:TypeOfPersonGroup.get(1),
-             name:"Electrical").save()
-         new PersonGroup(typeOfPersonGroup:TypeOfPersonGroup.get(2),
-             name:"Kewl AirCon Guys").save()
-         new PersonGroup(typeOfPersonGroup:TypeOfPersonGroup.get(3),
-             name:"openMim").save()
-     }
+    println "**** BootStrap; GrailsUtil.environment: ${GrailsUtil.environment}"
+    
+        switch (GrailsUtil.environment)
+        {
+            case "development":
+                        println "**** BootStrap detected development"
+                        configureForDevelopment()
+                        break
+            case "test":
+                        println "**** BootStrap detected test"
+                        configureForTest()
+                        break
+            case "production":
+                        println "**** BootStrap detected production"
+                        configureForProduction()
+                        break 
+        }
+    
+    }
 
     def destroy = {
-     }
+    }
+    
+    /*
+        Tasks to do when Grails is running in each environment.
+    */
+    void configureForDevelopment()
+    {
+        println "BootStrap configureForDevelopment() called"
+    
+        //TypeOfPersonGroup
+        new PersonGroupType(name:"Department").save()
+        println "PersonGroup = ${PersonGroupType.get(1)}"
+        new PersonGroupType(name:"Contractor").save()
+        new PersonGroupType(name:"ProjectTeam").save()
+    
+        //PersonGroup
+        new PersonGroup(PersonGroupType:PersonGroupType.findByName("Department"), name:"Electrical").save()
+        new PersonGroup(
+            PersonGroupType:PersonGroupType.get(2),
+            name:"Kewl AirCon Guys").save()
+        new PersonGroup(
+            PersonGroupType:PersonGroupType.get(3),
+            name:"openMim").save()
+            
+        //Person
+        new Person(personGroup:PersonGroup.get(1),
+            firstName:"FirstNameTech1",
+            lastName:"LastNameTech1").save()
+        new Person(personGroup:PersonGroup.get(2),
+                    firstName:"Joe",
+                    lastName:"Samples").save()
+    
+    }
+    
+    //---------------------------------------------------------
+    void configureForTest()
+    {
+        println "BootStrap configureForTest() called"
+    }
+    
+    //---------------------------------------------------------
+    void configureForProduction()
+    {
+        println "BootStrap configureForProduction() called"
+    }
+
 }
Index: /trunk/src/grails-app/controllers/EntryController.groovy
===================================================================
--- /trunk/src/grails-app/controllers/EntryController.groovy	(revision 20)
+++ /trunk/src/grails-app/controllers/EntryController.groovy	(revision 21)
@@ -1,4 +1,82 @@
 class EntryController {
+    
+    def index = { redirect(action:list,params:params) }
 
-    def scaffold = Entry
+    // the delete, save and update actions only accept POST requests
+    def allowedMethods = [delete:'POST', save:'POST', update:'POST']
+
+    def list = {
+        if(!params.max) params.max = 10
+        [ entryInstanceList: Entry.list( params ) ]
+    }
+
+    def show = {
+        def entryInstance = Entry.get( params.id )
+
+        if(!entryInstance) {
+            flash.message = "Entry not found with id ${params.id}"
+            redirect(action:list)
+        }
+        else { return [ entryInstance : entryInstance ] }
+    }
+
+    def delete = {
+        def entryInstance = Entry.get( params.id )
+        if(entryInstance) {
+            entryInstance.delete()
+            flash.message = "Entry ${params.id} deleted"
+            redirect(action:list)
+        }
+        else {
+            flash.message = "Entry not found with id ${params.id}"
+            redirect(action:list)
+        }
+    }
+
+    def edit = {
+        def entryInstance = Entry.get( params.id )
+
+        if(!entryInstance) {
+            flash.message = "Entry not found with id ${params.id}"
+            redirect(action:list)
+        }
+        else {
+            return [ entryInstance : entryInstance ]
+        }
+    }
+
+    def update = {
+        def entryInstance = Entry.get( params.id )
+        if(entryInstance) {
+            entryInstance.properties = params
+            if(!entryInstance.hasErrors() && entryInstance.save()) {
+                flash.message = "Entry ${params.id} updated"
+                redirect(action:show,id:entryInstance.id)
+            }
+            else {
+                render(view:'edit',model:[entryInstance:entryInstance])
+            }
+        }
+        else {
+            flash.message = "Entry not found with id ${params.id}"
+            redirect(action:edit,id:params.id)
+        }
+    }
+
+    def create = {
+        def entryInstance = new Entry()
+        entryInstance.properties = params
+        return ['entryInstance':entryInstance]
+    }
+
+    def save = {
+        def entryInstance = new Entry(params)
+        if(!entryInstance.hasErrors() && entryInstance.save()) {
+            flash.message = "Entry ${entryInstance.id} created"
+            redirect(action:show,id:entryInstance.id)
+        }
+        else {
+            render(view:'create',model:[entryInstance:entryInstance])
+        }
+    }
 }
Index: /trunk/src/grails-app/controllers/EntryTypeController.groovy
===================================================================
--- /trunk/src/grails-app/controllers/EntryTypeController.groovy	(revision 21)
+++ /trunk/src/grails-app/controllers/EntryTypeController.groovy	(revision 21)
@@ -0,0 +1,82 @@
+class EntryTypeController {
+    
+    def index = { redirect(action:list,params:params) }
+
+    // the delete, save and update actions only accept POST requests
+    def allowedMethods = [delete:'POST', save:'POST', update:'POST']
+
+    def list = {
+        if(!params.max) params.max = 10
+        [ entryTypeInstanceList: EntryType.list( params ) ]
+    }
+
+    def show = {
+        def entryTypeInstance = EntryType.get( params.id )
+
+        if(!entryTypeInstance) {
+            flash.message = "EntryType not found with id ${params.id}"
+            redirect(action:list)
+        }
+        else { return [ entryTypeInstance : entryTypeInstance ] }
+    }
+
+    def delete = {
+        def entryTypeInstance = EntryType.get( params.id )
+        if(entryTypeInstance) {
+            entryTypeInstance.delete()
+            flash.message = "EntryType ${params.id} deleted"
+            redirect(action:list)
+        }
+        else {
+            flash.message = "EntryType not found with id ${params.id}"
+            redirect(action:list)
+        }
+    }
+
+    def edit = {
+        def entryTypeInstance = EntryType.get( params.id )
+
+        if(!entryTypeInstance) {
+            flash.message = "EntryType not found with id ${params.id}"
+            redirect(action:list)
+        }
+        else {
+            return [ entryTypeInstance : entryTypeInstance ]
+        }
+    }
+
+    def update = {
+        def entryTypeInstance = EntryType.get( params.id )
+        if(entryTypeInstance) {
+            entryTypeInstance.properties = params
+            if(!entryTypeInstance.hasErrors() && entryTypeInstance.save()) {
+                flash.message = "EntryType ${params.id} updated"
+                redirect(action:show,id:entryTypeInstance.id)
+            }
+            else {
+                render(view:'edit',model:[entryTypeInstance:entryTypeInstance])
+            }
+        }
+        else {
+            flash.message = "EntryType not found with id ${params.id}"
+            redirect(action:edit,id:params.id)
+        }
+    }
+
+    def create = {
+        def entryTypeInstance = new EntryType()
+        entryTypeInstance.properties = params
+        return ['entryTypeInstance':entryTypeInstance]
+    }
+
+    def save = {
+        def entryTypeInstance = new EntryType(params)
+        if(!entryTypeInstance.hasErrors() && entryTypeInstance.save()) {
+            flash.message = "EntryType ${entryTypeInstance.id} created"
+            redirect(action:show,id:entryTypeInstance.id)
+        }
+        else {
+            render(view:'create',model:[entryTypeInstance:entryTypeInstance])
+        }
+    }
+}
Index: /trunk/src/grails-app/controllers/ModificationController.groovy
===================================================================
--- /trunk/src/grails-app/controllers/ModificationController.groovy	(revision 20)
+++ /trunk/src/grails-app/controllers/ModificationController.groovy	(revision 21)
@@ -1,4 +1,82 @@
 class ModificationController {
+    
+    def index = { redirect(action:list,params:params) }
 
-    def scaffold = Modification
+    // the delete, save and update actions only accept POST requests
+    def allowedMethods = [delete:'POST', save:'POST', update:'POST']
+
+    def list = {
+        if(!params.max) params.max = 10
+        [ modificationInstanceList: Modification.list( params ) ]
+    }
+
+    def show = {
+        def modificationInstance = Modification.get( params.id )
+
+        if(!modificationInstance) {
+            flash.message = "Modification not found with id ${params.id}"
+            redirect(action:list)
+        }
+        else { return [ modificationInstance : modificationInstance ] }
+    }
+
+    def delete = {
+        def modificationInstance = Modification.get( params.id )
+        if(modificationInstance) {
+            modificationInstance.delete()
+            flash.message = "Modification ${params.id} deleted"
+            redirect(action:list)
+        }
+        else {
+            flash.message = "Modification not found with id ${params.id}"
+            redirect(action:list)
+        }
+    }
+
+    def edit = {
+        def modificationInstance = Modification.get( params.id )
+
+        if(!modificationInstance) {
+            flash.message = "Modification not found with id ${params.id}"
+            redirect(action:list)
+        }
+        else {
+            return [ modificationInstance : modificationInstance ]
+        }
+    }
+
+    def update = {
+        def modificationInstance = Modification.get( params.id )
+        if(modificationInstance) {
+            modificationInstance.properties = params
+            if(!modificationInstance.hasErrors() && modificationInstance.save()) {
+                flash.message = "Modification ${params.id} updated"
+                redirect(action:show,id:modificationInstance.id)
+            }
+            else {
+                render(view:'edit',model:[modificationInstance:modificationInstance])
+            }
+        }
+        else {
+            flash.message = "Modification not found with id ${params.id}"
+            redirect(action:edit,id:params.id)
+        }
+    }
+
+    def create = {
+        def modificationInstance = new Modification()
+        modificationInstance.properties = params
+        return ['modificationInstance':modificationInstance]
+    }
+
+    def save = {
+        def modificationInstance = new Modification(params)
+        if(!modificationInstance.hasErrors() && modificationInstance.save()) {
+            flash.message = "Modification ${modificationInstance.id} created"
+            redirect(action:show,id:modificationInstance.id)
+        }
+        else {
+            render(view:'create',model:[modificationInstance:modificationInstance])
+        }
+    }
 }
Index: /trunk/src/grails-app/controllers/ModificationTypeController.groovy
===================================================================
--- /trunk/src/grails-app/controllers/ModificationTypeController.groovy	(revision 21)
+++ /trunk/src/grails-app/controllers/ModificationTypeController.groovy	(revision 21)
@@ -0,0 +1,82 @@
+class ModificationTypeController {
+    
+    def index = { redirect(action:list,params:params) }
+
+    // the delete, save and update actions only accept POST requests
+    def allowedMethods = [delete:'POST', save:'POST', update:'POST']
+
+    def list = {
+        if(!params.max) params.max = 10
+        [ modificationTypeInstanceList: ModificationType.list( params ) ]
+    }
+
+    def show = {
+        def modificationTypeInstance = ModificationType.get( params.id )
+
+        if(!modificationTypeInstance) {
+            flash.message = "ModificationType not found with id ${params.id}"
+            redirect(action:list)
+        }
+        else { return [ modificationTypeInstance : modificationTypeInstance ] }
+    }
+
+    def delete = {
+        def modificationTypeInstance = ModificationType.get( params.id )
+        if(modificationTypeInstance) {
+            modificationTypeInstance.delete()
+            flash.message = "ModificationType ${params.id} deleted"
+            redirect(action:list)
+        }
+        else {
+            flash.message = "ModificationType not found with id ${params.id}"
+            redirect(action:list)
+        }
+    }
+
+    def edit = {
+        def modificationTypeInstance = ModificationType.get( params.id )
+
+        if(!modificationTypeInstance) {
+            flash.message = "ModificationType not found with id ${params.id}"
+            redirect(action:list)
+        }
+        else {
+            return [ modificationTypeInstance : modificationTypeInstance ]
+        }
+    }
+
+    def update = {
+        def modificationTypeInstance = ModificationType.get( params.id )
+        if(modificationTypeInstance) {
+            modificationTypeInstance.properties = params
+            if(!modificationTypeInstance.hasErrors() && modificationTypeInstance.save()) {
+                flash.message = "ModificationType ${params.id} updated"
+                redirect(action:show,id:modificationTypeInstance.id)
+            }
+            else {
+                render(view:'edit',model:[modificationTypeInstance:modificationTypeInstance])
+            }
+        }
+        else {
+            flash.message = "ModificationType not found with id ${params.id}"
+            redirect(action:edit,id:params.id)
+        }
+    }
+
+    def create = {
+        def modificationTypeInstance = new ModificationType()
+        modificationTypeInstance.properties = params
+        return ['modificationTypeInstance':modificationTypeInstance]
+    }
+
+    def save = {
+        def modificationTypeInstance = new ModificationType(params)
+        if(!modificationTypeInstance.hasErrors() && modificationTypeInstance.save()) {
+            flash.message = "ModificationType ${modificationTypeInstance.id} created"
+            redirect(action:show,id:modificationTypeInstance.id)
+        }
+        else {
+            render(view:'create',model:[modificationTypeInstance:modificationTypeInstance])
+        }
+    }
+}
Index: /trunk/src/grails-app/controllers/PersonController.groovy
===================================================================
--- /trunk/src/grails-app/controllers/PersonController.groovy	(revision 20)
+++ /trunk/src/grails-app/controllers/PersonController.groovy	(revision 21)
@@ -1,4 +1,82 @@
 class PersonController {
+    
+    def index = { redirect(action:list,params:params) }
 
-    def scaffold = Person
+    // the delete, save and update actions only accept POST requests
+    def allowedMethods = [delete:'POST', save:'POST', update:'POST']
+
+    def list = {
+        if(!params.max) params.max = 10
+        [ personInstanceList: Person.list( params ) ]
+    }
+
+    def show = {
+        def personInstance = Person.get( params.id )
+
+        if(!personInstance) {
+            flash.message = "Person not found with id ${params.id}"
+            redirect(action:list)
+        }
+        else { return [ personInstance : personInstance ] }
+    }
+
+    def delete = {
+        def personInstance = Person.get( params.id )
+        if(personInstance) {
+            personInstance.delete()
+            flash.message = "Person ${params.id} deleted"
+            redirect(action:list)
+        }
+        else {
+            flash.message = "Person not found with id ${params.id}"
+            redirect(action:list)
+        }
+    }
+
+    def edit = {
+        def personInstance = Person.get( params.id )
+
+        if(!personInstance) {
+            flash.message = "Person not found with id ${params.id}"
+            redirect(action:list)
+        }
+        else {
+            return [ personInstance : personInstance ]
+        }
+    }
+
+    def update = {
+        def personInstance = Person.get( params.id )
+        if(personInstance) {
+            personInstance.properties = params
+            if(!personInstance.hasErrors() && personInstance.save()) {
+                flash.message = "Person ${params.id} updated"
+                redirect(action:show,id:personInstance.id)
+            }
+            else {
+                render(view:'edit',model:[personInstance:personInstance])
+            }
+        }
+        else {
+            flash.message = "Person not found with id ${params.id}"
+            redirect(action:edit,id:params.id)
+        }
+    }
+
+    def create = {
+        def personInstance = new Person()
+        personInstance.properties = params
+        return ['personInstance':personInstance]
+    }
+
+    def save = {
+        def personInstance = new Person(params)
+        if(!personInstance.hasErrors() && personInstance.save()) {
+            flash.message = "Person ${personInstance.id} created"
+            redirect(action:show,id:personInstance.id)
+        }
+        else {
+            render(view:'create',model:[personInstance:personInstance])
+        }
+    }
 }
Index: /trunk/src/grails-app/controllers/PersonGroupTypeController.groovy
===================================================================
--- /trunk/src/grails-app/controllers/PersonGroupTypeController.groovy	(revision 21)
+++ /trunk/src/grails-app/controllers/PersonGroupTypeController.groovy	(revision 21)
@@ -0,0 +1,82 @@
+class PersonGroupTypeController {
+    
+    def index = { redirect(action:list,params:params) }
+
+    // the delete, save and update actions only accept POST requests
+    def allowedMethods = [delete:'POST', save:'POST', update:'POST']
+
+    def list = {
+        if(!params.max) params.max = 10
+        [ personGroupTypeInstanceList: PersonGroupType.list( params ) ]
+    }
+
+    def show = {
+        def personGroupTypeInstance = PersonGroupType.get( params.id )
+
+        if(!personGroupTypeInstance) {
+            flash.message = "PersonGroupType not found with id ${params.id}"
+            redirect(action:list)
+        }
+        else { return [ personGroupTypeInstance : personGroupTypeInstance ] }
+    }
+
+    def delete = {
+        def personGroupTypeInstance = PersonGroupType.get( params.id )
+        if(personGroupTypeInstance) {
+            personGroupTypeInstance.delete()
+            flash.message = "PersonGroupType ${params.id} deleted"
+            redirect(action:list)
+        }
+        else {
+            flash.message = "PersonGroupType not found with id ${params.id}"
+            redirect(action:list)
+        }
+    }
+
+    def edit = {
+        def personGroupTypeInstance = PersonGroupType.get( params.id )
+
+        if(!personGroupTypeInstance) {
+            flash.message = "PersonGroupType not found with id ${params.id}"
+            redirect(action:list)
+        }
+        else {
+            return [ personGroupTypeInstance : personGroupTypeInstance ]
+        }
+    }
+
+    def update = {
+        def personGroupTypeInstance = PersonGroupType.get( params.id )
+        if(personGroupTypeInstance) {
+            personGroupTypeInstance.properties = params
+            if(!personGroupTypeInstance.hasErrors() && personGroupTypeInstance.save()) {
+                flash.message = "PersonGroupType ${params.id} updated"
+                redirect(action:show,id:personGroupTypeInstance.id)
+            }
+            else {
+                render(view:'edit',model:[personGroupTypeInstance:personGroupTypeInstance])
+            }
+        }
+        else {
+            flash.message = "PersonGroupType not found with id ${params.id}"
+            redirect(action:edit,id:params.id)
+        }
+    }
+
+    def create = {
+        def personGroupTypeInstance = new PersonGroupType()
+        personGroupTypeInstance.properties = params
+        return ['personGroupTypeInstance':personGroupTypeInstance]
+    }
+
+    def save = {
+        def personGroupTypeInstance = new PersonGroupType(params)
+        if(!personGroupTypeInstance.hasErrors() && personGroupTypeInstance.save()) {
+            flash.message = "PersonGroupType ${personGroupTypeInstance.id} created"
+            redirect(action:show,id:personGroupTypeInstance.id)
+        }
+        else {
+            render(view:'create',model:[personGroupTypeInstance:personGroupTypeInstance])
+        }
+    }
+}
Index: /trunk/src/grails-app/controllers/TaskController.groovy
===================================================================
--- /trunk/src/grails-app/controllers/TaskController.groovy	(revision 20)
+++ /trunk/src/grails-app/controllers/TaskController.groovy	(revision 21)
@@ -1,4 +1,82 @@
 class TaskController {
+    
+    def index = { redirect(action:list,params:params) }
 
-    def scaffold = Task
+    // the delete, save and update actions only accept POST requests
+    def allowedMethods = [delete:'POST', save:'POST', update:'POST']
+
+    def list = {
+        if(!params.max) params.max = 10
+        [ taskInstanceList: Task.list( params ) ]
+    }
+
+    def show = {
+        def taskInstance = Task.get( params.id )
+
+        if(!taskInstance) {
+            flash.message = "Task not found with id ${params.id}"
+            redirect(action:list)
+        }
+        else { return [ taskInstance : taskInstance ] }
+    }
+
+    def delete = {
+        def taskInstance = Task.get( params.id )
+        if(taskInstance) {
+            taskInstance.delete()
+            flash.message = "Task ${params.id} deleted"
+            redirect(action:list)
+        }
+        else {
+            flash.message = "Task not found with id ${params.id}"
+            redirect(action:list)
+        }
+    }
+
+    def edit = {
+        def taskInstance = Task.get( params.id )
+
+        if(!taskInstance) {
+            flash.message = "Task not found with id ${params.id}"
+            redirect(action:list)
+        }
+        else {
+            return [ taskInstance : taskInstance ]
+        }
+    }
+
+    def update = {
+        def taskInstance = Task.get( params.id )
+        if(taskInstance) {
+            taskInstance.properties = params
+            if(!taskInstance.hasErrors() && taskInstance.save()) {
+                flash.message = "Task ${params.id} updated"
+                redirect(action:show,id:taskInstance.id)
+            }
+            else {
+                render(view:'edit',model:[taskInstance:taskInstance])
+            }
+        }
+        else {
+            flash.message = "Task not found with id ${params.id}"
+            redirect(action:edit,id:params.id)
+        }
+    }
+
+    def create = {
+        def taskInstance = new Task()
+        taskInstance.properties = params
+        return ['taskInstance':taskInstance]
+    }
+
+    def save = {
+        def taskInstance = new Task(params)
+        if(!taskInstance.hasErrors() && taskInstance.save()) {
+            flash.message = "Task ${taskInstance.id} created"
+            redirect(action:show,id:taskInstance.id)
+        }
+        else {
+            render(view:'create',model:[taskInstance:taskInstance])
+        }
+    }
 }
Index: /trunk/src/grails-app/controllers/TaskGroupController.groovy
===================================================================
--- /trunk/src/grails-app/controllers/TaskGroupController.groovy	(revision 20)
+++ /trunk/src/grails-app/controllers/TaskGroupController.groovy	(revision 21)
@@ -1,4 +1,82 @@
 class TaskGroupController {
+    
+    def index = { redirect(action:list,params:params) }
 
-    def scaffold = TaskGroup
+    // the delete, save and update actions only accept POST requests
+    def allowedMethods = [delete:'POST', save:'POST', update:'POST']
+
+    def list = {
+        if(!params.max) params.max = 10
+        [ taskGroupInstanceList: TaskGroup.list( params ) ]
+    }
+
+    def show = {
+        def taskGroupInstance = TaskGroup.get( params.id )
+
+        if(!taskGroupInstance) {
+            flash.message = "TaskGroup not found with id ${params.id}"
+            redirect(action:list)
+        }
+        else { return [ taskGroupInstance : taskGroupInstance ] }
+    }
+
+    def delete = {
+        def taskGroupInstance = TaskGroup.get( params.id )
+        if(taskGroupInstance) {
+            taskGroupInstance.delete()
+            flash.message = "TaskGroup ${params.id} deleted"
+            redirect(action:list)
+        }
+        else {
+            flash.message = "TaskGroup not found with id ${params.id}"
+            redirect(action:list)
+        }
+    }
+
+    def edit = {
+        def taskGroupInstance = TaskGroup.get( params.id )
+
+        if(!taskGroupInstance) {
+            flash.message = "TaskGroup not found with id ${params.id}"
+            redirect(action:list)
+        }
+        else {
+            return [ taskGroupInstance : taskGroupInstance ]
+        }
+    }
+
+    def update = {
+        def taskGroupInstance = TaskGroup.get( params.id )
+        if(taskGroupInstance) {
+            taskGroupInstance.properties = params
+            if(!taskGroupInstance.hasErrors() && taskGroupInstance.save()) {
+                flash.message = "TaskGroup ${params.id} updated"
+                redirect(action:show,id:taskGroupInstance.id)
+            }
+            else {
+                render(view:'edit',model:[taskGroupInstance:taskGroupInstance])
+            }
+        }
+        else {
+            flash.message = "TaskGroup not found with id ${params.id}"
+            redirect(action:edit,id:params.id)
+        }
+    }
+
+    def create = {
+        def taskGroupInstance = new TaskGroup()
+        taskGroupInstance.properties = params
+        return ['taskGroupInstance':taskGroupInstance]
+    }
+
+    def save = {
+        def taskGroupInstance = new TaskGroup(params)
+        if(!taskGroupInstance.hasErrors() && taskGroupInstance.save()) {
+            flash.message = "TaskGroup ${taskGroupInstance.id} created"
+            redirect(action:show,id:taskGroupInstance.id)
+        }
+        else {
+            render(view:'create',model:[taskGroupInstance:taskGroupInstance])
+        }
+    }
 }
Index: /trunk/src/grails-app/domain/Entry.groovy
===================================================================
--- /trunk/src/grails-app/domain/Entry.groovy	(revision 20)
+++ /trunk/src/grails-app/domain/Entry.groovy	(revision 21)
@@ -8,5 +8,5 @@
     static hasMany = [persons: Person]
 
-    static belongsTo = [TypeOfEntry, Task, Person]
+    static belongsTo = [EntryType, Task, Person]
 
     static constraints = {
Index: /trunk/src/grails-app/domain/EntryType.groovy
===================================================================
--- /trunk/src/grails-app/domain/EntryType.groovy	(revision 21)
+++ /trunk/src/grails-app/domain/EntryType.groovy	(revision 21)
@@ -0,0 +1,19 @@
+class EntryType {
+    Entry entry
+    String name
+    String description = ""
+    boolean isActive
+
+    static belongsTo = Entry
+    
+    static contstraints = {
+        entry()
+        name(blank:false)
+        description()
+        isActive()
+    }
+
+    String toString() {
+        "${this.name}"
+    }
+}
Index: /trunk/src/grails-app/domain/Modification.groovy
===================================================================
--- /trunk/src/grails-app/domain/Modification.groovy	(revision 20)
+++ /trunk/src/grails-app/domain/Modification.groovy	(revision 21)
@@ -1,14 +1,14 @@
 class Modification {
     Person person
-    TypeOfModification typeOfModification
+    ModificationType modificationType
     Task task
     Date dateTime
     String comments
 
-    static belongsTo = [Person, TypeOfModification, Task]
+    static belongsTo = [Person, ModificationType, Task]
 
     static constraints = {
         person()
-        typeOfModification()
+        modificationType()
         task()
         dateTime()
Index: /trunk/src/grails-app/domain/ModificationType.groovy
===================================================================
--- /trunk/src/grails-app/domain/ModificationType.groovy	(revision 21)
+++ /trunk/src/grails-app/domain/ModificationType.groovy	(revision 21)
@@ -0,0 +1,17 @@
+class ModificationType {
+    String name
+    String description
+    boolean isActive
+
+    static hasMany = [modifications : Modification]
+
+    static constraints = {
+        name()
+        description()
+        isActive()
+    }
+
+    String toString() {
+        "${this.name}"
+    }
+}
Index: /trunk/src/grails-app/domain/Person.groovy
===================================================================
--- /trunk/src/grails-app/domain/Person.groovy	(revision 20)
+++ /trunk/src/grails-app/domain/Person.groovy	(revision 21)
@@ -7,5 +7,6 @@
 
     static hasMany = [modifications : Modification,
-                        entries : Entry, tasks : Task,
+                        entries : Entry,
+                        tasks : Task,
                         personGroups : PersonGroup]
 
Index: /trunk/src/grails-app/domain/PersonGroup.groovy
===================================================================
--- /trunk/src/grails-app/domain/PersonGroup.groovy	(revision 20)
+++ /trunk/src/grails-app/domain/PersonGroup.groovy	(revision 21)
@@ -1,4 +1,4 @@
 class PersonGroup {
-    TypeOfPersonGroup typeOfPersonGroup
+    PersonGroupType personGroupType
     String name
     String description = ""
@@ -7,5 +7,5 @@
     static hasMany = [persons : Person]
 
-    static belongsTo = TypeOfPersonGroup
+    static belongsTo = PersonGroup
 
     String toString() {
Index: /trunk/src/grails-app/domain/PersonGroupType.groovy
===================================================================
--- /trunk/src/grails-app/domain/PersonGroupType.groovy	(revision 21)
+++ /trunk/src/grails-app/domain/PersonGroupType.groovy	(revision 21)
@@ -0,0 +1,11 @@
+class PersonGroupType {
+    String name
+    String description = ""
+    boolean isActive = true
+
+    static hasMany = [personGroups : PersonGroup]
+
+    String toString() {
+        "${this.name}"
+    }
+}
Index: /trunk/src/grails-app/views/entry/create.gsp
===================================================================
--- /trunk/src/grails-app/views/entry/create.gsp	(revision 21)
+++ /trunk/src/grails-app/views/entry/create.gsp	(revision 21)
@@ -0,0 +1,83 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Create Entry</title>         
+    </head>
+    <body>
+        <div class="nav">
+            <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>
+            <span class="menuButton"><g:link class="list" action="list">Entry List</g:link></span>
+        </div>
+        <div class="body">
+            <h1>Create Entry</h1>
+            <g:if test="${flash.message}">
+            <div class="message">${flash.message}</div>
+            </g:if>
+            <g:hasErrors bean="${entryInstance}">
+            <div class="errors">
+                <g:renderErrors bean="${entryInstance}" as="list" />
+            </div>
+            </g:hasErrors>
+            <g:form action="save" method="post" >
+                <div class="dialog">
+                    <table>
+                        <tbody>
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="person">Person:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:entryInstance,field:'person','errors')}">
+                                    <g:select optionKey="id" from="${Person.list()}" name="person.id" value="${entryInstance?.person?.id}" ></g:select>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="task">Task:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:entryInstance,field:'task','errors')}">
+                                    <g:select optionKey="id" from="${Task.list()}" name="task.id" value="${entryInstance?.task?.id}" ></g:select>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="dateTime">Date Time:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:entryInstance,field:'dateTime','errors')}">
+                                    <g:datePicker name="dateTime" value="${entryInstance?.dateTime}" noSelection="['':'']"></g:datePicker>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="duration">Duration:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:entryInstance,field:'duration','errors')}">
+                                    <input type="text" id="duration" name="duration" value="${fieldValue(bean:entryInstance,field:'duration')}" />
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="comments">Comments:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:entryInstance,field:'comments','errors')}">
+                                    <input type="text" id="comments" name="comments" value="${fieldValue(bean:entryInstance,field:'comments')}"/>
+                                </td>
+                            </tr> 
+                        
+                        </tbody>
+                    </table>
+                </div>
+                <div class="buttons">
+                    <span class="button"><input class="save" type="submit" value="Create" /></span>
+                </div>
+            </g:form>
+        </div>
+    </body>
+</html>
Index: /trunk/src/grails-app/views/entry/edit.gsp
===================================================================
--- /trunk/src/grails-app/views/entry/edit.gsp	(revision 21)
+++ /trunk/src/grails-app/views/entry/edit.gsp	(revision 21)
@@ -0,0 +1,102 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Edit Entry</title>
+    </head>
+    <body>
+        <div class="nav">
+            <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>
+            <span class="menuButton"><g:link class="list" action="list">Entry List</g:link></span>
+            <span class="menuButton"><g:link class="create" action="create">New Entry</g:link></span>
+        </div>
+        <div class="body">
+            <h1>Edit Entry</h1>
+            <g:if test="${flash.message}">
+            <div class="message">${flash.message}</div>
+            </g:if>
+            <g:hasErrors bean="${entryInstance}">
+            <div class="errors">
+                <g:renderErrors bean="${entryInstance}" as="list" />
+            </div>
+            </g:hasErrors>
+            <g:form method="post" >
+                <input type="hidden" name="id" value="${entryInstance?.id}" />
+                <div class="dialog">
+                    <table>
+                        <tbody>
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="person">Person:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:entryInstance,field:'person','errors')}">
+                                    <g:select optionKey="id" from="${Person.list()}" name="person.id" value="${entryInstance?.person?.id}" ></g:select>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="task">Task:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:entryInstance,field:'task','errors')}">
+                                    <g:select optionKey="id" from="${Task.list()}" name="task.id" value="${entryInstance?.task?.id}" ></g:select>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="dateTime">Date Time:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:entryInstance,field:'dateTime','errors')}">
+                                    <g:datePicker name="dateTime" value="${entryInstance?.dateTime}" noSelection="['':'']"></g:datePicker>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="duration">Duration:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:entryInstance,field:'duration','errors')}">
+                                    <input type="text" id="duration" name="duration" value="${fieldValue(bean:entryInstance,field:'duration')}" />
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="comments">Comments:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:entryInstance,field:'comments','errors')}">
+                                    <input type="text" id="comments" name="comments" value="${fieldValue(bean:entryInstance,field:'comments')}"/>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="persons">Persons:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:entryInstance,field:'persons','errors')}">
+                                    
+<ul>
+<g:each var="p" in="${entryInstance?.persons?}">
+    <li><g:link controller="person" action="show" id="${p.id}">${p?.encodeAsHTML()}</g:link></li>
+</g:each>
+</ul>
+<g:link controller="person" params="['entry.id':entryInstance?.id]" action="create">Add Person</g:link>
+
+                                </td>
+                            </tr> 
+                        
+                        </tbody>
+                    </table>
+                </div>
+                <div class="buttons">
+                    <span class="button"><g:actionSubmit class="save" value="Update" /></span>
+                    <span class="button"><g:actionSubmit class="delete" onclick="return confirm('Are you sure?');" value="Delete" /></span>
+                </div>
+            </g:form>
+        </div>
+    </body>
+</html>
Index: /trunk/src/grails-app/views/entry/list.gsp
===================================================================
--- /trunk/src/grails-app/views/entry/list.gsp	(revision 21)
+++ /trunk/src/grails-app/views/entry/list.gsp	(revision 21)
@@ -0,0 +1,64 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Entry List</title>
+    </head>
+    <body>
+        <div class="nav">
+            <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>
+            <span class="menuButton"><g:link class="create" action="create">New Entry</g:link></span>
+        </div>
+        <div class="body">
+            <h1>Entry List</h1>
+            <g:if test="${flash.message}">
+            <div class="message">${flash.message}</div>
+            </g:if>
+            <div class="list">
+                <table>
+                    <thead>
+                        <tr>
+                        
+                   	        <g:sortableColumn property="id" title="Id" />
+                        
+                   	        <th>Person</th>
+                   	    
+                   	        <th>Task</th>
+                   	    
+                   	        <g:sortableColumn property="dateTime" title="Date Time" />
+                        
+                   	        <g:sortableColumn property="duration" title="Duration" />
+                        
+                   	        <g:sortableColumn property="comments" title="Comments" />
+                        
+                        </tr>
+                    </thead>
+                    <tbody>
+                    <g:each in="${entryInstanceList}" status="i" var="entryInstance">
+                        <tr class="${(i % 2) == 0 ? 'odd' : 'even'}">
+                        
+                            <td><g:link action="show" id="${entryInstance.id}">${fieldValue(bean:entryInstance, field:'id')}</g:link></td>
+                        
+                            <td>${fieldValue(bean:entryInstance, field:'person')}</td>
+                        
+                            <td>${fieldValue(bean:entryInstance, field:'task')}</td>
+                        
+                            <td>${fieldValue(bean:entryInstance, field:'dateTime')}</td>
+                        
+                            <td>${fieldValue(bean:entryInstance, field:'duration')}</td>
+                        
+                            <td>${fieldValue(bean:entryInstance, field:'comments')}</td>
+                        
+                        </tr>
+                    </g:each>
+                    </tbody>
+                </table>
+            </div>
+            <div class="paginateButtons">
+                <g:paginate total="${Entry.count()}" />
+            </div>
+        </div>
+    </body>
+</html>
Index: /trunk/src/grails-app/views/entry/show.gsp
===================================================================
--- /trunk/src/grails-app/views/entry/show.gsp	(revision 21)
+++ /trunk/src/grails-app/views/entry/show.gsp	(revision 21)
@@ -0,0 +1,86 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Show Entry</title>
+    </head>
+    <body>
+        <div class="nav">
+            <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>
+            <span class="menuButton"><g:link class="list" action="list">Entry List</g:link></span>
+            <span class="menuButton"><g:link class="create" action="create">New Entry</g:link></span>
+        </div>
+        <div class="body">
+            <h1>Show Entry</h1>
+            <g:if test="${flash.message}">
+            <div class="message">${flash.message}</div>
+            </g:if>
+            <div class="dialog">
+                <table>
+                    <tbody>
+
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Id:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:entryInstance, field:'id')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Person:</td>
+                            
+                            <td valign="top" class="value"><g:link controller="person" action="show" id="${entryInstance?.person?.id}">${entryInstance?.person?.encodeAsHTML()}</g:link></td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Task:</td>
+                            
+                            <td valign="top" class="value"><g:link controller="task" action="show" id="${entryInstance?.task?.id}">${entryInstance?.task?.encodeAsHTML()}</g:link></td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Date Time:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:entryInstance, field:'dateTime')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Duration:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:entryInstance, field:'duration')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Comments:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:entryInstance, field:'comments')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Persons:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:entryInstance, field:'persons')}</td>
+                            
+                        </tr>
+                    
+                    </tbody>
+                </table>
+            </div>
+            <div class="buttons">
+                <g:form>
+                    <input type="hidden" name="id" value="${entryInstance?.id}" />
+                    <span class="button"><g:actionSubmit class="edit" value="Edit" /></span>
+                    <span class="button"><g:actionSubmit class="delete" onclick="return confirm('Are you sure?');" value="Delete" /></span>
+                </g:form>
+            </div>
+        </div>
+    </body>
+</html>
Index: /trunk/src/grails-app/views/layouts/main.gsp
===================================================================
--- /trunk/src/grails-app/views/layouts/main.gsp	(revision 20)
+++ /trunk/src/grails-app/views/layouts/main.gsp	(revision 21)
@@ -1,7 +1,7 @@
 <html>
     <head>
-        <title><g:layoutTitle default="Grails" /></title>
+        <title><g:layoutTitle default="openMim" /></title>
         <link rel="stylesheet" href="${createLinkTo(dir:'css',file:'main.css')}" />
-        <link rel="shortcut icon" href="${createLinkTo(dir:'images',file:'favicon.ico')}" type="image/x-icon" />
+        <link rel="shortcut icon" href="${createLinkTo(dir:'images',file:'openMimIcon.jpg')}" type="image/x-icon" />
         <g:layoutHead />
         <g:javascript library="application" />				
@@ -11,5 +11,5 @@
             <img src="${createLinkTo(dir:'images',file:'spinner.gif')}" alt="Spinner" />
         </div>	
-        <div class="logo"><img src="${createLinkTo(dir:'images',file:'grails_logo.jpg')}" alt="Grails" /></div>	
+        <div class="logo"><img src="${createLinkTo(dir:'images',file:'openMimLogo.jpg')}" alt="openMim" /></div>
         <g:layoutBody />		
     </body>	
Index: /trunk/src/grails-app/views/modification/create.gsp
===================================================================
--- /trunk/src/grails-app/views/modification/create.gsp	(revision 21)
+++ /trunk/src/grails-app/views/modification/create.gsp	(revision 21)
@@ -0,0 +1,83 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Create Modification</title>         
+    </head>
+    <body>
+        <div class="nav">
+            <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>
+            <span class="menuButton"><g:link class="list" action="list">Modification List</g:link></span>
+        </div>
+        <div class="body">
+            <h1>Create Modification</h1>
+            <g:if test="${flash.message}">
+            <div class="message">${flash.message}</div>
+            </g:if>
+            <g:hasErrors bean="${modificationInstance}">
+            <div class="errors">
+                <g:renderErrors bean="${modificationInstance}" as="list" />
+            </div>
+            </g:hasErrors>
+            <g:form action="save" method="post" >
+                <div class="dialog">
+                    <table>
+                        <tbody>
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="person">Person:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:modificationInstance,field:'person','errors')}">
+                                    <g:select optionKey="id" from="${Person.list()}" name="person.id" value="${modificationInstance?.person?.id}" ></g:select>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="modificationType">Modification Type:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:modificationInstance,field:'modificationType','errors')}">
+                                    <g:select optionKey="id" from="${ModificationType.list()}" name="modificationType.id" value="${modificationInstance?.modificationType?.id}" ></g:select>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="task">Task:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:modificationInstance,field:'task','errors')}">
+                                    <g:select optionKey="id" from="${Task.list()}" name="task.id" value="${modificationInstance?.task?.id}" ></g:select>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="dateTime">Date Time:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:modificationInstance,field:'dateTime','errors')}">
+                                    <g:datePicker name="dateTime" value="${modificationInstance?.dateTime}" ></g:datePicker>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="comments">Comments:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:modificationInstance,field:'comments','errors')}">
+                                    <input type="text" id="comments" name="comments" value="${fieldValue(bean:modificationInstance,field:'comments')}"/>
+                                </td>
+                            </tr> 
+                        
+                        </tbody>
+                    </table>
+                </div>
+                <div class="buttons">
+                    <span class="button"><input class="save" type="submit" value="Create" /></span>
+                </div>
+            </g:form>
+        </div>
+    </body>
+</html>
Index: /trunk/src/grails-app/views/modification/edit.gsp
===================================================================
--- /trunk/src/grails-app/views/modification/edit.gsp	(revision 21)
+++ /trunk/src/grails-app/views/modification/edit.gsp	(revision 21)
@@ -0,0 +1,86 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Edit Modification</title>
+    </head>
+    <body>
+        <div class="nav">
+            <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>
+            <span class="menuButton"><g:link class="list" action="list">Modification List</g:link></span>
+            <span class="menuButton"><g:link class="create" action="create">New Modification</g:link></span>
+        </div>
+        <div class="body">
+            <h1>Edit Modification</h1>
+            <g:if test="${flash.message}">
+            <div class="message">${flash.message}</div>
+            </g:if>
+            <g:hasErrors bean="${modificationInstance}">
+            <div class="errors">
+                <g:renderErrors bean="${modificationInstance}" as="list" />
+            </div>
+            </g:hasErrors>
+            <g:form method="post" >
+                <input type="hidden" name="id" value="${modificationInstance?.id}" />
+                <div class="dialog">
+                    <table>
+                        <tbody>
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="person">Person:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:modificationInstance,field:'person','errors')}">
+                                    <g:select optionKey="id" from="${Person.list()}" name="person.id" value="${modificationInstance?.person?.id}" ></g:select>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="modificationType">Modification Type:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:modificationInstance,field:'modificationType','errors')}">
+                                    <g:select optionKey="id" from="${ModificationType.list()}" name="modificationType.id" value="${modificationInstance?.modificationType?.id}" ></g:select>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="task">Task:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:modificationInstance,field:'task','errors')}">
+                                    <g:select optionKey="id" from="${Task.list()}" name="task.id" value="${modificationInstance?.task?.id}" ></g:select>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="dateTime">Date Time:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:modificationInstance,field:'dateTime','errors')}">
+                                    <g:datePicker name="dateTime" value="${modificationInstance?.dateTime}" ></g:datePicker>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="comments">Comments:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:modificationInstance,field:'comments','errors')}">
+                                    <input type="text" id="comments" name="comments" value="${fieldValue(bean:modificationInstance,field:'comments')}"/>
+                                </td>
+                            </tr> 
+                        
+                        </tbody>
+                    </table>
+                </div>
+                <div class="buttons">
+                    <span class="button"><g:actionSubmit class="save" value="Update" /></span>
+                    <span class="button"><g:actionSubmit class="delete" onclick="return confirm('Are you sure?');" value="Delete" /></span>
+                </div>
+            </g:form>
+        </div>
+    </body>
+</html>
Index: /trunk/src/grails-app/views/modification/list.gsp
===================================================================
--- /trunk/src/grails-app/views/modification/list.gsp	(revision 21)
+++ /trunk/src/grails-app/views/modification/list.gsp	(revision 21)
@@ -0,0 +1,64 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Modification List</title>
+    </head>
+    <body>
+        <div class="nav">
+            <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>
+            <span class="menuButton"><g:link class="create" action="create">New Modification</g:link></span>
+        </div>
+        <div class="body">
+            <h1>Modification List</h1>
+            <g:if test="${flash.message}">
+            <div class="message">${flash.message}</div>
+            </g:if>
+            <div class="list">
+                <table>
+                    <thead>
+                        <tr>
+                        
+                   	        <g:sortableColumn property="id" title="Id" />
+                        
+                   	        <th>Person</th>
+                   	    
+                   	        <th>Modification Type</th>
+                   	    
+                   	        <th>Task</th>
+                   	    
+                   	        <g:sortableColumn property="dateTime" title="Date Time" />
+                        
+                   	        <g:sortableColumn property="comments" title="Comments" />
+                        
+                        </tr>
+                    </thead>
+                    <tbody>
+                    <g:each in="${modificationInstanceList}" status="i" var="modificationInstance">
+                        <tr class="${(i % 2) == 0 ? 'odd' : 'even'}">
+                        
+                            <td><g:link action="show" id="${modificationInstance.id}">${fieldValue(bean:modificationInstance, field:'id')}</g:link></td>
+                        
+                            <td>${fieldValue(bean:modificationInstance, field:'person')}</td>
+                        
+                            <td>${fieldValue(bean:modificationInstance, field:'modificationType')}</td>
+                        
+                            <td>${fieldValue(bean:modificationInstance, field:'task')}</td>
+                        
+                            <td>${fieldValue(bean:modificationInstance, field:'dateTime')}</td>
+                        
+                            <td>${fieldValue(bean:modificationInstance, field:'comments')}</td>
+                        
+                        </tr>
+                    </g:each>
+                    </tbody>
+                </table>
+            </div>
+            <div class="paginateButtons">
+                <g:paginate total="${Modification.count()}" />
+            </div>
+        </div>
+    </body>
+</html>
Index: /trunk/src/grails-app/views/modification/show.gsp
===================================================================
--- /trunk/src/grails-app/views/modification/show.gsp	(revision 21)
+++ /trunk/src/grails-app/views/modification/show.gsp	(revision 21)
@@ -0,0 +1,79 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Show Modification</title>
+    </head>
+    <body>
+        <div class="nav">
+            <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>
+            <span class="menuButton"><g:link class="list" action="list">Modification List</g:link></span>
+            <span class="menuButton"><g:link class="create" action="create">New Modification</g:link></span>
+        </div>
+        <div class="body">
+            <h1>Show Modification</h1>
+            <g:if test="${flash.message}">
+            <div class="message">${flash.message}</div>
+            </g:if>
+            <div class="dialog">
+                <table>
+                    <tbody>
+
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Id:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:modificationInstance, field:'id')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Person:</td>
+                            
+                            <td valign="top" class="value"><g:link controller="person" action="show" id="${modificationInstance?.person?.id}">${modificationInstance?.person?.encodeAsHTML()}</g:link></td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Modification Type:</td>
+                            
+                            <td valign="top" class="value"><g:link controller="modificationType" action="show" id="${modificationInstance?.modificationType?.id}">${modificationInstance?.modificationType?.encodeAsHTML()}</g:link></td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Task:</td>
+                            
+                            <td valign="top" class="value"><g:link controller="task" action="show" id="${modificationInstance?.task?.id}">${modificationInstance?.task?.encodeAsHTML()}</g:link></td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Date Time:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:modificationInstance, field:'dateTime')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Comments:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:modificationInstance, field:'comments')}</td>
+                            
+                        </tr>
+                    
+                    </tbody>
+                </table>
+            </div>
+            <div class="buttons">
+                <g:form>
+                    <input type="hidden" name="id" value="${modificationInstance?.id}" />
+                    <span class="button"><g:actionSubmit class="edit" value="Edit" /></span>
+                    <span class="button"><g:actionSubmit class="delete" onclick="return confirm('Are you sure?');" value="Delete" /></span>
+                </g:form>
+            </div>
+        </div>
+    </body>
+</html>
Index: /trunk/src/grails-app/views/person/create.gsp
===================================================================
--- /trunk/src/grails-app/views/person/create.gsp	(revision 21)
+++ /trunk/src/grails-app/views/person/create.gsp	(revision 21)
@@ -0,0 +1,83 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Create Person</title>         
+    </head>
+    <body>
+        <div class="nav">
+            <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>
+            <span class="menuButton"><g:link class="list" action="list">Person List</g:link></span>
+        </div>
+        <div class="body">
+            <h1>Create Person</h1>
+            <g:if test="${flash.message}">
+            <div class="message">${flash.message}</div>
+            </g:if>
+            <g:hasErrors bean="${personInstance}">
+            <div class="errors">
+                <g:renderErrors bean="${personInstance}" as="list" />
+            </div>
+            </g:hasErrors>
+            <g:form action="save" method="post" >
+                <div class="dialog">
+                    <table>
+                        <tbody>
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="firstName">First Name:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:personInstance,field:'firstName','errors')}">
+                                    <input type="text" id="firstName" name="firstName" value="${fieldValue(bean:personInstance,field:'firstName')}"/>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="lastName">Last Name:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:personInstance,field:'lastName','errors')}">
+                                    <input type="text" id="lastName" name="lastName" value="${fieldValue(bean:personInstance,field:'lastName')}"/>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="employeeID">Employee ID:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:personInstance,field:'employeeID','errors')}">
+                                    <input type="text" id="employeeID" name="employeeID" value="${fieldValue(bean:personInstance,field:'employeeID')}" />
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="isActive">Is Active:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:personInstance,field:'isActive','errors')}">
+                                    <g:checkBox name="isActive" value="${personInstance?.isActive}" ></g:checkBox>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="personGroup">Person Group:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:personInstance,field:'personGroup','errors')}">
+                                    <g:select optionKey="id" from="${PersonGroup.list()}" name="personGroup.id" value="${personInstance?.personGroup?.id}" ></g:select>
+                                </td>
+                            </tr> 
+                        
+                        </tbody>
+                    </table>
+                </div>
+                <div class="buttons">
+                    <span class="button"><input class="save" type="submit" value="Create" /></span>
+                </div>
+            </g:form>
+        </div>
+    </body>
+</html>
Index: /trunk/src/grails-app/views/person/edit.gsp
===================================================================
--- /trunk/src/grails-app/views/person/edit.gsp	(revision 21)
+++ /trunk/src/grails-app/views/person/edit.gsp	(revision 21)
@@ -0,0 +1,150 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Edit Person</title>
+    </head>
+    <body>
+        <div class="nav">
+            <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>
+            <span class="menuButton"><g:link class="list" action="list">Person List</g:link></span>
+            <span class="menuButton"><g:link class="create" action="create">New Person</g:link></span>
+        </div>
+        <div class="body">
+            <h1>Edit Person</h1>
+            <g:if test="${flash.message}">
+            <div class="message">${flash.message}</div>
+            </g:if>
+            <g:hasErrors bean="${personInstance}">
+            <div class="errors">
+                <g:renderErrors bean="${personInstance}" as="list" />
+            </div>
+            </g:hasErrors>
+            <g:form method="post" >
+                <input type="hidden" name="id" value="${personInstance?.id}" />
+                <div class="dialog">
+                    <table>
+                        <tbody>
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="firstName">First Name:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:personInstance,field:'firstName','errors')}">
+                                    <input type="text" id="firstName" name="firstName" value="${fieldValue(bean:personInstance,field:'firstName')}"/>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="lastName">Last Name:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:personInstance,field:'lastName','errors')}">
+                                    <input type="text" id="lastName" name="lastName" value="${fieldValue(bean:personInstance,field:'lastName')}"/>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="employeeID">Employee ID:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:personInstance,field:'employeeID','errors')}">
+                                    <input type="text" id="employeeID" name="employeeID" value="${fieldValue(bean:personInstance,field:'employeeID')}" />
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="entries">Entries:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:personInstance,field:'entries','errors')}">
+                                    
+<ul>
+<g:each var="e" in="${personInstance?.entries?}">
+    <li><g:link controller="entry" action="show" id="${e.id}">${e?.encodeAsHTML()}</g:link></li>
+</g:each>
+</ul>
+<g:link controller="entry" params="['person.id':personInstance?.id]" action="create">Add Entry</g:link>
+
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="isActive">Is Active:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:personInstance,field:'isActive','errors')}">
+                                    <g:checkBox name="isActive" value="${personInstance?.isActive}" ></g:checkBox>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="modifications">Modifications:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:personInstance,field:'modifications','errors')}">
+                                    
+<ul>
+<g:each var="m" in="${personInstance?.modifications?}">
+    <li><g:link controller="modification" action="show" id="${m.id}">${m?.encodeAsHTML()}</g:link></li>
+</g:each>
+</ul>
+<g:link controller="modification" params="['person.id':personInstance?.id]" action="create">Add Modification</g:link>
+
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="personGroup">Person Group:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:personInstance,field:'personGroup','errors')}">
+                                    <g:select optionKey="id" from="${PersonGroup.list()}" name="personGroup.id" value="${personInstance?.personGroup?.id}" ></g:select>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="personGroups">Person Groups:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:personInstance,field:'personGroups','errors')}">
+                                    
+<ul>
+<g:each var="p" in="${personInstance?.personGroups?}">
+    <li><g:link controller="personGroup" action="show" id="${p.id}">${p?.encodeAsHTML()}</g:link></li>
+</g:each>
+</ul>
+<g:link controller="personGroup" params="['person.id':personInstance?.id]" action="create">Add PersonGroup</g:link>
+
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="tasks">Tasks:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:personInstance,field:'tasks','errors')}">
+                                    
+<ul>
+<g:each var="t" in="${personInstance?.tasks?}">
+    <li><g:link controller="task" action="show" id="${t.id}">${t?.encodeAsHTML()}</g:link></li>
+</g:each>
+</ul>
+<g:link controller="task" params="['person.id':personInstance?.id]" action="create">Add Task</g:link>
+
+                                </td>
+                            </tr> 
+                        
+                        </tbody>
+                    </table>
+                </div>
+                <div class="buttons">
+                    <span class="button"><g:actionSubmit class="save" value="Update" /></span>
+                    <span class="button"><g:actionSubmit class="delete" onclick="return confirm('Are you sure?');" value="Delete" /></span>
+                </div>
+            </g:form>
+        </div>
+    </body>
+</html>
Index: /trunk/src/grails-app/views/person/list.gsp
===================================================================
--- /trunk/src/grails-app/views/person/list.gsp	(revision 21)
+++ /trunk/src/grails-app/views/person/list.gsp	(revision 21)
@@ -0,0 +1,64 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Person List</title>
+    </head>
+    <body>
+        <div class="nav">
+            <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>
+            <span class="menuButton"><g:link class="create" action="create">New Person</g:link></span>
+        </div>
+        <div class="body">
+            <h1>Person List</h1>
+            <g:if test="${flash.message}">
+            <div class="message">${flash.message}</div>
+            </g:if>
+            <div class="list">
+                <table>
+                    <thead>
+                        <tr>
+                        
+                   	        <g:sortableColumn property="id" title="Id" />
+                        
+                   	        <g:sortableColumn property="firstName" title="First Name" />
+                        
+                   	        <g:sortableColumn property="lastName" title="Last Name" />
+                        
+                   	        <g:sortableColumn property="employeeID" title="Employee ID" />
+                        
+                   	        <g:sortableColumn property="isActive" title="Is Active" />
+                        
+                   	        <th>Person Group</th>
+                   	    
+                        </tr>
+                    </thead>
+                    <tbody>
+                    <g:each in="${personInstanceList}" status="i" var="personInstance">
+                        <tr class="${(i % 2) == 0 ? 'odd' : 'even'}">
+                        
+                            <td><g:link action="show" id="${personInstance.id}">${fieldValue(bean:personInstance, field:'id')}</g:link></td>
+                        
+                            <td>${fieldValue(bean:personInstance, field:'firstName')}</td>
+                        
+                            <td>${fieldValue(bean:personInstance, field:'lastName')}</td>
+                        
+                            <td>${fieldValue(bean:personInstance, field:'employeeID')}</td>
+                        
+                            <td>${fieldValue(bean:personInstance, field:'isActive')}</td>
+                        
+                            <td>${fieldValue(bean:personInstance, field:'personGroup')}</td>
+                        
+                        </tr>
+                    </g:each>
+                    </tbody>
+                </table>
+            </div>
+            <div class="paginateButtons">
+                <g:paginate total="${Person.count()}" />
+            </div>
+        </div>
+    </body>
+</html>
Index: /trunk/src/grails-app/views/person/show.gsp
===================================================================
--- /trunk/src/grails-app/views/person/show.gsp	(revision 21)
+++ /trunk/src/grails-app/views/person/show.gsp	(revision 21)
@@ -0,0 +1,119 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Show Person</title>
+    </head>
+    <body>
+        <div class="nav">
+            <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>
+            <span class="menuButton"><g:link class="list" action="list">Person List</g:link></span>
+            <span class="menuButton"><g:link class="create" action="create">New Person</g:link></span>
+        </div>
+        <div class="body">
+            <h1>Show Person</h1>
+            <g:if test="${flash.message}">
+            <div class="message">${flash.message}</div>
+            </g:if>
+            <div class="dialog">
+                <table>
+                    <tbody>
+
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Id:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:personInstance, field:'id')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">First Name:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:personInstance, field:'firstName')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Last Name:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:personInstance, field:'lastName')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Employee ID:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:personInstance, field:'employeeID')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Entries:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:personInstance, field:'entries')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Is Active:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:personInstance, field:'isActive')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Modifications:</td>
+                            
+                            <td  valign="top" style="text-align:left;" class="value">
+                                <ul>
+                                <g:each var="m" in="${personInstance.modifications}">
+                                    <li><g:link controller="modification" action="show" id="${m.id}">${m?.encodeAsHTML()}</g:link></li>
+                                </g:each>
+                                </ul>
+                            </td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Person Group:</td>
+                            
+                            <td valign="top" class="value"><g:link controller="personGroup" action="show" id="${personInstance?.personGroup?.id}">${personInstance?.personGroup?.encodeAsHTML()}</g:link></td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Person Groups:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:personInstance, field:'personGroups')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Tasks:</td>
+                            
+                            <td  valign="top" style="text-align:left;" class="value">
+                                <ul>
+                                <g:each var="t" in="${personInstance.tasks}">
+                                    <li><g:link controller="task" action="show" id="${t.id}">${t?.encodeAsHTML()}</g:link></li>
+                                </g:each>
+                                </ul>
+                            </td>
+                            
+                        </tr>
+                    
+                    </tbody>
+                </table>
+            </div>
+            <div class="buttons">
+                <g:form>
+                    <input type="hidden" name="id" value="${personInstance?.id}" />
+                    <span class="button"><g:actionSubmit class="edit" value="Edit" /></span>
+                    <span class="button"><g:actionSubmit class="delete" onclick="return confirm('Are you sure?');" value="Delete" /></span>
+                </g:form>
+            </div>
+        </div>
+    </body>
+</html>
Index: /trunk/src/grails-app/views/task/create.gsp
===================================================================
--- /trunk/src/grails-app/views/task/create.gsp	(revision 21)
+++ /trunk/src/grails-app/views/task/create.gsp	(revision 21)
@@ -0,0 +1,92 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Create Task</title>         
+    </head>
+    <body>
+        <div class="nav">
+            <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>
+            <span class="menuButton"><g:link class="list" action="list">Task List</g:link></span>
+        </div>
+        <div class="body">
+            <h1>Create Task</h1>
+            <g:if test="${flash.message}">
+            <div class="message">${flash.message}</div>
+            </g:if>
+            <g:hasErrors bean="${taskInstance}">
+            <div class="errors">
+                <g:renderErrors bean="${taskInstance}" as="list" />
+            </div>
+            </g:hasErrors>
+            <g:form action="save" method="post" >
+                <div class="dialog">
+                    <table>
+                        <tbody>
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="name">Name:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'name','errors')}">
+                                    <input type="text" id="name" name="name" value="${fieldValue(bean:taskInstance,field:'name')}"/>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="description">Description:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'description','errors')}">
+                                    <input type="text" id="description" name="description" value="${fieldValue(bean:taskInstance,field:'description')}"/>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="person">Person:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'person','errors')}">
+                                    <g:select optionKey="id" from="${Person.list()}" name="person.id" value="${taskInstance?.person?.id}" ></g:select>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="scheduledDate">Scheduled Date:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'scheduledDate','errors')}">
+                                    <g:datePicker name="scheduledDate" value="${taskInstance?.scheduledDate}" ></g:datePicker>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="targetDate">Target Date:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'targetDate','errors')}">
+                                    <g:datePicker name="targetDate" value="${taskInstance?.targetDate}" ></g:datePicker>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="taskGroup">Task Group:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'taskGroup','errors')}">
+                                    <g:select optionKey="id" from="${TaskGroup.list()}" name="taskGroup.id" value="${taskInstance?.taskGroup?.id}" ></g:select>
+                                </td>
+                            </tr> 
+                        
+                        </tbody>
+                    </table>
+                </div>
+                <div class="buttons">
+                    <span class="button"><input class="save" type="submit" value="Create" /></span>
+                </div>
+            </g:form>
+        </div>
+    </body>
+</html>
Index: /trunk/src/grails-app/views/task/edit.gsp
===================================================================
--- /trunk/src/grails-app/views/task/edit.gsp	(revision 21)
+++ /trunk/src/grails-app/views/task/edit.gsp	(revision 21)
@@ -0,0 +1,127 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Edit Task</title>
+    </head>
+    <body>
+        <div class="nav">
+            <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>
+            <span class="menuButton"><g:link class="list" action="list">Task List</g:link></span>
+            <span class="menuButton"><g:link class="create" action="create">New Task</g:link></span>
+        </div>
+        <div class="body">
+            <h1>Edit Task</h1>
+            <g:if test="${flash.message}">
+            <div class="message">${flash.message}</div>
+            </g:if>
+            <g:hasErrors bean="${taskInstance}">
+            <div class="errors">
+                <g:renderErrors bean="${taskInstance}" as="list" />
+            </div>
+            </g:hasErrors>
+            <g:form method="post" >
+                <input type="hidden" name="id" value="${taskInstance?.id}" />
+                <div class="dialog">
+                    <table>
+                        <tbody>
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="name">Name:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'name','errors')}">
+                                    <input type="text" id="name" name="name" value="${fieldValue(bean:taskInstance,field:'name')}"/>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="description">Description:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'description','errors')}">
+                                    <input type="text" id="description" name="description" value="${fieldValue(bean:taskInstance,field:'description')}"/>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="entries">Entries:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'entries','errors')}">
+                                    
+<ul>
+<g:each var="e" in="${taskInstance?.entries?}">
+    <li><g:link controller="entry" action="show" id="${e.id}">${e?.encodeAsHTML()}</g:link></li>
+</g:each>
+</ul>
+<g:link controller="entry" params="['task.id':taskInstance?.id]" action="create">Add Entry</g:link>
+
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="modifications">Modifications:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'modifications','errors')}">
+                                    
+<ul>
+<g:each var="m" in="${taskInstance?.modifications?}">
+    <li><g:link controller="modification" action="show" id="${m.id}">${m?.encodeAsHTML()}</g:link></li>
+</g:each>
+</ul>
+<g:link controller="modification" params="['task.id':taskInstance?.id]" action="create">Add Modification</g:link>
+
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="person">Person:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'person','errors')}">
+                                    <g:select optionKey="id" from="${Person.list()}" name="person.id" value="${taskInstance?.person?.id}" ></g:select>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="scheduledDate">Scheduled Date:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'scheduledDate','errors')}">
+                                    <g:datePicker name="scheduledDate" value="${taskInstance?.scheduledDate}" ></g:datePicker>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="targetDate">Target Date:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'targetDate','errors')}">
+                                    <g:datePicker name="targetDate" value="${taskInstance?.targetDate}" ></g:datePicker>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="taskGroup">Task Group:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'taskGroup','errors')}">
+                                    <g:select optionKey="id" from="${TaskGroup.list()}" name="taskGroup.id" value="${taskInstance?.taskGroup?.id}" ></g:select>
+                                </td>
+                            </tr> 
+                        
+                        </tbody>
+                    </table>
+                </div>
+                <div class="buttons">
+                    <span class="button"><g:actionSubmit class="save" value="Update" /></span>
+                    <span class="button"><g:actionSubmit class="delete" onclick="return confirm('Are you sure?');" value="Delete" /></span>
+                </div>
+            </g:form>
+        </div>
+    </body>
+</html>
Index: /trunk/src/grails-app/views/task/list.gsp
===================================================================
--- /trunk/src/grails-app/views/task/list.gsp	(revision 21)
+++ /trunk/src/grails-app/views/task/list.gsp	(revision 21)
@@ -0,0 +1,64 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Task List</title>
+    </head>
+    <body>
+        <div class="nav">
+            <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>
+            <span class="menuButton"><g:link class="create" action="create">New Task</g:link></span>
+        </div>
+        <div class="body">
+            <h1>Task List</h1>
+            <g:if test="${flash.message}">
+            <div class="message">${flash.message}</div>
+            </g:if>
+            <div class="list">
+                <table>
+                    <thead>
+                        <tr>
+                        
+                   	        <g:sortableColumn property="id" title="Id" />
+                        
+                   	        <g:sortableColumn property="name" title="Name" />
+                        
+                   	        <g:sortableColumn property="description" title="Description" />
+                        
+                   	        <th>Person</th>
+                   	    
+                   	        <g:sortableColumn property="scheduledDate" title="Scheduled Date" />
+                        
+                   	        <g:sortableColumn property="targetDate" title="Target Date" />
+                        
+                        </tr>
+                    </thead>
+                    <tbody>
+                    <g:each in="${taskInstanceList}" status="i" var="taskInstance">
+                        <tr class="${(i % 2) == 0 ? 'odd' : 'even'}">
+                        
+                            <td><g:link action="show" id="${taskInstance.id}">${fieldValue(bean:taskInstance, field:'id')}</g:link></td>
+                        
+                            <td>${fieldValue(bean:taskInstance, field:'name')}</td>
+                        
+                            <td>${fieldValue(bean:taskInstance, field:'description')}</td>
+                        
+                            <td>${fieldValue(bean:taskInstance, field:'person')}</td>
+                        
+                            <td>${fieldValue(bean:taskInstance, field:'scheduledDate')}</td>
+                        
+                            <td>${fieldValue(bean:taskInstance, field:'targetDate')}</td>
+                        
+                        </tr>
+                    </g:each>
+                    </tbody>
+                </table>
+            </div>
+            <div class="paginateButtons">
+                <g:paginate total="${Task.count()}" />
+            </div>
+        </div>
+    </body>
+</html>
Index: /trunk/src/grails-app/views/task/show.gsp
===================================================================
--- /trunk/src/grails-app/views/task/show.gsp	(revision 21)
+++ /trunk/src/grails-app/views/task/show.gsp	(revision 21)
@@ -0,0 +1,112 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Show Task</title>
+    </head>
+    <body>
+        <div class="nav">
+            <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>
+            <span class="menuButton"><g:link class="list" action="list">Task List</g:link></span>
+            <span class="menuButton"><g:link class="create" action="create">New Task</g:link></span>
+        </div>
+        <div class="body">
+            <h1>Show Task</h1>
+            <g:if test="${flash.message}">
+            <div class="message">${flash.message}</div>
+            </g:if>
+            <div class="dialog">
+                <table>
+                    <tbody>
+
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Id:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:taskInstance, field:'id')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Name:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:taskInstance, field:'name')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Description:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:taskInstance, field:'description')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Entries:</td>
+                            
+                            <td  valign="top" style="text-align:left;" class="value">
+                                <ul>
+                                <g:each var="e" in="${taskInstance.entries}">
+                                    <li><g:link controller="entry" action="show" id="${e.id}">${e?.encodeAsHTML()}</g:link></li>
+                                </g:each>
+                                </ul>
+                            </td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Modifications:</td>
+                            
+                            <td  valign="top" style="text-align:left;" class="value">
+                                <ul>
+                                <g:each var="m" in="${taskInstance.modifications}">
+                                    <li><g:link controller="modification" action="show" id="${m.id}">${m?.encodeAsHTML()}</g:link></li>
+                                </g:each>
+                                </ul>
+                            </td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Person:</td>
+                            
+                            <td valign="top" class="value"><g:link controller="person" action="show" id="${taskInstance?.person?.id}">${taskInstance?.person?.encodeAsHTML()}</g:link></td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Scheduled Date:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:taskInstance, field:'scheduledDate')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Target Date:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:taskInstance, field:'targetDate')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Task Group:</td>
+                            
+                            <td valign="top" class="value"><g:link controller="taskGroup" action="show" id="${taskInstance?.taskGroup?.id}">${taskInstance?.taskGroup?.encodeAsHTML()}</g:link></td>
+                            
+                        </tr>
+                    
+                    </tbody>
+                </table>
+            </div>
+            <div class="buttons">
+                <g:form>
+                    <input type="hidden" name="id" value="${taskInstance?.id}" />
+                    <span class="button"><g:actionSubmit class="edit" value="Edit" /></span>
+                    <span class="button"><g:actionSubmit class="delete" onclick="return confirm('Are you sure?');" value="Delete" /></span>
+                </g:form>
+            </div>
+        </div>
+    </body>
+</html>
Index: /trunk/src/grails-app/views/taskGroup/create.gsp
===================================================================
--- /trunk/src/grails-app/views/taskGroup/create.gsp	(revision 21)
+++ /trunk/src/grails-app/views/taskGroup/create.gsp	(revision 21)
@@ -0,0 +1,65 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Create TaskGroup</title>         
+    </head>
+    <body>
+        <div class="nav">
+            <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>
+            <span class="menuButton"><g:link class="list" action="list">TaskGroup List</g:link></span>
+        </div>
+        <div class="body">
+            <h1>Create TaskGroup</h1>
+            <g:if test="${flash.message}">
+            <div class="message">${flash.message}</div>
+            </g:if>
+            <g:hasErrors bean="${taskGroupInstance}">
+            <div class="errors">
+                <g:renderErrors bean="${taskGroupInstance}" as="list" />
+            </div>
+            </g:hasErrors>
+            <g:form action="save" method="post" >
+                <div class="dialog">
+                    <table>
+                        <tbody>
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="name">Name:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:taskGroupInstance,field:'name','errors')}">
+                                    <input type="text" id="name" name="name" value="${fieldValue(bean:taskGroupInstance,field:'name')}"/>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="description">Description:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:taskGroupInstance,field:'description','errors')}">
+                                    <input type="text" id="description" name="description" value="${fieldValue(bean:taskGroupInstance,field:'description')}"/>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="isActive">Is Active:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:taskGroupInstance,field:'isActive','errors')}">
+                                    <g:checkBox name="isActive" value="${taskGroupInstance?.isActive}" ></g:checkBox>
+                                </td>
+                            </tr> 
+                        
+                        </tbody>
+                    </table>
+                </div>
+                <div class="buttons">
+                    <span class="button"><input class="save" type="submit" value="Create" /></span>
+                </div>
+            </g:form>
+        </div>
+    </body>
+</html>
Index: /trunk/src/grails-app/views/taskGroup/edit.gsp
===================================================================
--- /trunk/src/grails-app/views/taskGroup/edit.gsp	(revision 21)
+++ /trunk/src/grails-app/views/taskGroup/edit.gsp	(revision 21)
@@ -0,0 +1,84 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Edit TaskGroup</title>
+    </head>
+    <body>
+        <div class="nav">
+            <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>
+            <span class="menuButton"><g:link class="list" action="list">TaskGroup List</g:link></span>
+            <span class="menuButton"><g:link class="create" action="create">New TaskGroup</g:link></span>
+        </div>
+        <div class="body">
+            <h1>Edit TaskGroup</h1>
+            <g:if test="${flash.message}">
+            <div class="message">${flash.message}</div>
+            </g:if>
+            <g:hasErrors bean="${taskGroupInstance}">
+            <div class="errors">
+                <g:renderErrors bean="${taskGroupInstance}" as="list" />
+            </div>
+            </g:hasErrors>
+            <g:form method="post" >
+                <input type="hidden" name="id" value="${taskGroupInstance?.id}" />
+                <div class="dialog">
+                    <table>
+                        <tbody>
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="name">Name:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:taskGroupInstance,field:'name','errors')}">
+                                    <input type="text" id="name" name="name" value="${fieldValue(bean:taskGroupInstance,field:'name')}"/>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="description">Description:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:taskGroupInstance,field:'description','errors')}">
+                                    <input type="text" id="description" name="description" value="${fieldValue(bean:taskGroupInstance,field:'description')}"/>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="isActive">Is Active:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:taskGroupInstance,field:'isActive','errors')}">
+                                    <g:checkBox name="isActive" value="${taskGroupInstance?.isActive}" ></g:checkBox>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="tasks">Tasks:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:taskGroupInstance,field:'tasks','errors')}">
+                                    
+<ul>
+<g:each var="t" in="${taskGroupInstance?.tasks?}">
+    <li><g:link controller="task" action="show" id="${t.id}">${t?.encodeAsHTML()}</g:link></li>
+</g:each>
+</ul>
+<g:link controller="task" params="['taskGroup.id':taskGroupInstance?.id]" action="create">Add Task</g:link>
+
+                                </td>
+                            </tr> 
+                        
+                        </tbody>
+                    </table>
+                </div>
+                <div class="buttons">
+                    <span class="button"><g:actionSubmit class="save" value="Update" /></span>
+                    <span class="button"><g:actionSubmit class="delete" onclick="return confirm('Are you sure?');" value="Delete" /></span>
+                </div>
+            </g:form>
+        </div>
+    </body>
+</html>
Index: /trunk/src/grails-app/views/taskGroup/list.gsp
===================================================================
--- /trunk/src/grails-app/views/taskGroup/list.gsp	(revision 21)
+++ /trunk/src/grails-app/views/taskGroup/list.gsp	(revision 21)
@@ -0,0 +1,56 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>TaskGroup List</title>
+    </head>
+    <body>
+        <div class="nav">
+            <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>
+            <span class="menuButton"><g:link class="create" action="create">New TaskGroup</g:link></span>
+        </div>
+        <div class="body">
+            <h1>TaskGroup List</h1>
+            <g:if test="${flash.message}">
+            <div class="message">${flash.message}</div>
+            </g:if>
+            <div class="list">
+                <table>
+                    <thead>
+                        <tr>
+                        
+                   	        <g:sortableColumn property="id" title="Id" />
+                        
+                   	        <g:sortableColumn property="name" title="Name" />
+                        
+                   	        <g:sortableColumn property="description" title="Description" />
+                        
+                   	        <g:sortableColumn property="isActive" title="Is Active" />
+                        
+                        </tr>
+                    </thead>
+                    <tbody>
+                    <g:each in="${taskGroupInstanceList}" status="i" var="taskGroupInstance">
+                        <tr class="${(i % 2) == 0 ? 'odd' : 'even'}">
+                        
+                            <td><g:link action="show" id="${taskGroupInstance.id}">${fieldValue(bean:taskGroupInstance, field:'id')}</g:link></td>
+                        
+                            <td>${fieldValue(bean:taskGroupInstance, field:'name')}</td>
+                        
+                            <td>${fieldValue(bean:taskGroupInstance, field:'description')}</td>
+                        
+                            <td>${fieldValue(bean:taskGroupInstance, field:'isActive')}</td>
+                        
+                        </tr>
+                    </g:each>
+                    </tbody>
+                </table>
+            </div>
+            <div class="paginateButtons">
+                <g:paginate total="${TaskGroup.count()}" />
+            </div>
+        </div>
+    </body>
+</html>
Index: /trunk/src/grails-app/views/taskGroup/show.gsp
===================================================================
--- /trunk/src/grails-app/views/taskGroup/show.gsp	(revision 21)
+++ /trunk/src/grails-app/views/taskGroup/show.gsp	(revision 21)
@@ -0,0 +1,78 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Show TaskGroup</title>
+    </head>
+    <body>
+        <div class="nav">
+            <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>
+            <span class="menuButton"><g:link class="list" action="list">TaskGroup List</g:link></span>
+            <span class="menuButton"><g:link class="create" action="create">New TaskGroup</g:link></span>
+        </div>
+        <div class="body">
+            <h1>Show TaskGroup</h1>
+            <g:if test="${flash.message}">
+            <div class="message">${flash.message}</div>
+            </g:if>
+            <div class="dialog">
+                <table>
+                    <tbody>
+
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Id:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:taskGroupInstance, field:'id')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Name:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:taskGroupInstance, field:'name')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Description:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:taskGroupInstance, field:'description')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Is Active:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:taskGroupInstance, field:'isActive')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Tasks:</td>
+                            
+                            <td  valign="top" style="text-align:left;" class="value">
+                                <ul>
+                                <g:each var="t" in="${taskGroupInstance.tasks}">
+                                    <li><g:link controller="task" action="show" id="${t.id}">${t?.encodeAsHTML()}</g:link></li>
+                                </g:each>
+                                </ul>
+                            </td>
+                            
+                        </tr>
+                    
+                    </tbody>
+                </table>
+            </div>
+            <div class="buttons">
+                <g:form>
+                    <input type="hidden" name="id" value="${taskGroupInstance?.id}" />
+                    <span class="button"><g:actionSubmit class="edit" value="Edit" /></span>
+                    <span class="button"><g:actionSubmit class="delete" onclick="return confirm('Are you sure?');" value="Delete" /></span>
+                </g:form>
+            </div>
+        </div>
+    </body>
+</html>
Index: /trunk/src/stacktrace.log
===================================================================
--- /trunk/src/stacktrace.log	(revision 20)
+++ /trunk/src/stacktrace.log	(revision 21)
@@ -7797,2 +7797,1068 @@
 	at gant.Gant.processTargets(Gant.groovy:436)
 	at gant.Gant.processArgs(Gant.groovy:372)
+[6959] StackTrace Sanitizing stacktrace:
+groovy.lang.MissingMethodException: No signature of method: TypeOfPersonGroup.getByName() is applicable for argument types: (java.lang.String) values: {"Electrical"}
+	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
+	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
+	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
+	at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
+	at org.codehaus.groovy.runtime.MetaClassHelper.doConstructorInvoke(MetaClassHelper.java:535)
+	at groovy.lang.MetaClassImpl.doConstructorInvoke(MetaClassImpl.java:2356)
+	at groovy.lang.MetaClassImpl.invokeConstructor(MetaClassImpl.java:1255)
+	at groovy.lang.MetaClassImpl.invokeConstructor(MetaClassImpl.java:1185)
+	at groovy.lang.ExpandoMetaClass.invokeConstructor(ExpandoMetaClass.java:524)
+	at org.codehaus.groovy.runtime.InvokerHelper.invokeConstructorOf(InvokerHelper.java:809)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeNewN(ScriptBytecodeAdapter.java:230)
+	at org.codehaus.groovy.grails.plugins.orm.hibernate.HibernateGrailsPlugin$_addDynamicFinderSupport_closure5.doCall(HibernateGrailsPlugin.groovy:261)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at groovy.lang.Closure.call(Closure.java:292)
+	at org.codehaus.groovy.runtime.metaclass.ClosureStaticMetaMethod.invoke(ClosureStaticMetaMethod.java:55)
+	at groovy.lang.MetaClassImpl.invokeStaticMissingMethod(MetaClassImpl.java:1153)
+	at groovy.lang.MetaClassImpl.invokeStaticMethod(MetaClassImpl.java:1141)
+	at groovy.lang.ExpandoMetaClass.invokeStaticMethod(ExpandoMetaClass.java:957)
+	at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:749)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:170)
+	at BootStrap$_closure1.doCall(BootStrap.groovy:11)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at groovy.lang.Closure.call(Closure.java:292)
+	at org.codehaus.groovy.grails.commons.DefaultGrailsBootstrapClass.callInit(DefaultGrailsBootstrapClass.java:43)
+	at org.codehaus.groovy.grails.web.context.GrailsConfigUtils.executeGrailsBootstraps(GrailsConfigUtils.java:64)
+	at org.codehaus.groovy.grails.web.context.GrailsContextLoader.createWebApplicationContext(GrailsContextLoader.java:61)
+	at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199)
+	at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45)
+	at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:548)
+	at org.mortbay.jetty.servlet.Context.startContext(Context.java:136)
+	at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1234)
+	at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
+	at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:460)
+	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
+	at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
+	at org.mortbay.jetty.Server.doStart(Server.java:222)
+	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at org.codehaus.groovy.runtime.InvokerHelper.invokePojoMethod(InvokerHelper.java:766)
+	at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:754)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:170)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethod0(ScriptBytecodeAdapter.java:198)
+	at RunApp_groovy$_run_closure2_closure7.doCall(RunApp_groovy:67)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:78)
+	at RunApp_groovy$_run_closure2_closure7.doCall(RunApp_groovy)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at groovy.lang.Closure.call(Closure.java:292)
+	at groovy.lang.Closure.call(Closure.java:287)
+	at sun.reflect.GeneratedMethodAccessor57.invoke(Unknown Source)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at org.codehaus.groovy.runtime.InvokerHelper.invokePogoMethod(InvokerHelper.java:778)
+	at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:758)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:170)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeClosure(ScriptBytecodeAdapter.java:605)
+	at Init_groovy$_run_closure6.doCall(Init_groovy:131)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at groovy.lang.Closure.call(Closure.java:292)
+	at groovy.lang.Script.invokeMethod(Script.java:87)
+	at groovy.lang.MetaClassImpl.invokeMethodOnGroovyObject(MetaClassImpl.java:947)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:894)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at groovy.lang.DelegatingMetaClass.invokeMethod(DelegatingMetaClass.java:142)
+	at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:79)
+	at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:94)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:78)
+	at RunApp_groovy$_run_closure2.doCall(RunApp_groovy:66)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at groovy.lang.DelegatingMetaClass.invokeMethod(DelegatingMetaClass.java:142)
+	at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:79)
+	at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:94)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:78)
+	at RunApp_groovy$_run_closure2.doCall(RunApp_groovy)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at groovy.lang.DelegatingMetaClass.invokeMethod(DelegatingMetaClass.java:142)
+	at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:79)
+	at groovy.lang.Closure.call(Closure.java:292)
+	at groovy.lang.Script.invokeMethod(Script.java:87)
+	at groovy.lang.MetaClassImpl.invokeMethodOnGroovyObject(MetaClassImpl.java:947)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:894)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at groovy.lang.DelegatingMetaClass.invokeMethod(DelegatingMetaClass.java:142)
+	at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:79)
+	at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:94)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:78)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrent0(ScriptBytecodeAdapter.java:112)
+	at RunApp_groovy$_run_closure1.doCall(RunApp_groovy:57)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at groovy.lang.DelegatingMetaClass.invokeMethod(DelegatingMetaClass.java:142)
+	at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:79)
+	at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:94)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:78)
+	at RunApp_groovy$_run_closure1.doCall(RunApp_groovy)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at groovy.lang.DelegatingMetaClass.invokeMethod(DelegatingMetaClass.java:142)
+	at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:79)
+	at groovy.lang.Closure.call(Closure.java:292)
+	at groovy.lang.Closure.call(Closure.java:287)
+	at groovy.lang.Closure.run(Closure.java:368)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at groovy.lang.DelegatingMetaClass.invokeMethod(DelegatingMetaClass.java:142)
+	at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:79)
+	at org.codehaus.groovy.runtime.InvokerHelper.invokePogoMethod(InvokerHelper.java:778)
+	at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:758)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:170)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethod0(ScriptBytecodeAdapter.java:198)
+	at gant.Gant.dispatch(Gant.groovy:271)
+	at gant.Gant.this$2$dispatch(Gant.groovy)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:674)
+	at sun.reflect.GeneratedMethodAccessor7.invoke(Unknown Source)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at org.codehaus.groovy.runtime.InvokerHelper.invokePogoMethod(InvokerHelper.java:778)
+	at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:758)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:170)
+	at gant.Gant.invokeMethod(Gant.groovy)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:78)
+	at gant.Gant.processTargets(Gant.groovy:436)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:78)
+	at gant.Gant.processArgs(Gant.groovy:372)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at org.codehaus.groovy.runtime.InvokerHelper.invokePogoMethod(InvokerHelper.java:778)
+	at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:758)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:170)
+	at org.codehaus.groovy.grails.cli.GrailsScriptRunner.callPluginOrGrailsScript(GrailsScriptRunner.groovy:261)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeStaticMethod(MetaClassImpl.java:1105)
+	at groovy.lang.ExpandoMetaClass.invokeStaticMethod(ExpandoMetaClass.java:957)
+	at org.codehaus.groovy.runtime.InvokerHelper.invokeStaticMethod(InvokerHelper.java:804)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeStaticMethodN(ScriptBytecodeAdapter.java:215)
+	at org.codehaus.groovy.grails.cli.GrailsScriptRunner.main(GrailsScriptRunner.groovy:121)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.grails.cli.support.GrailsStarter.rootLoader(GrailsStarter.java:193)
+	at org.codehaus.groovy.grails.cli.support.GrailsStarter.main(GrailsStarter.java:218)
+[6975] StackTrace Sanitizing stacktrace:
+org.codehaus.groovy.runtime.InvokerInvocationException: groovy.lang.MissingMethodException: No signature of method: TypeOfPersonGroup.getByName() is applicable for argument types: (java.lang.String) values: {"Electrical"}
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:92)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at groovy.lang.Closure.call(Closure.java:292)
+	at org.codehaus.groovy.grails.commons.DefaultGrailsBootstrapClass.callInit(DefaultGrailsBootstrapClass.java:43)
+	at org.codehaus.groovy.grails.web.context.GrailsConfigUtils.executeGrailsBootstraps(GrailsConfigUtils.java:64)
+	at org.codehaus.groovy.grails.web.context.GrailsContextLoader.createWebApplicationContext(GrailsContextLoader.java:61)
+	at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199)
+	at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45)
+	at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:548)
+	at org.mortbay.jetty.servlet.Context.startContext(Context.java:136)
+	at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1234)
+	at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
+	at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:460)
+	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
+	at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
+	at org.mortbay.jetty.Server.doStart(Server.java:222)
+	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at org.codehaus.groovy.runtime.InvokerHelper.invokePojoMethod(InvokerHelper.java:766)
+	at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:754)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:170)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethod0(ScriptBytecodeAdapter.java:198)
+	at RunApp_groovy$_run_closure2_closure7.doCall(RunApp_groovy:67)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:78)
+	at RunApp_groovy$_run_closure2_closure7.doCall(RunApp_groovy)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at groovy.lang.Closure.call(Closure.java:292)
+	at groovy.lang.Closure.call(Closure.java:287)
+	at sun.reflect.GeneratedMethodAccessor57.invoke(Unknown Source)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at org.codehaus.groovy.runtime.InvokerHelper.invokePogoMethod(InvokerHelper.java:778)
+	at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:758)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:170)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeClosure(ScriptBytecodeAdapter.java:605)
+	at Init_groovy$_run_closure6.doCall(Init_groovy:131)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at groovy.lang.Closure.call(Closure.java:292)
+	at groovy.lang.Script.invokeMethod(Script.java:87)
+	at groovy.lang.MetaClassImpl.invokeMethodOnGroovyObject(MetaClassImpl.java:947)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:894)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at groovy.lang.DelegatingMetaClass.invokeMethod(DelegatingMetaClass.java:142)
+	at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:79)
+	at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:94)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:78)
+	at RunApp_groovy$_run_closure2.doCall(RunApp_groovy:66)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at groovy.lang.DelegatingMetaClass.invokeMethod(DelegatingMetaClass.java:142)
+	at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:79)
+	at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:94)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:78)
+	at RunApp_groovy$_run_closure2.doCall(RunApp_groovy)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at groovy.lang.DelegatingMetaClass.invokeMethod(DelegatingMetaClass.java:142)
+	at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:79)
+	at groovy.lang.Closure.call(Closure.java:292)
+	at groovy.lang.Script.invokeMethod(Script.java:87)
+	at groovy.lang.MetaClassImpl.invokeMethodOnGroovyObject(MetaClassImpl.java:947)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:894)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at groovy.lang.DelegatingMetaClass.invokeMethod(DelegatingMetaClass.java:142)
+	at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:79)
+	at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:94)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:78)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrent0(ScriptBytecodeAdapter.java:112)
+	at RunApp_groovy$_run_closure1.doCall(RunApp_groovy:57)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at groovy.lang.DelegatingMetaClass.invokeMethod(DelegatingMetaClass.java:142)
+	at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:79)
+	at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:94)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:78)
+	at RunApp_groovy$_run_closure1.doCall(RunApp_groovy)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at groovy.lang.DelegatingMetaClass.invokeMethod(DelegatingMetaClass.java:142)
+	at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:79)
+	at groovy.lang.Closure.call(Closure.java:292)
+	at groovy.lang.Closure.call(Closure.java:287)
+	at groovy.lang.Closure.run(Closure.java:368)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at groovy.lang.DelegatingMetaClass.invokeMethod(DelegatingMetaClass.java:142)
+	at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:79)
+	at org.codehaus.groovy.runtime.InvokerHelper.invokePogoMethod(InvokerHelper.java:778)
+	at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:758)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:170)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethod0(ScriptBytecodeAdapter.java:198)
+	at gant.Gant.dispatch(Gant.groovy:271)
+	at gant.Gant.this$2$dispatch(Gant.groovy)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:674)
+	at sun.reflect.GeneratedMethodAccessor7.invoke(Unknown Source)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at org.codehaus.groovy.runtime.InvokerHelper.invokePogoMethod(InvokerHelper.java:778)
+	at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:758)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:170)
+	at gant.Gant.invokeMethod(Gant.groovy)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:78)
+	at gant.Gant.processTargets(Gant.groovy:436)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:78)
+	at gant.Gant.processArgs(Gant.groovy:372)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at org.codehaus.groovy.runtime.InvokerHelper.invokePogoMethod(InvokerHelper.java:778)
+	at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:758)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:170)
+	at org.codehaus.groovy.grails.cli.GrailsScriptRunner.callPluginOrGrailsScript(GrailsScriptRunner.groovy:261)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeStaticMethod(MetaClassImpl.java:1105)
+	at groovy.lang.ExpandoMetaClass.invokeStaticMethod(ExpandoMetaClass.java:957)
+	at org.codehaus.groovy.runtime.InvokerHelper.invokeStaticMethod(InvokerHelper.java:804)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeStaticMethodN(ScriptBytecodeAdapter.java:215)
+	at org.codehaus.groovy.grails.cli.GrailsScriptRunner.main(GrailsScriptRunner.groovy:121)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.grails.cli.support.GrailsStarter.rootLoader(GrailsStarter.java:193)
+	at org.codehaus.groovy.grails.cli.support.GrailsStarter.main(GrailsStarter.java:218)
+Caused by: groovy.lang.MissingMethodException: No signature of method: TypeOfPersonGroup.getByName() is applicable for argument types: (java.lang.String) values: {"Electrical"}
+	at BootStrap$_closure1.doCall(BootStrap.groovy:11)
+	at RunApp_groovy$_run_closure2_closure7.doCall(RunApp_groovy:67)
+	at RunApp_groovy$_run_closure2_closure7.doCall(RunApp_groovy)
+	at Init_groovy$_run_closure6.doCall(Init_groovy:131)
+	at RunApp_groovy$_run_closure2.doCall(RunApp_groovy:66)
+	at RunApp_groovy$_run_closure2.doCall(RunApp_groovy)
+	at RunApp_groovy$_run_closure1.doCall(RunApp_groovy:57)
+	at RunApp_groovy$_run_closure1.doCall(RunApp_groovy)
+	at gant.Gant.dispatch(Gant.groovy:271)
+	at gant.Gant.this$2$dispatch(Gant.groovy)
+	at gant.Gant.invokeMethod(Gant.groovy)
+	at gant.Gant.processTargets(Gant.groovy:436)
+	at gant.Gant.processArgs(Gant.groovy:372)
+[6981] StackTrace Sanitizing stacktrace:
+groovy.lang.MissingMethodException: No signature of method: TypeOfPersonGroup.getName() is applicable for argument types: (java.lang.String) values: {"Electrical"}
+	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
+	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
+	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
+	at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
+	at org.codehaus.groovy.runtime.MetaClassHelper.doConstructorInvoke(MetaClassHelper.java:535)
+	at groovy.lang.MetaClassImpl.doConstructorInvoke(MetaClassImpl.java:2356)
+	at groovy.lang.MetaClassImpl.invokeConstructor(MetaClassImpl.java:1255)
+	at groovy.lang.MetaClassImpl.invokeConstructor(MetaClassImpl.java:1185)
+	at groovy.lang.ExpandoMetaClass.invokeConstructor(ExpandoMetaClass.java:524)
+	at org.codehaus.groovy.runtime.InvokerHelper.invokeConstructorOf(InvokerHelper.java:809)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeNewN(ScriptBytecodeAdapter.java:230)
+	at org.codehaus.groovy.grails.plugins.orm.hibernate.HibernateGrailsPlugin$_addDynamicFinderSupport_closure5.doCall(HibernateGrailsPlugin.groovy:261)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at groovy.lang.Closure.call(Closure.java:292)
+	at org.codehaus.groovy.runtime.metaclass.ClosureStaticMetaMethod.invoke(ClosureStaticMetaMethod.java:55)
+	at groovy.lang.MetaClassImpl.invokeStaticMissingMethod(MetaClassImpl.java:1153)
+	at groovy.lang.MetaClassImpl.invokeStaticMethod(MetaClassImpl.java:1141)
+	at groovy.lang.ExpandoMetaClass.invokeStaticMethod(ExpandoMetaClass.java:957)
+	at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:749)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:170)
+	at BootStrap$_closure1.doCall(BootStrap.groovy:11)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at groovy.lang.Closure.call(Closure.java:292)
+	at org.codehaus.groovy.grails.commons.DefaultGrailsBootstrapClass.callInit(DefaultGrailsBootstrapClass.java:43)
+	at org.codehaus.groovy.grails.web.context.GrailsConfigUtils.executeGrailsBootstraps(GrailsConfigUtils.java:64)
+	at org.codehaus.groovy.grails.web.context.GrailsContextLoader.createWebApplicationContext(GrailsContextLoader.java:61)
+	at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199)
+	at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45)
+	at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:548)
+	at org.mortbay.jetty.servlet.Context.startContext(Context.java:136)
+	at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1234)
+	at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
+	at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:460)
+	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
+	at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
+	at org.mortbay.jetty.Server.doStart(Server.java:222)
+	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at org.codehaus.groovy.runtime.InvokerHelper.invokePojoMethod(InvokerHelper.java:766)
+	at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:754)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:170)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethod0(ScriptBytecodeAdapter.java:198)
+	at RunApp_groovy$_run_closure2_closure7.doCall(RunApp_groovy:67)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:78)
+	at RunApp_groovy$_run_closure2_closure7.doCall(RunApp_groovy)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at groovy.lang.Closure.call(Closure.java:292)
+	at groovy.lang.Closure.call(Closure.java:287)
+	at sun.reflect.GeneratedMethodAccessor57.invoke(Unknown Source)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at org.codehaus.groovy.runtime.InvokerHelper.invokePogoMethod(InvokerHelper.java:778)
+	at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:758)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:170)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeClosure(ScriptBytecodeAdapter.java:605)
+	at Init_groovy$_run_closure6.doCall(Init_groovy:131)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at groovy.lang.Closure.call(Closure.java:292)
+	at groovy.lang.Script.invokeMethod(Script.java:87)
+	at groovy.lang.MetaClassImpl.invokeMethodOnGroovyObject(MetaClassImpl.java:947)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:894)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at groovy.lang.DelegatingMetaClass.invokeMethod(DelegatingMetaClass.java:142)
+	at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:79)
+	at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:94)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:78)
+	at RunApp_groovy$_run_closure2.doCall(RunApp_groovy:66)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at groovy.lang.DelegatingMetaClass.invokeMethod(DelegatingMetaClass.java:142)
+	at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:79)
+	at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:94)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:78)
+	at RunApp_groovy$_run_closure2.doCall(RunApp_groovy)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at groovy.lang.DelegatingMetaClass.invokeMethod(DelegatingMetaClass.java:142)
+	at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:79)
+	at groovy.lang.Closure.call(Closure.java:292)
+	at groovy.lang.Script.invokeMethod(Script.java:87)
+	at groovy.lang.MetaClassImpl.invokeMethodOnGroovyObject(MetaClassImpl.java:947)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:894)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at groovy.lang.DelegatingMetaClass.invokeMethod(DelegatingMetaClass.java:142)
+	at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:79)
+	at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:94)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:78)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrent0(ScriptBytecodeAdapter.java:112)
+	at RunApp_groovy$_run_closure1.doCall(RunApp_groovy:57)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at groovy.lang.DelegatingMetaClass.invokeMethod(DelegatingMetaClass.java:142)
+	at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:79)
+	at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:94)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:78)
+	at RunApp_groovy$_run_closure1.doCall(RunApp_groovy)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at groovy.lang.DelegatingMetaClass.invokeMethod(DelegatingMetaClass.java:142)
+	at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:79)
+	at groovy.lang.Closure.call(Closure.java:292)
+	at groovy.lang.Closure.call(Closure.java:287)
+	at groovy.lang.Closure.run(Closure.java:368)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at groovy.lang.DelegatingMetaClass.invokeMethod(DelegatingMetaClass.java:142)
+	at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:79)
+	at org.codehaus.groovy.runtime.InvokerHelper.invokePogoMethod(InvokerHelper.java:778)
+	at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:758)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:170)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethod0(ScriptBytecodeAdapter.java:198)
+	at gant.Gant.dispatch(Gant.groovy:271)
+	at gant.Gant.this$2$dispatch(Gant.groovy)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:674)
+	at sun.reflect.GeneratedMethodAccessor7.invoke(Unknown Source)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at org.codehaus.groovy.runtime.InvokerHelper.invokePogoMethod(InvokerHelper.java:778)
+	at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:758)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:170)
+	at gant.Gant.invokeMethod(Gant.groovy)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:78)
+	at gant.Gant.processTargets(Gant.groovy:436)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:78)
+	at gant.Gant.processArgs(Gant.groovy:372)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at org.codehaus.groovy.runtime.InvokerHelper.invokePogoMethod(InvokerHelper.java:778)
+	at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:758)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:170)
+	at org.codehaus.groovy.grails.cli.GrailsScriptRunner.callPluginOrGrailsScript(GrailsScriptRunner.groovy:261)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeStaticMethod(MetaClassImpl.java:1105)
+	at groovy.lang.ExpandoMetaClass.invokeStaticMethod(ExpandoMetaClass.java:957)
+	at org.codehaus.groovy.runtime.InvokerHelper.invokeStaticMethod(InvokerHelper.java:804)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeStaticMethodN(ScriptBytecodeAdapter.java:215)
+	at org.codehaus.groovy.grails.cli.GrailsScriptRunner.main(GrailsScriptRunner.groovy:121)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.grails.cli.support.GrailsStarter.rootLoader(GrailsStarter.java:193)
+	at org.codehaus.groovy.grails.cli.support.GrailsStarter.main(GrailsStarter.java:218)
+[6986] StackTrace Sanitizing stacktrace:
+org.codehaus.groovy.runtime.InvokerInvocationException: groovy.lang.MissingMethodException: No signature of method: TypeOfPersonGroup.getName() is applicable for argument types: (java.lang.String) values: {"Electrical"}
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:92)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at groovy.lang.Closure.call(Closure.java:292)
+	at org.codehaus.groovy.grails.commons.DefaultGrailsBootstrapClass.callInit(DefaultGrailsBootstrapClass.java:43)
+	at org.codehaus.groovy.grails.web.context.GrailsConfigUtils.executeGrailsBootstraps(GrailsConfigUtils.java:64)
+	at org.codehaus.groovy.grails.web.context.GrailsContextLoader.createWebApplicationContext(GrailsContextLoader.java:61)
+	at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199)
+	at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45)
+	at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:548)
+	at org.mortbay.jetty.servlet.Context.startContext(Context.java:136)
+	at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1234)
+	at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
+	at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:460)
+	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
+	at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
+	at org.mortbay.jetty.Server.doStart(Server.java:222)
+	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at org.codehaus.groovy.runtime.InvokerHelper.invokePojoMethod(InvokerHelper.java:766)
+	at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:754)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:170)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethod0(ScriptBytecodeAdapter.java:198)
+	at RunApp_groovy$_run_closure2_closure7.doCall(RunApp_groovy:67)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:78)
+	at RunApp_groovy$_run_closure2_closure7.doCall(RunApp_groovy)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at groovy.lang.Closure.call(Closure.java:292)
+	at groovy.lang.Closure.call(Closure.java:287)
+	at sun.reflect.GeneratedMethodAccessor57.invoke(Unknown Source)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at org.codehaus.groovy.runtime.InvokerHelper.invokePogoMethod(InvokerHelper.java:778)
+	at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:758)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:170)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeClosure(ScriptBytecodeAdapter.java:605)
+	at Init_groovy$_run_closure6.doCall(Init_groovy:131)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at groovy.lang.Closure.call(Closure.java:292)
+	at groovy.lang.Script.invokeMethod(Script.java:87)
+	at groovy.lang.MetaClassImpl.invokeMethodOnGroovyObject(MetaClassImpl.java:947)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:894)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at groovy.lang.DelegatingMetaClass.invokeMethod(DelegatingMetaClass.java:142)
+	at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:79)
+	at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:94)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:78)
+	at RunApp_groovy$_run_closure2.doCall(RunApp_groovy:66)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at groovy.lang.DelegatingMetaClass.invokeMethod(DelegatingMetaClass.java:142)
+	at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:79)
+	at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:94)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:78)
+	at RunApp_groovy$_run_closure2.doCall(RunApp_groovy)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at groovy.lang.DelegatingMetaClass.invokeMethod(DelegatingMetaClass.java:142)
+	at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:79)
+	at groovy.lang.Closure.call(Closure.java:292)
+	at groovy.lang.Script.invokeMethod(Script.java:87)
+	at groovy.lang.MetaClassImpl.invokeMethodOnGroovyObject(MetaClassImpl.java:947)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:894)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at groovy.lang.DelegatingMetaClass.invokeMethod(DelegatingMetaClass.java:142)
+	at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:79)
+	at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:94)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:78)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrent0(ScriptBytecodeAdapter.java:112)
+	at RunApp_groovy$_run_closure1.doCall(RunApp_groovy:57)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at groovy.lang.DelegatingMetaClass.invokeMethod(DelegatingMetaClass.java:142)
+	at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:79)
+	at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:94)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:78)
+	at RunApp_groovy$_run_closure1.doCall(RunApp_groovy)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at groovy.lang.DelegatingMetaClass.invokeMethod(DelegatingMetaClass.java:142)
+	at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:79)
+	at groovy.lang.Closure.call(Closure.java:292)
+	at groovy.lang.Closure.call(Closure.java:287)
+	at groovy.lang.Closure.run(Closure.java:368)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at groovy.lang.DelegatingMetaClass.invokeMethod(DelegatingMetaClass.java:142)
+	at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:79)
+	at org.codehaus.groovy.runtime.InvokerHelper.invokePogoMethod(InvokerHelper.java:778)
+	at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:758)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:170)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethod0(ScriptBytecodeAdapter.java:198)
+	at gant.Gant.dispatch(Gant.groovy:271)
+	at gant.Gant.this$2$dispatch(Gant.groovy)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:674)
+	at sun.reflect.GeneratedMethodAccessor7.invoke(Unknown Source)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at org.codehaus.groovy.runtime.InvokerHelper.invokePogoMethod(InvokerHelper.java:778)
+	at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:758)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:170)
+	at gant.Gant.invokeMethod(Gant.groovy)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:78)
+	at gant.Gant.processTargets(Gant.groovy:436)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:78)
+	at gant.Gant.processArgs(Gant.groovy:372)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
+	at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:946)
+	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)
+	at org.codehaus.groovy.runtime.InvokerHelper.invokePogoMethod(InvokerHelper.java:778)
+	at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:758)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:170)
+	at org.codehaus.groovy.grails.cli.GrailsScriptRunner.callPluginOrGrailsScript(GrailsScriptRunner.groovy:261)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
+	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
+	at groovy.lang.MetaClassImpl.invokeStaticMethod(MetaClassImpl.java:1105)
+	at groovy.lang.ExpandoMetaClass.invokeStaticMethod(ExpandoMetaClass.java:957)
+	at org.codehaus.groovy.runtime.InvokerHelper.invokeStaticMethod(InvokerHelper.java:804)
+	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeStaticMethodN(ScriptBytecodeAdapter.java:215)
+	at org.codehaus.groovy.grails.cli.GrailsScriptRunner.main(GrailsScriptRunner.groovy:121)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:597)
+	at org.codehaus.groovy.grails.cli.support.GrailsStarter.rootLoader(GrailsStarter.java:193)
+	at org.codehaus.groovy.grails.cli.support.GrailsStarter.main(GrailsStarter.java:218)
+Caused by: groovy.lang.MissingMethodException: No signature of method: TypeOfPersonGroup.getName() is applicable for argument types: (java.lang.String) values: {"Electrical"}
+	at BootStrap$_closure1.doCall(BootStrap.groovy:11)
+	at RunApp_groovy$_run_closure2_closure7.doCall(RunApp_groovy:67)
+	at RunApp_groovy$_run_closure2_closure7.doCall(RunApp_groovy)
+	at Init_groovy$_run_closure6.doCall(Init_groovy:131)
+	at RunApp_groovy$_run_closure2.doCall(RunApp_groovy:66)
+	at RunApp_groovy$_run_closure2.doCall(RunApp_groovy)
+	at RunApp_groovy$_run_closure1.doCall(RunApp_groovy:57)
+	at RunApp_groovy$_run_closure1.doCall(RunApp_groovy)
+	at gant.Gant.dispatch(Gant.groovy:271)
+	at gant.Gant.this$2$dispatch(Gant.groovy)
+	at gant.Gant.invokeMethod(Gant.groovy)
+	at gant.Gant.processTargets(Gant.groovy:436)
+	at gant.Gant.processArgs(Gant.groovy:372)
Index: /trunk/src/web-app/index.gsp
===================================================================
--- /trunk/src/web-app/index.gsp	(revision 20)
+++ /trunk/src/web-app/index.gsp	(revision 21)
@@ -1,13 +1,12 @@
 <html>
     <head>
-        <title>Welcome to Grails</title>
+        <title>Welcome to openMim</title>
 		<meta name="layout" content="main" />
     </head>
     <body>
-        <h1 style="margin-left:20px;">Welcome to Grails</h1>
-        <p style="margin-left:20px;width:80%">Congratulations, you have successfully started your first Grails application! At the moment
-        this is the default page, feel free to modify it to either redirect to a controller or display whatever
-        content you may choose. Below is a list of controllers that are currently deployed in this application,
-        click on each to execute its default action:</p>
+        <h1 style="margin-left:20px;">Welcome to openMim</h1>
+        <p style="margin-left:20px;width:80%">
+	Home
+	</p>
         <div class="dialog" style="margin-left:20px;width:60%;">
             <ul>
