Commit Graph

327 Commits

Author SHA1 Message Date
Simon Baslé
b5ae111787 DATACOUCH-229 - Check N1QL error codes rather than message
This should avoid problems when the message changes on the server side
(like in Couchbase Server 4.5).
2016-05-25 19:17:32 +02:00
Simon Baslé
9713b34801 DATACOUCH-231 - Bump SDK to latest patch 2.2.7 2016-05-25 19:02:54 +02:00
Simon Baslé
3abefe5882 DATACOUCH-228 - Make findByView use async client internally
This brings better performance when querying large views. Instead of
looping on a synchronously acquired list of documents to produce a list
of entities, the async API can be used internally to:
 - query the view
 - fetch the documents
 - map each document to an entity
 - collect into a List

One can then block on that Observable to get and return the List as
usual.
2016-05-25 18:26:02 +02:00
Geoffrey Mina
7a57a235d8 DATACOUCH-226 - Enable strict @Field mapping
If the MappingCouchbaseConverter strict mode is enabled and no annotation is present, the property will not be eligible for document mapping.

This allows to specifically ignore some attributes in Couchbase only. For generally ignoring attributes in any Spring Data backing store, prefer the standard `@Transient`.

Closes #112
2016-05-20 17:52:41 +02:00
Anastasiia Smirnova
811c024041 DATACOUCH-224 - Improve concurrent save/insert, optimistic locking 2016-05-10 15:48:34 +02:00
Jonathan Edwards
117f0d0968 DATACOUCH 225 - Minimal SDK 2.2.6 support 2016-05-09 09:31:23 -06:00
Oliver Gierke
2402c89e67 DATACOUCH-220 - Updated changelog. 2016-04-06 23:14:28 +02:00
Oliver Gierke
d0bc223154 DATACOUCH-218 - After release cleanups. 2016-04-06 16:37:04 +02:00
Oliver Gierke
45ae9d4a72 DATACOUCH-218 - Prepare next development iteration. 2016-04-06 16:37:00 +02:00
Oliver Gierke
2bbffe5573 DATACOUCH-218 - Release version 2.1 GA (Hopper). 2016-04-06 16:36:00 +02:00
Oliver Gierke
2734692fad DATACOUCH-218 - Prepare 2.1 GA (Hopper). 2016-04-06 16:34:47 +02:00
Oliver Gierke
7a19a34ba8 DATACOUCH-218 - Updated changelog. 2016-04-06 16:34:43 +02:00
Mark Paluch
9a6c4a06ce DATACOUCH-219 - Point to the appropriate Jira project. 2016-04-05 14:23:47 +02:00
Mark Paluch
453c37b873 DATACOUCH-219 - Add pull request template. 2016-04-05 10:03:48 +02:00
Oliver Gierke
d118c1c6f6 DATACOUCH-213 - After release cleanups. 2016-03-18 11:16:08 +01:00
Oliver Gierke
fd954ec6b1 DATACOUCH-213 - Prepare next development iteration. 2016-03-18 11:15:52 +01:00
Oliver Gierke
f0518727fe DATACOUCH-213 - Release version 2.1 RC1 (Hopper). 2016-03-18 11:15:01 +01:00
Oliver Gierke
dc9f70bb72 DATACOUCH-213 - Prepare 2.1 RC1 (Hopper). 2016-03-18 11:06:58 +01:00
Oliver Gierke
e683b71c4a DATACOUCH-213 - Updated changelog. 2016-03-18 11:06:56 +01:00
Mark Paluch
db4c24d9f1 DATACOUCH-203 - Use Set to store qualifiers in CDI extension.
Qualifiers are now stored in their original set instead of using the toString representation.
2016-03-15 14:13:14 +01:00
Simon Baslé
4aa823722a DATACOUCH-212 - Take Version/CAS into account on save
This change takes the `Version` annotated field into account when performing a `save` (either in the `CouchbaseTemplate` or transitively in a `CouchbaseRepository`).

Having such a field with a non-zero value means that a CAS is available, activating optimistic locking. Version 1.4 and below of Spring Data Couchbase was taking this CAS into account, whereas in 2.0 we switched to using `upsert` internally, which ignores the CAS.

