View Javadoc

1   package org.kuali.student.common.search;
2   
3   import java.util.ArrayList;
4   import java.util.List;
5   
6   import org.kuali.student.common.exceptions.DoesNotExistException;
7   import org.kuali.student.common.exceptions.InvalidParameterException;
8   import org.kuali.student.common.exceptions.MissingParameterException;
9   import org.kuali.student.common.exceptions.OperationFailedException;
10  import org.kuali.student.common.search.dto.SearchCriteriaTypeInfo;
11  import org.kuali.student.common.search.dto.SearchRequest;
12  import org.kuali.student.common.search.dto.SearchResult;
13  import org.kuali.student.common.search.dto.SearchResultCell;
14  import org.kuali.student.common.search.dto.SearchResultRow;
15  import org.kuali.student.common.search.dto.SearchResultTypeInfo;
16  import org.kuali.student.common.search.dto.SearchTypeInfo;
17  import org.kuali.student.common.search.service.SearchService;
18  import org.kuali.student.common.search.service.impl.CrossSearchManager;
19  import org.kuali.student.common.search.service.impl.SearchDispatcherImpl;
20  import org.kuali.student.common.search.service.impl.SearchManagerImpl;
21  
22  public class MockSearch implements SearchService {
23  	SearchManagerImpl sm;
24  	public MockSearch(){
25  		sm = new SearchManagerImpl("classpath:test-cross-search.xml");
26  		CrossSearchManager csm = new CrossSearchManager();
27  		sm.setCrossSearchManager(csm);
28  		SearchDispatcherImpl sd = new SearchDispatcherImpl();
29  		List<SearchService> services = new ArrayList<SearchService>();
30  		services.add(this);
31  		sd.setServices(services);
32  		csm.setSearchDispatcher(sd);
33  	}
34  	@Override
35  	public List<SearchTypeInfo> getSearchTypes()
36  			throws OperationFailedException {
37  		return sm.getSearchTypes();
38  	}
39  
40  	@Override
41  	public SearchTypeInfo getSearchType(String searchTypeKey)
42  			throws DoesNotExistException, InvalidParameterException,
43  			MissingParameterException, OperationFailedException {
44  		return sm.getSearchType(searchTypeKey);
45  	}
46  
47  	@Override
48  	public List<SearchTypeInfo> getSearchTypesByResult(
49  			String searchResultTypeKey) throws DoesNotExistException,
50  			InvalidParameterException, MissingParameterException,
51  			OperationFailedException {
52  		return sm.getSearchTypesByResult(searchResultTypeKey);
53  	}
54  
55  	@Override
56  	public List<SearchTypeInfo> getSearchTypesByCriteria(
57  			String searchCriteriaTypeKey) throws DoesNotExistException,
58  			InvalidParameterException, MissingParameterException,
59  			OperationFailedException {
60  		return sm.getSearchTypesByCriteria(searchCriteriaTypeKey);
61  	}
62  
63  	@Override
64  	public List<SearchResultTypeInfo> getSearchResultTypes()
65  			throws OperationFailedException {
66  		return sm.getSearchResultTypes();
67  	}
68  
69  	@Override
70  	public SearchResultTypeInfo getSearchResultType(String searchResultTypeKey)
71  			throws DoesNotExistException, InvalidParameterException,
72  			MissingParameterException, OperationFailedException {
73  		return sm.getSearchResultType(searchResultTypeKey);
74  	}
75  
76  	@Override
77  	public List<SearchCriteriaTypeInfo> getSearchCriteriaTypes()
78  			throws OperationFailedException {
79  		return sm.getSearchCriteriaTypes();
80  	}
81  
82  	@Override
83  	public SearchCriteriaTypeInfo getSearchCriteriaType(
84  			String searchCriteriaTypeKey) throws DoesNotExistException,
85  			InvalidParameterException, MissingParameterException,
86  			OperationFailedException {
87  		return sm.getSearchCriteriaType(searchCriteriaTypeKey);
88  	}
89  
90  	@Override
91  	public SearchResult search(SearchRequest searchRequest)
92  			throws MissingParameterException {
93  		if("test.search1".equals(searchRequest.getSearchKey())){
94  			SearchResult searchResult = new SearchResult();
95  			SearchResultRow row = new SearchResultRow();
96  			SearchResultCell cell = new SearchResultCell();
97  			cell.setKey("col1");
98  			cell.setValue("value1-1");
99  			row.getCells().add(cell);
100 			
101 			cell = new SearchResultCell();
102 			cell.setKey("col2");
103 			cell.setValue("value2-1");
104 			row.getCells().add(cell);
105 			
106 			searchResult.getRows().add(row);
107 		
108 			row = new SearchResultRow();
109 			cell = new SearchResultCell();
110 			cell.setKey("col1");
111 			cell.setValue("value1-2");
112 			row.getCells().add(cell);
113 			
114 			cell = new SearchResultCell();
115 			cell.setKey("col2");
116 			cell.setValue("value2-2");
117 			row.getCells().add(cell);
118 			
119 			searchResult.getRows().add(row);
120 			return searchResult;
121 		}
122 		
123 		if("test.search2".equals(searchRequest.getSearchKey())){
124 			SearchResult searchResult = new SearchResult();
125 			SearchResultRow row = new SearchResultRow();
126 			SearchResultCell cell = new SearchResultCell();
127 			cell.setKey("C-A");
128 			cell.setValue("Avalue1-1");
129 			row.getCells().add(cell);
130 			
131 			cell = new SearchResultCell();
132 			cell.setKey("C-B");
133 			cell.setValue("Avalue2-1");
134 			row.getCells().add(cell);
135 			
136 			searchResult.getRows().add(row);
137 		
138 			row = new SearchResultRow();
139 			cell = new SearchResultCell();
140 			cell.setKey("C-A");
141 			cell.setValue("Avalue1-2");
142 			row.getCells().add(cell);
143 			
144 			cell = new SearchResultCell();
145 			cell.setKey("C-B");
146 			cell.setValue("Avalue2-2");
147 			row.getCells().add(cell);
148 			
149 			searchResult.getRows().add(row);
150 			return searchResult;
151 		}else if("test.crossSearch".equals(searchRequest.getSearchKey())){
152 			return sm.search(searchRequest, null);
153 		}
154 		return null;
155 	}
156 
157 }