Commit Graph

1110 Commits

Author SHA1 Message Date
Oliver Drotbohm
4622eef441 DATACASS-643 - Updated changelog. 2019-04-01 18:52:15 +02:00
Oliver Drotbohm
865291bdf0 DATACASS-620 - Updated changelog. 2019-04-01 18:49:24 +02:00
Mark Paluch
7934da03fb DATACASS-641 - Fix documentation for java.util.UUID type mapping.
Since 2.0, java.util.UUID maps by default to uuid instead of timeuuid. Documentation now reflects this change.
2019-03-27 10:23:19 +01:00
Spring Operator
42cc65aaab DATACASS-640 - URL Cleanup.
This commit updates URLs to prefer the https protocol. Redirects are not followed to avoid accidentally expanding intentionally shortened URLs (i.e. if using a URL shortener).

# Fixed URLs

## Fixed Success
These URLs were switched to an https URL with a 2xx status. While the status was successful, your review is still recommended.

* [ ] http://www.apache.org/licenses/ with 1 occurrences migrated to:
  https://www.apache.org/licenses/ ([https](https://www.apache.org/licenses/) result 200).
* [ ] http://www.apache.org/licenses/LICENSE-2.0 with 672 occurrences migrated to:
  https://www.apache.org/licenses/LICENSE-2.0 ([https](https://www.apache.org/licenses/LICENSE-2.0) result 200).

Original Pull Request: #156
2019-03-22 11:12:49 +01:00
Spring Operator
5b0db4531c DATACASS-640 - URL Cleanup.
This commit updates URLs to prefer the https protocol. Redirects are not followed to avoid accidentally expanding intentionally shortened URLs (i.e. if using a URL shortener).

# HTTP URLs that Could Not Be Fixed
These URLs were unable to be fixed. Please review them to see if they can be manually resolved.