This change brings the behavior of `save` (when there's a non-zero CAS) closer to what was observed in 1.4 versions: an `OptimisticLockingFailureException` can now be raised in case of CAS mismatch.
2016-03-14 20:00:16 +01:00
Simon Baslé
39fb52d2a6 DATACOUCH-91 - Support auditing (via java config)
This commit adds support for auditing via the use of the four annotations (CreatedBy, LastModifiedBy, CreationDate, LastModificationDate), enabled via the EnableCouchbaseAuditing annotation.

As couchbase entities MUST have an id, the only case where the creation event can be detected is when the entity has a Version annotated field.
2016-03-11 15:35:35 +01:00
Simon Baslé
dea461458b DATACOUCH-215 - Separate SDK/SDC beans in javaconfig
This commit allows to separate creation of beans dedicated to Spring Data Couchbase from the ones that can be made more common (SDK instances) and now can be provided externally through a a strategy interface, `CouchbaseConfigurer`.

Rather than having to extend a few methods from the base Configuration
class, `CouchbaseConfigurer` represents all the components that the Spring Data integration requires.
2016-03-11 10:58:38 +01:00
James Thomson
8357122950 DATACOUCH-211 - Applying sort that's passed in via the Pagenate object in call to N1qlCouchbaseRepository::findAll 2016-03-10 21:31:23 +00:00
James Thomson
0149144bc0 DATACOUCH-214 - Adding case insensitive sorting
Closes #105
2016-03-10 22:10:47 +01:00
Simon Baslé
ee58b4d6e4 DATACOUCH-216 - Add template getter on repository interface 2016-03-10 12:13:55 +01:00
Simon Baslé
67373e501e DATACOUCH-204 - Add package-info on all packages 2016-02-23 16:25:07 +01:00
Andrzej Wisłowski
40e4212ad7 DATACOUCH-59 - Allow expiry touch on read
Configuration is based on Document annotation. When read of document takes place then touch action is executed on document. It is an asynchronous action so it does not block read. It is executed only on single reads (not view-based or N1QL-based ones).
2016-02-23 14:51:27 +01:00
Oliver Gierke
90839ef604 DATACOUCH-205 - Updated changelog. 2016-02-23 14:32:49 +01:00
Simon Baslé
056a04a030 DATACOUCH-207 - Fix integration test, wrong bean constant used 2016-02-22 16:53:53 +01:00
Simon Baslé
338eb38f46 DATACOUCH-207 - Makes all BeanNames constants public 2016-02-22 16:00:01 +01:00
Simon Baslé
2f251e0ba9 DATACOUCH-209 - Change default Consistency to READ_YOUR_OWN_WRITES
Formerly UPDATE_AFTER, but the inconsistent view this would give eg. while writing tests or exploring Spring Data Couchbase was confusing to users.
2016-02-22 15:42:40 +01:00
Simon Baslé
0007c448d6 DATACOUCH-77 - Update README links 2016-02-22 15:00:46 +01:00
Oliver Gierke
6b69b34632 DATACOUCH-195 - After release cleanups. 2016-02-12 15:43:57 +01:00
Oliver Gierke
42a962c145 DATACOUCH-195 - Prepare next development iteration. 2016-02-12 15:43:39 +01:00
Oliver Gierke
1edcafd2b0 DATACOUCH-195 - Release version 2.1 M1 (Hopper). 2016-02-12 15:42:47 +01:00
Oliver Gierke
36533c4ad3 DATACOUCH-195 - Prepare 2.1 M1 (Hopper). 2016-02-12 15:36:20 +01:00
Oliver Gierke
3676f3ef66 DATACOUCH-195 - Updated changelog. 2016-02-12 15:36:17 +01:00
Oliver Gierke
0e99d84fe2 DATACOUCH-195 - Declare Artifactory Maven plugin to be able to distribute build artifacts. 2016-02-10 14:36:34 +01:00
Oliver Gierke
b8fd9db0a1 DATACOUCH-198 - Added code of conduct.
Added CONTRIBUTING file along the way.
2016-02-08 17:11:50 +01:00
Oliver Gierke
cdf94f45c5 DATACOUCH-202 - Adapted to new API in QueryMethod and QueryLookupStrategy. 2016-02-08 17:10:13 +01:00
Oliver Gierke
73c5d0ca55 DATACOUCH-201 - Prepare next development iteration (Hopper). 2016-02-08 17:01:56 +01:00
Spring Buildmaster
f8d46ef5ca DATACOUCH-201 - Prepare next development iteration. 2016-02-08 07:17:27 -08:00
Spring Buildmaster
6f7abe4d0c DATACOUCH-201 - Release version 2.0.0.RELEASE. 2016-02-08 07:17:27 -08:00
Oliver Gierke
4e40e3d327 DATACOUCH-201 - Prepare 2.0 GA release. 2016-02-08 16:29:32 +01:00
Oliver Gierke
f66c771b87 DATACOUCH-201 - Update changelog. 2016-02-08 16:27:09 +01:00
Simon Baslé
0095313342 DATACOUCH-199 - Make automatic index creation opt-in
In addition to annotating the repository with xxxIndexed annotations, user must now opt-in to the feature by redefining the indexManager bean in the configuration. This is so production use of this feature is actively discouraged.
2016-02-05 18:08:05 +01:00
Simon Baslé
6d747e97f5 DATACOUCH-180 - Allow named parameters in inline N1QL queries
Choice of placeholder "mode" is determined by the syntax used inside the query, early during repository instantiation.

An IllegalArgumentException is thrown if both named and positional parameters are used.
2016-02-02 15:23:53 +01:00
Simon Baslé
524e8202f6 DATACOUCH-196 - Fix ViewIndexed generated map and improve usability
The generated view's default map function now emits meta.id so that CRUD findAll(ids) works.

The default value for the view name is now "all".

The ViewIndexed isn't documented as applicable to METHODs (deferred feature).
2016-01-29 17:20:57 +01:00
Simon Baslé
933ff0feaa DATACOUCH-192 - Prefix all bean names with "couchbase" 2016-01-27 15:38:14 +01:00