1 /** 2 * Copyright 2005-2011 The Kuali Foundation 3 * 4 * Licensed under the Educational Community License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.opensource.org/licenses/ecl2.php 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 package org.kuali.rice.krad.lookup; 17 18 import java.util.ArrayList; 19 import java.util.Collection; 20 import java.util.List; 21 import java.util.Map; 22 23 import org.kuali.rice.kns.document.authorization.BusinessObjectRestrictions; 24 import org.kuali.rice.kns.lookup.HtmlData; 25 import org.kuali.rice.kns.lookup.LookupableHelperService; 26 import org.kuali.rice.kns.service.KNSServiceLocator; 27 import org.kuali.rice.kns.web.struts.form.LookupForm; 28 import org.kuali.rice.kns.web.ui.Column; 29 import org.kuali.rice.kns.web.ui.Field; 30 import org.kuali.rice.kns.web.ui.Row; 31 import org.kuali.rice.krad.bo.BusinessObject; 32 import org.kuali.rice.kns.service.BusinessObjectDictionaryService; 33 import org.kuali.rice.krad.service.DataDictionaryService; 34 import org.kuali.rice.krad.service.KRADServiceLocatorWeb; 35 36 /** 37 * Mock lookupable helper service for the LookupResultsService test 38 * 39 * @author Kuali Rice Team (rice.collab@kuali.org) 40 * 41 */ 42 public class LookupResultsDDBoLookupableHelperServiceImpl implements LookupableHelperService { 43 44 /** 45 * Just sends back whatever someValue was sent in - or "A" as some value if nothing else was out there 46 * @see org.kuali.rice.krad.lookup.AbstractLookupableHelperServiceImpl#getSearchResults(java.util.Map) 47 */ 48 public List<? extends BusinessObject> getSearchResults(Map<String, String> fieldValues) { 49 final String valueToPopulate = (fieldValues.containsKey("someValue")) ? fieldValues.get("someValue") : "A"; 50 final LookupResultsDDBo result = new LookupResultsDDBo(valueToPopulate); 51 List<LookupResultsDDBo> results = new ArrayList<LookupResultsDDBo>(); 52 results.add(result); 53 return results; 54 } 55 56 /** 57 * Always return false 58 * 59 * @see org.kuali.rice.krad.lookup.LookupableHelperService#allowsMaintenanceNewOrCopyAction() 60 */ 61 public boolean allowsMaintenanceNewOrCopyAction() { 62 return false; 63 } 64 65 /** 66 * Always return false 67 * 68 * @see org.kuali.rice.krad.lookup.LookupableHelperService#allowsNewOrCopyAction(java.lang.String) 69 */ 70 public boolean allowsNewOrCopyAction(String documentTypeName) { 71 return false; 72 } 73 74 /** 75 * Don't do anything 76 * 77 * @see org.kuali.rice.krad.lookup.LookupableHelperService#applyFieldAuthorizationsFromNestedLookups(org.kuali.rice.krad.web.ui.Field) 78 */ 79 public void applyFieldAuthorizationsFromNestedLookups(Field field) {} 80 81 /** 82 * Always returns false 83 * 84 * @see org.kuali.rice.krad.lookup.LookupableHelperService#checkForAdditionalFields(java.util.Map) 85 */ 86 public boolean checkForAdditionalFields(Map<String, String> fieldValues) { 87 return false; 88 } 89 90 /** 91 * Always returns a blank String 92 * 93 * @see org.kuali.rice.krad.lookup.LookupableHelperService#getActionUrls(org.kuali.rice.krad.bo.BusinessObject, java.util.List, org.kuali.rice.krad.authorization.BusinessObjectRestrictions) 94 */ 95 public String getActionUrls(BusinessObject businessObject, List pkNames, BusinessObjectRestrictions businessObjectRestrictions) { 96 return ""; 97 } 98 99 /** 100 * Always returns blank String 101 * 102 * @see org.kuali.rice.krad.lookup.LookupableHelperService#getBackLocation() 103 */ 104 public String getBackLocation() { 105 return ""; 106 } 107 108 /** 109 * Always returns the class of LookupResultsDDBo 110 * 111 * @see org.kuali.rice.krad.lookup.LookupableHelperService#getBusinessObjectClass() 112 */ 113 public Class getBusinessObjectClass() { 114 return LookupResultsDDBo.class; 115 } 116 117 /** 118 * Gets the class from the KRADServiceLocatorInternal 119 * @see org.kuali.rice.krad.lookup.LookupableHelperService#getBusinessObjectDictionaryService() 120 */ 121 public BusinessObjectDictionaryService getBusinessObjectDictionaryService() { 122 return KNSServiceLocator.getBusinessObjectDictionaryService(); 123 } 124 125 /** 126 * Always returns null 127 * 128 * @see org.kuali.rice.krad.lookup.LookupableHelperService#getColumns() 129 */ 130 public List<Column> getColumns() { 131 return null; 132 } 133 134 /** 135 * Always returns null 136 * 137 * @see org.kuali.rice.krad.lookup.LookupableHelperService#getCustomActionUrls(org.kuali.rice.krad.bo.BusinessObject, java.util.List) 138 */ 139 public List<HtmlData> getCustomActionUrls(BusinessObject businessObject, List pkNames) { 140 return null; 141 } 142 143 /** 144 * Returns DataDictionaryService from KRADServiceLocatorInternal 145 * 146 * @see org.kuali.rice.krad.lookup.LookupableHelperService#getDataDictionaryService() 147 */ 148 public DataDictionaryService getDataDictionaryService() { 149 return KRADServiceLocatorWeb.getDataDictionaryService(); 150 } 151 152 /** 153 * Always returns null 154 * 155 * @see org.kuali.rice.krad.lookup.LookupableHelperService#getDefaultSortColumns() 156 */ 157 public List getDefaultSortColumns() { 158 return null; 159 } 160 161 /** 162 * Always returns an empty String 163 * 164 * @see org.kuali.rice.krad.lookup.LookupableHelperService#getDocFormKey() 165 */ 166 public String getDocFormKey() { 167 return ""; 168 } 169 170 /** 171 * Always returns empty String 172 * 173 * @see org.kuali.rice.krad.lookup.LookupableHelperService#getDocNum() 174 */ 175 public String getDocNum() { 176 return ""; 177 } 178 179 /** 180 * Always returns null 181 * 182 * @see org.kuali.rice.krad.lookup.LookupableHelperService#getExtraField() 183 */ 184 public Field getExtraField() { 185 return null; 186 } 187 188 /** 189 * Always returns null 190 * 191 * @see org.kuali.rice.krad.lookup.LookupableHelperService#getInquiryUrl(org.kuali.rice.krad.bo.BusinessObject, java.lang.String) 192 */ 193 public HtmlData getInquiryUrl(BusinessObject businessObject, String propertyName) { 194 return null; 195 } 196 197 /** 198 * Always returns null 199 * 200 * @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) 201 */ 202 public String getMaintenanceUrl(BusinessObject businessObject, HtmlData htmlData, List pkNames, BusinessObjectRestrictions businessObjectRestrictions) { 203 return null; 204 } 205 206 /** 207 * Always returns null 208 * 209 * @see org.kuali.rice.krad.lookup.LookupableHelperService#getParameters() 210 */ 211 public Map getParameters() { 212 return null; 213 } 214 215 /** 216 * Returns an incredibly sophisticated puzzle that would require the smartest genius on earth years to disentangle. It only appears to return null 217 * 218 * @see org.kuali.rice.krad.lookup.LookupableHelperService#getPrimaryKeyFieldLabels() 219 */ 220 public String getPrimaryKeyFieldLabels() { 221 return null; 222 } 223 224 /** 225 * Isn't this class exciting? 226 * 227 * @see org.kuali.rice.krad.lookup.LookupableHelperService#getReadOnlyFieldsList() 228 */ 229 public List<String> getReadOnlyFieldsList() { 230 return null; 231 } 232 233 /** 234 * It does ever so much work 235 * 236 * @see org.kuali.rice.krad.lookup.LookupableHelperService#getReturnKeys() 237 */ 238 public List<String> getReturnKeys() { 239 return null; 240 } 241 242 /** 243 * Returns null for everything 244 * 245 * @see org.kuali.rice.krad.lookup.LookupableHelperService#getReturnLocation() 246 */ 247 public String getReturnLocation() { 248 return null; 249 } 250 251 /** 252 * Yeah, this too 253 * 254 * @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) 255 */ 256 public HtmlData getReturnUrl(BusinessObject businessObject, LookupForm lookupForm, List returnKeys, BusinessObjectRestrictions businessObjectRestrictions) { 257 return null; 258 } 259 260 /** 261 * Why am I doing all of this? 262 * 263 * @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) 264 */ 265 public HtmlData getReturnUrl(BusinessObject businessObject, Map fieldConversions, String lookupImpl, List returnKeys, BusinessObjectRestrictions businessObjectRestrictions) { 266 return null; 267 } 268 269 /** 270 * Why not just extend AbstractLookupableHelperServiceImpl? 271 * 272 * @see org.kuali.rice.krad.lookup.LookupableHelperService#getRows() 273 */ 274 public List<Row> getRows() { 275 return null; 276 } 277 278 /** 279 * Oh, trust me... 280 * 281 * @see org.kuali.rice.krad.lookup.LookupableHelperService#getSearchResultsUnbounded(java.util.Map) 282 */ 283 public List getSearchResultsUnbounded(Map<String, String> fieldValues) { 284 return null; 285 } 286 287 /** 288 * There's a story there 289 * 290 * @see org.kuali.rice.krad.lookup.LookupableHelperService#getSupplementalMenuBar() 291 */ 292 public String getSupplementalMenuBar() { 293 return null; 294 } 295 296 /** 297 * At any rate, my unit test works 298 * 299 * @see org.kuali.rice.krad.lookup.LookupableHelperService#getTitle() 300 */ 301 public String getTitle() { 302 return null; 303 } 304 305 /** 306 * And I just have a lot of dead methods 307 * 308 * @see org.kuali.rice.krad.lookup.LookupableHelperService#isResultReturnable(org.kuali.rice.krad.bo.BusinessObject) 309 */ 310 public boolean isResultReturnable(BusinessObject object) { 311 return false; 312 } 313 314 /** 315 * I'm not injecting dependencies 316 * 317 * @see org.kuali.rice.krad.lookup.LookupableHelperService#isSearchUsingOnlyPrimaryKeyValues() 318 */ 319 public boolean isSearchUsingOnlyPrimaryKeyValues() { 320 return false; 321 } 322 323 /** 324 * This method found it hard pressed to do anything... 325 * 326 * @see org.kuali.rice.krad.lookup.LookupableHelperService#performClear(org.kuali.rice.krad.web.struts.form.LookupForm) 327 */ 328 public void performClear(LookupForm lookupForm) {} 329 330 /** 331 * Always returns false 332 * 333 * @see org.kuali.rice.krad.lookup.LookupableHelperService#performCustomAction(boolean) 334 */ 335 public boolean performCustomAction(boolean ignoreErrors) { 336 return false; 337 } 338 339 /** 340 * Always returns null 341 * 342 * @see org.kuali.rice.krad.lookup.LookupableHelperService#performLookup(org.kuali.rice.krad.web.struts.form.LookupForm, java.util.Collection, boolean) 343 */ 344 public Collection performLookup(LookupForm lookupForm, Collection resultTable, boolean bounded) { 345 return null; 346 } 347 348 /** 349 * Ignores the passed in value 350 * 351 * @see org.kuali.rice.krad.lookup.LookupableHelperService#setBackLocation(java.lang.String) 352 */ 353 public void setBackLocation(String backLocation) {} 354 355 /** 356 * Throws the passed in value away 357 * 358 * @see org.kuali.rice.krad.lookup.LookupableHelperService#setBusinessObjectClass(java.lang.Class) 359 */ 360 public void setBusinessObjectClass(Class businessObjectClass) {} 361 362 /** 363 * Did you actually want this mock service to save this information? I think not... 364 * 365 * @see org.kuali.rice.krad.lookup.LookupableHelperService#setDocFormKey(java.lang.String) 366 */ 367 public void setDocFormKey(String docFormKey) {} 368 369 /** 370 * Does nothing 371 * 372 * @see org.kuali.rice.krad.lookup.LookupableHelperService#setDocNum(java.lang.String) 373 */ 374 public void setDocNum(String docNum) {} 375 376 /** 377 * Doesn't do a thing 378 * 379 * @see org.kuali.rice.krad.lookup.LookupableHelperService#setFieldConversions(java.util.Map) 380 */ 381 public void setFieldConversions(Map fieldConversions) {} 382 383 /** 384 * Doesn't set anything 385 * 386 * @see org.kuali.rice.krad.lookup.LookupableHelperService#setParameters(java.util.Map) 387 */ 388 public void setParameters(Map parameters) {} 389 390 /** 391 * doesn't set anything 392 * 393 * @see org.kuali.rice.krad.lookup.LookupableHelperService#setReadOnlyFieldsList(java.util.List) 394 */ 395 public void setReadOnlyFieldsList(List<String> readOnlyFieldsList) {} 396 397 /** 398 * Always returns true, so that James isn't completely bored 399 * 400 * @see org.kuali.rice.krad.lookup.LookupableHelperService#shouldDisplayHeaderNonMaintActions() 401 */ 402 public boolean shouldDisplayHeaderNonMaintActions() { 403 return true; 404 } 405 406 /** 407 * Flips a coin to determine whether to return true or false 408 * 409 * @see org.kuali.rice.krad.lookup.LookupableHelperService#shouldDisplayLookupCriteria() 410 */ 411 public boolean shouldDisplayLookupCriteria() { 412 java.util.Random r = new java.util.Random(); 413 double value = r.nextDouble(); 414 return (value < 0.5); 415 } 416 417 /** 418 * Everything's valid, trust us 419 * 420 * @see org.kuali.rice.krad.lookup.LookupableHelperService#validateSearchParameters(java.util.Map) 421 */ 422 public void validateSearchParameters(Map<String, String> fieldValues) {} 423 424 /** 425 * @see org.kuali.rice.krad.lookup.LookupableHelperService#applyConditionalLogicForFieldDisplay() 426 */ 427 public void applyConditionalLogicForFieldDisplay() { 428 429 } 430 431 }