001 /** 002 * Copyright 2005-2011 The Kuali Foundation 003 * 004 * Licensed under the Educational Community License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.opensource.org/licenses/ecl2.php 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016 package org.kuali.rice.krad.lookup; 017 018 import java.util.ArrayList; 019 import java.util.Collection; 020 import java.util.List; 021 import java.util.Map; 022 023 import org.kuali.rice.kns.document.authorization.BusinessObjectRestrictions; 024 import org.kuali.rice.kns.lookup.HtmlData; 025 import org.kuali.rice.kns.lookup.LookupableHelperService; 026 import org.kuali.rice.kns.web.struts.form.LookupForm; 027 import org.kuali.rice.kns.web.ui.Field; 028 import org.kuali.rice.kns.web.ui.Row; 029 import org.kuali.rice.krad.bo.BusinessObject; 030 import org.kuali.rice.krad.service.BusinessObjectDictionaryService; 031 import org.kuali.rice.krad.service.DataDictionaryService; 032 import org.kuali.rice.krad.service.KRADServiceLocatorWeb; 033 034 /** 035 * Mock lookupable helper service for the LookupResultsService test 036 * 037 * @author Kuali Rice Team (rice.collab@kuali.org) 038 * 039 */ 040 public class LookupResultsDDBoLookupableHelperServiceImpl implements LookupableHelperService { 041 042 /** 043 * Just sends back whatever someValue was sent in - or "A" as some value if nothing else was out there 044 * @see org.kuali.rice.krad.lookup.AbstractLookupableHelperServiceImpl#getSearchResults(java.util.Map) 045 */ 046 public List<? extends BusinessObject> getSearchResults(Map<String, String> fieldValues) { 047 final String valueToPopulate = (fieldValues.containsKey("someValue")) ? fieldValues.get("someValue") : "A"; 048 final LookupResultsDDBo result = new LookupResultsDDBo(valueToPopulate); 049 List<LookupResultsDDBo> results = new ArrayList<LookupResultsDDBo>(); 050 results.add(result); 051 return results; 052 } 053 054 /** 055 * Always return false 056 * 057 * @see org.kuali.rice.krad.lookup.LookupableHelperService#allowsMaintenanceNewOrCopyAction() 058 */ 059 public boolean allowsMaintenanceNewOrCopyAction() { 060 return false; 061 } 062 063 /** 064 * Always return false 065 * 066 * @see org.kuali.rice.krad.lookup.LookupableHelperService#allowsNewOrCopyAction(java.lang.String) 067 */ 068 public boolean allowsNewOrCopyAction(String documentTypeName) { 069 return false; 070 } 071 072 /** 073 * Don't do anything 074 * 075 * @see org.kuali.rice.krad.lookup.LookupableHelperService#applyFieldAuthorizationsFromNestedLookups(org.kuali.rice.krad.web.ui.Field) 076 */ 077 public void applyFieldAuthorizationsFromNestedLookups(Field field) {} 078 079 /** 080 * Always returns false 081 * 082 * @see org.kuali.rice.krad.lookup.LookupableHelperService#checkForAdditionalFields(java.util.Map) 083 */ 084 public boolean checkForAdditionalFields(Map fieldValues) { 085 return false; 086 } 087 088 /** 089 * Always returns a blank String 090 * 091 * @see org.kuali.rice.krad.lookup.LookupableHelperService#getActionUrls(org.kuali.rice.krad.bo.BusinessObject, java.util.List, org.kuali.rice.krad.authorization.BusinessObjectRestrictions) 092 */ 093 public String getActionUrls(BusinessObject businessObject, List pkNames, BusinessObjectRestrictions businessObjectRestrictions) { 094 return ""; 095 } 096 097 /** 098 * Always returns blank String 099 * 100 * @see org.kuali.rice.krad.lookup.LookupableHelperService#getBackLocation() 101 */ 102 public String getBackLocation() { 103 return ""; 104 } 105 106 /** 107 * Always returns the class of LookupResultsDDBo 108 * 109 * @see org.kuali.rice.krad.lookup.LookupableHelperService#getBusinessObjectClass() 110 */ 111 public Class getBusinessObjectClass() { 112 return LookupResultsDDBo.class; 113 } 114 115 /** 116 * Gets the class from the KRADServiceLocatorInternal 117 * @see org.kuali.rice.krad.lookup.LookupableHelperService#getBusinessObjectDictionaryService() 118 */ 119 public BusinessObjectDictionaryService getBusinessObjectDictionaryService() { 120 return KRADServiceLocatorWeb.getBusinessObjectDictionaryService(); 121 } 122 123 /** 124 * Always returns null 125 * 126 * @see org.kuali.rice.krad.lookup.LookupableHelperService#getColumns() 127 */ 128 public List getColumns() { 129 return null; 130 } 131 132 /** 133 * Always returns null 134 * 135 * @see org.kuali.rice.krad.lookup.LookupableHelperService#getCustomActionUrls(org.kuali.rice.krad.bo.BusinessObject, java.util.List) 136 */ 137 public List<HtmlData> getCustomActionUrls(BusinessObject businessObject, List pkNames) { 138 return null; 139 } 140 141 /** 142 * Returns DataDictionaryService from KRADServiceLocatorInternal 143 * 144 * @see org.kuali.rice.krad.lookup.LookupableHelperService#getDataDictionaryService() 145 */ 146 public DataDictionaryService getDataDictionaryService() { 147 return KRADServiceLocatorWeb.getDataDictionaryService(); 148 } 149 150 /** 151 * Always returns null 152 * 153 * @see org.kuali.rice.krad.lookup.LookupableHelperService#getDefaultSortColumns() 154 */ 155 public List getDefaultSortColumns() { 156 return null; 157 } 158 159 /** 160 * Always returns an empty String 161 * 162 * @see org.kuali.rice.krad.lookup.LookupableHelperService#getDocFormKey() 163 */ 164 public String getDocFormKey() { 165 return ""; 166 } 167 168 /** 169 * Always returns empty String 170 * 171 * @see org.kuali.rice.krad.lookup.LookupableHelperService#getDocNum() 172 */ 173 public String getDocNum() { 174 return ""; 175 } 176 177 /** 178 * Always returns null 179 * 180 * @see org.kuali.rice.krad.lookup.LookupableHelperService#getExtraField() 181 */ 182 public Field getExtraField() { 183 return null; 184 } 185 186 /** 187 * Always returns null 188 * 189 * @see org.kuali.rice.krad.lookup.LookupableHelperService#getInquiryUrl(org.kuali.rice.krad.bo.BusinessObject, java.lang.String) 190 */ 191 public HtmlData getInquiryUrl(BusinessObject businessObject, String propertyName) { 192 return null; 193 } 194 195 /** 196 * Always returns null 197 * 198 * @see org.kuali.rice.krad.lookup.LookupableHelperService#getMaintenanceUrl(org.kuali.rice.krad.bo.BusinessObject, org.kuali.rice.krad.lookup.HtmlData, java.util.List, org.kuali.rice.krad.authorization.BusinessObjectRestrictions) 199 */ 200 public String getMaintenanceUrl(BusinessObject businessObject, HtmlData htmlData, List pkNames, BusinessObjectRestrictions businessObjectRestrictions) { 201 return null; 202 } 203 204 /** 205 * Always returns null 206 * 207 * @see org.kuali.rice.krad.lookup.LookupableHelperService#getParameters() 208 */ 209 public Map getParameters() { 210 return null; 211 } 212 213 /** 214 * Returns an incredibly sophisticated puzzle that would require the smartest genius on earth years to disentangle. It only appears to return null 215 * 216 * @see org.kuali.rice.krad.lookup.LookupableHelperService#getPrimaryKeyFieldLabels() 217 */ 218 public String getPrimaryKeyFieldLabels() { 219 return null; 220 } 221 222 /** 223 * Isn't this class exciting? 224 * 225 * @see org.kuali.rice.krad.lookup.LookupableHelperService#getReadOnlyFieldsList() 226 */ 227 public List<String> getReadOnlyFieldsList() { 228 return null; 229 } 230 231 /** 232 * It does ever so much work 233 * 234 * @see org.kuali.rice.krad.lookup.LookupableHelperService#getReturnKeys() 235 */ 236 public List getReturnKeys() { 237 return null; 238 } 239 240 /** 241 * Returns null for everything 242 * 243 * @see org.kuali.rice.krad.lookup.LookupableHelperService#getReturnLocation() 244 */ 245 public String getReturnLocation() { 246 return null; 247 } 248 249 /** 250 * Yeah, this too 251 * 252 * @see org.kuali.rice.krad.lookup.LookupableHelperService#getReturnUrl(org.kuali.rice.krad.bo.BusinessObject, org.kuali.rice.krad.web.struts.form.LookupForm, java.util.List, org.kuali.rice.krad.authorization.BusinessObjectRestrictions) 253 */ 254 public HtmlData getReturnUrl(BusinessObject businessObject, LookupForm lookupForm, List returnKeys, BusinessObjectRestrictions businessObjectRestrictions) { 255 return null; 256 } 257 258 /** 259 * Why am I doing all of this? 260 * 261 * @see org.kuali.rice.krad.lookup.LookupableHelperService#getReturnUrl(org.kuali.rice.krad.bo.BusinessObject, java.util.Map, java.lang.String, java.util.List, org.kuali.rice.krad.authorization.BusinessObjectRestrictions) 262 */ 263 public HtmlData getReturnUrl(BusinessObject businessObject, Map fieldConversions, String lookupImpl, List returnKeys, BusinessObjectRestrictions businessObjectRestrictions) { 264 return null; 265 } 266 267 /** 268 * Why not just extend AbstractLookupableHelperServiceImpl? 269 * 270 * @see org.kuali.rice.krad.lookup.LookupableHelperService#getRows() 271 */ 272 public List<Row> getRows() { 273 return null; 274 } 275 276 /** 277 * Oh, trust me... 278 * 279 * @see org.kuali.rice.krad.lookup.LookupableHelperService#getSearchResultsUnbounded(java.util.Map) 280 */ 281 public List getSearchResultsUnbounded(Map<String, String> fieldValues) { 282 return null; 283 } 284 285 /** 286 * There's a story there 287 * 288 * @see org.kuali.rice.krad.lookup.LookupableHelperService#getSupplementalMenuBar() 289 */ 290 public String getSupplementalMenuBar() { 291 return null; 292 } 293 294 /** 295 * At any rate, my unit test works 296 * 297 * @see org.kuali.rice.krad.lookup.LookupableHelperService#getTitle() 298 */ 299 public String getTitle() { 300 return null; 301 } 302 303 /** 304 * And I just have a lot of dead methods 305 * 306 * @see org.kuali.rice.krad.lookup.LookupableHelperService#isResultReturnable(org.kuali.rice.krad.bo.BusinessObject) 307 */ 308 public boolean isResultReturnable(BusinessObject object) { 309 return false; 310 } 311 312 /** 313 * I'm not injecting dependencies 314 * 315 * @see org.kuali.rice.krad.lookup.LookupableHelperService#isSearchUsingOnlyPrimaryKeyValues() 316 */ 317 public boolean isSearchUsingOnlyPrimaryKeyValues() { 318 return false; 319 } 320 321 /** 322 * This method found it hard pressed to do anything... 323 * 324 * @see org.kuali.rice.krad.lookup.LookupableHelperService#performClear(org.kuali.rice.krad.web.struts.form.LookupForm) 325 */ 326 public void performClear(LookupForm lookupForm) {} 327 328 /** 329 * Always returns false 330 * 331 * @see org.kuali.rice.krad.lookup.LookupableHelperService#performCustomAction(boolean) 332 */ 333 public boolean performCustomAction(boolean ignoreErrors) { 334 return false; 335 } 336 337 /** 338 * Always returns null 339 * 340 * @see org.kuali.rice.krad.lookup.LookupableHelperService#performLookup(org.kuali.rice.krad.web.struts.form.LookupForm, java.util.Collection, boolean) 341 */ 342 public Collection performLookup(LookupForm lookupForm, Collection resultTable, boolean bounded) { 343 return null; 344 } 345 346 /** 347 * Ignores the passed in value 348 * 349 * @see org.kuali.rice.krad.lookup.LookupableHelperService#setBackLocation(java.lang.String) 350 */ 351 public void setBackLocation(String backLocation) {} 352 353 /** 354 * Throws the passed in value away 355 * 356 * @see org.kuali.rice.krad.lookup.LookupableHelperService#setBusinessObjectClass(java.lang.Class) 357 */ 358 public void setBusinessObjectClass(Class businessObjectClass) {} 359 360 /** 361 * Did you actually want this mock service to save this information? I think not... 362 * 363 * @see org.kuali.rice.krad.lookup.LookupableHelperService#setDocFormKey(java.lang.String) 364 */ 365 public void setDocFormKey(String docFormKey) {} 366 367 /** 368 * Does nothing 369 * 370 * @see org.kuali.rice.krad.lookup.LookupableHelperService#setDocNum(java.lang.String) 371 */ 372 public void setDocNum(String docNum) {} 373 374 /** 375 * Doesn't do a thing 376 * 377 * @see org.kuali.rice.krad.lookup.LookupableHelperService#setFieldConversions(java.util.Map) 378 */ 379 public void setFieldConversions(Map fieldConversions) {} 380 381 /** 382 * Doesn't set anything 383 * 384 * @see org.kuali.rice.krad.lookup.LookupableHelperService#setParameters(java.util.Map) 385 */ 386 public void setParameters(Map parameters) {} 387 388 /** 389 * doesn't set anything 390 * 391 * @see org.kuali.rice.krad.lookup.LookupableHelperService#setReadOnlyFieldsList(java.util.List) 392 */ 393 public void setReadOnlyFieldsList(List<String> readOnlyFieldsList) {} 394 395 /** 396 * Always returns true, so that James isn't completely bored 397 * 398 * @see org.kuali.rice.krad.lookup.LookupableHelperService#shouldDisplayHeaderNonMaintActions() 399 */ 400 public boolean shouldDisplayHeaderNonMaintActions() { 401 return true; 402 } 403 404 /** 405 * Flips a coin to determine whether to return true or false 406 * 407 * @see org.kuali.rice.krad.lookup.LookupableHelperService#shouldDisplayLookupCriteria() 408 */ 409 public boolean shouldDisplayLookupCriteria() { 410 java.util.Random r = new java.util.Random(); 411 double value = r.nextDouble(); 412 return (value < 0.5); 413 } 414 415 /** 416 * Everything's valid, trust us 417 * 418 * @see org.kuali.rice.krad.lookup.LookupableHelperService#validateSearchParameters(java.util.Map) 419 */ 420 public void validateSearchParameters(Map fieldValues) {} 421 422 /** 423 * @see org.kuali.rice.krad.lookup.LookupableHelperService#applyConditionalLogicForFieldDisplay() 424 */ 425 public void applyConditionalLogicForFieldDisplay() { 426 427 } 428 429 }