Commit Graph

748 Commits

Author SHA1 Message Date
Mark Paluch
df69f90bf5 DATACASS-457 - Remove relativePath from parent in top-level pom.
Remove relativePath to prevent accidental usage of a parent that is reachable because of the project directory layout.
2017-06-07 13:12:15 +02:00
Mark Paluch
49ed4897f9 DATACASS-436 - Updated changelog. 2017-06-07 12:23:35 +02:00
Mark Paluch
04730b5776 DATACASS-445 - Polishing.
Reorder fields. Reduce visibility.
2017-05-29 09:33:23 +02:00
Mark Paluch
8fe80248b1 DATACASS-445 - Insert entire object on CassandraRepository.save(…).
We now insert the entire object including null values again in Cassandra using the repository save method. Objects that are saved through the repository are expected to be returned the same when retrieved again.

Cassandra entities don't have any indicator whether these entities are new to optimize null value handling and prevent tombstones in Cassandra. CassandraRepository exposes insert(…) to insert objects without inserting null values.

Previously, we attempted to execute insert/update conditionally on the entity structure which ended up issuing update statements containing all null values. Entities were not created and save(…) failed silently.
2017-05-29 09:32:44 +02:00
Adam Holmberg
b6305dcc49 DATACASS-449 - Remove redundant paragraph in preface.
Original pull request: #104.
2017-05-24 10:29:35 +02:00
Mark Paluch
9098c80aec DATACASS-426 - Updated changelog. 2017-05-09 11:36:16 +02:00
Oliver Gierke
9899bb0e9e DATACASS-433 - Updated changelog. 2017-04-19 21:04:15 +02:00
Oliver Gierke
eb0711dac7 DATACASS-432 - After release cleanups. 2017-04-19 20:01:14 +02:00
Oliver Gierke
31fae6575f DATACASS-432 - Prepare next development iteration. 2017-04-19 20:01:12 +02:00
Oliver Gierke
1b66998bbb DATACASS-432 - Release version 1.5.3 (Ingalls SR3). 2017-04-19 19:32:38 +02:00
Oliver Gierke
de22447f88 DATACASS-432 - Prepare 1.5.3 (Ingalls SR3). 2017-04-19 19:32:01 +02:00
Oliver Gierke
0bcaefdf60 DATACASS-432 - Updated changelog. 2017-04-19 19:31:51 +02:00
Oliver Gierke
d1ec3d8ae2 DATACASS-411 - Updated changelog. 2017-04-19 13:04:04 +02:00
Oliver Gierke
e61925e5eb DATACASS-410 - After release cleanups. 2017-04-19 11:48:45 +02:00
Oliver Gierke
c69cac6799 DATACASS-410 - Prepare next development iteration. 2017-04-19 11:48:41 +02:00
Oliver Gierke
83bf2172d1 DATACASS-410 - Release version 1.5.2 (Ingalls SR2). 2017-04-19 10:11:28 +02:00
Oliver Gierke
254a25b72f DATACASS-410 - Prepare 1.5.2 (Ingalls SR2). 2017-04-19 10:10:47 +02:00
Oliver Gierke
5b3ce7cffa DATACASS-410 - Updated changelog. 2017-04-19 10:10:34 +02:00
Mark Paluch
76ab62e2d3 DATACASS-420 - Do not insert null values.
We now no longer insert null values via CassandraOperations.insert(…). Inserting null values creates tombstones in Cassandra which are likely unwanted and impact performance. Omitting null values simply does not create values in Cassandra. Setting properties to null with UPDATE remains unchanged and updating an object containing null values will propagate all null values to Cassandra as part of the UPDATE clause.

SimpleCassandraRepository.save(…) needs to consider whether the entity is new or whether it consists only of primary key properties to propagate the optimization. New entities and entities consisting only of primary key columns are saved via INSERT. All other entities are saved via UPDATE.

Related ticket: DATACASS-428.
2017-04-12 13:58:55 +02:00
Mark Paluch
d00ce554d0 DATACASS-428 - Polishing.
Add JavaDoc and missing assertions.
2017-04-12 11:55:15 +02:00
Mark Paluch
9fb63a350c DATACASS-428 - Provide insert methods on TypedIdCassandraRepository.
We now provide an insert(S) method on TypedIdCassandraRepository for fine-grained control over insert/update behavior.

Related ticket: DATACASS-415.
2017-04-12 11:49:58 +02:00
Oliver Gierke
0d38345609 DATACASS-358 - Updated changelog. 2017-04-10 14:23:55 +02:00
Mark Paluch
3f5c654e27 DATACASS-413 - Polishing.
Move test classes from o.s.d.c.t.integration to o.s.d.c.convert.
2017-03-14 18:12:48 +01:00
Mark Paluch
f6ae8f0d37 DATACASS-413 - Convert collection elements to property type when reading collections.
We now consider the element type and property component type when reading Cassandra collections (sets and lists). Inspecting every collection element regarding its source and target type allows a fine grained conversion of elements to the target type.

Previously, we just applied conversion if custom converters were registered. This change also considers the declared collection type of the property.
2017-03-14 18:12:48 +01:00
Oliver Gierke
c35616454d DATACASS-391 - Updated changelog. 2017-03-02 16:57:45 +01:00
Oliver Gierke
b36922d7db DATACASS-392 - After release cleanups. 2017-03-02 10:21:49 +01:00
Oliver Gierke
9c52b5938f DATACASS-392 - Prepare next development iteration. 2017-03-02 10:21:33 +01:00
Oliver Gierke
abe34fa104 DATACASS-392 - Release version 1.5.1 (Ingalls SR1). 2017-03-02 09:41:26 +01:00
Oliver Gierke
75ec5f9d0d DATACASS-392 - Prepare 1.5.1 (Ingalls SR1). 2017-03-02 09:33:25 +01:00
Oliver Gierke
55c3febb14 DATACASS-392 - Updated changelog. 2017-03-02 09:32:30 +01:00
Mark Paluch
4360aa9496 DATACASS-406 - Polishing.
Extend year range in copyright headers. Reformat code. Add JavaDoc. Add ticket references to test methods. Remove unused code. Add guard to test to not call UserTypeResolver during type creation. Rename UserDataTypeProvider to DataTypeProvider and the individual constants to reflect what they provide.

