Search in sources :

Example 11 with Filter

use of org.springframework.data.cassandra.core.query.Filter in project spring-data-cassandra by spring-projects.

the class QueryMapperUnitTests method shouldMapSimpleQuery.

// DATACASS-343
@Test
void shouldMapSimpleQuery() {
    Query query = Query.query(Criteria.where("foo_name").is("bar"));
    Filter mappedObject = queryMapper.getMappedObject(query, persistentEntity);
    CriteriaDefinition mappedCriteriaDefinition = mappedObject.iterator().next();
    assertThat(mappedCriteriaDefinition.getPredicate().getOperator()).isEqualTo(Operators.EQ);
    assertThat(mappedCriteriaDefinition.getPredicate().getValue()).isEqualTo("bar");
}
Also used : Query(org.springframework.data.cassandra.core.query.Query) Filter(org.springframework.data.cassandra.core.query.Filter) CriteriaDefinition(org.springframework.data.cassandra.core.query.CriteriaDefinition) Test(org.junit.jupiter.api.Test)

Example 12 with Filter

use of org.springframework.data.cassandra.core.query.Filter in project spring-data-cassandra by spring-projects.

the class QueryMapperUnitTests method shouldMapUdtMapContainsKey.

// DATACASS-487
@Test
void shouldMapUdtMapContainsKey() {
    Query query = Query.query(Criteria.where("relocations").containsKey(new Address("21 Jump-Street")));
    Filter mappedObject = queryMapper.getMappedObject(query, persistentEntity);
    CriteriaDefinition mappedCriteriaDefinition = mappedObject.iterator().next();
    assertThat(mappedCriteriaDefinition.getPredicate().getOperator()).isEqualTo(Operators.CONTAINS_KEY);
    assertThat(mappedCriteriaDefinition.getPredicate().getValue()).isInstanceOf(UdtValue.class);
    assertThat(((UdtValue) mappedCriteriaDefinition.getPredicate().getValue()).getFormattedContents()).isEqualTo("{street:'21 Jump-Street'}");
}
Also used : UdtValue(com.datastax.oss.driver.api.core.data.UdtValue) Query(org.springframework.data.cassandra.core.query.Query) Filter(org.springframework.data.cassandra.core.query.Filter) CriteriaDefinition(org.springframework.data.cassandra.core.query.CriteriaDefinition) Test(org.junit.jupiter.api.Test)

Example 13 with Filter

use of org.springframework.data.cassandra.core.query.Filter in project spring-data-cassandra by spring-projects.

the class QueryMapperUnitTests method shouldMapApplyingCustomConversionInCollection.

// DATACASS-343
@Test
void shouldMapApplyingCustomConversionInCollection() {
    Query query = Query.query(Criteria.where("foo_name").in(Currency.getInstance("EUR")));
    Filter mappedObject = queryMapper.getMappedObject(query, persistentEntity);
    CriteriaDefinition mappedCriteriaDefinition = mappedObject.iterator().next();
    assertThat(mappedCriteriaDefinition.getPredicate().getOperator()).isEqualTo(Operators.IN);
    assertThat(mappedCriteriaDefinition.getPredicate().getValue()).isEqualTo(Collections.singletonList("Euro"));
}
Also used : Query(org.springframework.data.cassandra.core.query.Query) Filter(org.springframework.data.cassandra.core.query.Filter) CriteriaDefinition(org.springframework.data.cassandra.core.query.CriteriaDefinition) Test(org.junit.jupiter.api.Test)

Example 14 with Filter

use of org.springframework.data.cassandra.core.query.Filter in project spring-data-cassandra by spring-projects.

the class QueryMapperUnitTests method shouldMapApplyingUdtValueConversion.

// DATACASS-343
@Test
void shouldMapApplyingUdtValueConversion() {
    Query query = Query.query(Criteria.where("address").is(new Address("21 Jump-Street")));
    Filter mappedObject = queryMapper.getMappedObject(query, persistentEntity);
    CriteriaDefinition mappedCriteriaDefinition = mappedObject.iterator().next();
    CriteriaDefinition.Predicate predicate = mappedCriteriaDefinition.getPredicate();
    assertThat(predicate.getOperator()).isEqualTo(Operators.EQ);
    assertThat(predicate.getValue()).isInstanceOf(UdtValue.class);
    assertThat(predicate.as(UdtValue.class::cast).getFormattedContents()).isEqualTo("{street:'21 Jump-Street'}");
}
Also used : Query(org.springframework.data.cassandra.core.query.Query) Filter(org.springframework.data.cassandra.core.query.Filter) CriteriaDefinition(org.springframework.data.cassandra.core.query.CriteriaDefinition) Test(org.junit.jupiter.api.Test)

Example 15 with Filter

use of org.springframework.data.cassandra.core.query.Filter in project spring-data-cassandra by spring-projects.

the class QueryMapperUnitTests method shouldMapApplyingUdtValueCollectionConversion.

// DATACASS-343
@Test
void shouldMapApplyingUdtValueCollectionConversion() {
    Query query = Query.query(Criteria.where("address").in(new Address("21 Jump-Street")));
    Filter mappedObject = queryMapper.getMappedObject(query, persistentEntity);
    CriteriaDefinition mappedCriteriaDefinition = mappedObject.iterator().next();
    CriteriaDefinition.Predicate predicate = mappedCriteriaDefinition.getPredicate();
    assertThat(predicate.getOperator()).isEqualTo(Operators.IN);
    assertThat(predicate.getValue()).isInstanceOf(Collection.class);
    assertThat((List<UdtValue>) predicate.getValue()).extracting(UdtValue::getFormattedContents).contains("{street:'21 Jump-Street'}");
}
Also used : UdtValue(com.datastax.oss.driver.api.core.data.UdtValue) Query(org.springframework.data.cassandra.core.query.Query) Filter(org.springframework.data.cassandra.core.query.Filter) CriteriaDefinition(org.springframework.data.cassandra.core.query.CriteriaDefinition) Test(org.junit.jupiter.api.Test)

Aggregations

Filter (org.springframework.data.cassandra.core.query.Filter)31 CriteriaDefinition (org.springframework.data.cassandra.core.query.CriteriaDefinition)21 Query (org.springframework.data.cassandra.core.query.Query)21 Test (org.junit.jupiter.api.Test)20 ColumnSelector (org.springframework.data.cassandra.core.query.Columns.ColumnSelector)10 Selector (org.springframework.data.cassandra.core.query.Columns.Selector)10 Update (org.springframework.data.cassandra.core.query.Update)9 CqlIdentifier (com.datastax.oss.driver.api.core.CqlIdentifier)8 ArrayList (java.util.ArrayList)8 Collections (java.util.Collections)8 List (java.util.List)8 Optional (java.util.Optional)8 Set (java.util.Set)8 CassandraPersistentProperty (org.springframework.data.cassandra.core.mapping.CassandraPersistentProperty)8 Collection (java.util.Collection)7 CassandraPersistentEntity (org.springframework.data.cassandra.core.mapping.CassandraPersistentEntity)7 Columns (org.springframework.data.cassandra.core.query.Columns)7 FunctionCall (org.springframework.data.cassandra.core.query.Columns.FunctionCall)7 Predicate (org.springframework.data.cassandra.core.query.CriteriaDefinition.Predicate)7 Sort (org.springframework.data.domain.Sort)7