Search in sources :

Example 11 with Car

use of io.vertigo.dynamo.search_2_4.data.domain.Car in project vertigo by KleeGroup.

the class SearchManagerStoreTest method testIndexUpdateData.

/**
 * Test de mise à jour de l'index après une creation.
 * La création s'effectue dans une seule transaction.
 */
@Test
public void testIndexUpdateData() {
    testIndexAllQuery();
    final Car car = createNewCar();
    try (VTransactionWritable transaction = transactionManager.createCurrentTransaction()) {
        storeManager.getDataStore().create(car);
        transaction.commit();
    }
    waitIndexation();
    Assert.assertEquals(initialDbCarSize + 1, query("*:*"));
    Assert.assertEquals(1, query("DESCRIPTION:légende"));
    car.setDescription("Vendue");
    try (VTransactionWritable transaction = transactionManager.createCurrentTransaction()) {
        storeManager.getDataStore().update(car);
        transaction.commit();
    }
    waitIndexation();
    Assert.assertEquals(initialDbCarSize + 1, query("*:*"));
    Assert.assertEquals(0, query("DESCRIPTION:légende"));
    Assert.assertEquals(1, query("DESCRIPTION:vendue"));
}
Also used : Car(io.vertigo.dynamo.search_2_4.data.domain.Car) VTransactionWritable(io.vertigo.commons.transaction.VTransactionWritable) Test(org.junit.Test)

Example 12 with Car

use of io.vertigo.dynamo.search_2_4.data.domain.Car in project vertigo by KleeGroup.

the class SearchManagerStoreTest method testIndexNewData.

/**
 * Test de mise à jour de l'index après une creation.
 * La création s'effectue dans une seule transaction.
 */
@Test
public void testIndexNewData() {
    testIndexAllQuery();
    try (VTransactionWritable transaction = transactionManager.createCurrentTransaction()) {
        final Car car = createNewCar();
        storeManager.getDataStore().create(car);
        transaction.commit();
    }
    waitIndexation();
    Assert.assertEquals(initialDbCarSize + 1, query("*:*"));
    Assert.assertEquals(1, query("DESCRIPTION:légende"));
}
Also used : Car(io.vertigo.dynamo.search_2_4.data.domain.Car) VTransactionWritable(io.vertigo.commons.transaction.VTransactionWritable) Test(org.junit.Test)

Example 13 with Car

use of io.vertigo.dynamo.search_2_4.data.domain.Car in project vertigo by KleeGroup.

the class SearchManagerStoreTest method doSetUp.

@Override
protected void doSetUp() throws Exception {
    final DefinitionSpace definitionSpace = getApp().getDefinitionSpace();
    carIndexDefinition = definitionSpace.resolve(IDX_CAR, SearchIndexDefinition.class);
    // A chaque test on recrée la table famille
    try (VTransactionWritable transaction = transactionManager.createCurrentTransaction()) {
        final SqlConnection connection = dataBaseManager.getConnectionProvider(SqlDataBaseManager.MAIN_CONNECTION_PROVIDER_NAME).obtainConnection();
        execCallableStatement(connection, "create table car(ID BIGINT, MAKE varchar(50), MODEL varchar(255), DESCRIPTION varchar(512), YEAR INT, KILO INT, PRICE INT, CONSOMMATION NUMERIC(8,2), MOTOR_TYPE varchar(50), OPTIONAL_NUMBER BIGINT, OPTIONAL_STRING varchar(50) );");
        execCallableStatement(connection, "create sequence SEQ_CAR start with 10001 increment by 1");
    }
    // On supprime tout
    remove("*:*");
    final CarDataBase carDataBase = new CarDataBase();
    carDataBase.loadDatas();
    initialDbCarSize = carDataBase.size();
    try (VTransactionWritable transaction = transactionManager.createCurrentTransaction()) {
        for (final Car car : carDataBase.getAllCars()) {
            car.setId(null);
            storeManager.getDataStore().create(car);
        }
        transaction.commit();
    }
    waitIndexation();
}
Also used : CarDataBase(io.vertigo.dynamo.search_2_4.data.domain.CarDataBase) Car(io.vertigo.dynamo.search_2_4.data.domain.Car) SearchIndexDefinition(io.vertigo.dynamo.search.metamodel.SearchIndexDefinition) DefinitionSpace(io.vertigo.core.definition.DefinitionSpace) VTransactionWritable(io.vertigo.commons.transaction.VTransactionWritable) SqlConnection(io.vertigo.database.sql.connection.SqlConnection)

