source: trunk/grails-app/conf/BootStrap.groovy @ 124

Last change on this file since 124 was 124, checked in by gav, 15 years ago

Detail controller and views for Asset, AssetExtendedAttribute?, PlannedMaintenance?, MaintenanceAction?, RecurringSchedule?, SystemSection?.
Some minor work on Task controller and views.
Change PlannedMaintenance? relationship, adjust ERD, Bootstrap and Domain classes to suite.

File size: 34.8 KB
Line 
1import grails.util.GrailsUtil
2
3class BootStrap 
4{
5    //Required to be right here for Acegi plugin.
6    def authenticateService
7    Boolean BootStrapDemoDataSuccessful = true
8
9    def init = { servletContext ->
10
11    println "**** BootStrap GrailsUtil.environment = ${GrailsUtil.environment}"
12   
13        switch (GrailsUtil.environment)
14        {
15            case "development":
16                        bootStrapDemoData()
17                        break
18            case "test":
19                        break
20            case "production":
21                        bootStrapDemoData()
22                        break 
23        }
24   
25    }
26
27    def destroy = {
28    }
29
30    //Insert some demo/startup data.
31    void bootStrapDemoData()
32    {
33        println "BootStrapping demo data..."
34
35/***********************
36START OF UTILITIES
37***********************/
38
39//Site
40        def siteInstance
41
42        siteInstance = new Site(name: "Creek Mill")
43        BootStrapSaveAndTest(siteInstance)
44
45        siteInstance = new Site(name: "Jasper Street Depot")
46        BootStrapSaveAndTest(siteInstance)
47
48//UnitOfMeasure
49        def unitOfMeasureInstance
50
51        //UnitOfMeasure #1
52        unitOfMeasureInstance = new UnitOfMeasure(name: "each")
53        BootStrapSaveAndTest(unitOfMeasureInstance)
54
55        //UnitOfMeasure #2
56        unitOfMeasureInstance = new UnitOfMeasure(name: "meter(s)")
57        BootStrapSaveAndTest(unitOfMeasureInstance)
58
59        //UnitOfMeasure #3
60        unitOfMeasureInstance = new UnitOfMeasure(name: "box(es)")
61        BootStrapSaveAndTest(unitOfMeasureInstance)
62
63        //UnitOfMeasure #4
64        unitOfMeasureInstance = new UnitOfMeasure(name: "litre(s)")
65        BootStrapSaveAndTest(unitOfMeasureInstance)
66
67        //UnitOfMeasure #5
68        unitOfMeasureInstance = new UnitOfMeasure(name: "kilogram(s)")
69        BootStrapSaveAndTest(unitOfMeasureInstance)
70
71//Period
72        def periodInstance
73
74        //Period #1
75        periodInstance = new Period(period: "Day(s)")
76        BootStrapSaveAndTest(periodInstance)
77
78        //Period #2
79        periodInstance = new Period(period: "Week(s)")
80        BootStrapSaveAndTest(periodInstance)
81
82        //Period #3
83        periodInstance = new Period(period: "Month(s)")
84        BootStrapSaveAndTest(periodInstance)
85
86        //Period #4
87        periodInstance = new Period(period: "Year(s)")
88        BootStrapSaveAndTest(periodInstance)
89
90/*********************
91START OF PERSON
92*********************/
93
94//TypeOfPersonGroup
95        def personGroupTypeInstance
96        personGroupTypeInstance = new PersonGroupType(name:"Department")
97        BootStrapSaveAndTest(personGroupTypeInstance)
98        personGroupTypeInstance = new PersonGroupType(name:"Contractor")
99        BootStrapSaveAndTest(personGroupTypeInstance)
100        personGroupTypeInstance = new PersonGroupType(name:"ProjectTeam")
101        BootStrapSaveAndTest(personGroupTypeInstance)
102   
103//PersonGroup
104        def personGroupInstance
105        personGroupInstance = new PersonGroup(personGroupType:PersonGroupType.findByName("Department"),
106                        name:"Electrical")
107        BootStrapSaveAndTest(personGroupInstance)
108        personGroupInstance = new PersonGroup(personGroupType:PersonGroupType.findByName("Department"),
109                        name:"Mechanical")
110        BootStrapSaveAndTest(personGroupInstance)
111        personGroupInstance = new PersonGroup(personGroupType:PersonGroupType.findByName("Department"),
112                        name:"Production")
113        BootStrapSaveAndTest(personGroupInstance)
114        personGroupInstance = new PersonGroup(personGroupType:PersonGroupType.get(2),
115                        name:"Kewl AirCon Guys")
116        BootStrapSaveAndTest(personGroupInstance)
117        personGroupInstance = new PersonGroup(personGroupType:PersonGroupType.get(3),
118                        name:"gnuMims")
119        BootStrapSaveAndTest(personGroupInstance)
120
121//Authority
122        def authInstance
123
124        authInstance = new Authority(description:"Application Admin, not required for daily use! Grants full admin access to the application.",
125                                        authority:"ROLE_AppAdmin")
126        BootStrapSaveAndTest(authInstance)
127
128        authInstance = new Authority(description:"Business manager, grants full management access.",
129                                        authority:"ROLE_Manager")
130        BootStrapSaveAndTest(authInstance)
131
132        authInstance = new Authority(description:"Application User, all application users need this base role to allow login.",
133                                        authority:"ROLE_AppUser")
134        BootStrapSaveAndTest(authInstance)
135           
136//Person
137        def passClearText = "pass"
138        def passwordEncoded = authenticateService.encodePassword(passClearText)
139        def personInstance
140
141        //Person #1
142        personInstance = new Person(loginName:"admin",
143                                    firstName:"Admin",
144                                    lastName:"Powers",
145                                    pass:passClearText,
146                                    password:passwordEncoded,
147                                    email:"admin@example.com")
148        BootStrapSaveAndTest(personInstance)
149        personInstance.addToAuthorities(Authority.get(1))
150        personInstance.addToAuthorities(Authority.get(2))
151        personInstance.addToAuthorities(Authority.get(3))
152        personInstance.addToPersonGroups(PersonGroup.findByName("gnuMims"))
153
154        //Person #2
155        personInstance = new Person(loginName:"manager",
156                                    firstName:"Meca",
157                                    lastName:"Manager",
158                                    pass:passClearText,
159                                    password:passwordEncoded,
160                                    email:"manager@example.com")
161        BootStrapSaveAndTest(personInstance)
162        personInstance.addToAuthorities(Authority.get(2))
163        personInstance.addToAuthorities(Authority.get(3))
164        personInstance.addToPersonGroups(PersonGroup.findByName("gnuMims"))
165
166        //Person #3
167        personInstance = new Person(loginName:"user",
168                                    firstName:"Demo",
169                                    lastName:"User",
170                                    pass:passClearText,
171                                    password:passwordEncoded,
172                                    email:"user@example.com")
173        BootStrapSaveAndTest(personInstance)
174        personInstance.addToAuthorities(Authority.get(3))
175        personInstance.addToPersonGroups(PersonGroup.findByName("Electrical"))
176
177        //Person #4
178        personInstance = new Person(loginName:"craig",
179                                    firstName:"Craig",
180                                    lastName:"SuperSparky",
181                                    pass:passClearText,
182                                    password:passwordEncoded,
183                                    email:"user@example.com")
184        BootStrapSaveAndTest(personInstance)
185        personInstance.addToAuthorities(Authority.get(3))
186        personInstance.addToPersonGroups(PersonGroup.findByName("Electrical"))
187
188        //Person #5
189        personInstance = new Person(loginName:"john",
190                                    firstName:"John",
191                                    lastName:"SuperFitter",
192                                    pass:passClearText,
193                                    password:passwordEncoded,
194                                    email:"user@example.com")
195        BootStrapSaveAndTest(personInstance)
196        personInstance.addToAuthorities(Authority.get(3))
197        personInstance.addToPersonGroups(PersonGroup.findByName("Mechanical"))
198
199        //Person #6
200        personInstance = new Person(loginName:"mann",
201                                    firstName:"Production",
202                                    lastName:"Mann",
203                                    pass:passClearText,
204                                    password:passwordEncoded,
205                                    email:"user@example.com")
206        BootStrapSaveAndTest(personInstance)
207        personInstance.addToAuthorities(Authority.get(3))
208        personInstance.addToPersonGroups(PersonGroup.findByName("Production"))
209
210/*********************
211START OF TASK
212*********************/
213
214//TaskGroup
215        def taskGroupInstance
216
217        taskGroupInstance = new TaskGroup(name:"Engineering Activites",
218                      description:"Engineering daily activities")
219        BootStrapSaveAndTest(taskGroupInstance)
220
221        taskGroupInstance = new TaskGroup(name:"Production Activites",
222                      description:"Production daily activities")
223        BootStrapSaveAndTest(taskGroupInstance)
224
225        taskGroupInstance = new TaskGroup(name:"New Projects",
226                      description:" ")
227        BootStrapSaveAndTest(taskGroupInstance)
228
229//TaskStatus
230        def taskStatusInstance
231   
232        taskStatusInstance = new TaskStatus(name:"Not Started")
233        BootStrapSaveAndTest(taskStatusInstance)
234
235        taskStatusInstance = new TaskStatus(name:"In Progress")
236        BootStrapSaveAndTest(taskStatusInstance)
237
238        taskStatusInstance = new TaskStatus(name:"Completed")
239        BootStrapSaveAndTest(taskStatusInstance)
240
241//TaskPriority
242        def taskPriorityInstance
243
244        taskPriorityInstance = new TaskPriority(name:"Low")
245        BootStrapSaveAndTest(taskPriorityInstance)
246
247        taskPriorityInstance = new TaskPriority(name:"Normal")
248        BootStrapSaveAndTest(taskPriorityInstance)
249
250        taskPriorityInstance = new TaskPriority(name:"High")
251        BootStrapSaveAndTest(taskPriorityInstance)
252
253        taskPriorityInstance = new TaskPriority(name:"Immediate")
254        BootStrapSaveAndTest(taskPriorityInstance)
255
256//TaskType
257        def taskTypeInstance
258
259        taskTypeInstance = new TaskType(name:"Unscheduled Breakin")
260        BootStrapSaveAndTest(taskTypeInstance)
261
262        taskTypeInstance = new TaskType(name:"Planned Maintenance")
263        BootStrapSaveAndTest(taskTypeInstance)
264
265        taskTypeInstance = new TaskType(name:"Project")
266        BootStrapSaveAndTest(taskTypeInstance)
267
268        taskTypeInstance = new TaskType(name:"Turnaround")
269        BootStrapSaveAndTest(taskTypeInstance)
270
271        taskTypeInstance = new TaskType(name:"Production Run")
272        BootStrapSaveAndTest(taskTypeInstance)
273
274//Task
275        def taskInstance
276
277        //Task #1
278        taskInstance = new Task(taskGroup:TaskGroup.findByName("Engineering Activites"),
279                 taskStatus:TaskStatus.findByName("Not Started"),
280                 taskPriority:TaskPriority.get(2),
281                 taskType:TaskType.get(1),
282                 leadPerson:Person.get(3),
283                 description:"Check specific level sensor",
284                 comment:"Has been noted as problematic, try recalibrating.")
285        BootStrapSaveAndTest(taskInstance)
286
287        //Task #2
288        taskInstance = new Task(taskGroup:TaskGroup.findByName("Engineering Activites"),
289                taskStatus:TaskStatus.findByName("Not Started"),
290                taskPriority:TaskPriority.get(2),
291                taskType:TaskType.get(1),
292                leadPerson:Person.get(5),
293                description:"Some follow-up work",
294                comment:"Some help required",
295                parentTask: Task.get(1))
296        BootStrapSaveAndTest(taskInstance)
297
298        //Task #3
299        taskInstance = new Task(taskGroup:TaskGroup.findByName("Engineering Activites"),
300                taskStatus:TaskStatus.findByName("Not Started"),
301                taskPriority:TaskPriority.get(2),
302                taskType:TaskType.get(1),
303                leadPerson:Person.get(5),
304                description:"A Sub Task can be created by setting the Parent Task value",
305                comment:"Some help required",
306                parentTask: Task.get(1))
307        BootStrapSaveAndTest(taskInstance)
308
309        //Task #4
310        taskInstance = new Task(taskGroup:TaskGroup.findByName("Engineering Activites"),
311                 taskStatus:TaskStatus.findByName("Not Started"),
312                 taskPriority:TaskPriority.get(2),
313                 taskType:TaskType.get(1),
314                 leadPerson:Person.get(4),
315                 description:"Replace sensor at next opportunity.",
316                 comment:"Nothing else has worked.",
317                parentTask: Task.get(1))
318        BootStrapSaveAndTest(taskInstance)
319
320        //Task #5
321        taskInstance = new Task(taskGroup:TaskGroup.findByName("Production Activites"),
322                 taskStatus:TaskStatus.findByName("Not Started"),
323                 taskPriority:TaskPriority.get(2),
324                 taskType:TaskType.get(5),
325                 leadPerson:Person.get(6),
326                 description:"Production Report",
327                 comment:"Production report for specific production run or shift")
328        BootStrapSaveAndTest(taskInstance)
329
330        //Task #6
331        taskInstance = new Task(taskGroup:TaskGroup.findByName("New Projects"),
332                 taskStatus:TaskStatus.findByName("Not Started"),
333                 taskPriority:TaskPriority.get(2),
334                 taskType:TaskType.get(3),
335                 leadPerson:Person.get(1),
336                 description:"Make killer CMMS app",
337                 comment:"Use Grails and get a move on!")
338        BootStrapSaveAndTest(taskInstance)
339
340//EntryType
341        def entryTypeInstance
342
343        entryTypeInstance = new EntryType(name:"Fault")
344        BootStrapSaveAndTest(entryTypeInstance)
345
346        entryTypeInstance = new EntryType(name:"WorkDone")
347        BootStrapSaveAndTest(entryTypeInstance)
348
349        entryTypeInstance = new EntryType(name:"Production Note")
350        BootStrapSaveAndTest(entryTypeInstance)
351
352        entryTypeInstance = new EntryType(name:"Work Request")
353        BootStrapSaveAndTest(entryTypeInstance)
354
355//Entry
356        def entryInstance
357
358        //Entry #1
359        entryInstance = new Entry(enteredBy: Person.get(6),
360                                                    task: Task.get(1),
361                                                    entryType: EntryType.findByName("Fault"),
362                                                    comment: "This level sensor is causing us trouble.",
363                                                    durationMinute: 20)
364        BootStrapSaveAndTest(entryInstance)
365
366        //Entry #2
367        entryInstance = new Entry(enteredBy: Person.get(4),
368                                                    task: Task.get(1),
369                                                    entryType: EntryType.findByName("WorkDone"),
370                                                    comment: "Cleaned sensor, see how it goes.",
371                                                    durationMinute: 30)
372        BootStrapSaveAndTest(entryInstance)
373
374        //Entry #3
375        entryInstance = new Entry(enteredBy: Person.get(4),
376                                                    task: Task.get(1),
377                                                    entryType: EntryType.findByName("WorkDone"),
378                                                    comment: "Checked up on it later and sensor is dropping out intermittently, created subTask to replace sensor.",
379                                                    durationMinute: 20)
380        BootStrapSaveAndTest(entryInstance)
381
382//ModificationType
383        def taskModificationTypeInstance
384        taskModificationTypeInstance = new TaskModificationType(name:"Created").save()
385        taskModificationTypeInstance = new TaskModificationType(name:"Completed").save()
386        taskModificationTypeInstance = new TaskModificationType(name:"Closed").save()
387        taskModificationTypeInstance = new TaskModificationType(name:"Altered").save()
388        taskModificationTypeInstance = new TaskModificationType(name:"TargetDateModified").save()
389        taskModificationTypeInstance = new TaskModificationType(name:"ScheduledDateModified").save()
390        taskModificationTypeInstance = new TaskModificationType(name:"DescriptionModified").save()
391        taskModificationTypeInstance = new TaskModificationType(name:"AssignedToModified").save()
392        taskModificationTypeInstance = new TaskModificationType(name:"NameModified").save()
393   
394//AssignedPerson
395        def assignedPersonInstance
396
397        //AssignedPerson #1
398        assignedPersonInstance = new AssignedPerson(person: Person.get(4),
399                                                                                        task: Task.get(1),
400                                                                                        estimatedHour: 1,
401                                                                                        estimatedMinute: 20)
402        BootStrapSaveAndTest(assignedPersonInstance)
403
404        //AssignedPerson #2
405        assignedPersonInstance = new AssignedPerson(person: Person.get(5),
406                                                                                        task: Task.get(1),
407                                                                                        estimatedHour: 3,
408                                                                                        estimatedMinute: 30)
409        BootStrapSaveAndTest(assignedPersonInstance)
410
411//RecurringSchedule
412        def recurringScheduleInstance
413
414        //RecurringSchedule #1
415        recurringScheduleInstance = new RecurringSchedule(recurEvery: 1,
416                                                                                                    period: Period.get(1),
417                                                                                                    task: Task.get(1))
418        BootStrapSaveAndTest(recurringScheduleInstance)
419
420        //RecurringSchedule #2
421        recurringScheduleInstance = new RecurringSchedule(recurEvery: 1,
422                                                                                                    period: Period.get(2),
423                                                                                                    task: Task.get(2))
424        BootStrapSaveAndTest(recurringScheduleInstance)
425
426/*************************
427START OF INVENTORY
428**************************/
429
430//InventoryStore
431        def inventoryStoreInstance
432
433        inventoryStoreInstance = new InventoryStore(site: Site.get(1), name: "Store #1")
434        BootStrapSaveAndTest(inventoryStoreInstance)
435
436        inventoryStoreInstance = new InventoryStore(site: Site.get(2), name: "Store #2")
437        BootStrapSaveAndTest(inventoryStoreInstance)
438
439//StoreLocation
440        def storeLocation
441       
442        storeLocation = new StoreLocation(inventoryStore: InventoryStore.get(1), bin: "A1-2")
443        BootStrapSaveAndTest(storeLocation)
444
445        storeLocation = new StoreLocation(inventoryStore: InventoryStore.get(1), bin: "C55")
446        BootStrapSaveAndTest(storeLocation)
447
448//InventoryGroup
449        def inventoryGroupInstance
450
451        //InventoryGroup #1
452        inventoryGroupInstance = new InventoryGroup(name: "Misc")
453        BootStrapSaveAndTest(inventoryGroupInstance)
454
455        //InventoryGroup #2
456        inventoryGroupInstance = new InventoryGroup(name: "Electrical")
457        BootStrapSaveAndTest(inventoryGroupInstance)
458
459        //InventoryGroup #3
460        inventoryGroupInstance = new InventoryGroup(name: "Mechanical")
461        BootStrapSaveAndTest(inventoryGroupInstance)
462
463        //InventoryGroup #4
464        inventoryGroupInstance = new InventoryGroup(name: "Production")
465        BootStrapSaveAndTest(inventoryGroupInstance)
466
467//InventoryType
468        def inventoryTypeInstance
469
470        inventoryTypeInstance = new InventoryType(name: "Consumable")
471        BootStrapSaveAndTest(inventoryTypeInstance)
472
473        inventoryTypeInstance = new InventoryType(name: "Repairable")
474        BootStrapSaveAndTest(inventoryTypeInstance)
475
476//InventoryItem
477        def inventoryItemInstance
478
479        //InventoryItem #1
480        inventoryItemInstance = new InventoryItem(inventoryGroup: InventoryGroup.get(1),
481                                                                                    inventoryType: InventoryType.get(1),
482                                                                                    unitOfMeasure: UnitOfMeasure.get(2),
483                                                                                    name: "J-Rope",
484                                                                                    description: "Twine wound J-Rope",
485                                                                                    reorderPoint: 0)
486        BootStrapSaveAndTest(inventoryItemInstance)
487
488        //InventoryItem #2
489        inventoryItemInstance = new InventoryItem(inventoryGroup: InventoryGroup.get(1),
490                                                                                    inventoryType: InventoryType.get(1),
491                                                                                    unitOfMeasure: UnitOfMeasure.get(2),
492                                                                                    name: "L-Rope",
493                                                                                    description: "Twine wound L-Rope",
494                                                                                    alternateItems: InventoryItem.get(1),
495                                                                                    reorderPoint: 0)
496        BootStrapSaveAndTest(inventoryItemInstance)
497
498        //InventoryItem #3
499        inventoryItemInstance = new InventoryItem(inventoryGroup: InventoryGroup.get(3),
500                                                                                    inventoryType: InventoryType.get(1),
501                                                                                    unitOfMeasure: UnitOfMeasure.get(1),
502                                                                                    name: "2305-2RS",
503                                                                                    description: "Bearing 25x62x24mm double row self aligning ball",
504                                                                                    reorderPoint: 2)
505        BootStrapSaveAndTest(inventoryItemInstance)
506
507        //InventoryItem #4
508        inventoryItemInstance = new InventoryItem(inventoryGroup: InventoryGroup.get(2),
509                                                                                    inventoryType: InventoryType.get(1),
510                                                                                    unitOfMeasure: UnitOfMeasure.get(1),
511                                                                                    name: "L1592-K10",
512                                                                                    description: "10kW contactor",
513                                                                                    reorderPoint: 0)
514        BootStrapSaveAndTest(inventoryItemInstance)
515
516        //InventoryItem #5
517        inventoryItemInstance = new InventoryItem(inventoryGroup: InventoryGroup.get(3),
518                                                                                    inventoryType: InventoryType.get(1),
519                                                                                    unitOfMeasure: UnitOfMeasure.get(1),
520                                                                                    name: "6205-ZZ",
521                                                                                    description: "Bearing 25x52x15mm single row ball shielded",
522                                                                                    reorderPoint: 2)
523        BootStrapSaveAndTest(inventoryItemInstance)
524
525//StoredItem
526        def storedItemInstance
527
528        //StoredItem #1
529        storedItemInstance = new StoredItem(inventoryItem: InventoryItem.get(1),
530                                                                            storeLocation: StoreLocation.get(1),
531                                                                            quantity: 8)
532        BootStrapSaveAndTest(storedItemInstance)
533
534        //StoredItem #2
535        storedItemInstance = new StoredItem(inventoryItem: InventoryItem.get(1),
536                                                                            storeLocation: StoreLocation.get(2),
537                                                                            quantity: 4)
538        BootStrapSaveAndTest(storedItemInstance)
539
540        //StoredItem #3
541        storedItemInstance = new StoredItem(inventoryItem: InventoryItem.get(2),
542                                                                            storeLocation: StoreLocation.get(1),
543                                                                            quantity: 2)
544        BootStrapSaveAndTest(storedItemInstance)
545
546        //StoredItem #4
547        storedItemInstance = new StoredItem(inventoryItem: InventoryItem.get(3),
548                                                                            storeLocation: StoreLocation.get(1),
549                                                                            quantity: 2)
550        BootStrapSaveAndTest(storedItemInstance)
551
552        //StoredItem #5
553        storedItemInstance = new StoredItem(inventoryItem: InventoryItem.get(4),
554                                                                            storeLocation: StoreLocation.get(1),
555                                                                            quantity: 30)
556        BootStrapSaveAndTest(storedItemInstance)
557
558/*******************
559START OF ASSET
560*******************/
561
562//LifePlan
563        def lifeplanInstance
564
565        lifeplanInstance = new LifePlan(name: "Initial Plan")
566        BootStrapSaveAndTest(lifeplanInstance)
567
568//MaintenancePolicy
569        def maintenancePolicyInstance
570
571        //MaintenancePolicy #1
572        maintenancePolicyInstance = new MaintenancePolicy(name: "Fixed Time")
573        BootStrapSaveAndTest(maintenancePolicyInstance)
574
575        //MaintenancePolicy #2
576        maintenancePolicyInstance = new MaintenancePolicy(name: "Condition Based Online")
577        BootStrapSaveAndTest(maintenancePolicyInstance)
578
579        //MaintenancePolicy #3
580        maintenancePolicyInstance = new MaintenancePolicy(name: "Condition Based Offline")
581        BootStrapSaveAndTest(maintenancePolicyInstance)
582
583        //MaintenancePolicy #4
584        maintenancePolicyInstance = new MaintenancePolicy(name: "Design Out")
585        BootStrapSaveAndTest(maintenancePolicyInstance)
586
587        //MaintenancePolicy #5
588        maintenancePolicyInstance = new MaintenancePolicy(name: "Operate To Failure")
589        BootStrapSaveAndTest(maintenancePolicyInstance)
590
591//PlannedMaintenance
592        def plannedMaintenanceInstance
593
594        //PM #1
595        plannedMaintenanceInstance = new PlannedMaintenance(name: "PM1",
596                                                                                                            recurringSchedule: RecurringSchedule.get(1))
597        BootStrapSaveAndTest(plannedMaintenanceInstance)
598
599        //PM #2
600        plannedMaintenanceInstance = new PlannedMaintenance(name: "PM2",
601                                                                                                            recurringSchedule: RecurringSchedule.get(1))
602        BootStrapSaveAndTest(plannedMaintenanceInstance)
603
604//MaintenanceAction
605        def maintenanceActionInstance
606
607        //MaintenanceAction #1
608        maintenanceActionInstance = new MaintenanceAction(maintenanceAction: "Check all E-stops, active E-stop S1-S12 and ensure machine cannot run",
609                                                                                                        pmStepNumber: 1,
610                                                                                                        maintenancePolicy: MaintenancePolicy.get(1),
611                                                                                                        plannedMaintenance: PlannedMaintenance.get(1))
612        BootStrapSaveAndTest(maintenanceActionInstance)
613
614        //MaintenanceAction #2
615        maintenanceActionInstance = new MaintenanceAction(maintenanceAction: "Do more pushups",
616                                                                                                        pmStepNumber: 2,
617                                                                                                        maintenancePolicy: MaintenancePolicy.get(1),
618                                                                                                        plannedMaintenance: PlannedMaintenance.get(1))
619        BootStrapSaveAndTest(maintenanceActionInstance)
620
621        //MaintenanceAction #3
622        maintenanceActionInstance = new MaintenanceAction(maintenanceAction: "Ok just one more pushup",
623                                                                                                        pmStepNumber: 3,
624                                                                                                        maintenancePolicy: MaintenancePolicy.get(1),
625                                                                                                        plannedMaintenance: PlannedMaintenance.get(1))
626        BootStrapSaveAndTest(maintenanceActionInstance)
627                                                                                                   
628//SystemSection
629    def systemSectionInstance
630
631    //SystemSection #1
632    systemSectionInstance = new SystemSection(name: "Press Section",
633                                                                                   site: Site.get(1))
634    BootStrapSaveAndTest(systemSectionInstance)
635
636    //SystemSection #2
637    systemSectionInstance = new SystemSection(name: "RO System",
638                                                                                   site: Site.get(2))
639    BootStrapSaveAndTest(systemSectionInstance)
640
641    //SystemSection #3
642    systemSectionInstance = new SystemSection(name: "Auxilliray Section",
643                                                                                   site: Site.get(1))
644    BootStrapSaveAndTest(systemSectionInstance)
645
646//AssetType
647        def assetTypeInstance
648
649        //AssetType #1
650        assetTypeInstance = new AssetType(name: "Print Unit")
651        BootStrapSaveAndTest(assetTypeInstance)
652
653        //AssetType #2
654        assetTypeInstance = new AssetType(name: "Reactor Tower")
655        BootStrapSaveAndTest(assetTypeInstance)
656   
657//Assembly
658        def assemblyInstance
659
660        //Assembly #1
661        assemblyInstance = new Assembly(name: "Print Couple")
662        BootStrapSaveAndTest(assemblyInstance)
663//        assemblyInstance.addToMaintenanceActions(MaintenanceAction.get(1))
664       
665        //Assembly #2
666        assemblyInstance = new Assembly(name: "Agitator",
667                        lifeplan: LifePlan.get(1))
668        BootStrapSaveAndTest(assemblyInstance)
669
670//SubAssembly
671        def subAssemblyInstance
672
673        //SubAssembly #1
674        subAssemblyInstance = new SubAssembly(name: "Cylinder")
675        BootStrapSaveAndTest(subAssemblyInstance)
676 
677         //SubAssembly #2
678        subAssemblyInstance = new SubAssembly(name: "Gearmotor")
679        BootStrapSaveAndTest(subAssemblyInstance)
680
681//ComponentItem
682        def componentItemInstance
683   
684        //ComponentItem #1
685        componentItemInstance = new ComponentItem(name: "Centre Pulley")
686        BootStrapSaveAndTest(componentItemInstance)
687
688         //ComponentItem #2
689        componentItemInstance = new ComponentItem(name: "Bearing")
690        BootStrapSaveAndTest(componentItemInstance)
691
692//Asset
693        def assetInstance
694
695        //Asset #1
696        assetInstance = new Asset(name: "Print Unit 22",
697                                                        assetType: AssetType.get(1),
698                                                        systemSection: SystemSection.get(1))
699        BootStrapSaveAndTest(assetInstance)
700//        assetInstance.addToMaintenanceActions(MaintenanceAction.get(1))
701
702        //Asset #2
703        assetInstance = new Asset(name: "Print Unit 21",
704                                                        assetType: AssetType.get(1),
705                                                        systemSection: SystemSection.get(1))
706        BootStrapSaveAndTest(assetInstance)
707
708        //Asset #3
709        assetInstance = new Asset(name: "Print Unit 23",
710                                                        assetType: AssetType.get(1),
711                                                        systemSection: SystemSection.get(1))
712        BootStrapSaveAndTest(assetInstance)
713
714        //Asset #4
715        assetInstance = new Asset(name: "RO 1",
716                                                        assetType: AssetType.get(2),
717                                                        systemSection: SystemSection.get(2))
718        BootStrapSaveAndTest(assetInstance)
719
720//AssetExtendedAttributeType
721        def assetExtendedAttributeInstanceType
722
723        //AssetExtendedAttributeType #1
724        assetExtendedAttributeInstanceType = new AssetExtendedAttributeType(name: "Model Number")
725        BootStrapSaveAndTest(assetExtendedAttributeInstanceType)
726
727        //AssetExtendedAttributeType #2
728        assetExtendedAttributeInstanceType = new AssetExtendedAttributeType(name: "Purchase Cost")
729        BootStrapSaveAndTest(assetExtendedAttributeInstanceType)
730
731        //AssetExtendedAttributeType #3
732        assetExtendedAttributeInstanceType = new AssetExtendedAttributeType(name: "Serial Number")
733        BootStrapSaveAndTest(assetExtendedAttributeInstanceType)
734
735        //AssetExtendedAttributeType #4
736        assetExtendedAttributeInstanceType = new AssetExtendedAttributeType(name: "Manufactured Date")
737        BootStrapSaveAndTest(assetExtendedAttributeInstanceType)
738
739        //AssetExtendedAttributeType #5
740        assetExtendedAttributeInstanceType = new AssetExtendedAttributeType(name: "Location Description")
741        BootStrapSaveAndTest(assetExtendedAttributeInstanceType)
742
743//AssetExtendedAttribute
744        def assetExtendedAttributeInstance
745
746        //AssetExtendedAttribute #1
747        assetExtendedAttributeInstance = new AssetExtendedAttribute(value: "PU Mark 2",
748                                                                                                                    asset: Asset.get(1),
749                                                                                                                    assetExtendedAttributeType: AssetExtendedAttributeType.get(1))
750        BootStrapSaveAndTest(assetExtendedAttributeInstance)
751
752        //AssetExtendedAttribute #2
753        assetExtendedAttributeInstance = new AssetExtendedAttribute(value: "On the far side of Tank 5",
754                                                                                                                    asset: Asset.get(1),
755                                                                                                                    assetExtendedAttributeType: AssetExtendedAttributeType.get(5))
756        BootStrapSaveAndTest(assetExtendedAttributeInstance)
757
758/*************************
759Finally did it all work.
760**************************/       
761        if(BootStrapDemoDataSuccessful) {
762            println "BootStrapping demo data...successful."
763        }
764        else println "BootStrapping demo data...failed."
765    }
766
767/****************************************
768Call this function instead of .save()
769*****************************************/   
770    void BootStrapSaveAndTest(object) {
771        if(!object.save()) {
772            BootStrapDemoDataSuccessful = false
773            println "'${object}' failed to save!"
774            println object.errors
775
776        }
777    } 
778}
Note: See TracBrowser for help on using the repository browser.