1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.kuali.student.ui.admin.atp;
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.core.atp.dto.AtpAtpRelationInfo;
33 import org.kuali.student.r2.core.atp.service.AtpService;
34 import org.kuali.student.r2.core.constants.AtpServiceConstants;
35
36
37 public class AtpAtpRelationInfoAdminLookupableImpl extends LookupableImpl
38 {
39 private static final Logger LOG = Logger.getLogger(AtpAtpRelationInfoAdminLookupableImpl.class);
40 private transient AtpService atpService;
41 private static final long serialVersionUID = 1L;
42 @Override
43 protected List<AtpAtpRelationInfo> 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<AtpAtpRelationInfo> list = this.getAtpService().searchForAtpAtpRelations(qBuilder.build(), getContextInfo());
67 return list;
68 }
69 catch (Exception ex) {
70 throw new RuntimeException(ex);
71 }
72 }
73
74 public void setAtpService(AtpService atpService)
75 {
76 this.atpService = atpService;
77 }
78
79 public AtpService getAtpService()
80 {
81 if (atpService == null)
82 {
83 QName qname = new QName(AtpServiceConstants.NAMESPACE,AtpServiceConstants.SERVICE_NAME_LOCAL_PART);
84 atpService = (AtpService) GlobalResourceLoader.getService(qname);
85 }
86 return this.atpService;
87 }
88
89 private ContextInfo getContextInfo() {
90 return ContextBuilder.loadContextInfo();
91 }
92 }
93