public ObjectGraphBuilder(PersistenceCache pcCache, PersistenceDelegator pd) { this.persistenceCache = pcCache; this.pd = pd; this.idGenerator = new IdGenerator(); this.validator = new PersistenceValidator(); }
@Test public void testAutoStrategy() throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException { IdGenerator idGenerator = new IdGenerator(); GeneratedIdStrategyAuto autoStrategy = new GeneratedIdStrategyAuto(); autoStrategy.setName("auto strategy"); Assert.assertEquals(0, autoStrategy.getId()); EntityMetadata entityMetadata = KunderaMetadataManager.getEntityMetadata(kunderaMetadata, GeneratedIdStrategyAuto.class); // on auto strategy idGenerator.generateAndSetId(autoStrategy, entityMetadata, CoreTestUtilities.getDelegator(em), kunderaMetadata); Assert.assertTrue(autoStrategy.getId() > 0); }
@Test public void testIdentityStrategy() throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException { IdGenerator idGenerator = new IdGenerator(); GeneratedIdStrategyIdentity identityStrategy = new GeneratedIdStrategyIdentity(); identityStrategy.setName("identity strategy"); Assert.assertEquals(0, identityStrategy.getId()); EntityMetadata entityMetadata = KunderaMetadataManager.getEntityMetadata(kunderaMetadata, GeneratedIdStrategyIdentity.class); // on auto strategy try { idGenerator.generateAndSetId(identityStrategy, entityMetadata, CoreTestUtilities.getDelegator(em), kunderaMetadata); } catch (UnsupportedOperationException usex) { Assert.assertNotNull(usex); } }
id = new IdGenerator().generateAndSetId(entity, entityMetadata, delegator, delegator.getKunderaMetadata());
@Test public void testSequenceStrategy() throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException { IdGenerator idGenerator = new IdGenerator(); GeneratedIdStrategySequence seqStrategy = new GeneratedIdStrategySequence(); seqStrategy.setName("sequence strategy"); Assert.assertEquals(0, seqStrategy.getId()); EntityMetadata entityMetadata = KunderaMetadataManager.getEntityMetadata(kunderaMetadata, GeneratedIdStrategySequence.class); // on auto strategy idGenerator.generateAndSetId(seqStrategy, entityMetadata, CoreTestUtilities.getDelegator(em), kunderaMetadata); Assert.assertTrue(seqStrategy.getId() > 0); try { setInvalidClient(CoreTestUtilities.getDelegator(em)); idGenerator.generateAndSetId(seqStrategy, entityMetadata, CoreTestUtilities.getDelegator(em), kunderaMetadata); Assert.fail("Should have gone to catch block!"); } catch (IllegalArgumentException iaex) { Assert.assertNotNull(iaex); } }
@Test public void testTableStrategy() throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException { IdGenerator idGenerator = new IdGenerator(); GeneratedIdStrategyTable tableStrategy = new GeneratedIdStrategyTable(); tableStrategy.setName("table strategy"); Assert.assertEquals(0, tableStrategy.getId()); EntityMetadata entityMetadata = KunderaMetadataManager.getEntityMetadata(kunderaMetadata, GeneratedIdStrategyTable.class); // on auto strategy idGenerator .generateAndSetId(tableStrategy, entityMetadata, CoreTestUtilities.getDelegator(em), kunderaMetadata); Assert.assertTrue(tableStrategy.getId() > 0); try { setInvalidClient(CoreTestUtilities.getDelegator(em)); idGenerator.generateAndSetId(tableStrategy, entityMetadata, CoreTestUtilities.getDelegator(em), kunderaMetadata); Assert.fail("Should have gone to catch block!"); } catch (IllegalArgumentException iaex) { Assert.assertNotNull(iaex); } }