Commit Graph

1360 Commits

Author SHA1 Message Date
Mark Paluch
2caee34d55 DATACASS-767 - Polishing.
Reformat code. Add since tags. Extend keyspace association to PreparedStatements so that simple CQL statements get associated with the keyspace upon prepare. Remove check if a statement is a bound statement as prepared statements should not fail with applyStatementSettings(…).

Fix keyspace configuration in …Options objects as Insert/Update/Delete options should consider the keyspace when using the builder. Extend tests.

Simplify Cassandra version check. Ensure the discovery session gets closed after its use.

Original pull request: #177.
2020-08-07 15:21:52 +02:00
tomekl007
b79f8a4caa DATACASS-767 - Allow configuring keyspace per Statement.
Original pull request: #177.
2020-08-07 15:21:41 +02:00
Mark Paluch
c068fe2d18 DATACASS-791 - Suppress results for suspended query methods returning kotlin.Unit.
We now discard results for suspended query methods if the return type is kotlin.Unit.

Related ticket: DATACMNS-1779
2020-07-31 11:52:58 +02:00
Mark Paluch
8fae3326f1 DATACASS-772 - Fix link to code of conduct. 2020-07-28 15:38:27 +02:00
Mark Paluch
555b4da821 DATACASS-789 - Migrate tests to JUnit 5.
Use JUnit Jupiter annotations. Replace RunWith with JUnit Extensions. Replace CassandraRule with CassandraExtension to spin up embedded cassandra and to create keyspaces per test container.
2020-07-27 15:32:09 +02:00
Mark Paluch
e9801aaf9a DATACASS-788 - Add support for reactive SpEL context extensions.
We now support context extensions that contribute contextual details using a reactive programming model for evaluation of SpEL expressions in @Query methods.
2020-07-27 10:48:24 +02:00
Mark Paluch
94f26e95a1 DATACASS-775 - Updated changelog. 2020-07-22 10:37:57 +02:00
Mark Paluch
12b789dc7f DATACASS-774 - Updated changelog. 2020-07-22 10:08:42 +02:00
Mark Paluch
834517a015 DATACASS-773 - Updated changelog. 2020-07-22 09:44:27 +02:00
Mark Paluch
d6035c82fc DATACASS-784 - Add support for reactive auditing.
We now support reactive auditing by providing the EnableReactiveCassandraAuditing annotation. Previously, EnableCassandraAuditing no longer registers ReactiveAuditingEntityCallback for date-only auditing, the callback is now only registered when using EnableReactiveCassandraAuditing.
2020-07-17 12:24:13 +02:00
Mark Paluch
47c58969cc DATACASS-762 - After release cleanups. 2020-06-25 11:58:22 +02:00
Mark Paluch
617083a146 DATACASS-762 - Prepare next development iteration. 2020-06-25 11:58:19 +02:00
Mark Paluch
ffda9a11a6 DATACASS-762 - Release version 3.1 M1 (2020.0.0). 2020-06-25 11:48:49 +02:00
Mark Paluch
24c6f9df0f DATACASS-762 - Prepare 3.1 M1 (2020.0.0). 2020-06-25 11:48:19 +02:00
Mark Paluch
6194bb3fd6 DATACASS-762 - Updated changelog. 2020-06-25 11:48:11 +02:00
Mark Paluch
6fc8c0b7fd DATACASS-779 - Upgrade to Cassandra driver 4.7.2. 2020-06-22 16:16:21 +02:00
Mark Paluch
27d044bb7a DATACASS-777 - Polishing.
Use consistently ConcurrentHashMap for meta-model caching.

Original pull request: #175.
2020-06-22 13:45:18 +02:00
cfredri4
309cf41578 DATACASS-777 - Change HashMap to ConcurrentHashMap in CassandraMappingContext.
Use consistently ConcurrentHashMap for meta-model caching.

Original pull request: #175.
2020-06-22 13:44:56 +02:00
Mark Paluch
d176636d67 DATACASS-778 - Upgrade to Cassandra driver 4.7.1. 2020-06-22 13:36:21 +02:00
Mark Paluch
3b348bfcad DATACASS-776 - Upgrade to Cassandra driver 4.7.0. 2020-06-16 11:57:06 +02:00
Mark Paluch
c4bd4d795c DATACASS-761 - Updated changelog. 2020-06-10 14:30:55 +02:00
Mark Paluch
ff74763044 DATACASS-755 - Updated changelog. 2020-06-10 12:29:54 +02:00
Mark Paluch
b7db93645f DATACASS-754 - Updated changelog. 2020-06-10 11:48:13 +02:00
Mark Paluch
5d2e518395 DATACASS-772 - Use standard Spring code of conduct.
Using https://github.com/spring-projects/.github/blob/master/CODE_OF_CONDUCT.md.
2020-06-09 16:11:09 +02:00
Mark Paluch
99977be17f DATACASS-771 - Fix return type detection for suspended Kotlin methods.
See DATACMNS-1738 for further reference.
2020-06-09 11:23:51 +02:00
Mark Paluch
ed1bf04245 DATACASS-770 - Polishing.
Switch AddToBuilder.prepend(Object) and .append(Object) implementations to use Collections.singletonList(…) to align with prependAll(Object...) and appendAll(Object...) implementations.

