Commit Graph

986 Commits

Author SHA1 Message Date
Mark Paluch
367259b898 DATACASS-548 - Upgrade to Cassandra Java Driver 3.5.0. 2018-04-19 11:58:21 +02:00
Mark Paluch
3aad62627f DATACASS-547 - Resolve converter ambiguities.
We now properly annotate read and writing converters to indicate proper conversion directions.
2018-04-19 10:06:31 +02:00
Mark Paluch
1a5ded6b91 DATACASS-524 - After release cleanups. 2018-04-13 15:08:33 +02:00
Mark Paluch
2f72d4f274 DATACASS-524 - Prepare next development iteration. 2018-04-13 15:08:32 +02:00
Mark Paluch
a490f736d5 DATACASS-524 - Release version 2.1 M2 (Lovelace). 2018-04-13 14:30:57 +02:00
Mark Paluch
8cfbd4b167 DATACASS-524 - Prepare 2.1 M2 (Lovelace). 2018-04-13 14:30:01 +02:00
Mark Paluch
9eab52e1a2 DATACASS-524 - Updated changelog. 2018-04-13 14:29:51 +02:00
John Blum
bad5119d9b DATACASS-302 - Polish.
Resolve gh-127.
2018-04-10 23:10:17 -07:00
Mark Paluch
2e20a21843 DATACASS-302 - Support Cassandra time columns.
We now support Cassandra time columns via LocalTime types (JSR-310, Joda and ThreeTenBackport) in domain classes, queries and updates.

@Table
class Schedule {

  @Id String id;

  LocalTime scheduledAt;

}
2018-04-10 23:07:09 -07:00
Oliver Gierke
3285b8020b DATACASS-542 - Adapt to API changes in Spring Data Commons.
Related tickets: DATACMNS-1275.
2018-04-09 14:45:26 +02:00
Ivan Sopov
b90682add2 DATACASS-541 - Remove links to decommissioned Planet Cassandra.
Planet Cassandra was decommissioned on October 31st, 2016.
For more information - https://www.datastax.com/2016/10/take-a-bow-planet-cassandra.

Original pull request: #126.
2018-04-06 14:30:59 +02:00
Mark Paluch
d2f2498ae4 DATACASS-532 - Updated changelog. 2018-04-04 17:12:49 +02:00
Mark Paluch
69d22c50c3 DATACASS-519 - Updated changelog. 2018-04-04 15:16:20 +02:00
Oliver Gierke
f52d3c1728 DATACASS-537 - Removed explicit declaration of Jackson libraries. 2018-03-27 19:27:36 +02:00
John Blum
48077f8b0e DATACASS-523 - Polish. 2018-03-26 15:52:45 -07:00
Mark Paluch
dd718ae234 DATACASS-523 - Documentation. 2018-03-26 15:52:38 -07:00
Mark Paluch
fbfe2bdfbe DATACASS-523 - Extend converter to map TupleValue to domain objects.
We now support mapped tuple values via @Tuple and @Element(1) annotations. Mapped tuple values can be embedded within table entities and user-defined. Mapped tuples can contain user-defined types, collection types and simple property types and are supported with schema generation.

	@Tuple
	class Address {

		@Element(0) String city;

		@Element(1) String street;

		@Element(2) int sortOrder;
	}
2018-03-26 15:52:31 -07:00
Oliver Gierke
e63a5b65fb DATACASS-535 - Polishing. 2018-03-14 10:18:31 +01:00
Oliver Gierke
e3e1fa4f4a DATACASS-535 - Added project.root configuration to make JavaDoc generation work again.
Related ticket: https://github.com/spring-projects/spring-data-build/issues/527.
2018-03-14 10:18:23 +01:00
Mark Paluch
e19be1c77a DATACASS-533 - Export composable repositories via CDI.
We now export composable repositories through our CDI extension. Repositories can now be customized either by a single custom implementation (as it was before) and by providing fragment interfaces along their fragment implementation.

This change aligns CDI support with the existing RepositoryFactory support we provide within a Spring application context.
2018-03-12 16:33:48 +01:00
Mark Paluch
56df77efdf DATACASS-106 - Polishing.
Add AfterConvertEvent, introduce base class for AbstractDeleteEvent. Turn table name in mapping events to non-nullable. Replace guessTableName(…) with getTableName(…) and table name extraction from statements. Pass table name to converter mapper function for event propagation. Refactor tests to base class and test operations accessor.

Introduce lifecycle events and ProjectionFactory to AsyncCassandraTemplate.

Extend JavaDoc, add author and since tags. Reduce copyright year to inception year of new classes. Extend reference documentation.

Original pull request: #123.
2018-03-06 09:35:32 +01:00
Lukasz Antoniak
774d6b2732 DATACASS-106 - Support persistence lifecycle callbacks.
We now support persistence lifecycle callbacks via Spring's ApplicationEvents. Events are fired upon select, insert, update, delete, and truncate statements. The following events are available:

* BeforeSaveEvent: Before inserting/updating a row in the database, via insert(…) and update(…).
* AfterSaveEvent: After inserting/updating a row in the database, via insert(…) and update(…).
* BeforeDeleteEvent: Before deleting row from the database, via delete(…) and truncate(…).
* AfterDeleteEvent: After deleting row from the database, via delete(…) and truncate(…).
* AfterLoadEvent: After retrieving a row from the database, via select(…), slice(…), and stream(…).
* AfterConvertEvent: After converting a row from the database to a POJO, via select(…), slice(…), and stream(…).

