Commit Graph

300 Commits

Author SHA1 Message Date
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
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
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
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
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
aa3ed4e22b DATACASS-622 - Updated changelog. 2019-02-13 11:47:52 +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
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
Mark Paluch
1612cfb001 DATACASS-608 - Updated changelog. 2019-01-10 11:01:17 +01:00
Mark Paluch
e6b5c5e7a2 DATACASS-616 - Update copyright years to 2019. 2019-01-02 12:22:19 +01:00
Christoph Strobl
f64e851ac2 DATACASS-612 - Prepare 2.2 M1 (Moore). 2018-12-11 10:53:11 +01:00
Christoph Strobl
42a833887f DATACASS-612 - Updated changelog. 2018-12-11 10:53:07 +01:00
Mark Paluch
63747cef1f DATACASS-613 - Simplify reference documentation setup. 2018-12-10 10:04:26 +01:00
Mark Paluch
7c08eba31d DATACASS-605 - Updated changelog. 2018-11-27 14:54:05 +01:00
Mark Paluch
44b2e50c10 DATACASS-602 - Updated changelog. 2018-11-27 12:36:45 +01:00
Mark Paluch
3584efbd4c DATACASS-603 - Updated changelog. 2018-11-27 11:27:19 +01:00
Mark Paluch
ada4bc0ab1 DATACASS-601 - Updated changelog. 2018-10-29 14:32:04 +01:00
Mark Paluch
795ae8fa18 DATACASS-598 - Updated changelog. 2018-10-15 11:37:19 +02:00
Mark Paluch
a11785ad42 DATACASS-588 - Prepare 2.1 GA (Lovelace). 2018-09-21 07:07:50 -04:00
Mark Paluch
bfaf7fb31d DATACASS-588 - Updated changelog. 2018-09-21 07:07:44 -04:00
Mark Paluch
69a6f9b1b9 DATACASS-596 - Include documentation about Object Mapping Fundamentals.
Related ticket: DATACMNS-1374.
2018-09-18 13:04:01 +02:00
Mark Paluch
6286761ce1 DATACASS-583 - Updated changelog. 2018-09-10 14:15:49 +02:00
Mark Paluch
bfc85d9e7e DATACASS-584 - Updated changelog. 2018-09-10 10:20:53 +02:00
Oliver Gierke
090ae848a1 DATACASS-582 - Prepare 2.1 RC2 (Lovelace). 2018-08-20 10:39:43 +02:00
Oliver Gierke
ea53863855 DATACASS-582 - Updated changelog. 2018-08-20 10:39:32 +02:00
Mark Paluch
c61683cae5 DATACASS-566 - Updated changelog. 2018-07-27 11:45:20 +02:00
Mark Paluch
e6f4cb562b DATACASS-567 - Updated changelog. 2018-07-26 16:23:51 +02:00
Mark Paluch
31c6d209ed DATACASS-554 - Prepare 2.1 RC1 (Lovelace). 2018-07-26 12:04:30 +02:00
Mark Paluch
8da68a03a9 DATACASS-554 - Updated changelog. 2018-07-26 12:04:21 +02:00
Mark Paluch
c843293fa5 DATACASS-529 - Polishing.
Introduce ReactiveResultSet.availableRows() to fetch rows without transparent paging. Refactor QueryUtils to extract a Slice from an Iterable. Add slice(Query, Class) to ReactiveCassandraOperations to expose a consistent API. Convert space indentation to tab indentation. Add tests. Add since tags. Add documentation. Reformat code.

Original pull request: #128.
2018-06-18 11:54:16 +02:00
Mark Paluch
7e64eddbfd DATACASS-552 - Updated changelog. 2018-06-13 21:39:49 +02:00
Mark Paluch
ac0f0c3bcc DATACASS-551 - Updated changelog. 2018-06-13 15:01:55 +02:00
Mark Paluch
e462c7165a DATACASS-561 - Polishing.
Fix typos. Use uppercase CQL keywords. Remove outdated sections. Align reactive and imperative documentation wording.

Original pull request: #132.
2018-06-04 15:39:35 +02:00
Jay Bryant
a0ceb25edd DATACASS-561 - Full editing pass on reference documentation.
Original pull request: #132.
2018-06-04 15:39:35 +02:00
Jay Bryant
5a2c190d4c DATACASS-562 - Add coverpage for epub documentation output.
Original pull request: #132.
2018-06-04 14:10:43 +02:00
Christoph Strobl
9080d64622 DATACASS-545 - Prepare 2.1 M3 (Lovelace). 2018-05-17 09:50:48 +02:00
Christoph Strobl
7f8b174509 DATACASS-545 - Updated changelog. 2018-05-17 09:50:40 +02:00
Mark Paluch
f123624b3d DATACASS-484 - Add Kotlin extensions for Template API.
We now provide Kotlin extensions for imperative, asynchronous, and reactive Template API interfaces.

CqlOperations and CassandraOperations expose Kotlin-friendly methods accepting KClasses and leveraging reified generics. We also provide Kotlin-friendly method renames for methods such as in that do not require quoting in Kotlin code.

operations.query(Person::class).inTable("my_table").asType<User>().all()

operations.select<Person>(query(where("firstname").isEqualTo("Walter") and where("lastname").isEqualTo("White")))
2018-05-17 00:10:31 -07:00
Mark Paluch
6b250c6e47 DATACASS-540 - Updated changelog. 2018-05-08 15:27:19 +02:00
Mark Paluch
bf4dc741aa DATACASS-539 - Updated changelog. 2018-05-08 12:22:50 +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
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
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