Search in sources :

Example 16 with Filter

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

the class QueryMapperUnitTests method shouldMapEnumToNumber.

// DATACASS-343
@Test
void shouldMapEnumToNumber() {
    Query query = Query.query(Criteria.where("number").is(State.Inactive));
    Filter mappedObject = queryMapper.getMappedObject(query, persistentEntity);
    CriteriaDefinition mappedCriteriaDefinition = mappedObject.iterator().next();
    assertThat(mappedCriteriaDefinition.getPredicate().getValue()).isInstanceOf(Integer.class).isEqualTo(1);
}
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 17 with Filter

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

the class QueryMapperUnitTests method shouldMapTime.

// DATACASS-302
@Test
void shouldMapTime() {
    Filter filter = Filter.from(Criteria.where("localTime").gt(LocalTime.fromMillisOfDay(1000)));
    Filter mappedObject = this.queryMapper.getMappedObject(filter, this.mappingContext.getRequiredPersistentEntity(Person.class));
    assertThat(mappedObject).contains(Criteria.where("localtime").gt(java.time.LocalTime.ofNanoOfDay(TimeUnit.MILLISECONDS.toNanos(1000))));
}
Also used : Filter(org.springframework.data.cassandra.core.query.Filter) Test(org.junit.jupiter.api.Test)

Example 18 with Filter

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

the class QueryMapperUnitTests method shouldMapPrefixedEmbeddedType.

// DATACASS-167
@Test
void shouldMapPrefixedEmbeddedType() {
    Filter filter = Filter.from(Criteria.where("nested.firstname").is("spring"));
    Filter mappedObject = this.queryMapper.getMappedObject(filter, this.mappingContext.getRequiredPersistentEntity(WithPrefixedNullableEmbeddedType.class));
    assertThat(mappedObject.iterator().next().getColumnName()).isEqualTo(ColumnName.from("prefixfirstname"));
}
Also used : Filter(org.springframework.data.cassandra.core.query.Filter) Test(org.junit.jupiter.api.Test)

Example 19 with Filter

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

the class QueryMapperUnitTests method shouldMapTuple.

// DATACASS-523
@Test
void shouldMapTuple() {
    MappedTuple tuple = new MappedTuple("foo");
    Filter filter = Filter.from(Criteria.where("tuple").is(tuple));
    Filter mappedObject = this.queryMapper.getMappedObject(filter, this.mappingContext.getRequiredPersistentEntity(Person.class));
    TupleValue tupleValue = DataTypes.tupleOf(DataTypes.TEXT).newValue();
    tupleValue.setString(0, "foo");
    assertThat(mappedObject).contains(Criteria.where("tuple").is(tupleValue));
}
Also used : Filter(org.springframework.data.cassandra.core.query.Filter) TupleValue(com.datastax.oss.driver.api.core.data.TupleValue) Test(org.junit.jupiter.api.Test)

Example 20 with Filter

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

the class QueryMapperUnitTests method shouldMapCollectionApplyingUdtValueCollectionConversion.

// DATACASS-343
@Test
void shouldMapCollectionApplyingUdtValueCollectionConversion() {
    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