Replace toString assertions with more specific hasToString(…) assertion. Improve naming and collection creation.

Original pull request: #174.
2020-05-29 16:15:41 +02:00
Marko Jankovic
83fc3adf81 DATACASS-770 - Fix type derivation for Set typed query and update values.
DefaultColumnTypeResolver now resolves correctly set-typed values to a set<…> column type. This change fixes a bug related to adding new elements to a Set via UpdateMapper.

Original pull request: #174.
2020-05-29 16:14:35 +02:00
Mark Paluch
3f8b0a7335 DATACASS-764 - Delombok source files. 2020-05-14 16:30:34 +02:00
Mark Paluch
1c4b675a36 DATACASS-756 - After release cleanups. 2020-05-12 12:40:30 +02:00
Mark Paluch
69fd76d97a DATACASS-756 - Prepare next development iteration. 2020-05-12 12:40:28 +02:00
Mark Paluch
09b16a4ee7 DATACASS-756 - Release version 3.0 GA (Neumann). 2020-05-12 12:28:23 +02:00
Mark Paluch
010f664c6b DATACASS-756 - Prepare 3.0 GA (Neumann). 2020-05-12 12:27:59 +02:00
Mark Paluch
764d61e35d DATACASS-756 - Updated changelog. 2020-05-12 12:27:49 +02:00
Mark Paluch
21b8648270 DATACASS-760 - Upgrade to Cassandra driver 4.6.1. 2020-05-12 09:21:29 +02:00
Mark Paluch
372b84a6db DATACASS-758 - Polishing.
Improve assertions.
2020-05-11 10:11:32 +02:00
Mark Paluch
915147d6cd DATACASS-758 - Upgrade to Cassandra driver 4.6.0. 2020-05-11 10:03:29 +02:00
Greg Turnquist
eb447dc647 DATACASS-757 - Remove Travis CI. 2020-05-04 15:35:34 -05:00
Mark Paluch
0ad3d04ef2 DATACASS-749 - After release cleanups. 2020-04-28 15:11:43 +02:00
Mark Paluch
99f046c10a DATACASS-749 - Prepare next development iteration. 2020-04-28 15:11:42 +02:00
Mark Paluch
a758b76654 DATACASS-749 - Release version 3.0 RC2 (Neumann). 2020-04-28 15:03:53 +02:00
Mark Paluch
fa48483041 DATACASS-749 - Prepare 3.0 RC2 (Neumann). 2020-04-28 15:03:33 +02:00
Mark Paluch
38fe02f39c DATACASS-749 - Updated changelog. 2020-04-28 15:03:24 +02:00
Mark Paluch
7361c13394 DATACASS-746 - Updated changelog. 2020-04-28 14:46:50 +02:00
Mark Paluch
b2e192df25 DATACASS-733 - Updated changelog. 2020-04-28 11:59:00 +02:00
Mark Paluch
d84cdac192 DATACASS-387 - Remove deprecated API.
Removal of default bean registration in the namespace support. Remove deprecated methods and constructors. Adapt tests. Upgrade migration guide.
2020-04-23 10:55:14 +02:00
Mark Paluch
9e8385297c DATACASS-753 - Deferred Session retrieval from ReactiveSessionFactory.
ReactiveSessionFactory.getSession() now returns a Mono that allows for accessing the Reactor Context while session retrieval.
2020-04-23 10:43:10 +02:00
Mark Paluch
719e22154a DATACASS-167 - Polishing.
Reformat docs.
2020-04-06 10:03:00 +02:00
Mark Paluch
ba7b725202 DATACASS-167 - Polishing.
Add value shortcut to Embedded.Nullable and Embedded.Empty for improved annotation usage. Move isEntity check into PersistentProperty.isEmbedded as both checks are issued always together.

Tweak documentation.

Original pull request: #173.
2020-04-06 09:58:37 +02:00
Christoph Strobl
a59d012fb9 DATACASS-167 - Add support for embedded entities.
Embedded entities are used to design value objects in your Java domain model whose properties are flattened out into the table.
In the following example you see, that User.name is annotated with Embedded.
The consequence of this is that all properties of `UserName` are folded into the `user` table which consists of 3 columns (user_id, firstname, lastname).

Embedded entities may only contain simple property types. It is not possible to nest an embedded entity into another embedded one.

However, if the firstname and lastname column values are actually null within the result set, the entire property name will be set to null according to the onEmpty of Embedded, which nulls objects when all nested properties are null.

Opposite to this behaviour USE_EMPTY tries to create a new instance using either a default constructor or one that accepts nullable parameter values from the result set.

public class User {

    @PrimaryKey("user_id")
    private String userId;

    @Embedded(onEmpty = USE_NULL)
    UserName name;
}

public class UserName {
    private String firstname;
    private String lastname;
}

Original pull request: #173.
2020-04-06 09:57:57 +02:00
Mark Paluch
b2031724ff DATACASS-465 - Polishing.
Remove FrozenIndicator from public API. Refactor to recursive type to reflect property type declaration nature. Rename to FrozenIndicator. Update documentation.

Original pull request: #172.
2020-04-06 09:11:44 +02:00