Original pull request: #123.
2018-03-06 09:35:23 +01:00
Mark Paluch
7e7bc5121b DATACASS-526 - Updated changelog. 2018-02-28 11:17:33 +01:00
Mark Paluch
44bab73068 DATACASS-485 - Polishing.
Adjust tests to run on Cassandra 2.x.
2018-02-26 15:12:30 +01:00
Mark Paluch
367b66f37e DATACASS-155 - Polishing.
Add author and since tags. Add nullable annotations. Apply timestamp to DELETE statements. Extend tests.

Original pull request: #122.
2018-02-26 14:22:29 +01:00
Lukasz Antoniak
742798f3a3 DATACASS-155 - Support TIMESTAMP in WriteOptions.
We now allow configuration of the write timestamp for INSERT/UPDATE/DELETE statements.

Original pull request: #122.
2018-02-26 14:16:31 +01:00
Mark Paluch
17fa198499 DATACASS-530 - Upgrade to Cassandra Java Driver 3.4.0. 2018-02-22 09:15:38 +01:00
Mark Paluch
0658f64661 DATACASS-528 - Upgrade to Cassandra 3.11.2. 2018-02-22 08:53:28 +01:00
Mark Paluch
3869d939b8 DATACASS-527 - Fix reactive CassandraTemplate example. 2018-02-22 08:17:20 +01:00
Mark Paluch
01d48e313c DATACASS-520 - Updated changelog. 2018-02-19 20:30:01 +01:00
Mark Paluch
5760afd958 DATACASS-525 - Polishing.
Add documentation for query methods allowing filtering (WITH ALLOW FILTERING).
2018-02-14 14:34:42 +01:00
Mark Paluch
847deccccc DATACASS-525 - Throw IncorrectResultSizeDataAccessException for repository query methods returning a single element.
We now throw IncorrectResultSizeDataAccessException if a single entity query yields more result rows. Previously we gracefully returned the first element of the query without hinting whether the result was unique or not.
2018-02-14 14:34:42 +01:00
Mark Paluch
8efa1bc7a1 DATACASS-501 - Polishing.
Fix duplicate documentation anchor.
2018-02-09 11:42:59 +01:00
Christoph Strobl
48bd41f642 DATACASS-501 - After release cleanups. 2018-02-06 10:11:16 +01:00
Christoph Strobl
b356938afc DATACASS-501 - Prepare next development iteration. 2018-02-06 10:11:14 +01:00
Christoph Strobl
c82aebdbae DATACASS-501 - Release version 2.1 M1 (Lovelace). 2018-02-06 09:47:10 +01:00
Christoph Strobl
cbf48d1754 DATACASS-501 - Prepare 2.1 M1 (Lovelace). 2018-02-06 09:45:50 +01:00
Christoph Strobl
4e13665542 DATACASS-501 - Updated changelog. 2018-02-06 09:45:38 +01:00
John Blum
5414d51371 DATACASS-487 - Polish. 2018-02-02 19:17:50 -08:00
Mark Paluch
1f0c168470 DATACASS-487 - Support map columns with mapped and converted key/value types.
We now support map columns that use mapped user-defined types and converted, non-primitive types in their keys and values. Map columns can be used for schema generation, column and key/value types are derived from the declared types by inspecting whether they are either UDTs or they can be converted by a custom registered converter.

class Supplier {

  @Id String id;

  Map<Manufacturer, List<Currency>> currencies;
}

@UserDefinedType
class Manufacturer {
  String name;
}

class UDTToCurrencyConverter implements Converter<UDTValue, Currency> {
 // …
}

class CurrencyToUDTConverter implements Converter<Currency, UDTValue> {
  // …
}
2018-02-02 19:17:44 -08:00
John Blum
1205506147 DATACASS-284 - Polish. 2018-02-02 12:59:43 -08:00
Mark Paluch
511ae51208 DATACASS-284 - Documentation. 2018-02-02 12:59:28 -08:00
Mark Paluch
649f2d7d08 DATACASS-284 - Add support for TupleValue.
We now support TupleValue as simple Cassandra type within domain objects along with table schema generation. Tuple columns must be annotated with @CassandraType to derive the according Cassandra column type for schema generation.

@Table
class Person {

  @Id
  String id;

  @CassandraType(type = Name.TUPLE, typeArguments = { Name.VARCHAR, Name.BIGINT })
  TupleValue tupleValue;
}
2018-02-02 12:58:50 -08:00
John Blum
3a14cb411d DATACASS-485 - Polish documentation. 2018-02-01 23:07:01 -08:00
John Blum
41eaa3a90c DATACASS-485 - Rename all test classes to XxxIntegrationTests in order to be picked up by the build. 2018-02-01 23:06:53 -08:00
John Blum
e3efe92c7f DATACASS-485 - Polish reactive, fluent Cassandra API. 2018-02-01 23:06:46 -08:00
John Blum
1197805d1b DATACASS-485 - Polish imperative, fluent Cassandra API. 2018-02-01 23:06:38 -08:00
John Blum
dec4de6da2 DATACASS-522 - Polish. 2018-02-01 23:06:31 -08:00
Mark Paluch
9fb3554f56 DATACASS-485 - Documentation. 2018-02-01 23:06:22 -08:00
Mark Paluch
81326e43a5 DATACASS-485 - Reactive Fluent Cassandra API. 2018-02-01 23:06:14 -08:00