1 package org.kuali.rice.student.lookup.keyvalues;
2
3 import org.kuali.rice.core.api.util.ConcreteKeyValue;
4 import org.kuali.rice.core.api.util.KeyValue;
5 import org.kuali.student.r2.common.util.ContextUtils;
6 import org.kuali.student.r2.core.search.dto.SearchRequestInfo;
7 import org.kuali.student.r2.core.search.dto.SearchResultCellInfo;
8 import org.kuali.student.r2.core.search.dto.SearchResultInfo;
9 import org.kuali.student.r2.core.search.dto.SearchResultRowInfo;
10 import org.kuali.student.r2.core.search.dto.SortDirection;
11
12 import java.util.ArrayList;
13 import java.util.List;
14
15
16
17
18
19
20
21
22 public class SubjectAreaValuesFinder extends OrgsOfTypeValuesFinder{
23
24
25
26
27
28
29
30 public static List<KeyValue> findOrgs(String orgType) {
31 List<KeyValue> orgEntities = new ArrayList<KeyValue>();
32 SearchRequestInfo searchRequest = new SearchRequestInfo("org.search.generic");
33 searchRequest.addParam("org.queryParam.orgOptionalType",orgType);
34 searchRequest.setSortColumn("org.resultColumn.orgOptionalLongName");
35 searchRequest.setSortDirection(SortDirection.ASC);
36 try {
37 SearchResultInfo results = getOrganizationService().search(searchRequest, ContextUtils.getContextInfo());
38
39 for (SearchResultRowInfo result : results.getRows()) {
40 String orgShortName = "";
41 for (SearchResultCellInfo resultCell : result.getCells()) {
42 if ("org.resultColumn.orgShortName".equals(resultCell.getKey())) {
43 orgShortName = resultCell.getValue();
44 }
45 }
46 orgEntities.add(new ConcreteKeyValue(orgShortName, orgShortName));
47 }
48 return orgEntities;
49 } catch (Exception e) {
50 throw new RuntimeException(e);
51 }
52 }
53
54 @Override
55 public List<KeyValue> getKeyValues() {
56 return findOrgs("kuali.org.SubjectCode");
57 }
58 }
59