Search in sources :

Example 21 with Car

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

the class AbstractSearchManagerTest method doQueryAndGetFirst.

private Car doQueryAndGetFirst(final String query, final String sortField, final boolean sortDesc) {
    // recherche
    final SearchQuery searchQuery = SearchQuery.builder(ListFilter.of(query)).build();
    final DtListState listState = new DtListState(null, 0, carIndexDefinition.getIndexDtDefinition().getField(sortField).getName(), sortDesc);
    final DtList<Car> dtList = doQuery(searchQuery, listState).getDtList();
    Assert.assertFalse("Result list was empty", dtList.isEmpty());
    return dtList.get(0);
}
Also used : SearchQuery(io.vertigo.dynamo.search.model.SearchQuery) Car(io.vertigo.dynamo.search_2_4.data.domain.Car) DtListState(io.vertigo.dynamo.domain.model.DtListState)

Example 22 with Car

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

the class SearchManagerMultiIndexTest method testIndex.

/**
 * Test de création de n enregistrements dans l'index.
 * La création s'effectue dans une seule transaction mais sur deux indexes.
 * Vérifie la capacité du système à gérer plusieurs indexes.
 */
@Test
public void testIndex() {
    final DefinitionSpace definitionSpace = getApp().getDefinitionSpace();
    final SearchIndexDefinition carIndexDefinition = definitionSpace.resolve(IDX_CAR, SearchIndexDefinition.class);
    final SearchIndexDefinition carDynIndexDefinition = definitionSpace.resolve(IDX_DYNA_CAR, SearchIndexDefinition.class);
    for (final Car car : carDataBase.getAllCars()) {
        final SearchIndex<Car, Car> index = SearchIndex.createIndex(carIndexDefinition, car.getURI(), car);
        searchManager.put(carIndexDefinition, index);
        final SearchIndex<Car, Car> index2 = SearchIndex.createIndex(carDynIndexDefinition, car.getURI(), car);
        searchManager.put(carDynIndexDefinition, index2);
    }
    waitIndexation();
    final long sizeCar = query("*:*", carIndexDefinition);
    Assert.assertEquals(carDataBase.size(), sizeCar);
    final long sizeCarDyn = query("*:*", carDynIndexDefinition);
    Assert.assertEquals(carDataBase.size(), sizeCarDyn);
}
Also used : Car(io.vertigo.dynamo.search_2_4.data.domain.Car) SearchIndexDefinition(io.vertigo.dynamo.search.metamodel.SearchIndexDefinition) DefinitionSpace(io.vertigo.core.definition.DefinitionSpace) Test(org.junit.Test)

Example 23 with Car

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

the class CarSearchLoader method loadData.

/**
 * {@inheritDoc}
 */
@Override
public List<SearchIndex<Car, Car>> loadData(final SearchChunk<Car> searchChunk) {
    final SearchIndexDefinition indexDefinition = searchManager.findFirstIndexDefinitionByKeyConcept(Car.class);
    try (final VTransactionWritable tx = getTransactionManager().createCurrentTransaction()) {
        final List<SearchIndex<Car, Car>> result = new ArrayList<>();
        final DtDefinition dtDefinition = DtObjectUtil.findDtDefinition(Car.class);
        for (final Car car : loadCarList(searchChunk)) {
            final URI<Car> uri = new URI<>(dtDefinition, car.getId());
            result.add(SearchIndex.createIndex(indexDefinition, uri, car));
        }
        return result;
    }
}
Also used : Car(io.vertigo.dynamo.search_2_4.data.domain.Car) SearchIndexDefinition(io.vertigo.dynamo.search.metamodel.SearchIndexDefinition) SearchIndex(io.vertigo.dynamo.search.model.SearchIndex) ArrayList(java.util.ArrayList) DtDefinition(io.vertigo.dynamo.domain.metamodel.DtDefinition) VTransactionWritable(io.vertigo.commons.transaction.VTransactionWritable) URI(io.vertigo.dynamo.domain.model.URI)

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