Search in sources :

Example 1 with Famille

use of io.vertigo.dynamo.store.data.domain.famille.Famille in project vertigo by KleeGroup.

the class AbstractStoreManagerTest method testGetFamilliesCars.

/**
 * Test que les listes 1N ne reste pas en cache après une mise à jour.
 * Ici l'entité en cache est la destination de la navigation : Car
 */
@Test
public void testGetFamilliesCars() {
    // on crée une famille
    final Famille famille = new Famille();
    famille.setLibelle("Ma famille");
    final DtList<Car> firstResult;
    try (final VTransactionWritable transaction = transactionManager.createCurrentTransaction()) {
        final Famille createdFamille = storeManager.getDataStore().create(famille);
        // on récupère la liste des voitures
        final DtList<Car> cars = storeManager.getDataStore().findAll(allCarsUri);
        Assert.assertNotNull(cars);
        Assert.assertFalse("La liste des cars est vide", cars.isEmpty());
        // on associe la liste de voiture à la famille en 1N
        for (final Car car : cars) {
            car.setFamId(createdFamille.getFamId());
            storeManager.getDataStore().update(car);
        }
        // On garde le résultat de l'association 1N
        firstResult = createdFamille.getVoituresFamilleList();
        // On met à jour l'association en retirant le premier élément
        final Car firstCar = cars.get(0);
        firstCar.setFamId(null);
        storeManager.getDataStore().update(firstCar);
        // sans commit le cache n'est pas rafraichit
        transaction.commit();
    }
    try (VTransactionWritable transaction = transactionManager.createCurrentTransaction()) {
        // on garde le résultat en lazy : il doit avoir le meme nombre de voiture qu'au début
        final DtList<Car> lazyResult = famille.getVoituresFamilleList();
        Assert.assertEquals("Test tailles du nombre de voiture pour une 1-N", firstResult.size(), lazyResult.size());
        // on recharge la famille et on recharge la liste issus de l'association 1N : il doit avoir une voiture de moins qu'au début
        final DtDefinition dtFamille = DtObjectUtil.findDtDefinition(Famille.class);
        final Famille famille2 = storeManager.getDataStore().readOne(new URI<Famille>(dtFamille, famille.getFamId()));
        final DtList<Car> secondResult = famille2.getVoituresFamilleList();
        Assert.assertEquals("Test tailles du nombre de voiture pour une 1-N", firstResult.size() - 1, secondResult.size());
        transaction.commit();
    }
}
Also used : Famille(io.vertigo.dynamo.store.data.domain.famille.Famille) Car(io.vertigo.dynamo.store.data.domain.car.Car) DtDefinition(io.vertigo.dynamo.domain.metamodel.DtDefinition) VTransactionWritable(io.vertigo.commons.transaction.VTransactionWritable) Test(org.junit.Test)

Example 2 with Famille

use of io.vertigo.dynamo.store.data.domain.famille.Famille in project vertigo by KleeGroup.

the class AbstractStoreManagerTest method testGetFamille.

/**
 * On vérifie que la liste est vide.
 */
@Test
public void testGetFamille() {
    try (VTransactionWritable transaction = transactionManager.createCurrentTransaction()) {
        final DtListURI allFamilles = new DtListURIForCriteria<>(dtDefinitionFamille, null, null);
        final DtList<Famille> dtc = storeManager.getDataStore().findAll(allFamilles);
        Assert.assertNotNull(dtc);
        Assert.assertTrue("La liste des famille est vide", dtc.isEmpty());
        transaction.commit();
    }
}
Also used : Famille(io.vertigo.dynamo.store.data.domain.famille.Famille) DtListURI(io.vertigo.dynamo.domain.model.DtListURI) DtListURIForCriteria(io.vertigo.dynamo.domain.model.DtListURIForCriteria) VTransactionWritable(io.vertigo.commons.transaction.VTransactionWritable) Test(org.junit.Test)

Example 3 with Famille

use of io.vertigo.dynamo.store.data.domain.famille.Famille in project vertigo by KleeGroup.

the class AbstractStoreManagerTest method testAddFamille.

/**
 * On charge une liste, ajoute un element et recharge la liste pour verifier l'ajout.
 */
@Test
public void testAddFamille() {
    try (VTransactionWritable transaction = transactionManager.createCurrentTransaction()) {
        final DtListURI allFamilles = new DtListURIForCriteria<>(dtDefinitionFamille, null, null);
        DtList<Famille> dtc = storeManager.getDataStore().findAll(allFamilles);
        Assert.assertEquals(0, dtc.size());
        // -----
        final Famille famille = new Famille();
        famille.setLibelle("encore un");
        final Famille createdFamille = storeManager.getDataStore().create(famille);
        // on attend un objet avec un ID non null ?
        Assert.assertNotNull(createdFamille.getFamId());
        // -----
        dtc = storeManager.getDataStore().findAll(allFamilles);
        Assert.assertEquals(1, dtc.size());
        transaction.commit();
    }
}
Also used : Famille(io.vertigo.dynamo.store.data.domain.famille.Famille) DtListURI(io.vertigo.dynamo.domain.model.DtListURI) DtListURIForCriteria(io.vertigo.dynamo.domain.model.DtListURIForCriteria) VTransactionWritable(io.vertigo.commons.transaction.VTransactionWritable) Test(org.junit.Test)

Example 4 with Famille

use of io.vertigo.dynamo.store.data.domain.famille.Famille in project vertigo by KleeGroup.

the class AbstractStoreManagerTest method testGetFamilleLocationCars.

