Index: trunk/grails-app/services/CreateDataService.groovy
===================================================================
--- trunk/grails-app/services/CreateDataService.groovy	(revision 275)
+++ trunk/grails-app/services/CreateDataService.groovy	(revision 276)
@@ -129,7 +129,6 @@
         createDemoMaintenanceActions()
         createDemoSections()
-        createDemoAssets()
+        createDemoAssetTree()
         createDemoAssetExtenedAttributes()
-        createDemoAssetSubItems()
 
         // Record that data has been created.
@@ -1047,22 +1046,22 @@
         //Section #1
         sectionInstance = new Section(name: "Press Section",
+                                                                                    site: Site.get(3),
+                                                                                    department: Department.get(1))
+        saveAndTest(sectionInstance)
+
+        //Section #2
+        sectionInstance = new Section(name: "RO System",
+                                                                                    site: Site.get(1),
+                                                                                    department: Department.get(2))
+        saveAndTest(sectionInstance)
+
+        //Section #3
+        sectionInstance = new Section(name: "Auxiliary Section",
                                                                                     site: Site.get(1),
                                                                                     department: Department.get(1))
         saveAndTest(sectionInstance)
-
-        //Section #2
-        sectionInstance = new Section(name: "RO System",
-                                                                                    site: Site.get(2),
-                                                                                    department: Department.get(2))
-        saveAndTest(sectionInstance)
-
-        //Section #3
-        sectionInstance = new Section(name: "Auxilliray Section",
-                                                                                    site: Site.get(1),
-                                                                                    department: Department.get(1))
-        saveAndTest(sectionInstance)
-    }
-
-    def createDemoAssets() {
+    }
+
+    def createDemoAssetTree() {
 
         //Asset
@@ -1070,45 +1069,85 @@
 
         //Asset #1
-        assetInstance = new Asset(name: "Print Tower 22",
-                                                        section: Section.get(1))
-        saveAndTest(assetInstance)
+        def assetInstance1 = new Asset(name: "Print Tower 22",
+                                                            section: Section.get(1))
+        saveAndTest(assetInstance1)
 //        assetInstance.addToMaintenanceActions(MaintenanceAction.get(1))
 
         //Asset #2
-        assetInstance = new Asset(name: "Print Tower 21",
-                                                        section: Section.get(1))
-        saveAndTest(assetInstance)
+        def assetInstance2 = new Asset(name: "Print Tower 21",
+                                                            section: Section.get(1))
+        saveAndTest(assetInstance2)
 
         //Asset #3
-        assetInstance = new Asset(name: "Print Tower 23",
-                                                        section: Section.get(1))
-        saveAndTest(assetInstance)
+        def assetInstance3 = new Asset(name: "Print Tower 23",
+                                                            section: Section.get(1))
+        saveAndTest(assetInstance3)
 
         //Asset #4
-        assetInstance = new Asset(name: "RO 1",
-                                                        section: Section.get(2))
-        saveAndTest(assetInstance)
-    }
-
-    def createDemoAssetSubItems() {
+        def assetInstance4 = new Asset(name: "RO 1",
+                                                            section: Section.get(2))
+        saveAndTest(assetInstance4)
 
         //AssetSubItem
         def assetSubItemInstance
 
-        //AssetSubItem #1
-        assetSubItemInstance = new AssetSubItem(name: "Print Unit Lower",
-                                                                                asset: Asset.get(2))
+        //AssetSubItem #1 Level1
+        def assetSubItemInstance1 = new AssetSubItem(name: "Print Tower")
+        saveAndTest(assetSubItemInstance1)
+
+        // Add assetSubItemInstance1 to some assets.
+        assetInstance1.addToAssetSubItems(assetSubItemInstance1)
+        assetInstance2.addToAssetSubItems(assetSubItemInstance1)
+        assetInstance3.addToAssetSubItems(assetSubItemInstance1)
+
+        //AssetSubItem #2 Level1
+        def assetSubItemInstance2 = new AssetSubItem(name: "Reactor Tower")
+        saveAndTest(assetSubItemInstance2)
+
+        // Add assetSubItemInstance2 to some assets.
+        assetInstance4.addToAssetSubItems(assetSubItemInstance2)
+
+        //AssetSubItem #3 Level1
+        def assetSubItemInstance3 = new AssetSubItem(name: "Blower Tower")
+        saveAndTest(assetSubItemInstance3)
+
+        // Add assetSubItemInstance3 to some assets.
+        assetInstance4.addToAssetSubItems(assetSubItemInstance3)
+
+        //AssetSubItem #4 Level2
+        assetSubItemInstance = new AssetSubItem(name: "Print Unit Upper",
+                                                                                parentItem: AssetSubItem.get(1))
         saveAndTest(assetSubItemInstance)
 
-        //AssetSubItem #2
-        assetSubItemInstance = new AssetSubItem(name: "Print Unit Upper",
-                                                                                asset: Asset.get(2))
+        //AssetSubItem #5 Level3
+        assetSubItemInstance = new AssetSubItem(name: "Agitator",
+                                                                                parentItem: AssetSubItem.get(2))
         saveAndTest(assetSubItemInstance)
 
-        //AssetSubItem #3
-        assetSubItemInstance = new AssetSubItem(name: "Reactor Tower",
-                                                                                asset: Asset.get(1))
+        //AssetSubItem #6 Level2
+        assetSubItemInstance = new AssetSubItem(name: "Scraper",
+                                                                                parentItem: AssetSubItem.get(3))
         saveAndTest(assetSubItemInstance)
-    }
+
+        //AssetSubItem #7 Level3
+        assetSubItemInstance = new AssetSubItem(name: "Motor",
+                                                                                parentItem: AssetSubItem.get(5))
+        saveAndTest(assetSubItemInstance)
+
+        //AssetSubItem #8 Level3
+        assetSubItemInstance = new AssetSubItem(name: "Gearbox",
+                                                                                parentItem: AssetSubItem.get(5))
+        saveAndTest(assetSubItemInstance)
+
+        //AssetSubItem #9 Level4
+        assetSubItemInstance = new AssetSubItem(name: "DS Bearing",
+                                                                                parentItem: AssetSubItem.get(7))
+        saveAndTest(assetSubItemInstance)
+
+        //AssetSubItem #10 Level4
+        assetSubItemInstance = new AssetSubItem(name: "NDS Bearing",
+                                                                                parentItem: AssetSubItem.get(7))
+        saveAndTest(assetSubItemInstance)
+    } // createDemoAssetTree()
 
     def createDemoAssetExtenedAttributes() {
