1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.kuali.student.ui.admin.lrc;
17
18
19 import java.util.ArrayList;
20 import java.util.List;
21 import java.util.Map;
22 import javax.xml.namespace.QName;
23 import org.apache.log4j.Logger;
24 import org.kuali.rice.core.api.criteria.Predicate;
25 import org.kuali.rice.core.api.criteria.PredicateFactory;
26 import org.kuali.rice.core.api.criteria.QueryByCriteria;
27 import org.kuali.rice.core.api.resourceloader.GlobalResourceLoader;
28 import org.kuali.rice.krad.lookup.LookupableImpl;
29 import org.kuali.rice.krad.web.form.LookupForm;
30 import org.kuali.student.enrollment.common.util.ContextBuilder;
31 import org.kuali.student.r2.common.dto.ContextInfo;
32 import org.kuali.student.r2.lum.lrc.dto.ResultScaleInfo;
33 import org.kuali.student.r2.lum.lrc.service.LRCService;
34 import org.kuali.student.r2.lum.util.constants.LrcServiceConstants;
35
36
37 public class ResultScaleInfoAdminLookupableImpl extends LookupableImpl
38 {
39 private static final Logger LOG = Logger.getLogger(ResultScaleInfoAdminLookupableImpl.class);
40 private transient LRCService lRCService;
41 private static final long serialVersionUID = 1L;
42 @Override
43 protected List<ResultScaleInfo> getSearchResults(LookupForm lookupForm, Map<String, String> fieldValues, boolean unbounded)
44 {
45 QueryByCriteria.Builder qBuilder = QueryByCriteria.Builder.create();
46 List<Predicate> pList = new ArrayList<Predicate>();
47 for (String fieldName : fieldValues.keySet())
48 {
49 String value = fieldValues.get(fieldName);
50 if (value != null && !value.isEmpty())
51 {
52 if (fieldName.equals("maxResultsToReturn"))
53 {
54 qBuilder.setMaxResults (Integer.parseInt(value));
55 continue;
56 }
57 pList.add(PredicateFactory.equal(fieldName, value));
58 }
59 }
60 if (!pList.isEmpty())
61 {
62 qBuilder.setPredicates(PredicateFactory.and(pList.toArray(new Predicate[pList.size()])));
63 }
64 try
65 {
66 List<ResultScaleInfo> list = this.getLRCService().searchForResultScales(qBuilder.build(), getContextInfo());
67 return list;
68 }
69 catch (Exception ex) {
70 throw new RuntimeException(ex);
71 }
72 }
73
74 public void setLRCService(LRCService lRCService)
75 {
76 this.lRCService = lRCService;
77 }
78
79 public LRCService getLRCService()
80 {
81 if (lRCService == null)
82 {
83 QName qname = new QName(LrcServiceConstants.NAMESPACE,LrcServiceConstants.SERVICE_NAME_LOCAL_PART);
84 lRCService = (LRCService) GlobalResourceLoader.getService(qname);
85 }
86 return this.lRCService;
87 }
88
89 private ContextInfo getContextInfo() {
90 return ContextBuilder.loadContextInfo();
91 }
92 }
93