001 /** 002 * Copyright 2005-2014 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.service.impl; 017 018 import static org.junit.Assert.assertEquals; 019 import static org.junit.Assert.assertNull; 020 import static org.mockito.Matchers.anyListOf; 021 import static org.mockito.Matchers.anyMapOf; 022 import static org.mockito.Matchers.anyObject; 023 import static org.mockito.Matchers.eq; 024 import static org.mockito.Mockito.verify; 025 import static org.mockito.Mockito.verifyZeroInteractions; 026 027 import java.io.Serializable; 028 import java.util.ArrayList; 029 import java.util.HashMap; 030 031 import javax.xml.namespace.QName; 032 033 import org.apache.ojb.broker.metadata.ClassDescriptor; 034 import org.apache.ojb.broker.metadata.MetadataManager; 035 import org.junit.Before; 036 import org.junit.Test; 037 import org.junit.runner.RunWith; 038 import org.kuali.rice.core.api.CoreConstants; 039 import org.kuali.rice.core.api.config.property.ConfigContext; 040 import org.kuali.rice.core.api.resourceloader.GlobalResourceLoader; 041 import org.kuali.rice.core.api.resourceloader.ResourceLoader; 042 import org.kuali.rice.core.framework.config.property.SimpleConfig; 043 import org.kuali.rice.core.framework.resourceloader.BeanFactoryResourceLoader; 044 import org.kuali.rice.krad.bo.PersistableBusinessObject; 045 import org.kuali.rice.krad.bo.PersistableBusinessObjectBase; 046 import org.kuali.rice.krad.data.metadata.MetadataRepository; 047 import org.kuali.rice.krad.document.Document; 048 import org.kuali.rice.krad.document.DocumentBase; 049 import org.kuali.rice.krad.service.DataDictionaryService; 050 import org.kuali.rice.krad.service.LegacyDataAdapter; 051 import org.kuali.rice.krad.util.KRADConstants; 052 import org.mockito.InjectMocks; 053 import org.mockito.Mock; 054 import org.mockito.runners.MockitoJUnitRunner; 055 import org.springframework.beans.factory.support.StaticListableBeanFactory; 056 057 /** 058 * Unit test for the {@link LegacyDataAdapterImpl}. Tests that the various methods delegate to KNS or KRAD under the 059 * appropriate circumstances. Also tests some of the internal code in this class is functioning properly. 060 * 061 * @author Kuali Rice Team (rice.collab@kuali.org) 062 */ 063 @RunWith(MockitoJUnitRunner.class) 064 public class LegacyDataAdapterImplTest { 065 066 @Mock private LegacyDataAdapter knsLegacyDataAdapter; 067 @Mock private LegacyDataAdapter kradLegacyDataAdapter; 068 @Mock private DataDictionaryService dataDictionaryService; 069 @Mock private MetadataRepository metadataRepository; 070 071 @InjectMocks private LegacyDataAdapterImpl lda = new LegacyDataAdapterImpl(); 072 073 @Before 074 public void setup() throws Exception { 075 GlobalResourceLoader.stop(); 076 077 SimpleConfig config = new SimpleConfig(); 078 config.putProperty(CoreConstants.Config.APPLICATION_ID, getClass().getName()); 079 ConfigContext.init(config); 080 ConfigContext.getCurrentContextConfig().removeProperty(KRADConstants.Config.ENABLE_LEGACY_DATA_FRAMEWORK); 081 ConfigContext.getCurrentContextConfig().removeProperty(KRADConstants.Config.KNS_ENABLED); 082 083 StaticListableBeanFactory testBf = new StaticListableBeanFactory(); 084 testBf.addBean("kd-metadataRepository", metadataRepository); 085 testBf.addBean("dataDictionaryService", dataDictionaryService); 086 testBf.addBean("knsLegacyDataAdapter", knsLegacyDataAdapter); 087 testBf.addBean("kradLegacyDataAdapter", kradLegacyDataAdapter); 088 089 ResourceLoader rl = new BeanFactoryResourceLoader(new QName(getClass().getName()), testBf); 090 GlobalResourceLoader.addResourceLoader(rl); 091 GlobalResourceLoader.start(); 092 093 MetadataManager mm = MetadataManager.getInstance(); 094 095 // register Legacy object 096 ClassDescriptor legacyDescriptor = new ClassDescriptor(mm.getGlobalRepository()); 097 legacyDescriptor.setClassOfObject(Legacy.class); 098 mm.getGlobalRepository().put(Legacy.class, legacyDescriptor); 099 100 // register LegacyDocument object 101 ClassDescriptor legacyDocumentDescriptor = new ClassDescriptor(mm.getGlobalRepository()); 102 legacyDocumentDescriptor.setClassOfObject(LegacyDocument.class); 103 mm.getGlobalRepository().put(LegacyDocument.class, legacyDocumentDescriptor); 104 } 105 106 protected void enableLegacy() { 107 ConfigContext.getCurrentContextConfig().putProperty(KRADConstants.Config.KNS_ENABLED, "true"); 108 } 109 110 protected NonLegacy newNonLegacyObject() { 111 return new NonLegacy(); 112 } 113 114 protected NonLegacyPersistableBusinessObject newNonLegacyPersistableBusinessObject() { 115 return new NonLegacyPersistableBusinessObject(); 116 } 117 118 protected Legacy newLegacyObject() { 119 return new Legacy(); 120 } 121 122 protected NonLegacyDocument newNonLegacyDocument() { 123 return new NonLegacyDocument(); 124 } 125 126 protected LegacyDocument newLegacyDocument() { 127 return new LegacyDocument(); 128 } 129 130 @Test 131 public void testSave() throws Exception { 132 Serializable object = newNonLegacyObject(); 133 lda.save(object); 134 verify(kradLegacyDataAdapter).save(object); 135 verifyZeroInteractions(knsLegacyDataAdapter); 136 } 137 138 @Test 139 public void testSave_Legacy() throws Exception { 140 enableLegacy(); 141 PersistableBusinessObject object = newLegacyObject(); 142 lda.save(object); 143 verify(knsLegacyDataAdapter).save(object); 144 verifyZeroInteractions(kradLegacyDataAdapter); 145 } 146 147 @Test 148 public void testLinkAndSave() throws Exception { 149 Serializable object = newNonLegacyObject(); 150 lda.linkAndSave(object); 151 verify(kradLegacyDataAdapter).linkAndSave(object); 152 verifyZeroInteractions(knsLegacyDataAdapter); 153 } 154 155 @Test 156 public void testLinkAndSave_Legacy() throws Exception { 157 enableLegacy(); 158 Serializable object = newLegacyObject(); 159 lda.linkAndSave(object); 160 verify(knsLegacyDataAdapter).linkAndSave(object); 161 verifyZeroInteractions(kradLegacyDataAdapter); 162 } 163 164 @Test 165 public void testSaveDocument() throws Exception { 166 Document document = newNonLegacyDocument(); 167 lda.saveDocument(document); 168 verify(kradLegacyDataAdapter).saveDocument(document); 169 verifyZeroInteractions(knsLegacyDataAdapter); 170 } 171 172 @Test 173 public void testSaveDocument_Legacy() throws Exception { 174 enableLegacy(); 175 Document document = newLegacyDocument(); 176 lda.saveDocument(document); 177 verify(knsLegacyDataAdapter).saveDocument(document); 178 verifyZeroInteractions(kradLegacyDataAdapter); 179 } 180 181 @Test 182 public void testFindByPrimaryKey() throws Exception { 183 lda.findByPrimaryKey(NonLegacy.class, new HashMap<String, Object>()); 184 verify(kradLegacyDataAdapter).findByPrimaryKey(eq(NonLegacy.class), anyMapOf(String.class, Object.class)); 185 verifyZeroInteractions(knsLegacyDataAdapter); 186 } 187 188 @Test 189 public void testFindByPrimaryKey_Legacy() throws Exception { 190 enableLegacy(); 191 lda.findByPrimaryKey(Legacy.class, new HashMap<String, Object>()); 192 verify(knsLegacyDataAdapter).findByPrimaryKey(eq(Legacy.class), anyMapOf(String.class, Object.class)); 193 verifyZeroInteractions(kradLegacyDataAdapter); 194 } 195 196 @Test 197 public void testFindBySinglePrimaryKey() throws Exception { 198 lda.findBySinglePrimaryKey(NonLegacy.class, new Object()); 199 verify(kradLegacyDataAdapter).findBySinglePrimaryKey(eq(NonLegacy.class), anyObject()); 200 verifyZeroInteractions(knsLegacyDataAdapter); 201 } 202 203 @Test 204 public void testFindBySinglePrimaryKey_Legacy() throws Exception { 205 enableLegacy(); 206 lda.findBySinglePrimaryKey(Legacy.class, new Object()); 207 verify(knsLegacyDataAdapter).findBySinglePrimaryKey(eq(Legacy.class), anyObject()); 208 verifyZeroInteractions(kradLegacyDataAdapter); 209 } 210 211 @Test 212 public void testDelete() throws Exception { 213 Object object = newNonLegacyObject(); 214 lda.delete(object); 215 verify(kradLegacyDataAdapter).delete(eq(object)); 216 verifyZeroInteractions(knsLegacyDataAdapter); 217 } 218 219 @Test 220 public void testDelete_Legacy() throws Exception { 221 enableLegacy(); 222 Object object = newLegacyObject(); 223 lda.delete(object); 224 verify(knsLegacyDataAdapter).delete(eq(object)); 225 verifyZeroInteractions(kradLegacyDataAdapter); 226 } 227 228 @Test 229 public void testDeleteMatching() throws Exception { 230 lda.deleteMatching(NonLegacy.class, new HashMap<String, String>()); 231 verify(kradLegacyDataAdapter).deleteMatching(eq(NonLegacy.class), anyMapOf(String.class, String.class)); 232 verifyZeroInteractions(knsLegacyDataAdapter); 233 } 234 235 @Test 236 public void testDeleteMatching_Legacy() throws Exception { 237 enableLegacy(); 238 lda.deleteMatching(Legacy.class, new HashMap<String, String>()); 239 verify(knsLegacyDataAdapter).deleteMatching(eq(Legacy.class), anyMapOf(String.class, String.class)); 240 verifyZeroInteractions(kradLegacyDataAdapter); 241 } 242 243 @Test 244 public void testRetrieve() throws Exception { 245 Object object = newNonLegacyObject(); 246 lda.retrieve(object); 247 verify(kradLegacyDataAdapter).retrieve(eq(object)); 248 verifyZeroInteractions(knsLegacyDataAdapter); 249 } 250 251 @Test 252 public void testRetrieve_Legacy() throws Exception { 253 enableLegacy(); 254 Object object = newLegacyObject(); 255 lda.retrieve(object); 256 verify(knsLegacyDataAdapter).retrieve(eq(object)); 257 verifyZeroInteractions(kradLegacyDataAdapter); 258 } 259 260 @Test 261 public void testFindAll() throws Exception { 262 lda.findAll(NonLegacy.class); 263 verify(kradLegacyDataAdapter).findAll(eq(NonLegacy.class)); 264 verifyZeroInteractions(knsLegacyDataAdapter); 265 } 266 267 @Test 268 public void testFindAll_Legacy() throws Exception { 269 enableLegacy(); 270 lda.findAll(Legacy.class); 271 verify(knsLegacyDataAdapter).findAll(eq(Legacy.class));; 272 verifyZeroInteractions(kradLegacyDataAdapter); 273 } 274 275 @Test 276 public void testFindMatching() throws Exception { 277 lda.findMatching(NonLegacy.class, new HashMap<String, String>()); 278 verify(kradLegacyDataAdapter).findMatching(eq(NonLegacy.class), anyMapOf(String.class, String.class)); 279 verifyZeroInteractions(knsLegacyDataAdapter); 280 } 281 282 @Test 283 public void testFindMatching_Legacy() throws Exception { 284 enableLegacy(); 285 lda.findMatching(Legacy.class, new HashMap<String, String>()); 286 verify(knsLegacyDataAdapter).findMatching(eq(Legacy.class), anyMapOf(String.class, String.class)); 287 verifyZeroInteractions(kradLegacyDataAdapter); 288 } 289 290 291 @Test 292 public void testFindMatchingOrderBy() throws Exception { 293 lda.findMatchingOrderBy(NonLegacy.class, new HashMap<String, String>(), "a", true); 294 verify(kradLegacyDataAdapter).findMatchingOrderBy(eq(NonLegacy.class), anyMapOf(String.class, String.class), eq( 295 "a"), eq(Boolean.TRUE)); 296 verifyZeroInteractions(knsLegacyDataAdapter); 297 } 298 299 @Test 300 public void testFindMatchingOrderBy_Legacy() throws Exception { 301 enableLegacy(); 302 lda.findMatchingOrderBy(Legacy.class, new HashMap<String, String>(), "a", true); 303 verify(knsLegacyDataAdapter).findMatchingOrderBy(eq(Legacy.class), anyMapOf(String.class, String.class), eq( 304 "a"), eq(Boolean.TRUE)); 305 verifyZeroInteractions(kradLegacyDataAdapter); 306 } 307 308 309 @Test 310 public void testGetPrimaryKeyFieldValues() throws Exception { 311 Object object = newNonLegacyObject(); 312 lda.getPrimaryKeyFieldValues(object); 313 verify(kradLegacyDataAdapter).getPrimaryKeyFieldValues(eq(object)); 314 verifyZeroInteractions(knsLegacyDataAdapter); 315 } 316 317 @Test 318 public void testGetPrimaryKeyFieldValues_Legacy() throws Exception { 319 enableLegacy(); 320 Object object = newLegacyObject(); 321 lda.getPrimaryKeyFieldValues(object); 322 verify(knsLegacyDataAdapter).getPrimaryKeyFieldValues(eq(object)); 323 verifyZeroInteractions(kradLegacyDataAdapter); 324 } 325 326 @Test 327 public void testRetrieveNonKeyFields() throws Exception { 328 Object object = newNonLegacyObject(); 329 lda.retrieveNonKeyFields(object); 330 verify(kradLegacyDataAdapter).retrieveNonKeyFields(eq(object)); 331 verifyZeroInteractions(knsLegacyDataAdapter); 332 } 333 334 @Test 335 public void testRetrieveNonKeyFields_Legacy() throws Exception { 336 enableLegacy(); 337 Object object = newLegacyObject(); 338 lda.retrieveNonKeyFields(object); 339 verify(knsLegacyDataAdapter).retrieveNonKeyFields(eq(object)); 340 verifyZeroInteractions(kradLegacyDataAdapter); 341 } 342 343 @Test 344 public void testRetrieveReferenceObject() throws Exception { 345 Object object = newNonLegacyObject(); 346 lda.retrieveReferenceObject(object, "blah"); 347 verify(kradLegacyDataAdapter).retrieveReferenceObject(eq(object), eq("blah")); 348 verifyZeroInteractions(knsLegacyDataAdapter); 349 } 350 351 @Test 352 public void testRetrieveReferenceObject_Legacy() throws Exception { 353 enableLegacy(); 354 Object object = newLegacyObject(); 355 lda.retrieveReferenceObject(object, "blah"); 356 verify(knsLegacyDataAdapter).retrieveReferenceObject(eq(object), eq("blah")); 357 verifyZeroInteractions(kradLegacyDataAdapter); 358 } 359 360 @Test 361 public void testRefreshAllNonUpdatingReferences() throws Exception { 362 Object object = newNonLegacyObject(); 363 lda.refreshAllNonUpdatingReferences(object); 364 verify(kradLegacyDataAdapter).refreshAllNonUpdatingReferences(eq(object)); 365 verifyZeroInteractions(knsLegacyDataAdapter); 366 } 367 368 @Test 369 public void testRefreshAllNonUpdatingReferences_Legacy() throws Exception { 370 enableLegacy(); 371 Object object = newLegacyObject(); 372 lda.refreshAllNonUpdatingReferences(object); 373 verify(knsLegacyDataAdapter).refreshAllNonUpdatingReferences(eq(object)); 374 verifyZeroInteractions(kradLegacyDataAdapter); 375 } 376 377 378 @Test 379 public void testIsProxied() throws Exception { 380 Object object = newNonLegacyObject(); 381 lda.isProxied(object); 382 verify(kradLegacyDataAdapter).isProxied(eq(object)); 383 verifyZeroInteractions(knsLegacyDataAdapter); 384 } 385 386 @Test 387 public void testIsProxied_Legacy() throws Exception { 388 enableLegacy(); 389 Object object = newLegacyObject(); 390 lda.isProxied(object); 391 verify(knsLegacyDataAdapter).isProxied(eq(object)); 392 verifyZeroInteractions(kradLegacyDataAdapter); 393 } 394 395 396 @Test 397 public void testResolveProxy() throws Exception { 398 Object object = newNonLegacyObject(); 399 lda.resolveProxy(object); 400 verify(kradLegacyDataAdapter).resolveProxy(eq(object)); 401 verifyZeroInteractions(knsLegacyDataAdapter); 402 } 403 404 @Test 405 public void testResolveProxy_Legacy() throws Exception { 406 enableLegacy(); 407 Object object = newLegacyObject(); 408 lda.resolveProxy(object); 409 verify(knsLegacyDataAdapter).resolveProxy(eq(object)); 410 verifyZeroInteractions(kradLegacyDataAdapter); 411 } 412 413 @Test 414 public void testFindCollectionBySearchHelper() throws Exception { 415 lda.findCollectionBySearchHelper(NonLegacy.class, new HashMap<String, String>(), true, true, 50); 416 verify(kradLegacyDataAdapter).findCollectionBySearchHelper(eq(NonLegacy.class), anyMapOf(String.class, 417 String.class), eq(true), eq(true), eq(50)); 418 verifyZeroInteractions(knsLegacyDataAdapter); 419 } 420 421 @Test 422 public void testFindCollectionBySearchHelper_Legacy() throws Exception { 423 enableLegacy(); 424 lda.findCollectionBySearchHelper(Legacy.class, new HashMap<String, String>(), true, true, 50); 425 verify(knsLegacyDataAdapter).findCollectionBySearchHelper(eq(Legacy.class), anyMapOf(String.class, 426 String.class), eq(true), eq(true), eq(50)); 427 verifyZeroInteractions(kradLegacyDataAdapter); 428 } 429 430 @Test 431 public void testFindObjectBySearch() throws Exception { 432 lda.findObjectBySearch(NonLegacy.class, new HashMap<String, String>()); 433 verify(kradLegacyDataAdapter).findObjectBySearch(eq(NonLegacy.class), anyMapOf(String.class, String.class)); 434 verifyZeroInteractions(knsLegacyDataAdapter); 435 } 436 437 @Test 438 public void testFindObjectBySearch_Legacy() throws Exception { 439 enableLegacy(); 440 lda.findObjectBySearch(Legacy.class, new HashMap<String, String>()); 441 verify(knsLegacyDataAdapter).findObjectBySearch(eq(Legacy.class), anyMapOf(String.class, String.class)); 442 verifyZeroInteractions(kradLegacyDataAdapter); 443 } 444 445 @Test 446 public void testAllPrimaryKeyValuesPresentAndNotWildcard() throws Exception { 447 lda.allPrimaryKeyValuesPresentAndNotWildcard(NonLegacy.class, new HashMap<String, String>()); 448 verify(kradLegacyDataAdapter).allPrimaryKeyValuesPresentAndNotWildcard(eq(NonLegacy.class), anyMapOf( 449 String.class, String.class)); 450 verifyZeroInteractions(knsLegacyDataAdapter); 451 } 452 453 @Test 454 public void testAllPrimaryKeyValuesPresentAndNotWildcard_Legacy() throws Exception { 455 enableLegacy(); 456 lda.allPrimaryKeyValuesPresentAndNotWildcard(Legacy.class, new HashMap<String, String>()); 457 verify(knsLegacyDataAdapter).allPrimaryKeyValuesPresentAndNotWildcard(eq(Legacy.class), anyMapOf(String.class, String.class)); 458 verifyZeroInteractions(kradLegacyDataAdapter); 459 } 460 461 @Test 462 public void testListPrimaryKeyFieldNames() throws Exception { 463 lda.listPrimaryKeyFieldNames(NonLegacy.class); 464 verify(kradLegacyDataAdapter).listPrimaryKeyFieldNames(eq(NonLegacy.class)); 465 verifyZeroInteractions(knsLegacyDataAdapter); 466 } 467 468 @Test 469 public void testListPrimaryKeyFieldNames_Legacy() throws Exception { 470 enableLegacy(); 471 lda.listPrimaryKeyFieldNames(Legacy.class); 472 verify(knsLegacyDataAdapter).listPrimaryKeyFieldNames(eq(Legacy.class)); 473 verifyZeroInteractions(kradLegacyDataAdapter); 474 } 475 476 @Test 477 public void testDetermineCollectionObjectType() throws Exception { 478 lda.determineCollectionObjectType(NonLegacy.class, "blah"); 479 verify(kradLegacyDataAdapter).determineCollectionObjectType(eq(NonLegacy.class), eq("blah")); 480 verifyZeroInteractions(knsLegacyDataAdapter); 481 } 482 483 @Test 484 public void testDetermineCollectionObjectType_Legacy() throws Exception { 485 enableLegacy(); 486 lda.determineCollectionObjectType(Legacy.class, "blah"); 487 verify(knsLegacyDataAdapter).determineCollectionObjectType(eq(Legacy.class), eq("blah")); 488 verifyZeroInteractions(kradLegacyDataAdapter); 489 } 490 491 @Test 492 public void testHasReference() throws Exception { 493 lda.hasReference(NonLegacy.class, "blah"); 494 verify(kradLegacyDataAdapter).hasReference(eq(NonLegacy.class), eq("blah")); 495 verifyZeroInteractions(knsLegacyDataAdapter); 496 } 497 498 @Test 499 public void testHasReference_Legacy() throws Exception { 500 enableLegacy(); 501 lda.hasReference(Legacy.class, "blah"); 502 verify(knsLegacyDataAdapter).hasReference(eq(Legacy.class), eq("blah")); 503 verifyZeroInteractions(kradLegacyDataAdapter); 504 } 505 506 @Test 507 public void testHasCollection() throws Exception { 508 lda.hasCollection(NonLegacy.class, "blah"); 509 verify(kradLegacyDataAdapter).hasCollection(eq(NonLegacy.class), eq("blah")); 510 verifyZeroInteractions(knsLegacyDataAdapter); 511 } 512 513 @Test 514 public void testHasCollection_Legacy() throws Exception { 515 enableLegacy(); 516 lda.hasCollection(Legacy.class, "blah"); 517 verify(knsLegacyDataAdapter).hasCollection(eq(Legacy.class), eq("blah")); 518 verifyZeroInteractions(kradLegacyDataAdapter); 519 } 520 521 @Test 522 public void testIsExtensionAttribute() throws Exception { 523 lda.isExtensionAttribute(NonLegacy.class, "blah", NonLegacy.class); 524 verify(kradLegacyDataAdapter).isExtensionAttribute(eq(NonLegacy.class), eq("blah"), eq(NonLegacy.class)); 525 verifyZeroInteractions(knsLegacyDataAdapter); 526 } 527 528 @Test 529 public void testIsExtensionAttribute_Legacy() throws Exception { 530 enableLegacy(); 531 lda.isExtensionAttribute(Legacy.class, "blah", Legacy.class); 532 verify(knsLegacyDataAdapter).isExtensionAttribute(eq(Legacy.class), eq("blah"), eq(Legacy.class)); 533 verifyZeroInteractions(kradLegacyDataAdapter); 534 } 535 536 @Test 537 public void testGetExtensionAttributeClass() throws Exception { 538 lda.getExtensionAttributeClass(NonLegacy.class, "blah"); 539 verify(kradLegacyDataAdapter).getExtensionAttributeClass(eq(NonLegacy.class), eq("blah")); 540 verifyZeroInteractions(knsLegacyDataAdapter); 541 } 542 543 @Test 544 public void testGetExtensionAttributeClass_Legacy() throws Exception { 545 enableLegacy(); 546 lda.getExtensionAttributeClass(Legacy.class, "blah"); 547 verify(knsLegacyDataAdapter).getExtensionAttributeClass(eq(Legacy.class), eq("blah")); 548 verifyZeroInteractions(kradLegacyDataAdapter); 549 } 550 551 @Test 552 public void testGetPrimaryKeyFieldValuesDOMDS() throws Exception { 553 Object object = newNonLegacyObject(); 554 lda.getPrimaryKeyFieldValuesDOMDS(object); 555 verify(kradLegacyDataAdapter).getPrimaryKeyFieldValuesDOMDS(eq(object)); 556 verifyZeroInteractions(knsLegacyDataAdapter); 557 } 558 559 @Test 560 public void testGetPrimaryKeyFieldValuesDOMDS_Legacy() throws Exception { 561 enableLegacy(); 562 Object object = newLegacyObject(); 563 lda.getPrimaryKeyFieldValuesDOMDS(object); 564 verify(knsLegacyDataAdapter).getPrimaryKeyFieldValuesDOMDS(eq(object)); 565 verifyZeroInteractions(kradLegacyDataAdapter); 566 } 567 568 @Test 569 public void testEqualsByPrimaryKeys() throws Exception { 570 Object object1 = newNonLegacyObject(); 571 Object object2 = newNonLegacyObject(); 572 lda.equalsByPrimaryKeys(object1, object2); 573 verify(kradLegacyDataAdapter).equalsByPrimaryKeys(eq(object1), eq(object2)); 574 verifyZeroInteractions(knsLegacyDataAdapter); 575 } 576 577 @Test 578 public void testEqualsByPrimaryKeys_Legacy() throws Exception { 579 enableLegacy(); 580 Object object1 = newLegacyObject(); 581 Object object2 = newLegacyObject(); 582 lda.equalsByPrimaryKeys(object1, object2); 583 verify(knsLegacyDataAdapter).equalsByPrimaryKeys(eq(object1), eq(object2)); 584 verifyZeroInteractions(kradLegacyDataAdapter); 585 } 586 587 @Test 588 public void testToPersistableBusinessObject() throws Exception { 589 Object object = newNonLegacyObject(); 590 lda.toPersistableBusinessObject(object); 591 verify(kradLegacyDataAdapter).toPersistableBusinessObject(eq(object)); 592 verifyZeroInteractions(knsLegacyDataAdapter); 593 } 594 595 @Test 596 public void testToPersistableBusinessObject_Legacy() throws Exception { 597 enableLegacy(); 598 Object object = newLegacyObject(); 599 lda.toPersistableBusinessObject(object); 600 verify(knsLegacyDataAdapter).toPersistableBusinessObject(eq(object)); 601 verifyZeroInteractions(kradLegacyDataAdapter); 602 } 603 604 @Test 605 public void testMaterializeAllSubObjects() throws Exception { 606 Object object = newNonLegacyObject(); 607 lda.materializeAllSubObjects(object); 608 verify(kradLegacyDataAdapter).materializeAllSubObjects(eq(object)); 609 verifyZeroInteractions(knsLegacyDataAdapter); 610 } 611 612 @Test 613 public void testMaterializeAllSubObjects_Legacy() throws Exception { 614 enableLegacy(); 615 Object object = newLegacyObject(); 616 lda.materializeAllSubObjects(object); 617 verify(knsLegacyDataAdapter).materializeAllSubObjects(eq(object)); 618 verifyZeroInteractions(kradLegacyDataAdapter); 619 } 620 621 @Test 622 public void testGetPropertyType() throws Exception { 623 Object object = newNonLegacyObject(); 624 lda.getPropertyType(object, "blah"); 625 verify(kradLegacyDataAdapter).getPropertyType(eq(object), eq("blah")); 626 verifyZeroInteractions(knsLegacyDataAdapter); 627 } 628 629 @Test 630 public void testGetPropertyType_Legacy() throws Exception { 631 enableLegacy(); 632 Object object = newLegacyObject(); 633 lda.getPropertyType(object, "blah"); 634 verify(knsLegacyDataAdapter).getPropertyType(eq(object), eq("blah")); 635 verifyZeroInteractions(kradLegacyDataAdapter); 636 } 637 638 @Test 639 public void testGetExtension() throws Exception { 640 lda.getExtension(NonLegacyPersistableBusinessObject.class); 641 verify(kradLegacyDataAdapter).getExtension(eq(NonLegacyPersistableBusinessObject.class)); 642 verifyZeroInteractions(knsLegacyDataAdapter); 643 } 644 645 @Test 646 public void testGetExtension_Legacy() throws Exception { 647 enableLegacy(); 648 lda.getExtension(Legacy.class); 649 verify(knsLegacyDataAdapter).getExtension(eq(Legacy.class)); 650 verifyZeroInteractions(kradLegacyDataAdapter); 651 } 652 653 @Test 654 public void testRefreshReferenceObject() throws Exception { 655 PersistableBusinessObject object = newNonLegacyPersistableBusinessObject(); 656 lda.refreshReferenceObject(object, "blah"); 657 verify(kradLegacyDataAdapter).refreshReferenceObject(eq(object), eq("blah")); 658 verifyZeroInteractions(knsLegacyDataAdapter); 659 } 660 661 @Test 662 public void testRefreshReferenceObject_Legacy() throws Exception { 663 enableLegacy(); 664 PersistableBusinessObject object = newLegacyObject(); 665 lda.refreshReferenceObject(object, "blah"); 666 verify(knsLegacyDataAdapter).refreshReferenceObject(eq(object), eq("blah")); 667 verifyZeroInteractions(kradLegacyDataAdapter); 668 } 669 670 @Test 671 public void testIsLockable() throws Exception { 672 Object object = newNonLegacyObject(); 673 lda.isLockable(object); 674 verify(kradLegacyDataAdapter).isLockable(eq(object)); 675 verifyZeroInteractions(knsLegacyDataAdapter); 676 } 677 678 @Test 679 public void testIsLockable_Legacy() throws Exception { 680 enableLegacy(); 681 Object object = newLegacyObject(); 682 lda.isLockable(object); 683 verify(knsLegacyDataAdapter).isLockable(eq(object)); 684 verifyZeroInteractions(kradLegacyDataAdapter); 685 } 686 687 @Test 688 public void testVerifyVersionNumber() throws Exception { 689 Object object = newNonLegacyObject(); 690 lda.verifyVersionNumber(object); 691 verify(kradLegacyDataAdapter).verifyVersionNumber(eq(object)); 692 verifyZeroInteractions(knsLegacyDataAdapter); 693 } 694 695 @Test 696 public void testVerifyVersionNumber_Legacy() throws Exception { 697 enableLegacy(); 698 Object object = newLegacyObject(); 699 lda.verifyVersionNumber(object); 700 verify(knsLegacyDataAdapter).verifyVersionNumber(eq(object)); 701 verifyZeroInteractions(kradLegacyDataAdapter); 702 } 703 704 @Test 705 public void testCreateQuickFinder() throws Exception { 706 lda.createQuickFinder(NonLegacy.class, "blah"); 707 verify(kradLegacyDataAdapter).createQuickFinder(eq(NonLegacy.class), eq("blah")); 708 verifyZeroInteractions(knsLegacyDataAdapter); 709 } 710 711 @Test 712 public void testCreateQuickFinder_Legacy() throws Exception { 713 enableLegacy(); 714 lda.createQuickFinder(Legacy.class, "blah"); 715 verify(knsLegacyDataAdapter).createQuickFinder(eq(Legacy.class), eq("blah")); 716 verifyZeroInteractions(kradLegacyDataAdapter); 717 } 718 719 @Test 720 public void testIsReferenceUpdatable() throws Exception { 721 lda.isReferenceUpdatable(NonLegacy.class, "blah"); 722 verify(kradLegacyDataAdapter).isReferenceUpdatable(eq(NonLegacy.class), eq("blah")); 723 verifyZeroInteractions(knsLegacyDataAdapter); 724 } 725 726 @Test 727 public void testIsReferenceUpdatable_Legacy() throws Exception { 728 enableLegacy(); 729 lda.isReferenceUpdatable(Legacy.class, "blah"); 730 verify(knsLegacyDataAdapter).isReferenceUpdatable(eq(Legacy.class), eq("blah")); 731 verifyZeroInteractions(kradLegacyDataAdapter); 732 } 733 734 @Test 735 public void testListReferenceObjectFields() throws Exception { 736 lda.listReferenceObjectFields(NonLegacy.class); 737 verify(kradLegacyDataAdapter).listReferenceObjectFields(eq(NonLegacy.class)); 738 verifyZeroInteractions(knsLegacyDataAdapter); 739 } 740 741 @Test 742 public void testListReferenceObjectFields_Legacy() throws Exception { 743 enableLegacy(); 744 lda.listReferenceObjectFields(Legacy.class); 745 verify(knsLegacyDataAdapter).listReferenceObjectFields(eq(Legacy.class)); 746 verifyZeroInteractions(kradLegacyDataAdapter); 747 } 748 749 @Test 750 public void testIsCollectionUpdatable() throws Exception { 751 lda.isCollectionUpdatable(NonLegacy.class, "blah"); 752 verify(kradLegacyDataAdapter).isCollectionUpdatable(eq(NonLegacy.class), eq("blah")); 753 verifyZeroInteractions(knsLegacyDataAdapter); 754 } 755 756 @Test 757 public void testIsCollectionUpdatable_Legacy() throws Exception { 758 enableLegacy(); 759 lda.isCollectionUpdatable(Legacy.class, "blah"); 760 verify(knsLegacyDataAdapter).isCollectionUpdatable(eq(Legacy.class), eq("blah")); 761 verifyZeroInteractions(kradLegacyDataAdapter); 762 } 763 764 @Test 765 public void testListCollectionObjectTypes() throws Exception { 766 lda.listCollectionObjectTypes(NonLegacy.class); 767 verify(kradLegacyDataAdapter).listCollectionObjectTypes(eq(NonLegacy.class)); 768 verifyZeroInteractions(knsLegacyDataAdapter); 769 } 770 771 @Test 772 public void testListCollectionObjectTypes_Legacy() throws Exception { 773 enableLegacy(); 774 lda.listCollectionObjectTypes(Legacy.class); 775 verify(knsLegacyDataAdapter).listCollectionObjectTypes(eq(Legacy.class)); 776 verifyZeroInteractions(kradLegacyDataAdapter); 777 } 778 779 @Test 780 public void testGetReferenceIfExists() throws Exception { 781 PersistableBusinessObject object = newNonLegacyPersistableBusinessObject(); 782 lda.getReferenceIfExists(object, "blah"); 783 verify(kradLegacyDataAdapter).getReferenceIfExists(eq(object), eq("blah")); 784 verifyZeroInteractions(knsLegacyDataAdapter); 785 } 786 787 @Test 788 public void testGetReferenceIfExists_Legacy() throws Exception { 789 enableLegacy(); 790 PersistableBusinessObject object = newLegacyObject(); 791 lda.getReferenceIfExists(object, "blah"); 792 verify(knsLegacyDataAdapter).getReferenceIfExists(eq(object), eq("blah")); 793 verifyZeroInteractions(kradLegacyDataAdapter); 794 } 795 796 @Test 797 public void testAllForeignKeyValuesPopulatedForReference() throws Exception { 798 PersistableBusinessObject object = newNonLegacyPersistableBusinessObject(); 799 lda.allForeignKeyValuesPopulatedForReference(object, "blah"); 800 verify(kradLegacyDataAdapter).allForeignKeyValuesPopulatedForReference(eq(object), eq("blah")); 801 verifyZeroInteractions(knsLegacyDataAdapter); 802 } 803 804 @Test 805 public void testAllForeignKeyValuesPopulatedForReference_Legacy() throws Exception { 806 enableLegacy(); 807 PersistableBusinessObject object = newLegacyObject(); 808 lda.allForeignKeyValuesPopulatedForReference(object, "blah"); 809 verify(knsLegacyDataAdapter).allForeignKeyValuesPopulatedForReference(eq(object), eq("blah")); 810 verifyZeroInteractions(kradLegacyDataAdapter); 811 } 812 813 @Test 814 public void testGetDictionaryRelationship() throws Exception { 815 lda.getDictionaryRelationship(NonLegacy.class, "blah"); 816 verify(kradLegacyDataAdapter).getDictionaryRelationship(eq(NonLegacy.class), eq("blah")); 817 verifyZeroInteractions(knsLegacyDataAdapter); 818 } 819 820 @Test 821 public void testGetDictionaryRelationship_Legacy() throws Exception { 822 enableLegacy(); 823 lda.getDictionaryRelationship(Legacy.class, "blah"); 824 verify(knsLegacyDataAdapter).getDictionaryRelationship(eq(Legacy.class), eq("blah")); 825 verifyZeroInteractions(kradLegacyDataAdapter); 826 } 827 828 @Test 829 public void testGetTitleAttribute() throws Exception { 830 lda.getTitleAttribute(NonLegacy.class); 831 verify(kradLegacyDataAdapter).getTitleAttribute(eq(NonLegacy.class)); 832 verifyZeroInteractions(knsLegacyDataAdapter); 833 } 834 835 @Test 836 public void testGetTitleAttribute_Legacy() throws Exception { 837 enableLegacy(); 838 lda.getTitleAttribute(Legacy.class); 839 verify(knsLegacyDataAdapter).getTitleAttribute(eq(Legacy.class)); 840 verifyZeroInteractions(kradLegacyDataAdapter); 841 } 842 843 @Test 844 public void testAreNotesSupported() throws Exception { 845 lda.areNotesSupported(NonLegacy.class); 846 verify(kradLegacyDataAdapter).areNotesSupported(eq(NonLegacy.class)); 847 verifyZeroInteractions(knsLegacyDataAdapter); 848 } 849 850 @Test 851 public void testAreNotesSupported_Legacy() throws Exception { 852 enableLegacy(); 853 lda.areNotesSupported(Legacy.class); 854 verify(knsLegacyDataAdapter).areNotesSupported(eq(Legacy.class)); 855 verifyZeroInteractions(kradLegacyDataAdapter); 856 } 857 858 @Test 859 public void testGetDataObjectIdentifierString() throws Exception { 860 Object object = newNonLegacyObject(); 861 lda.getDataObjectIdentifierString(object); 862 verify(kradLegacyDataAdapter).getDataObjectIdentifierString(eq(object)); 863 verifyZeroInteractions(knsLegacyDataAdapter); 864 } 865 866 @Test 867 public void testGetDataObjectIdentifierString_Legacy() throws Exception { 868 enableLegacy(); 869 Object object = newLegacyObject(); 870 lda.getDataObjectIdentifierString(object); 871 verify(knsLegacyDataAdapter).getDataObjectIdentifierString(eq(object)); 872 verifyZeroInteractions(kradLegacyDataAdapter); 873 } 874 875 @Test 876 public void testGetInquiryObjectClassIfNotTitle() throws Exception { 877 Object object = newNonLegacyObject(); 878 lda.getInquiryObjectClassIfNotTitle(object, "blah"); 879 verify(kradLegacyDataAdapter).getInquiryObjectClassIfNotTitle(eq(object), eq("blah")); 880 verifyZeroInteractions(knsLegacyDataAdapter); 881 } 882 883 @Test 884 public void testGetInquiryObjectClassIfNotTitle_Legacy() throws Exception { 885 enableLegacy(); 886 Object object = newLegacyObject(); 887 lda.getInquiryObjectClassIfNotTitle(object, "blah"); 888 verify(knsLegacyDataAdapter).getInquiryObjectClassIfNotTitle(eq(object), eq("blah")); 889 verifyZeroInteractions(kradLegacyDataAdapter); 890 } 891 892 @Test 893 public void testGetInquiryParameters() throws Exception { 894 Object object = newNonLegacyObject(); 895 lda.getInquiryParameters(object, new ArrayList<String>(), "blah"); 896 verify(kradLegacyDataAdapter).getInquiryParameters(eq(object), anyListOf(String.class), eq("blah")); 897 verifyZeroInteractions(knsLegacyDataAdapter); 898 } 899 900 @Test 901 public void testGetInquiryParameters_Legacy() throws Exception { 902 enableLegacy(); 903 Object object = newLegacyObject(); 904 lda.getInquiryParameters(object, new ArrayList<String>(), "blah"); 905 verify(knsLegacyDataAdapter).getInquiryParameters(eq(object), anyListOf(String.class), eq("blah")); 906 verifyZeroInteractions(kradLegacyDataAdapter); 907 } 908 909 @Test 910 public void testHasLocalLookup() throws Exception { 911 lda.hasLocalLookup(NonLegacy.class); 912 verify(kradLegacyDataAdapter).hasLocalLookup(eq(NonLegacy.class)); 913 verifyZeroInteractions(knsLegacyDataAdapter); 914 } 915 916 @Test 917 public void testHasLocalLookup_Legacy() throws Exception { 918 enableLegacy(); 919 lda.hasLocalLookup(Legacy.class); 920 verify(knsLegacyDataAdapter).hasLocalLookup(eq(Legacy.class)); 921 verifyZeroInteractions(kradLegacyDataAdapter); 922 } 923 924 @Test 925 public void testHasLocalInquiry() throws Exception { 926 lda.hasLocalInquiry(NonLegacy.class); 927 verify(kradLegacyDataAdapter).hasLocalInquiry(eq(NonLegacy.class)); 928 verifyZeroInteractions(knsLegacyDataAdapter); 929 } 930 931 @Test 932 public void testHasLocalInquiry_Legacy() throws Exception { 933 enableLegacy(); 934 lda.hasLocalInquiry(Legacy.class); 935 verify(knsLegacyDataAdapter).hasLocalInquiry(eq(Legacy.class)); 936 verifyZeroInteractions(kradLegacyDataAdapter); 937 } 938 939 @Test 940 public void testGetDataObjectRelationship() throws Exception { 941 Object object = newNonLegacyObject(); 942 lda.getDataObjectRelationship(object, NonLegacy.class, "blah", "prefix", true, true, true); 943 verify(kradLegacyDataAdapter).getDataObjectRelationship(eq(object), eq(NonLegacy.class), eq("blah"), eq( 944 "prefix"), eq(true), eq(true), eq(true)); 945 verifyZeroInteractions(knsLegacyDataAdapter); 946 } 947 948 @Test 949 public void testGetDataObjectRelationship_Legacy() throws Exception { 950 enableLegacy(); 951 Object object = newLegacyObject(); 952 lda.getDataObjectRelationship(object, Legacy.class, "blah", "prefix", true, true, true); 953 verify(knsLegacyDataAdapter).getDataObjectRelationship(eq(object), eq(Legacy.class), eq("blah"), eq( 954 "prefix"), eq(true), eq(true), eq(true)); 955 verifyZeroInteractions(kradLegacyDataAdapter); 956 } 957 958 @Test 959 public void testIsPersistable() throws Exception { 960 lda.isPersistable(NonLegacy.class); 961 verify(kradLegacyDataAdapter).isPersistable(eq(NonLegacy.class)); 962 verifyZeroInteractions(knsLegacyDataAdapter); 963 } 964 965 @Test 966 public void testIsPersistable_Legacy() throws Exception { 967 enableLegacy(); 968 lda.isPersistable(Legacy.class); 969 verify(knsLegacyDataAdapter).isPersistable(eq(Legacy.class)); 970 verifyZeroInteractions(kradLegacyDataAdapter); 971 } 972 973 @Test 974 public void testGetForeignKeyFieldsPopulationState() throws Exception { 975 Object object = newNonLegacyObject(); 976 lda.getForeignKeyFieldsPopulationState(object, "blah"); 977 verify(kradLegacyDataAdapter).getForeignKeyFieldsPopulationState(eq(object), eq("blah")); 978 verifyZeroInteractions(knsLegacyDataAdapter); 979 } 980 981 @Test 982 public void testGetForeignKeyFieldsPopulationState_Legacy() throws Exception { 983 enableLegacy(); 984 Object object = newLegacyObject(); 985 lda.getForeignKeyFieldsPopulationState(object, "blah"); 986 verify(knsLegacyDataAdapter).getForeignKeyFieldsPopulationState(eq(object), eq("blah")); 987 verifyZeroInteractions(kradLegacyDataAdapter); 988 } 989 990 @Test 991 public void testGetForeignKeysForReference() throws Exception { 992 lda.getForeignKeysForReference(NonLegacy.class, "blah"); 993 verify(kradLegacyDataAdapter).getForeignKeysForReference(eq(NonLegacy.class), eq("blah")); 994 verifyZeroInteractions(knsLegacyDataAdapter); 995 } 996 997 @Test 998 public void testGetForeignKeysForReference_Legacy() throws Exception { 999 enableLegacy(); 1000 lda.getForeignKeysForReference(Legacy.class, "blah"); 1001 verify(knsLegacyDataAdapter).getForeignKeysForReference(eq(Legacy.class), eq("blah")); 1002 verifyZeroInteractions(kradLegacyDataAdapter); 1003 } 1004 1005 @Test 1006 public void testHasPrimaryKeyFieldValues() throws Exception { 1007 Object object = newNonLegacyObject(); 1008 lda.hasPrimaryKeyFieldValues(object); 1009 verify(kradLegacyDataAdapter).hasPrimaryKeyFieldValues(eq(object)); 1010 verifyZeroInteractions(knsLegacyDataAdapter); 1011 } 1012 1013 @Test 1014 public void testHasPrimaryKeyFieldValues_Legacy() throws Exception { 1015 enableLegacy(); 1016 Object object = newLegacyObject(); 1017 lda.hasPrimaryKeyFieldValues(object); 1018 verify(knsLegacyDataAdapter).hasPrimaryKeyFieldValues(eq(object)); 1019 verifyZeroInteractions(kradLegacyDataAdapter); 1020 } 1021 1022 @Test 1023 public void testSetObjectPropertyDeep() throws Exception { 1024 Object object = newNonLegacyObject(); 1025 lda.setObjectPropertyDeep(object, "blahName", NonLegacy.class, "blahValue"); 1026 verify(kradLegacyDataAdapter).setObjectPropertyDeep(eq(object), eq("blahName"), eq(NonLegacy.class), eq( 1027 "blahValue")); 1028 verifyZeroInteractions(knsLegacyDataAdapter); 1029 } 1030 1031 @Test 1032 public void testSetObjectPropertyDeep_Legacy() throws Exception { 1033 enableLegacy(); 1034 Object object = newLegacyObject(); 1035 lda.setObjectPropertyDeep(object, "blahName", Legacy.class, "blahValue"); 1036 verify(knsLegacyDataAdapter).setObjectPropertyDeep(eq(object), eq("blahName"), eq(Legacy.class), eq( 1037 "blahValue")); 1038 verifyZeroInteractions(kradLegacyDataAdapter); 1039 } 1040 1041 @Test 1042 public void testMaterializeClassForProxiedObject() throws Exception { 1043 Object object = newNonLegacyObject(); 1044 lda.materializeClassForProxiedObject(object); 1045 verify(kradLegacyDataAdapter).materializeClassForProxiedObject(eq(object)); 1046 verifyZeroInteractions(knsLegacyDataAdapter); 1047 } 1048 1049 @Test 1050 public void testMaterializeClassForProxiedObject_Legacy() throws Exception { 1051 enableLegacy(); 1052 Object object = newLegacyObject(); 1053 lda.materializeClassForProxiedObject(object); 1054 verify(knsLegacyDataAdapter).materializeClassForProxiedObject(eq(object)); 1055 verifyZeroInteractions(kradLegacyDataAdapter); 1056 } 1057 1058 @Test 1059 public void testGetNestedValue() throws Exception { 1060 Object object = newNonLegacyObject(); 1061 lda.getNestedValue(object, "blah"); 1062 verify(kradLegacyDataAdapter).getNestedValue(eq(object), eq("blah")); 1063 verifyZeroInteractions(knsLegacyDataAdapter); 1064 } 1065 1066 @Test 1067 public void testGetNestedValue_Legacy() throws Exception { 1068 enableLegacy(); 1069 Object object = newLegacyObject(); 1070 lda.getNestedValue(object, "blah"); 1071 verify(knsLegacyDataAdapter).getNestedValue(eq(object), eq("blah")); 1072 verifyZeroInteractions(kradLegacyDataAdapter); 1073 } 1074 1075 @Test 1076 public void testCreateNewObjectFromClass() throws Exception { 1077 lda.createNewObjectFromClass(NonLegacy.class); 1078 verify(kradLegacyDataAdapter).createNewObjectFromClass(eq(NonLegacy.class)); 1079 verifyZeroInteractions(knsLegacyDataAdapter); 1080 } 1081 1082 @Test 1083 public void testCreateNewObjectFromClass_Legacy() throws Exception { 1084 enableLegacy(); 1085 lda.createNewObjectFromClass(Legacy.class); 1086 verify(knsLegacyDataAdapter).createNewObjectFromClass(eq(Legacy.class)); 1087 verifyZeroInteractions(kradLegacyDataAdapter); 1088 } 1089 1090 @Test 1091 public void testIsNull() throws Exception { 1092 Object object = newNonLegacyObject(); 1093 lda.isNull(object); 1094 verify(kradLegacyDataAdapter).isNull(eq(object)); 1095 verifyZeroInteractions(knsLegacyDataAdapter); 1096 } 1097 1098 @Test 1099 public void testIsNull_Legacy() throws Exception { 1100 enableLegacy(); 1101 Object object = newLegacyObject(); 1102 lda.isNull(object); 1103 verify(knsLegacyDataAdapter).isNull(eq(object)); 1104 verifyZeroInteractions(kradLegacyDataAdapter); 1105 } 1106 1107 @Test 1108 public void testSetObjectProperty() throws Exception { 1109 Object object = newNonLegacyObject(); 1110 lda.setObjectProperty(object, "blahName", NonLegacy.class, "blahValue"); 1111 verify(kradLegacyDataAdapter).setObjectProperty(eq(object), eq("blahName"), eq(NonLegacy.class), 1112 eq("blahValue")); 1113 verifyZeroInteractions(knsLegacyDataAdapter); 1114 } 1115 1116 @Test 1117 public void testSetObjectProperty_Legacy() throws Exception { 1118 enableLegacy(); 1119 Object object = newLegacyObject(); 1120 lda.setObjectProperty(object, "blahName", Legacy.class, "blahValue"); 1121 verify(knsLegacyDataAdapter).setObjectProperty(eq(object), eq("blahName"), eq(Legacy.class), eq("blahValue")); 1122 verifyZeroInteractions(kradLegacyDataAdapter); 1123 } 1124 1125 1126 @Test 1127 public void testFindByDocumentHeaderId() throws Exception { 1128 lda.findByDocumentHeaderId(NonLegacyDocument.class, "1234"); 1129 verify(kradLegacyDataAdapter).findByDocumentHeaderId(eq(NonLegacyDocument.class), eq("1234")); 1130 verifyZeroInteractions(knsLegacyDataAdapter); 1131 } 1132 1133 @Test 1134 public void testFindByDocumentHeaderId_Legacy() throws Exception { 1135 enableLegacy(); 1136 lda.findByDocumentHeaderId(LegacyDocument.class, "1234"); 1137 verify(knsLegacyDataAdapter).findByDocumentHeaderId(eq(LegacyDocument.class), eq("1234")); 1138 verifyZeroInteractions(kradLegacyDataAdapter); 1139 } 1140 1141 @Test 1142 public void testFindByDocumentHeaderIds() throws Exception { 1143 lda.findByDocumentHeaderIds(NonLegacyDocument.class, new ArrayList<String>()); 1144 verify(kradLegacyDataAdapter).findByDocumentHeaderIds(eq(NonLegacyDocument.class), anyListOf(String.class)); 1145 verifyZeroInteractions(knsLegacyDataAdapter); 1146 } 1147 1148 @Test 1149 public void testFindByDocumentHeaderIds_Legacy() throws Exception { 1150 enableLegacy(); 1151 lda.findByDocumentHeaderIds(LegacyDocument.class, new ArrayList<String>()); 1152 verify(knsLegacyDataAdapter).findByDocumentHeaderIds(eq(LegacyDocument.class), anyListOf(String.class)); 1153 verifyZeroInteractions(kradLegacyDataAdapter); 1154 } 1155 1156 @Test 1157 public void testGetKnsLegacyDataAdapter() throws Exception { 1158 assertEquals(knsLegacyDataAdapter, lda.getKnsLegacyDataAdapter()); 1159 } 1160 1161 @Test 1162 public void testSetKnsLegacyDataAdapter() throws Exception { 1163 lda.setKnsLegacyDataAdapter(null); 1164 assertNull(lda.getKnsLegacyDataAdapter()); 1165 } 1166 1167 1168 @Test 1169 public void testGetKradLegacyDataAdapter() throws Exception { 1170 assertEquals(kradLegacyDataAdapter, lda.getKradLegacyDataAdapter()); 1171 } 1172 1173 @Test 1174 public void testSetKradLegacyDataAdapter() throws Exception { 1175 lda.setKradLegacyDataAdapter(null); 1176 assertNull(lda.getKradLegacyDataAdapter()); 1177 } 1178 1179 @Test 1180 public void testSelectAdapter() throws Exception { 1181 1182 // Scenario 1: KNS is not enabled, in this case it will always default to KRAD adapter 1183 assertEquals(kradLegacyDataAdapter, lda.selectAdapter(NonLegacy.class)); 1184 assertEquals(kradLegacyDataAdapter, lda.selectAdapter(newNonLegacyObject())); 1185 assertEquals(kradLegacyDataAdapter, lda.selectAdapter(Legacy.class)); 1186 assertEquals(kradLegacyDataAdapter, lda.selectAdapter(newLegacyObject())); 1187 1188 // Now let's enable the KNS 1189 enableLegacy(); 1190 1191 // Scenario 2: Using a Class which is a valid legacy Class, should use KNS adapter 1192 assertEquals(knsLegacyDataAdapter, lda.selectAdapter(Legacy.class)); 1193 1194 // Scenario 3: Using an Object which is a valid legacy Object, should use KNS adapter 1195 assertEquals(knsLegacyDataAdapter, lda.selectAdapter(newLegacyObject())); 1196 1197 // Scenario 4: Using a Class which is a not a legacy Class, should fall back to KRAD adapter even though legacy is enabled 1198 assertEquals(kradLegacyDataAdapter, lda.selectAdapter(NonLegacy.class)); 1199 1200 // Scenario 5: Using an Object which is a not a legacy Object, should fall back to KRAD adapter even though legacy is enabled 1201 assertEquals(kradLegacyDataAdapter, lda.selectAdapter(newNonLegacyObject())); 1202 1203 } 1204 1205 public static final class NonLegacy implements Serializable {} 1206 public static final class Legacy extends PersistableBusinessObjectBase {} 1207 public static final class NonLegacyPersistableBusinessObject extends PersistableBusinessObjectBase {} 1208 1209 public static final class NonLegacyDocument extends DocumentBase {} 1210 public static final class LegacyDocument extends DocumentBase {} 1211 1212 }