Original pull request: #100.
2017-03-02 08:33:34 +01:00
Jens Schauder
3388c673d6 DATACASS-406 - Support nested @UserDefinedType for schema creation.
Works for simple user defined types and those used in Lists or Sets.

It does not work yet for maps and other collection-like types.

Related tickets: DATACASS-409.

Original pull request: #100.
2017-03-02 08:33:33 +01:00
Mark Paluch
9d5b05b36c DATACASS-397 - Polishing.
Update copyright date range. Align ticket references in tests.

Original pull request: #94.
2017-02-28 16:33:55 +01:00
Lukasz Swiatek
3b3c204ebc DATACASS-397 - Define id attribute in XML schema for converter type.
Add id attribute to XML schema for Spring Data Cassandra Namespace support. Rename CassandraMappingBeanFactoryPostProcessorTests to CassandraMappingBeanFactoryPostProcessorUnitTests to execute the test in the build.

Original pull request: #94.
2017-02-28 16:33:55 +01:00
Mark Paluch
901872fc67 DATACASS-402 - Extend exception translation for exceptions that map currently to CassandraUncategorizedException.
We now provide a more fine-grained exception translation for exceptions that previously mapped to CassandraUncategorizedException. Existing translation to more specific exception does not change. The following translation rules are introduced by this change:

* OverloadedException and BootstrappingException map to TransientDataAccessResourceException
* NoHostAvailableException, BusyPoolException, ConnectionException, BusyConnectionException map to CassandraConnectionFailureException
* QueryConsistencyException, FunctionExecutionException map to DataAccessResourceFailureException
2017-02-28 15:21:49 +01:00
Mark Paluch
0455decf3b DATACASS-400 - Use custom conversion and UDT mapping with entity instantiator.
We now apply custom conversion and UDT mapping to the value provider that is used with entity instantiators. This allows entities to be instantiated with mapped UDTs and using custom conversion with properties that are provided using a constructor.

Previously, columns were not converted which caused a parameter mismatch so entities couldn't be instantiated.
2017-02-27 12:55:07 +01:00
Michael Hausegger
3578880a87 DATACASS-404 - Fix link to Jira in README.md.
Use spring.io domain instead of springframework.org.

Original pull request: #98.
2017-02-27 10:02:56 +01:00
Mark Paluch
51d1a115e3 DATACASS-393 - Remove references to Assert single-arg methods.
Replace references to Assert single-arg methods with references to methods accepting the test object and message.

Related ticket: SPR-15196.
2017-02-01 11:39:01 +01:00
Oliver Gierke
d9213df440 DATACASS-373 - After release cleanups. 2017-01-26 10:57:47 +01:00
Oliver Gierke
b14ce4726d DATACASS-373 - Prepare next development iteration. 2017-01-26 10:57:44 +01:00
Oliver Gierke
826d00f953 DATACASS-373 - Release version 1.5 GA (Ingalls). 2017-01-26 10:27:10 +01:00
Oliver Gierke
7835f5ebe1 DATACASS-373 - Prepare 1.5 GA (Ingalls). 2017-01-26 10:26:35 +01:00
Oliver Gierke
1cda752a20 DATACASS-373 - Updated changelog. 2017-01-26 10:26:32 +01:00
Mark Paluch
026efc719f DATACASS-390 - Upgrade to Cassandra Driver 3.1.3. 2017-01-25 11:07:48 +01:00
Mark Paluch
6a95208bfd DATACASS-290 - Polishing.
Align declared type of CassandraCqlTemplateFactoryBean to CqlTemplate and the type of CassandraTemplateFactoryBean to CassandraTemplate to report consistent bean types. Add JavaDoc.

Original pull request: #76.
2017-01-25 10:26:59 +01:00
Mark Paluch
7a5104b13f DATACASS-290 - Support multiple Keyspaces using XML configuration.
We now support multiple Cassandra keyspaces by allowing multiple definitions of Sessions, Mapping Contexts, Converters and CassandraTemplates.
Added support for id attribute for converter and mapping context elements and adopt CassandraMappingBeanFactoryPostProcessor to scan with eager initialization for existing infrastructure components. We are lenient about the source (factory bean or concrete bean definition) for infrastructure beans (Session, Converter, Mapping Context, Template) and register only the necessary beans.

Original pull request: #76.
2017-01-25 10:26:45 +01:00
Mark Paluch
ac20c8f250 DATACASS-388 - Improve JavaDoc for configuration classes. 2017-01-20 11:02:05 +01:00
Mark Paluch
efba60b72f DATACASS-381 - Improve integration test stability.
Reuse Thread pools during integration test runs to not recreate and dispose Threads multiple times. Increase build and Cassandra memory. Use an external Cassandra instance for TravisCI build jobs.
2017-01-20 09:46:37 +01:00
Mark Paluch
49436f867f DATACASS-386 - Update project documentation with the CLA tool integration. 2017-01-13 11:30:36 +01:00
Mark Paluch
17312ea085 DATACASS-385 - Migrate ticket references in test code to Spring Framework style. 2017-01-11 12:06:39 +01:00