/**
 * Test que les listes NN ne reste pas en cache après une mise à jour.
 * Ici l'entité en cache est la destination de la navigation : Car
 */
@Test
public void testGetFamilleLocationCars() {
    try (VTransactionWritable transaction = transactionManager.createCurrentTransaction()) {
        // on crée une famille
        final Famille famille = new Famille();
        famille.setLibelle("Ma famille");
        final Famille createdFamille = storeManager.getDataStore().create(famille);
        // on récupère la liste des voitures
        final DtList<Car> cars = storeManager.getDataStore().findAll(allCarsUri);
        Assert.assertNotNull(cars);
        Assert.assertFalse("La liste des cars est vide", cars.isEmpty());
        // on associe la liste de voiture à la famille en NN
        final List<URI> carUriList = new ArrayList<>();
        for (final Car car : cars) {
            carUriList.add(new URI(dtDefinitionCar, car.getId()));
        }
        familleDAO.updateNN(createdFamille.getVoituresLocationDtListURI(), carUriList);
        // On garde le résultat de l'association NN
        final DtList<Car> firstResult = createdFamille.getVoituresLocationList();
        Assert.assertEquals("Test tailles du nombre de voiture dans une NN", cars.size(), firstResult.size());
        // On met à jour l'association en retirant le premier élément
        carUriList.remove(0);
        familleDAO.updateNN(createdFamille.getVoituresLocationDtListURI(), carUriList);
        // on garde le résultat en lazy : il doit avoir le meme nombre de voiture qu'au début
        final DtList<Car> lazyResult = createdFamille.getVoituresLocationList();
        Assert.assertEquals("Test tailles du nombre de voiture pour une NN", firstResult.size(), lazyResult.size());
        // on recharge la famille et on recharge la liste issus de l'association NN : il doit avoir une voiture de moins qu'au début
        final DtDefinition dtFamille = DtObjectUtil.findDtDefinition(Famille.class);
        final Famille famille2 = storeManager.getDataStore().readOne(new URI<Famille>(dtFamille, createdFamille.getFamId()));
        final DtList<Car> secondResult = famille2.getVoituresLocationList();
        Assert.assertEquals("Test tailles du nombre de voiture dans une NN", firstResult.size() - 1, secondResult.size());
        transaction.commit();
    }
}
Also used : Famille(io.vertigo.dynamo.store.data.domain.famille.Famille) Car(io.vertigo.dynamo.store.data.domain.car.Car) ArrayList(java.util.ArrayList) DtDefinition(io.vertigo.dynamo.domain.metamodel.DtDefinition) VTransactionWritable(io.vertigo.commons.transaction.VTransactionWritable) URI(io.vertigo.dynamo.domain.model.URI) DtListURI(io.vertigo.dynamo.domain.model.DtListURI) Test(org.junit.Test)

Example 5 with Famille

use of io.vertigo.dynamo.store.data.domain.famille.Famille in project vertigo by KleeGroup.

the class CachedStoreManagerTest method testAddFamille.

/**
 * On charge une liste, ajoute un element et recharge la liste pour verifier l'ajout.
 */
@Override
@Test
public void testAddFamille() {
    // ce test est modifier car le cache n'est pas transactionnel : la liste n'est pas accessible sans commit
    try (VTransactionWritable transaction = transactionManager.createCurrentTransaction()) {
        final DtListURI allFamilles = new DtListURIForCriteria<>(dtDefinitionFamille, null, null);
        final DtList<Famille> dtc = storeManager.getDataStore().findAll(allFamilles);
        Assert.assertEquals(0, dtc.size());
        // -----
        final Famille famille = new Famille();
        famille.setLibelle("encore un");
        final Famille createdFamille = storeManager.getDataStore().create(famille);
        // on attend un objet avec un ID non null ?
        Assert.assertNotNull(createdFamille.getFamId());
        transaction.commit();
    }
    try (VTransactionWritable transaction = transactionManager.createCurrentTransaction()) {
        final DtListURI allFamilles = new DtListURIForCriteria<>(dtDefinitionFamille, null, null);
        final DtList<Famille> dtc = storeManager.getDataStore().findAll(allFamilles);
        Assert.assertEquals(1, dtc.size());
    }
}
Also used : Famille(io.vertigo.dynamo.store.data.domain.famille.Famille) DtListURI(io.vertigo.dynamo.domain.model.DtListURI) DtListURIForCriteria(io.vertigo.dynamo.domain.model.DtListURIForCriteria) VTransactionWritable(io.vertigo.commons.transaction.VTransactionWritable) Test(org.junit.Test) AbstractStoreManagerTest(io.vertigo.dynamo.store.datastore.AbstractStoreManagerTest)

Aggregations

VTransactionWritable (io.vertigo.commons.transaction.VTransactionWritable)6 Famille (io.vertigo.dynamo.store.data.domain.famille.Famille)6 Test (org.junit.Test)6 DtListURI (io.vertigo.dynamo.domain.model.DtListURI)4 DtListURIForCriteria (io.vertigo.dynamo.domain.model.DtListURIForCriteria)3 DtDefinition (io.vertigo.dynamo.domain.metamodel.DtDefinition)2 Car (io.vertigo.dynamo.store.data.domain.car.Car)2 URI (io.vertigo.dynamo.domain.model.URI)1 AbstractStoreManagerTest (io.vertigo.dynamo.store.datastore.AbstractStoreManagerTest)1 DecimalFormat (java.text.DecimalFormat)1 ArrayList (java.util.ArrayList)1