001 package org.kuali.student.common.search; 002 003 import java.util.ArrayList; 004 import java.util.List; 005 006 import org.kuali.student.common.exceptions.DoesNotExistException; 007 import org.kuali.student.common.exceptions.InvalidParameterException; 008 import org.kuali.student.common.exceptions.MissingParameterException; 009 import org.kuali.student.common.exceptions.OperationFailedException; 010 import org.kuali.student.common.search.dto.SearchCriteriaTypeInfo; 011 import org.kuali.student.common.search.dto.SearchRequest; 012 import org.kuali.student.common.search.dto.SearchResult; 013 import org.kuali.student.common.search.dto.SearchResultCell; 014 import org.kuali.student.common.search.dto.SearchResultRow; 015 import org.kuali.student.common.search.dto.SearchResultTypeInfo; 016 import org.kuali.student.common.search.dto.SearchTypeInfo; 017 import org.kuali.student.common.search.service.SearchService; 018 import org.kuali.student.common.search.service.impl.CrossSearchManager; 019 import org.kuali.student.common.search.service.impl.SearchDispatcherImpl; 020 import org.kuali.student.common.search.service.impl.SearchManagerImpl; 021 022 public class MockSearch implements SearchService { 023 SearchManagerImpl sm; 024 public MockSearch(){ 025 sm = new SearchManagerImpl("classpath:test-cross-search.xml"); 026 CrossSearchManager csm = new CrossSearchManager(); 027 sm.setCrossSearchManager(csm); 028 SearchDispatcherImpl sd = new SearchDispatcherImpl(); 029 List<SearchService> services = new ArrayList<SearchService>(); 030 services.add(this); 031 sd.setServices(services); 032 csm.setSearchDispatcher(sd); 033 } 034 @Override 035 public List<SearchTypeInfo> getSearchTypes() 036 throws OperationFailedException { 037 return sm.getSearchTypes(); 038 } 039 040 @Override 041 public SearchTypeInfo getSearchType(String searchTypeKey) 042 throws DoesNotExistException, InvalidParameterException, 043 MissingParameterException, OperationFailedException { 044 return sm.getSearchType(searchTypeKey); 045 } 046 047 @Override 048 public List<SearchTypeInfo> getSearchTypesByResult( 049 String searchResultTypeKey) throws DoesNotExistException, 050 InvalidParameterException, MissingParameterException, 051 OperationFailedException { 052 return sm.getSearchTypesByResult(searchResultTypeKey); 053 } 054 055 @Override 056 public List<SearchTypeInfo> getSearchTypesByCriteria( 057 String searchCriteriaTypeKey) throws DoesNotExistException, 058 InvalidParameterException, MissingParameterException, 059 OperationFailedException { 060 return sm.getSearchTypesByCriteria(searchCriteriaTypeKey); 061 } 062 063 @Override 064 public List<SearchResultTypeInfo> getSearchResultTypes() 065 throws OperationFailedException { 066 return sm.getSearchResultTypes(); 067 } 068 069 @Override 070 public SearchResultTypeInfo getSearchResultType(String searchResultTypeKey) 071 throws DoesNotExistException, InvalidParameterException, 072 MissingParameterException, OperationFailedException { 073 return sm.getSearchResultType(searchResultTypeKey); 074 } 075 076 @Override 077 public List<SearchCriteriaTypeInfo> getSearchCriteriaTypes() 078 throws OperationFailedException { 079 return sm.getSearchCriteriaTypes(); 080 } 081 082 @Override 083 public SearchCriteriaTypeInfo getSearchCriteriaType( 084 String searchCriteriaTypeKey) throws DoesNotExistException, 085 InvalidParameterException, MissingParameterException, 086 OperationFailedException { 087 return sm.getSearchCriteriaType(searchCriteriaTypeKey); 088 } 089 090 @Override 091 public SearchResult search(SearchRequest searchRequest) 092 throws MissingParameterException { 093 if("test.search1".equals(searchRequest.getSearchKey())){ 094 SearchResult searchResult = new SearchResult(); 095 SearchResultRow row = new SearchResultRow(); 096 SearchResultCell cell = new SearchResultCell(); 097 cell.setKey("col1"); 098 cell.setValue("value1-1"); 099 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 }