Search in sources :

Example 36 with VTransactionWritable

use of io.vertigo.commons.transaction.VTransactionWritable in project vertigo by KleeGroup.

the class TaskEngineSelectDynamicTest method testWhereIn2200.

/**
 * Test where in avec 2200 Id a inclure.
 */
@Test
public void testWhereIn2200() {
    superHeroDataBase.populateSuperHero(storeManager, 4500);
    try (final VTransactionWritable transaction = transactionManager.createCurrentTransaction()) {
        final TaskDefinition taskDefinition = registerTaskList("TK_WHERE_ID_TEST", "select * from SUPER_HERO  where ID in (#DTC_SUPER_HERO_IN.ROWNUM.ID#)");
        final DtList<SuperHero> ids = new DtList<>(SuperHero.class);
        for (int i = 0; i < 2200; i++) {
            ids.add(createSuperHero(10001L + 2 * i));
        }
        final Task task = Task.builder(taskDefinition).addValue(DTC_SUPER_HERO_IN, ids).build();
        final DtList<SuperHero> resultList = taskManager.execute(task).getResult();
        Assert.assertEquals(2200, resultList.size());
    }
}
Also used : SuperHero(io.vertigo.dynamo.task.data.domain.SuperHero) TaskDefinition(io.vertigo.dynamo.task.metamodel.TaskDefinition) Task(io.vertigo.dynamo.task.model.Task) VTransactionWritable(io.vertigo.commons.transaction.VTransactionWritable) DtList(io.vertigo.dynamo.domain.model.DtList) Test(org.junit.Test)

Example 37 with VTransactionWritable

use of io.vertigo.commons.transaction.VTransactionWritable in project vertigo by KleeGroup.

the class TaskEngineSelectDynamicTest method testWhereInTab.

/**
 * Test exécution d'une tache.
 */
@Test
public void testWhereInTab() {
    try (final VTransactionWritable transaction = transactionManager.createCurrentTransaction()) {
        final TaskDefinition taskDefinition = registerTaskList("TK_WHERE_ID_TEST", "select * from SUPER_HERO  where\tID in\t(#DTC_SUPER_HERO_IN.ROWNUM.ID#)");
        final DtList<SuperHero> ids = DtList.of(createSuperHero(10001L + 1), createSuperHero(10001L + 3));
        final Task task = Task.builder(taskDefinition).addValue(DTC_SUPER_HERO_IN, ids).build();
        final DtList<SuperHero> resultList = taskManager.execute(task).getResult();
        Assert.assertEquals(2, resultList.size());
        Assert.assertEquals(10001L + 1, resultList.get(0).getId().longValue());
        Assert.assertEquals(10001L + 3, resultList.get(1).getId().longValue());
    }
}
Also used : SuperHero(io.vertigo.dynamo.task.data.domain.SuperHero) TaskDefinition(io.vertigo.dynamo.task.metamodel.TaskDefinition) Task(io.vertigo.dynamo.task.model.Task) VTransactionWritable(io.vertigo.commons.transaction.VTransactionWritable) Test(org.junit.Test)

Example 38 with VTransactionWritable

use of io.vertigo.commons.transaction.VTransactionWritable in project vertigo by KleeGroup.

the class TaskEngineSelectDynamicTest method testScriptVar.

/**
 * Test des scripts.
 */
@Test
public void testScriptVar() {
    try (final VTransactionWritable transaction = transactionManager.createCurrentTransaction()) {
        final TaskDefinition taskDefinition = registerTaskObject("TK_SCRIPT_TEST", "select * from SUPER_HERO <%if(dtoSuperHero.getId() == 10002L) {%>where ID = #DTO_SUPER_HERO.ID#<%}%>");
        final SuperHero superHero = new SuperHero();
        superHero.setId(10001L + 1);
        final Task task = Task.builder(taskDefinition).addValue(DTO_SUPER_HERO, superHero).build();
        final DtList<SuperHero> resultList = taskManager.execute(task).getResult();
        Assert.assertEquals(1, resultList.size());
        Assert.assertEquals(10001L + 1, resultList.get(0).getId().longValue());
    }
}
Also used : SuperHero(io.vertigo.dynamo.task.data.domain.SuperHero) TaskDefinition(io.vertigo.dynamo.task.metamodel.TaskDefinition) Task(io.vertigo.dynamo.task.model.Task) VTransactionWritable(io.vertigo.commons.transaction.VTransactionWritable) Test(org.junit.Test)

Example 39 with VTransactionWritable

use of io.vertigo.commons.transaction.VTransactionWritable 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)

Example 40 with VTransactionWritable

use of io.vertigo.commons.transaction.VTransactionWritable in project vertigo by KleeGroup.

the class JpaDataStorePlugin method checkJpaStore.

@HealthChecked(name = "testQuery", feature = "jpa")
public HealthMeasure checkJpaStore() {
    final HealthMeasureBuilder healthMeasureBuilder = HealthMeasure.builder();
    try (VTransactionWritable transaction = transactionManager.createCurrentTransaction()) {
        getEntityManager().createNativeQuery("select 1", Integer.class).getFirstResult();
        healthMeasureBuilder.withGreenStatus();
    } catch (final Exception e) {
        healthMeasureBuilder.withRedStatus(e.getMessage(), e).build();
    }
    return healthMeasureBuilder.build();
}
Also used : HealthMeasureBuilder(io.vertigo.commons.analytics.health.HealthMeasureBuilder) VTransactionWritable(io.vertigo.commons.transaction.VTransactionWritable) VSystemException(io.vertigo.lang.VSystemException) SQLException(java.sql.SQLException) ConstraintViolationException(org.hibernate.exception.ConstraintViolationException) PersistenceException(javax.persistence.PersistenceException) HealthChecked(io.vertigo.commons.analytics.health.HealthChecked)

Aggregations

VTransactionWritable (io.vertigo.commons.transaction.VTransactionWritable)80 Test (org.junit.Test)63 Car (io.vertigo.dynamo.store.data.domain.car.Car)22 TaskDefinition (io.vertigo.dynamo.task.metamodel.TaskDefinition)22 Task (io.vertigo.dynamo.task.model.Task)22 SuperHero (io.vertigo.dynamo.task.data.domain.SuperHero)18 DtList (io.vertigo.dynamo.domain.model.DtList)7 Flower (io.vertigo.dynamo.kvstore.data.Flower)6 Famille (io.vertigo.dynamo.store.data.domain.famille.Famille)6 SqlConnection (io.vertigo.database.sql.connection.SqlConnection)5 DtListURI (io.vertigo.dynamo.domain.model.DtListURI)5 DtDefinition (io.vertigo.dynamo.domain.metamodel.DtDefinition)4 DtListURIForCriteria (io.vertigo.dynamo.domain.model.DtListURIForCriteria)4 URI (io.vertigo.dynamo.domain.model.URI)4 Item (io.vertigo.dynamo.search.data.domain.Item)4 SearchIndexDefinition (io.vertigo.dynamo.search.metamodel.SearchIndexDefinition)4 Car (io.vertigo.dynamo.search_2_4.data.domain.Car)4 TaskEngineSelect (io.vertigo.dynamox.task.TaskEngineSelect)4 ArrayList (java.util.ArrayList)4 Domain (io.vertigo.dynamo.domain.metamodel.Domain)3