1 | |
package org.kuali.student.lum.program.client.major; |
2 | |
|
3 | |
import com.google.gwt.event.shared.HandlerManager; |
4 | |
import org.kuali.student.common.ui.client.application.ViewContext; |
5 | |
import org.kuali.student.common.ui.client.mvc.DataModel; |
6 | |
import org.kuali.student.lum.program.client.ProgramRegistry; |
7 | |
import org.kuali.student.lum.program.client.ProgramUtils; |
8 | |
import org.kuali.student.lum.program.client.events.ProgramViewEvent; |
9 | |
import org.kuali.student.lum.program.client.major.edit.MajorEditController; |
10 | |
import org.kuali.student.lum.program.client.major.view.MajorViewController; |
11 | |
import org.kuali.student.lum.program.client.variation.edit.VariationEditController; |
12 | |
import org.kuali.student.lum.program.client.variation.view.VariationViewController; |
13 | |
import org.kuali.student.lum.program.client.versions.ProgramVersionsController; |
14 | |
import org.kuali.student.lum.program.client.widgets.ProgramSideBar; |
15 | |
|
16 | |
|
17 | |
|
18 | |
|
19 | |
public class MajorManager { |
20 | |
|
21 | |
private MajorViewController majorViewController; |
22 | |
|
23 | |
private MajorEditController majorEditController; |
24 | |
|
25 | |
private VariationViewController variationViewController; |
26 | |
|
27 | |
private VariationEditController variationEditController; |
28 | |
|
29 | |
private ProgramVersionsController programVersionsController; |
30 | |
|
31 | |
protected DataModel programModel; |
32 | |
|
33 | 0 | private ViewContext viewContext = new ViewContext(); |
34 | |
|
35 | |
private static HandlerManager eventBus; |
36 | |
|
37 | 0 | public MajorManager() { |
38 | 0 | eventBus = new HandlerManager(null); |
39 | 0 | programModel = new DataModel(); |
40 | 0 | ProgramRegistry.getSpecializationHandlers().clear(); |
41 | 0 | } |
42 | |
|
43 | |
public MajorViewController getProgramViewController() { |
44 | 0 | programModel.resetRoot(); |
45 | 0 | getMajorViewController(); |
46 | 0 | eventBus.fireEvent(new ProgramViewEvent()); |
47 | 0 | return majorViewController; |
48 | |
} |
49 | |
|
50 | |
public VariationViewController getVariationViewController() { |
51 | 0 | DataModel variationModel = new DataModel(); |
52 | 0 | variationModel.setDefinition(programModel.getDefinition()); |
53 | 0 | variationModel.setRoot(ProgramRegistry.getData()); |
54 | 0 | variationViewController = new VariationViewController(variationModel, viewContext, eventBus, majorViewController); |
55 | 0 | return variationViewController; |
56 | |
} |
57 | |
|
58 | |
public VariationEditController getVariationEditController() { |
59 | 0 | DataModel variationModel = new DataModel(); |
60 | 0 | variationModel.setDefinition(programModel.getDefinition()); |
61 | 0 | variationModel.setRoot(ProgramRegistry.getData()); |
62 | 0 | ProgramUtils.unregisterUnusedHandlers(eventBus); |
63 | 0 | variationEditController = new VariationEditController(variationModel, viewContext, eventBus, majorEditController); |
64 | 0 | return variationEditController; |
65 | |
} |
66 | |
|
67 | |
public MajorEditController getProgramEditController() { |
68 | 0 | programModel.resetRoot(); |
69 | 0 | return getMajorEditController(); |
70 | |
} |
71 | |
|
72 | |
public ProgramVersionsController getProgramVersionsController() { |
73 | 0 | if (programVersionsController == null) { |
74 | 0 | programVersionsController = new ProgramVersionsController(programModel, ProgramSideBar.Type.MAJOR, viewContext, eventBus); |
75 | |
} |
76 | 0 | return programVersionsController; |
77 | |
} |
78 | |
|
79 | |
public static HandlerManager getEventBus() { |
80 | 0 | return eventBus; |
81 | |
} |
82 | |
|
83 | |
private MajorEditController getMajorEditController() { |
84 | 0 | if (majorEditController == null) { |
85 | 0 | majorEditController = new MajorEditController(programModel, viewContext, eventBus); |
86 | |
} |
87 | 0 | return majorEditController; |
88 | |
} |
89 | |
|
90 | |
private MajorViewController getMajorViewController() { |
91 | 0 | if (majorViewController == null) { |
92 | 0 | majorViewController = new MajorViewController(programModel, viewContext, eventBus); |
93 | |
} |
94 | 0 | return majorViewController; |
95 | |
} |
96 | |
} |