Example 14 with Car

use of io.vertigo.dynamo.search_2_4.data.domain.Car in project vertigo by KleeGroup.

the class SearchManagerStoreTest method createNewCar.

private static Car createNewCar() {
    final Car car = new Car();
    car.setId(null);
    car.setPrice(12000);
    car.setMake("Acme");
    car.setModel("Martin");
    car.setYear(1978);
    car.setKilo(1500);
    final BigDecimal conso = new BigDecimal(7.6);
    conso.setScale(2, RoundingMode.HALF_UP);
    car.setConsommation(conso);
    car.setMotorType("essence");
    car.setDescription("Voiture de légende assurant une reindexation dès son insertion");
    return car;
}
Also used : Car(io.vertigo.dynamo.search_2_4.data.domain.Car) BigDecimal(java.math.BigDecimal)

Example 15 with Car

use of io.vertigo.dynamo.search_2_4.data.domain.Car in project vertigo by KleeGroup.

the class AbstractSearchManagerTest method testSortedQuery.

/**
 * Test de requétage de l'index avec tri.
 * La création s'effectue dans une seule transaction.
 */
@Test
public void testSortedQuery() {
    index(false);
    Car firstCar;
    firstCar = doQueryAndGetFirst("*:*", "MAKE", false);
    Assert.assertEquals("Audi", firstCar.getMake());
    firstCar = doQueryAndGetFirst("*:*", "MAKE", true);
    Assert.assertEquals("Volkswagen", firstCar.getMake());
    firstCar = doQueryAndGetFirst("*:*", "YEAR", false);
    Assert.assertEquals(1998, firstCar.getYear().intValue());
    firstCar = doQueryAndGetFirst("*:*", "YEAR", true);
    Assert.assertEquals(2010, firstCar.getYear().intValue());
}
Also used : Car(io.vertigo.dynamo.search_2_4.data.domain.Car) Test(org.junit.Test)

Aggregations

Car (io.vertigo.dynamo.search_2_4.data.domain.Car)23 Test (org.junit.Test)17 SearchQuery (io.vertigo.dynamo.search.model.SearchQuery)12 ArrayList (java.util.ArrayList)7 SearchIndexDefinition (io.vertigo.dynamo.search.metamodel.SearchIndexDefinition)6 VTransactionWritable (io.vertigo.commons.transaction.VTransactionWritable)5 DefinitionSpace (io.vertigo.core.definition.DefinitionSpace)5 DtList (io.vertigo.dynamo.domain.model.DtList)5 DtListState (io.vertigo.dynamo.domain.model.DtListState)5 SearchIndex (io.vertigo.dynamo.search.model.SearchIndex)5 List (java.util.List)5 FacetValue (io.vertigo.dynamo.collections.model.FacetValue)4 URI (io.vertigo.dynamo.domain.model.URI)4 HashMap (java.util.HashMap)4 DtObjectUtil (io.vertigo.dynamo.domain.util.DtObjectUtil)3 SearchManager (io.vertigo.dynamo.search.SearchManager)3 CarDataBase (io.vertigo.dynamo.search_2_4.data.domain.CarDataBase)3 AbstractTestCaseJU4 (io.vertigo.AbstractTestCaseJU4)2 ListFilter (io.vertigo.dynamo.collections.ListFilter)2 FacetDefinition (io.vertigo.dynamo.collections.metamodel.FacetDefinition)2