1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.kuali.rice.krms.impl.repository;
17
18 import org.kuali.rice.core.api.uif.RemotableAttributeField;
19 import org.kuali.rice.kns.inquiry.KualiInquirableImpl;
20 import org.kuali.rice.kns.service.KNSServiceLocator;
21 import org.kuali.rice.krad.service.BusinessObjectService;
22 import org.kuali.rice.krad.uif.container.Container;
23 import org.kuali.rice.krad.uif.view.View;
24 import org.kuali.rice.krad.web.form.InquiryForm;
25 import org.kuali.rice.krms.impl.ui.AgendaEditor;
26 import org.kuali.rice.krms.impl.util.KrmsRetriever;
27
28 import java.util.Collections;
29 import java.util.List;
30 import java.util.Map;
31
32
33
34
35 public class AgendaStudentInquiryHelperServiceImpl extends KualiInquirableImpl {
36
37 private transient KrmsRetriever krmsRetriever = new KrmsRetriever();
38
39 private BusinessObjectService businessObjectService;
40
41 @Override
42 public AgendaEditor retrieveDataObject(Map fieldValues) {
43 AgendaEditor agendaEditor = null;
44
45 String agendaId = (String) fieldValues.get("id");
46 AgendaBo agenda = getBusinessObjectService().findBySinglePrimaryKey(AgendaBo.class, agendaId);
47 if (agenda != null) {
48 agendaEditor = new AgendaEditor();
49 agendaEditor.setAgenda(agenda);
50 agendaEditor.setNamespace(agenda.getContext().getNamespace());
51 agendaEditor.setContextName(agenda.getContext().getName());
52 agendaEditor.setCustomAttributesMap(agenda.getAttributes());
53 }
54
55 return agendaEditor;
56 }
57
58
59
60
61
62
63 private AgendaEditor retrieveAgendaEditor(InquiryForm model) {
64 InquiryForm inquiryForm = (InquiryForm)model;
65 return (AgendaEditor)inquiryForm.getDataObject();
66 }
67
68
69
70
71
72
73
74
75 public List<RemotableAttributeField> retrieveAgendaCustomAttributes(View view, Object model, Container container) {
76 AgendaEditor agendaEditor = retrieveAgendaEditor((InquiryForm) model);
77 return krmsRetriever.retrieveAgendaCustomAttributes(agendaEditor);
78 }
79
80
81
82
83
84
85
86
87 public List<RemotableAttributeField> retrieveRuleActionCustomAttributes(View view, Object model, Container container) {
88 AgendaEditor agendaEditor = retrieveAgendaEditor((InquiryForm)model);
89 return krmsRetriever.retrieveRuleActionCustomAttributes(agendaEditor);
90 }
91
92
93
94
95
96
97
98
99 public List<RemotableAttributeField> retrieveRuleCustomAttributes(View view, Object model, Container container) {
100 AgendaEditor agendaEditor = retrieveAgendaEditor((InquiryForm)model);
101 return krmsRetriever.retrieveRuleCustomAttributes(agendaEditor);
102 }
103
104
105
106
107
108
109
110
111
112
113
114 public List<RemotableAttributeField> retrieveTermParameters(View view, Object model, Container container) {
115 return Collections.emptyList();
116 }
117
118 public BusinessObjectService getBusinessObjectService() {
119 if(businessObjectService == null){
120 return KNSServiceLocator.getBusinessObjectService();
121 }
122 return businessObjectService;
123 }
124
125 public void setBusinessObjectService(BusinessObjectService businessObjectService) {
126 this.businessObjectService = businessObjectService;
127 }
128 }