* [ ] http://www.prowaveconsulting.com (200) with 1 occurrences could not be migrated:
   ([https](https://www.prowaveconsulting.com) result SSLHandshakeException).
* [ ] http://www.scispike.com (200) with 1 occurrences could not be migrated:
   ([https](https://www.scispike.com) result SSLHandshakeException).

# Fixed URLs

## Fixed But Review Recommended
These URLs were fixed, but the https status was not OK. However, the https status was the same as the http request or http redirected to an https URL, so they were migrated. Your review is recommended.

* [ ] http://cassandra.apache.org/doc/cql3/CQL.html (404) with 2 occurrences migrated to:
  https://cassandra.apache.org/doc/cql3/CQL.html ([https](https://cassandra.apache.org/doc/cql3/CQL.html) result 404).

## Fixed Success
These URLs were switched to an https URL with a 2xx status. While the status was successful, your review is still recommended.

* [ ] http://cassandra.apache.org/ with 2 occurrences migrated to:
  https://cassandra.apache.org/ ([https](https://cassandra.apache.org/) result 200).
* [ ] http://cassandra.apache.org/doc/latest/getting_started/index.html with 3 occurrences migrated to:
  https://cassandra.apache.org/doc/latest/getting_started/index.html ([https](https://cassandra.apache.org/doc/latest/getting_started/index.html) result 200).
* [ ] http://docs.datastax.com/en/landing_page/doc/landing_page/current.html with 2 occurrences migrated to:
  https://docs.datastax.com/en/landing_page/doc/landing_page/current.html ([https](https://docs.datastax.com/en/landing_page/doc/landing_page/current.html) result 200).
* [ ] http://docs.spring.io/spring/docs/ with 1 occurrences migrated to:
  https://docs.spring.io/spring/docs/ ([https](https://docs.spring.io/spring/docs/) result 200).
* [ ] http://pivotal.io/ with 1 occurrences migrated to:
  https://pivotal.io/ ([https](https://pivotal.io/) result 200).
* [ ] http://projectreactor.io/docs/core/release/reference/ with 1 occurrences migrated to:
  https://projectreactor.io/docs/core/release/reference/ ([https](https://projectreactor.io/docs/core/release/reference/) result 200).
* [ ] http://projects.spring.io/ with 1 occurrences migrated to:
  https://projects.spring.io/ ([https](https://projects.spring.io/) result 200).
* [ ] http://projects.spring.io/spring-data-cassandra/ with 3 occurrences migrated to:
  https://projects.spring.io/spring-data-cassandra/ ([https](https://projects.spring.io/spring-data-cassandra/) result 200).
* [ ] http://projects.spring.io/spring-framework/ with 1 occurrences migrated to:
  https://projects.spring.io/spring-framework/ ([https](https://projects.spring.io/spring-framework/) result 200).
* [ ] http://repo.spring.io/milestone/org/springframework/data/ with 2 occurrences migrated to:
  https://repo.spring.io/milestone/org/springframework/data/ ([https](https://repo.spring.io/milestone/org/springframework/data/) result 200).
* [ ] http://spring.io with 1 occurrences migrated to:
  https://spring.io ([https](https://spring.io) result 200).
* [ ] http://spring.io/blog with 2 occurrences migrated to:
  https://spring.io/blog ([https](https://spring.io/blog) result 200).
* [ ] http://spring.io/docs with 1 occurrences migrated to:
  https://spring.io/docs ([https](https://spring.io/docs) result 200).
* [ ] http://spring.io/tools/sts with 2 occurrences migrated to:
  https://spring.io/tools/sts ([https](https://spring.io/tools/sts) result 200).
* [ ] http://stackoverflow.com/questions/tagged/spring-data with 3 occurrences migrated to:
  https://stackoverflow.com/questions/tagged/spring-data ([https](https://stackoverflow.com/questions/tagged/spring-data) result 200).
* [ ] http://stackoverflow.com/questions/tagged/spring-data-cassandra with 3 occurrences migrated to:
  https://stackoverflow.com/questions/tagged/spring-data-cassandra ([https](https://stackoverflow.com/questions/tagged/spring-data-cassandra) result 200).
* [ ] http://start.spring.io/ with 2 occurrences migrated to:
  https://start.spring.io/ ([https](https://start.spring.io/) result 200).
* [ ] http://twitter.com/SpringData with 1 occurrences migrated to:
  https://twitter.com/SpringData ([https](https://twitter.com/SpringData) result 200).
* [ ] http://vertx.io/docs/vertx-reactive-streams/java/ with 1 occurrences migrated to:
  https://vertx.io/docs/vertx-reactive-streams/java/ ([https](https://vertx.io/docs/vertx-reactive-streams/java/) result 200).
* [ ] http://wiki.apache.org/cassandra/HintedHandoff with 1 occurrences migrated to:
  https://wiki.apache.org/cassandra/HintedHandoff ([https](https://wiki.apache.org/cassandra/HintedHandoff) result 200).
* [ ] http://wiki.apache.org/cassandra/Operations with 3 occurrences migrated to:
  https://wiki.apache.org/cassandra/Operations ([https](https://wiki.apache.org/cassandra/Operations) result 200).
* [ ] http://wiki.apache.org/cassandra/StorageConfiguration with 1 occurrences migrated to:
  https://wiki.apache.org/cassandra/StorageConfiguration ([https](https://wiki.apache.org/cassandra/StorageConfiguration) result 200).
* [ ] http://www.datastax.com/dev/blog/basic-rules-of-cassandra-data-modeling with 6 occurrences migrated to:
  https://www.datastax.com/dev/blog/basic-rules-of-cassandra-data-modeling ([https](https://www.datastax.com/dev/blog/basic-rules-of-cassandra-data-modeling) result 200).
* [ ] http://www.google.com/search?q=nosoql+acronym with 1 occurrences migrated to:
  https://www.google.com/search?q=nosoql+acronym ([https](https://www.google.com/search?q=nosoql+acronym) result 200).
* [ ] http://www.reactive-streams.org/ with 1 occurrences migrated to:
  https://www.reactive-streams.org/ ([https](https://www.reactive-streams.org/) result 200).
* [ ] http://www.springframework.org/schema/beans/spring-beans.xsd with 6 occurrences migrated to:
  https://www.springframework.org/schema/beans/spring-beans.xsd ([https](https://www.springframework.org/schema/beans/spring-beans.xsd) result 200).
* [ ] http://www.springframework.org/schema/context/spring-context.xsd with 3 occurrences migrated to:
  https://www.springframework.org/schema/context/spring-context.xsd ([https](https://www.springframework.org/schema/context/spring-context.xsd) result 200).
* [ ] http://www.springframework.org/schema/data/repository/spring-repository.xsd with 3 occurrences migrated to:
  https://www.springframework.org/schema/data/repository/spring-repository.xsd ([https](https://www.springframework.org/schema/data/repository/spring-repository.xsd) result 200).
* [ ] http://www.springframework.org/schema/tool/spring-tool.xsd with 6 occurrences migrated to:
  https://www.springframework.org/schema/tool/spring-tool.xsd ([https](https://www.springframework.org/schema/tool/spring-tool.xsd) result 200).
* [ ] http://contributor-covenant.org with 1 occurrences migrated to:
  https://contributor-covenant.org ([https](https://contributor-covenant.org) result 301).
* [ ] http://contributor-covenant.org/version/1/3/0/ with 1 occurrences migrated to:
  https://contributor-covenant.org/version/1/3/0/ ([https](https://contributor-covenant.org/version/1/3/0/) result 301).
* [ ] http://datastax.com/ with 1 occurrences migrated to:
  https://datastax.com/ ([https](https://datastax.com/) result 301).
* [ ] http://docs.spring.io/spring-data/cassandra/docs/current/api/ with 1 occurrences migrated to:
  https://docs.spring.io/spring-data/cassandra/docs/current/api/ ([https](https://docs.spring.io/spring-data/cassandra/docs/current/api/) result 301).
* [ ] http://docs.spring.io/spring-data/cassandra/docs/current/reference/html/ with 1 occurrences migrated to:
  https://docs.spring.io/spring-data/cassandra/docs/current/reference/html/ ([https](https://docs.spring.io/spring-data/cassandra/docs/current/reference/html/) result 301).
* [ ] http://docs.spring.io/spring/docs/3.2.x/spring-framework-reference/html/new-in-3.0.html with 2 occurrences migrated to:
  https://docs.spring.io/spring/docs/3.2.x/spring-framework-reference/html/new-in-3.0.html ([https](https://docs.spring.io/spring/docs/3.2.x/spring-framework-reference/html/new-in-3.0.html) result 301).
* [ ] http://docs.spring.io/spring/docs/current/spring-framework-reference/data-access.html with 4 occurrences migrated to:
  https://docs.spring.io/spring/docs/current/spring-framework-reference/data-access.html ([https](https://docs.spring.io/spring/docs/current/spring-framework-reference/data-access.html) result 301).
* [ ] http://docs.spring.io/spring/docs/current/spring-framework-reference/html/dao.html with 1 occurrences migrated to:
  https://docs.spring.io/spring/docs/current/spring-framework-reference/html/dao.html ([https](https://docs.spring.io/spring/docs/current/spring-framework-reference/html/dao.html) result 301).
* [ ] http://forum.spring.io/forum/spring-projects/data/nosql with 1 occurrences migrated to:
  https://forum.spring.io/forum/spring-projects/data/nosql ([https](https://forum.spring.io/forum/spring-projects/data/nosql) result 301).
* [ ] http://help.github.com/forking/ with 1 occurrences migrated to:
  https://help.github.com/forking/ ([https](https://help.github.com/forking/) result 301).
* [ ] http://projects.spring.io/spring-data with 2 occurrences migrated to:
  https://projects.spring.io/spring-data ([https](https://projects.spring.io/spring-data) result 301).
* [ ] http://projects.spring.io/spring-data-cassandra with 1 occurrences migrated to:
  https://projects.spring.io/spring-data-cassandra ([https](https://projects.spring.io/spring-data-cassandra) result 301).
* [ ] http://www.datastax.com/what-we-offer/products-services/support with 1 occurrences migrated to:
  https://www.datastax.com/what-we-offer/products-services/support ([https](https://www.datastax.com/what-we-offer/products-services/support) result 301).
* [ ] http://www.springframework.org/schema/cql/spring-cql.xsd with 1 occurrences migrated to:
  https://www.springframework.org/schema/cql/spring-cql.xsd ([https](https://www.springframework.org/schema/cql/spring-cql.xsd) result 301).
* [ ] http://www.springframework.org/schema/data/cassandra/spring-cassandra.xsd with 2 occurrences migrated to:
  https://www.springframework.org/schema/data/cassandra/spring-cassandra.xsd ([https](https://www.springframework.org/schema/data/cassandra/spring-cassandra.xsd) result 301).
* [ ] http://www.threeten.org/threetenbp with 1 occurrences migrated to:
  https://www.threeten.org/threetenbp ([https](https://www.threeten.org/threetenbp) result 301).
* [ ] http://download.oracle.com/javase/6/docs/technotes/guides/security/jsse/JSSERefGuide.html with 1 occurrences migrated to:
  https://download.oracle.com/javase/6/docs/technotes/guides/security/jsse/JSSERefGuide.html ([https](https://download.oracle.com/javase/6/docs/technotes/guides/security/jsse/JSSERefGuide.html) result 302).
* [ ] http://repo.spring.io/libs-milestone with 2 occurrences migrated to:
  https://repo.spring.io/libs-milestone ([https](https://repo.spring.io/libs-milestone) result 302).
* [ ] http://repo.spring.io/libs-snapshot with 1 occurrences migrated to:
  https://repo.spring.io/libs-snapshot ([https](https://repo.spring.io/libs-snapshot) result 302).
* [ ] http://www.springsource.org/download with 1 occurrences migrated to:
  https://www.springsource.org/download ([https](https://www.springsource.org/download) result 302).
* [ ] http://www.datastax.com/dev/blog with 1 occurrences migrated to:
  https://www.datastax.com/dev/blog ([https](https://www.datastax.com/dev/blog) result 307).

# Ignored
These URLs were intentionally ignored.

* http://www.springframework.org/schema/beans with 9 occurrences
* http://www.springframework.org/schema/context with 3 occurrences
* http://www.springframework.org/schema/cql with 7 occurrences
* http://www.springframework.org/schema/data/cassandra with 10 occurrences
* http://www.springframework.org/schema/data/cql with 1 occurrences
* http://www.springframework.org/schema/data/repository with 6 occurrences
* http://www.springframework.org/schema/tool with 12 occurrences
* http://www.w3.org/2001/XMLSchema with 6 occurrences
* http://www.w3.org/2001/XMLSchema-instance with 3 occurrences

Original Pull Request: #150
2019-03-21 09:24:42 +01:00
John Blum
e02728d5fc DATACASS-640 - Polish.
Resolves gh-149.
2019-03-20 12:52:10 -07:00
Spring Operator
940622bd0a DATACASS-640 - URL Cleanup.
This commit updates URLs to prefer the https protocol. Redirects are not followed to avoid accidentally expanding intentionally shortened URLs (i.e. if using a URL shortener).

# HTTP URLs that Could Not Be Fixed
These URLs were unable to be fixed. Please review them to see if they can be manually resolved.

* http://www.prowaveconsulting.com (200) with 1 occurrences could not be migrated:
   ([https](https://www.prowaveconsulting.com) result SSLHandshakeException).
* http://www.scispike.com (200) with 1 occurrences could not be migrated:
   ([https](https://www.scispike.com) result SSLHandshakeException).

# Fixed URLs

## Fixed But Review Recommended
These URLs were fixed, but the https status was not OK. However, the https status was the same as the http request or http redirected to an https URL, so they were migrated. Your review is recommended.

* http://www.springframework.org/schema/cql/spring-cql.xsd (404) with 6 occurrences migrated to:
  https://www.springframework.org/schema/cql/spring-cql.xsd ([https](https://www.springframework.org/schema/cql/spring-cql.xsd) result 404).

## Fixed Success
These URLs were switched to an https URL with a 2xx status. While the status was successful, your review is still recommended.

* http://maven.apache.org/xsd/maven-4.0.0.xsd with 3 occurrences migrated to:
  https://maven.apache.org/xsd/maven-4.0.0.xsd ([https](https://maven.apache.org/xsd/maven-4.0.0.xsd) result 200).
* http://projects.spring.io/spring-data-cassandra/ with 1 occurrences migrated to:
  https://projects.spring.io/spring-data-cassandra/ ([https](https://projects.spring.io/spring-data-cassandra/) result 200).
* http://www.springframework.org/schema/beans/spring-beans-3.0.xsd with 10 occurrences migrated to:
  https://www.springframework.org/schema/beans/spring-beans-3.0.xsd ([https](https://www.springframework.org/schema/beans/spring-beans-3.0.xsd) result 200).
* http://www.springframework.org/schema/beans/spring-beans.xsd with 7 occurrences migrated to:
  https://www.springframework.org/schema/beans/spring-beans.xsd ([https](https://www.springframework.org/schema/beans/spring-beans.xsd) result 200).
* http://www.springframework.org/schema/context/spring-context-3.0.xsd with 3 occurrences migrated to:
  https://www.springframework.org/schema/context/spring-context-3.0.xsd ([https](https://www.springframework.org/schema/context/spring-context-3.0.xsd) result 200).
* http://www.springframework.org/schema/context/spring-context.xsd with 4 occurrences migrated to:
  https://www.springframework.org/schema/context/spring-context.xsd ([https](https://www.springframework.org/schema/context/spring-context.xsd) result 200).
* http://www.springframework.org/schema/data/cassandra/spring-cassandra-1.0.xsd with 6 occurrences migrated to:
  https://www.springframework.org/schema/data/cassandra/spring-cassandra-1.0.xsd ([https](https://www.springframework.org/schema/data/cassandra/spring-cassandra-1.0.xsd) result 200).
* http://www.springframework.org/schema/data/cassandra/spring-cassandra-1.5.xsd with 1 occurrences migrated to:
  https://www.springframework.org/schema/data/cassandra/spring-cassandra-1.5.xsd ([https](https://www.springframework.org/schema/data/cassandra/spring-cassandra-1.5.xsd) result 200).
* http://www.springframework.org/schema/data/cassandra/spring-cassandra.xsd with 5 occurrences migrated to:
  https://www.springframework.org/schema/data/cassandra/spring-cassandra.xsd ([https](https://www.springframework.org/schema/data/cassandra/spring-cassandra.xsd) result 200).
* http://www.springframework.org/schema/task/spring-task.xsd with 1 occurrences migrated to:
  https://www.springframework.org/schema/task/spring-task.xsd ([https](https://www.springframework.org/schema/task/spring-task.xsd) result 200).
* http://www.pivotal.io with 2 occurrences migrated to:
  https://www.pivotal.io ([https](https://www.pivotal.io) result 301).

# Ignored
These URLs were intentionally ignored.

* http://maven.apache.org/POM/4.0.0 with 6 occurrences
* http://www.springframework.org/schema/beans with 34 occurrences
* http://www.springframework.org/schema/context with 14 occurrences
* http://www.springframework.org/schema/cql with 12 occurrences
* http://www.springframework.org/schema/data/cassandra with 24 occurrences
* http://www.springframework.org/schema/task with 2 occurrences
* http://www.w3.org/2001/XMLSchema-instance with 20 occurrences

Original Pull Request: #149
2019-03-20 13:10:05 +01:00
John Blum
97119b2cc6 DATACASS-639 - Move away from Spring Data Commons deprecations. 2019-03-13 11:14:43 -07:00
John Blum
d967447b6e DATACASS-637 - General code maintenance. 2019-03-12 18:35:52 -07:00
Mark Paluch
e295e615bd DATACASS-638 - Skip properties that are not part of the result.
We now skip properties during mapping (assign a null value) if the backing result (Row, UDT) does not contain a particular column.

Resultsets with limited columns are common for projections, in interface projections we use the actual entity to back calls to the projection.
2019-03-12 14:30:15 +01:00
Mark Paluch
a704df7ec8 DATACASS-636 - Enable CriteriaExtensionsUnitTests after MockK bugfix. 2019-03-11 11:15:50 +01:00
Christoph Strobl
cc4bfebbf2 DATACASS-614 - After release cleanups. 2019-03-07 10:07:29 +01:00
Christoph Strobl
9323214b3f DATACASS-614 - Prepare next development iteration. 2019-03-07 10:07:28 +01:00
Christoph Strobl
7ff4d07530 DATACASS-614 - Release version 2.2 M2 (Moore). 2019-03-07 09:42:21 +01:00
Christoph Strobl
1d368a8c44 DATACASS-614 - Prepare 2.2 M2 (Moore). 2019-03-07 09:41:17 +01:00
Christoph Strobl
16a72f1525 DATACASS-614 - Updated changelog. 2019-03-07 09:41:10 +01:00
Mark Paluch
afad1bf5c9 DATACASS-634 - Upgrade to Cassandra Driver 3.7.1. 2019-03-07 07:09:02 +01:00
Greg Turnquist
2a2281372f DATACASS-619 - Polishing. 2019-03-01 09:59:51 -06:00
Greg Turnquist
7672e221d1 DATACASS-619 - Use full 8-jdk Docker image. 2019-03-01 09:34:47 -06:00
John Blum
159c678f29 DATACASS-576 - Polish.
Resolves gh-136.
2019-02-28 17:38:21 -08:00
Mark Paluch
16268f101f DATACASS-576 - Formatting.
Reorder methods for consistent method ordering.
2019-02-28 17:38:01 -08:00
Mark Paluch
7a8f91ade3 DATACASS-576 - Add support for Optimistic Locking.
We now support Optimistic Locking for insert, update and delete operations leveraging Cassandra's lightweight transaction support. Modifying statements are enhanced with IF conditions to conditionally insert and modify rows and to prevent concurrent modifications by throwing OptimisticLockingFailureException.

@Table
class Person {

  @Id String id;
  String firstname;
  String lastname;
  @Version Long version;
}

Person daenerys = template.insert(new Person("Daenerys"));

Person tmp = template.findOne(query(where("id").is(daenerys.getId())), Person.class);

daenerys.setLastname("Targaryen");
template.save(daenerys);

template.save(tmp); // throws OptimisticLockingFailureException
2019-02-28 17:22:12 -08:00
Greg Turnquist
b01e1fc144 DATACASS-619 - Polishing. 2019-02-28 09:44:31 -06:00
Greg Turnquist
e58e0ce6ef DATACASS-619 - Introduce Concourse. 2019-02-28 09:37:16 -06:00
John Blum
d0ba389cae DATACASS-631 - Polish.
Resolves gh-138.
2019-02-26 18:46:22 -08:00
Mark Paluch
ccb15af88b DATACASS-631 - Deprecate Kotlin extensions providing a KClass overload.
We promote the usage of reified Kotlin API usage (myMethod<Person>() instead of myMethod(Person::class)) to facilitate a single and more idiomatic approach to Kotlin API usage.

Extension methods accepting KClass are deprecated now.
2019-02-26 18:46:15 -08:00
John Blum
101ee2aee7 DATACASS-575 - Polish.
Resolves gh-135.
2019-02-26 18:45:32 -08:00
Mark Paluch
0e624c9cc4 DATACASS-575 - Support IF conditions in lightweight transactions with UPDATE and DELETE.
We now support conditions in lightweight transactions for UPDATE and DELETE statements. Conditions are Filter objects similar to the WHERE clause. Conditions are supported for entity and query-based update/delete methods.

UpdateOptions options = UpdateOptions.builder().ifCondition(where("firstname").is("Walter")).build();
User user = new User("heisenberg", "Walter", "White");
template.update(user, options);

DeleteOptions options = DeleteOptions.builder().ifCondition(where("counter").is(42)).build();
Query query = Query.query(where("id").is("heisenberg")).queryOptions(options);
template.delete(query, User.class);
2019-02-26 17:45:10 -08:00
Mark Paluch
314bbb1261 DATACASS-633 - Silently traverse CassandraPersistentEntity associations.
BasicCassandraPersistentEntity.doWithAssociations(…) now no longer throws UnsupportedCassandraOperationException when trying to traverse associations. Calling doWithAssociations results in a no-op as there are no associations.

Related ticket: DATAREST-1337.
2019-02-26 14:51:03 +01:00
Mark Paluch
00734b67ea DATACASS-632 - Add ReactiveFluentCassandraOperations Coroutines extensions.
This commit introduces Coroutines support for ReactiveFluentCassandraOperations API via Kotlin extensions that provide suspendable functions prefixed by `await` or suffixed by `AndAwait` for Mono based APIs.

Extensions for Flux will be added when Kotlin/kotlinx.coroutines#254 is fixed.
2019-02-22 15:07:32 +01:00
Mark Paluch
dd3a5a680a DATACASS-627 - Add support for derived Between queries.
We now support derived queries using the Between keyword. Between query parts map to either two simple parameters (findByAgeBetween(int from, int to)) or a Range<T> parameter that defines inclusive/exclusive boundary comparison (findByAgeBetween(Range<Integer> age)).

Between queries use are issued by default as exclusive ranges so findByAgeBetween(int from, int to) maps to age > from AND age < to.
2019-02-22 11:12:45 +01:00
Mark Paluch
8acc6d2111 DATACASS-630 - Remove version for managed Kotlin dependencies.
Versions are managed by kotlin-bom.
2019-02-21 10:06:39 +01:00
Mark Paluch
a1438bbae4 DATACASS-629 - Disable CriteriaExtensionsUnitTests.
See mockk/mockk#259.
2019-02-20 13:06:24 +01:00
Mark Paluch
78635b954c DATACASS-629 - Polishing.
Remove superfluous files.
2019-02-20 12:50:22 +01:00
Mark Paluch
1a02109681 DATACASS-629 - Migrate Kotlin tests to Mockk. 2019-02-20 12:50:22 +01:00
Mark Paluch
a7a104e1fd DATACASS-628 - Polishing.
Add synchronization to inserts to properly await completion before querying data.
2019-02-15 11:28:21 +01:00
Mark Paluch
1437bf347c DATACASS-628 - Adapt tests to AssertJ 3.12.0. 2019-02-15 11:27:51 +01:00
Mark Paluch
aa3ed4e22b DATACASS-622 - Updated changelog. 2019-02-13 11:47:52 +01:00
Mark Paluch
f34982a223 DATACASS-625 - Upgrade to Apache Cassandra 3.11.4. 2019-02-12 10:39:32 +01:00
Mark Paluch
a23d14277c DATACASS-599 - Polishing.
Add executor to other Futures.transform(…) and Futures.addCallback(…) invocations.

Original pull request: #137.
2019-02-06 13:26:55 +01:00
Mateusz Stefek
dcae89029c DATACASS-599 - Restore compatibility with Guava 26+.
Guava has removed Futures#transform method without the Executor parameter in version 26.0-jre
DefaultBridgeReactiveSession fails with NoSuchMethod exception when used with Guava 26.0-jre+.

Original pull request: #137.
2019-02-06 13:26:53 +01:00
Mark Paluch
3a062afafb DATACASS-623 - Add support for read-only properties.
We now support read-only properties by annotating such properties with @ReadOnlyProperty. Read-only properties are read from results but never written (i.e. through INSERT or UPDATE) back to Cassandra.

Read-only properties can still be updated by using the Update/Query API.

class Person {

  @Id String id;

  String firstname;
  String lastname;
  @ReadOnlyProperty String externallyUpdatedProperty;
}

CassandraTemplate template = …
Person person = …
template.insert(person);
2019-01-31 10:01:30 +01:00
Mark Paluch
9e825d376e DATACASS-585 - Document relationship between @PrimaryKeyColumn and @Id.
Document that using PrimaryKeyColumn does not mark properties as Id properties.
2019-01-30 09:51:08 +01:00
Mark Paluch
0deec5eb96 DATACASS-313 - Polishing.
Remove superfluous throws declaration in tests.
2019-01-28 16:14:29 +01:00
Mark Paluch
1be26f9612 DATACASS-313 - Limit queried fields for projections.
We now limit the selected fields when using projections in repository query methods and by using query operations. Queries that return either a closed interface projection or DTO projection are inspected for the select fields and only these fields are included in the SELECT list.
2019-01-28 16:13:15 +01:00
Mark Paluch
9e4c603d17 DATACASS-189 - Add test for transient properties. 2019-01-28 14:01:08 +01:00
Mark Paluch
b1879b2e4c DATACASS-617 - Accept WriteOptions in imperative and reactive delete(…) through batch operations.
CassandraBatchOperations.delete(…) and ReactiveCassandraBatchOperations.delete(…) methods now accept WriteOptions and subclasses (such as DeleteOptions) to adjust delete behavior.

Related ticket: DATACASS-606.
2019-01-28 13:52:26 +01:00
Mark Paluch
005c9a7078 DATACASS-606 - Support LWT for delete operations (DELETE .. IF EXISTS).
We now support lightweight transactions for entity deletion through DeleteOptions.

User user = …

DeleteOptions options = DeleteOptions.builder().withIfExists().build();
boolean applied = template.delete(user, options);
2019-01-28 13:52:26 +01:00
Mark Paluch
aa54b8a9a1 DATACASS-610 - Updated changelog. 2019-01-10 14:15:39 +01:00
Mark Paluch
d917c7ec40 DATACASS-609 - Updated changelog. 2019-01-10 12:26:31 +01:00