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

Last change on this file since 130 was 127, checked in by gav, 16 years ago

Logins now route through a welcome action to allow flash message and user environment setup. Session timeout now user configurable and defaults to 12 hours. Work on Planned Maintenance.

File size: 35.1 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:"Normal")
245        BootStrapSaveAndTest(taskPriorityInstance)
246
247        taskPriorityInstance = new TaskPriority(name:"Low")
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                                                                                                    nextDueDate: new Date())
419        BootStrapSaveAndTest(recurringScheduleInstance)
420
421        //RecurringSchedule #2
422        recurringScheduleInstance = new RecurringSchedule(recurEvery: 1,
423                                                                                                    period: Period.get(2),
424                                                                                                    task: Task.get(2),
425                                                                                                    nextDueDate: new Date())
426        BootStrapSaveAndTest(recurringScheduleInstance)
427
428/*************************
429START OF INVENTORY
430**************************/
431
432//InventoryStore
433        def inventoryStoreInstance
434
435        inventoryStoreInstance = new InventoryStore(site: Site.get(1), name: "Store #1")
436        BootStrapSaveAndTest(inventoryStoreInstance)
437
438        inventoryStoreInstance = new InventoryStore(site: Site.get(2), name: "Store #2")
439        BootStrapSaveAndTest(inventoryStoreInstance)
440
441//StoreLocation
442        def storeLocation
443       
444        storeLocation = new StoreLocation(inventoryStore: InventoryStore.get(1), bin: "A1-2")
445        BootStrapSaveAndTest(storeLocation)
446
447        storeLocation = new StoreLocation(inventoryStore: InventoryStore.get(1), bin: "C55")
448        BootStrapSaveAndTest(storeLocation)
449
450//InventoryGroup
451        def inventoryGroupInstance
452
453        //InventoryGroup #1
454        inventoryGroupInstance = new InventoryGroup(name: "Misc")
455        BootStrapSaveAndTest(inventoryGroupInstance)
456
457        //InventoryGroup #2
458        inventoryGroupInstance = new InventoryGroup(name: "Electrical")
459        BootStrapSaveAndTest(inventoryGroupInstance)
460
461        //InventoryGroup #3
462        inventoryGroupInstance = new InventoryGroup(name: "Mechanical")
463        BootStrapSaveAndTest(inventoryGroupInstance)
464
465        //InventoryGroup #4
466        inventoryGroupInstance = new InventoryGroup(name: "Production")
467        BootStrapSaveAndTest(inventoryGroupInstance)
468
469//InventoryType
470        def inventoryTypeInstance
471
472        inventoryTypeInstance = new InventoryType(name: "Consumable")
473        BootStrapSaveAndTest(inventoryTypeInstance)
474
475        inventoryTypeInstance = new InventoryType(name: "Repairable")
476        BootStrapSaveAndTest(inventoryTypeInstance)
477
478//InventoryItem
479        def inventoryItemInstance
480
481        //InventoryItem #1
482        inventoryItemInstance = new InventoryItem(inventoryGroup: InventoryGroup.get(1),
483                                                                                    inventoryType: InventoryType.get(1),
484                                                                                    unitOfMeasure: UnitOfMeasure.get(2),
485                                                                                    name: "J-Rope",
486                                                                                    description: "Twine wound J-Rope",
487                                                                                    reorderPoint: 0)
488        BootStrapSaveAndTest(inventoryItemInstance)
489
490        //InventoryItem #2
491        inventoryItemInstance = new InventoryItem(inventoryGroup: InventoryGroup.get(1),
492                                                                                    inventoryType: InventoryType.get(1),
493                                                                                    unitOfMeasure: UnitOfMeasure.get(2),
494                                                                                    name: "L-Rope",
495                                                                                    description: "Twine wound L-Rope",
496                                                                                    alternateItems: InventoryItem.get(1),
497                                                                                    reorderPoint: 0)
498        BootStrapSaveAndTest(inventoryItemInstance)
499
500        //InventoryItem #3
501        inventoryItemInstance = new InventoryItem(inventoryGroup: InventoryGroup.get(3),
502                                                                                    inventoryType: InventoryType.get(1),
503                                                                                    unitOfMeasure: UnitOfMeasure.get(1),
504                                                                                    name: "2305-2RS",
505                                                                                    description: "Bearing 25x62x24mm double row self aligning ball",
506                                                                                    reorderPoint: 2)
507        BootStrapSaveAndTest(inventoryItemInstance)
508
509        //InventoryItem #4
510        inventoryItemInstance = new InventoryItem(inventoryGroup: InventoryGroup.get(2),
511                                                                                    inventoryType: InventoryType.get(1),
512                                                                                    unitOfMeasure: UnitOfMeasure.get(1),
513                                                                                    name: "L1592-K10",
514                                                                                    description: "10kW contactor",
515                                                                                    reorderPoint: 0)
516        BootStrapSaveAndTest(inventoryItemInstance)
517
518        //InventoryItem #5
519        inventoryItemInstance = new InventoryItem(inventoryGroup: InventoryGroup.get(3),
520                                                                                    inventoryType: InventoryType.get(1),
521                                                                                    unitOfMeasure: UnitOfMeasure.get(1),
522                                                                                    name: "6205-ZZ",
523                                                                                    description: "Bearing 25x52x15mm single row ball shielded",
524                                                                                    reorderPoint: 2)
525        BootStrapSaveAndTest(inventoryItemInstance)
526
527//StoredItem
528        def storedItemInstance
529
530        //StoredItem #1
531        storedItemInstance = new StoredItem(inventoryItem: InventoryItem.get(1),
532                                                                            storeLocation: StoreLocation.get(1),
533                                                                            quantity: 8)
534        BootStrapSaveAndTest(storedItemInstance)
535
536        //StoredItem #2
537        storedItemInstance = new StoredItem(inventoryItem: InventoryItem.get(1),
538                                                                            storeLocation: StoreLocation.get(2),
539                                                                            quantity: 4)
540        BootStrapSaveAndTest(storedItemInstance)
541
542        //StoredItem #3
543        storedItemInstance = new StoredItem(inventoryItem: InventoryItem.get(2),
544                                                                            storeLocation: StoreLocation.get(1),
545                                                                            quantity: 2)
546        BootStrapSaveAndTest(storedItemInstance)
547
548        //StoredItem #4
549        storedItemInstance = new StoredItem(inventoryItem: InventoryItem.get(3),
550                                                                            storeLocation: StoreLocation.get(1),
551                                                                            quantity: 2)
552        BootStrapSaveAndTest(storedItemInstance)
553
554        //StoredItem #5
555        storedItemInstance = new StoredItem(inventoryItem: InventoryItem.get(4),
556                                                                            storeLocation: StoreLocation.get(1),
557                                                                            quantity: 30)
558        BootStrapSaveAndTest(storedItemInstance)
559
560/*******************
561START OF ASSET
562*******************/
563
564//LifePlan
565        def lifeplanInstance
566
567        lifeplanInstance = new LifePlan(name: "Initial Plan")
568        BootStrapSaveAndTest(lifeplanInstance)
569
570//MaintenancePolicy
571        def maintenancePolicyInstance
572
573        //MaintenancePolicy #1
574        maintenancePolicyInstance = new MaintenancePolicy(name: "Fixed Time")
575        BootStrapSaveAndTest(maintenancePolicyInstance)
576
577        //MaintenancePolicy #2
578        maintenancePolicyInstance = new MaintenancePolicy(name: "Condition Based Online")
579        BootStrapSaveAndTest(maintenancePolicyInstance)
580
581        //MaintenancePolicy #3
582        maintenancePolicyInstance = new MaintenancePolicy(name: "Condition Based Offline")
583        BootStrapSaveAndTest(maintenancePolicyInstance)
584
585        //MaintenancePolicy #4
586        maintenancePolicyInstance = new MaintenancePolicy(name: "Design Out")
587        BootStrapSaveAndTest(maintenancePolicyInstance)
588
589        //MaintenancePolicy #5
590        maintenancePolicyInstance = new MaintenancePolicy(name: "Operate To Failure")
591        BootStrapSaveAndTest(maintenancePolicyInstance)
592
593//PlannedMaintenance
594        def plannedMaintenanceInstance
595
596        //PM #1
597        plannedMaintenanceInstance = new PlannedMaintenance(name: "PM1",
598                                                                                                            recurringSchedule: RecurringSchedule.get(1))
599        BootStrapSaveAndTest(plannedMaintenanceInstance)
600
601        //PM #2
602        plannedMaintenanceInstance = new PlannedMaintenance(name: "PM2",
603                                                                                                            recurringSchedule: RecurringSchedule.get(1))
604        BootStrapSaveAndTest(plannedMaintenanceInstance)
605
606//MaintenanceAction
607        def maintenanceActionInstance
608
609        //MaintenanceAction #1
610        maintenanceActionInstance = new MaintenanceAction(maintenanceAction: "Check all E-stops, active E-stop S1-S12 and ensure machine cannot run",
611                                                                                                        pmStepNumber: 1,
612                                                                                                        maintenancePolicy: MaintenancePolicy.get(1),
613                                                                                                        plannedMaintenance: PlannedMaintenance.get(1))
614        BootStrapSaveAndTest(maintenanceActionInstance)
615
616        //MaintenanceAction #2
617        maintenanceActionInstance = new MaintenanceAction(maintenanceAction: "Do more pushups",
618                                                                                                        pmStepNumber: 2,
619                                                                                                        maintenancePolicy: MaintenancePolicy.get(1),
620                                                                                                        plannedMaintenance: PlannedMaintenance.get(1))
621        BootStrapSaveAndTest(maintenanceActionInstance)
622
623        //MaintenanceAction #3
624        maintenanceActionInstance = new MaintenanceAction(maintenanceAction: "Ok just one more pushup",
625                                                                                                        pmStepNumber: 3,
626                                                                                                        maintenancePolicy: MaintenancePolicy.get(1),
627                                                                                                        plannedMaintenance: PlannedMaintenance.get(1))
628        BootStrapSaveAndTest(maintenanceActionInstance)
629                                                                                                   
630//SystemSection
631    def systemSectionInstance
632
633    //SystemSection #1
634    systemSectionInstance = new SystemSection(name: "Press Section",
635                                                                                   site: Site.get(1))
636    BootStrapSaveAndTest(systemSectionInstance)
637
638    //SystemSection #2
639    systemSectionInstance = new SystemSection(name: "RO System",
640                                                                                   site: Site.get(2))
641    BootStrapSaveAndTest(systemSectionInstance)
642
643    //SystemSection #3
644    systemSectionInstance = new SystemSection(name: "Auxilliray Section",
645                                                                                   site: Site.get(1))
646    BootStrapSaveAndTest(systemSectionInstance)
647
648//AssetType
649        def assetTypeInstance
650
651        //AssetType #1
652        assetTypeInstance = new AssetType(name: "Print Unit")
653        BootStrapSaveAndTest(assetTypeInstance)
654
655        //AssetType #2
656        assetTypeInstance = new AssetType(name: "Reactor Tower")
657        BootStrapSaveAndTest(assetTypeInstance)
658   
659//Assembly
660        def assemblyInstance
661
662        //Assembly #1
663        assemblyInstance = new Assembly(name: "Print Couple")
664        BootStrapSaveAndTest(assemblyInstance)
665//        assemblyInstance.addToMaintenanceActions(MaintenanceAction.get(1))
666       
667        //Assembly #2
668        assemblyInstance = new Assembly(name: "Agitator",
669                        lifeplan: LifePlan.get(1))
670        BootStrapSaveAndTest(assemblyInstance)
671
672//SubAssembly
673        def subAssemblyInstance
674
675        //SubAssembly #1
676        subAssemblyInstance = new SubAssembly(name: "Cylinder")
677        BootStrapSaveAndTest(subAssemblyInstance)
678 
679         //SubAssembly #2
680        subAssemblyInstance = new SubAssembly(name: "Gearmotor")
681        BootStrapSaveAndTest(subAssemblyInstance)
682
683//ComponentItem
684        def componentItemInstance
685   
686        //ComponentItem #1
687        componentItemInstance = new ComponentItem(name: "Centre Pulley")
688        BootStrapSaveAndTest(componentItemInstance)
689
690         //ComponentItem #2
691        componentItemInstance = new ComponentItem(name: "Bearing")
692        BootStrapSaveAndTest(componentItemInstance)
693
694//Asset
695        def assetInstance
696
697        //Asset #1
698        assetInstance = new Asset(name: "Print Unit 22",
699                                                        assetType: AssetType.get(1),
700                                                        systemSection: SystemSection.get(1))
701        BootStrapSaveAndTest(assetInstance)
702//        assetInstance.addToMaintenanceActions(MaintenanceAction.get(1))
703
704        //Asset #2
705        assetInstance = new Asset(name: "Print Unit 21",
706                                                        assetType: AssetType.get(1),
707                                                        systemSection: SystemSection.get(1))
708        BootStrapSaveAndTest(assetInstance)
709
710        //Asset #3
711        assetInstance = new Asset(name: "Print Unit 23",
712                                                        assetType: AssetType.get(1),
713                                                        systemSection: SystemSection.get(1))
714        BootStrapSaveAndTest(assetInstance)
715
716        //Asset #4
717        assetInstance = new Asset(name: "RO 1",
718                                                        assetType: AssetType.get(2),
719                                                        systemSection: SystemSection.get(2))
720        BootStrapSaveAndTest(assetInstance)
721
722//AssetExtendedAttributeType
723        def assetExtendedAttributeInstanceType
724
725        //AssetExtendedAttributeType #1
726        assetExtendedAttributeInstanceType = new AssetExtendedAttributeType(name: "Model Number")
727        BootStrapSaveAndTest(assetExtendedAttributeInstanceType)
728
729        //AssetExtendedAttributeType #2
730        assetExtendedAttributeInstanceType = new AssetExtendedAttributeType(name: "Purchase Cost")
731        BootStrapSaveAndTest(assetExtendedAttributeInstanceType)
732
733        //AssetExtendedAttributeType #3
734        assetExtendedAttributeInstanceType = new AssetExtendedAttributeType(name: "Serial Number")
735        BootStrapSaveAndTest(assetExtendedAttributeInstanceType)
736
737        //AssetExtendedAttributeType #4
738        assetExtendedAttributeInstanceType = new AssetExtendedAttributeType(name: "Manufactured Date")
739        BootStrapSaveAndTest(assetExtendedAttributeInstanceType)
740
741        //AssetExtendedAttributeType #5
742        assetExtendedAttributeInstanceType = new AssetExtendedAttributeType(name: "Location Description")
743        BootStrapSaveAndTest(assetExtendedAttributeInstanceType)
744
745//AssetExtendedAttribute
746        def assetExtendedAttributeInstance
747
748        //AssetExtendedAttribute #1
749        assetExtendedAttributeInstance = new AssetExtendedAttribute(value: "PU Mark 2",
750                                                                                                                    asset: Asset.get(1),
751                                                                                                                    assetExtendedAttributeType: AssetExtendedAttributeType.get(1))
752        BootStrapSaveAndTest(assetExtendedAttributeInstance)
753
754        //AssetExtendedAttribute #2
755        assetExtendedAttributeInstance = new AssetExtendedAttribute(value: "On the far side of Tank 5",
756                                                                                                                    asset: Asset.get(1),
757                                                                                                                    assetExtendedAttributeType: AssetExtendedAttributeType.get(5))
758        BootStrapSaveAndTest(assetExtendedAttributeInstance)
759
760/*************************
761Finally did it all work.
762**************************/       
763        if(BootStrapDemoDataSuccessful) {
764            println "BootStrapping demo data...successful."
765        }
766        else println "BootStrapping demo data...failed."
767    }
768
769/****************************************
770Call this function instead of .save()
771*****************************************/   
772    void BootStrapSaveAndTest(object) {
773        if(!object.save()) {
774            BootStrapDemoDataSuccessful = false
775            println "'${object}' failed to save!"
776            println object.errors
777
778        }
779    } 
780}
Note: See TracBrowser for help on using the repository browser.