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 }