Commit Graph

366 Commits

Author SHA1 Message Date
Michael Reiche
6512fc087b To support jdk 16, add converters and module-info. (#1167)
To support jdk 16, add converters and module-info.

Closes #1057.
2021-08-13 11:28:04 -07:00
Jens Schauder
3e51707b61 After release cleanups.
See #1163
2021-08-12 15:16:23 +02:00
Jens Schauder
3888218ba5 Prepare next development iteration.
See #1163
2021-08-12 15:16:22 +02:00
Jens Schauder
1d64a79561 Release version 4.3 M2 (2021.1.0).
See #1163
2021-08-12 15:03:18 +02:00
Jens Schauder
08408b9c3f Prepare 4.3 M2 (2021.1.0).
See #1163
2021-08-12 15:02:57 +02:00
Michael Reiche
90e1db0384 Upgrade Couchbase Java SDK to 3.2.0. (#1176)
Closes #1158.
2021-08-11 15:38:37 -07:00
Jens Schauder
9621c4960a After release cleanups.
See #1129
2021-07-16 14:19:58 +02:00
Jens Schauder
26e9d275e5 Prepare next development iteration.
See #1129
2021-07-16 14:19:57 +02:00
Jens Schauder
e183d8651c Release version 4.3 M1 (2021.1.0).
See #1129
2021-07-16 14:09:26 +02:00
Jens Schauder
f5866dc95a Prepare 4.3 M1 (2021.1.0).
See #1129
2021-07-16 14:08:59 +02:00
Michael Reiche
d6a21ef5c4 Update Couchbase SDK to 3.1.6. (#1162)
Update Couchbase SDK to 3.1.6.

Closes #1157.

Co-authored-by: mikereiche <michael.reiche@couchbase.com>
2021-07-16 07:10:19 -04:00
dependabot[bot]
831c25c5ce Bump httpclient from 4.3.6 to 4.5.13 (#1146)
Bumps httpclient from 4.3.6 to 4.5.13.

---
updated-dependencies:
- dependency-name: org.apache.httpcomponents:httpclient
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-06-10 11:03:08 -04:00
Michael Reiche
43889e6a9c Scope and collection API for template. (#1133)
Scope and Collection API for template.

Closes #963.
Original pull request: #1071.
2021-06-02 09:38:02 -04:00
Greg L. Turnquist
29766bfbff Authenticate with artifactory.
See #1117.
2021-04-20 10:25:29 -05:00
Mark Paluch
f4c586d0a7 After release cleanups.
See #1117
2021-04-14 14:30:16 +02:00
Mark Paluch
1246036a0d Prepare next development iteration.
See #1117
2021-04-14 14:30:12 +02:00
Mark Paluch
bc58fa34d8 Release version 4.2 GA (2021.0.0).
See #1117
2021-04-14 14:18:49 +02:00
Mark Paluch
1f41de4794 Prepare 4.2 GA (2021.0.0).
See #1117
2021-04-14 14:18:23 +02:00
Michael Reiche
19ef1dd7b6 Upgrade to Couchbase Java SDK 3.1.4. (#1123)
Upgrade to Couchbase Java SDK 3.1.4.

Closes #1122.
Original pull request #1123.

Co-authored-by: mikereiche <michael.reiche@couchbase.com>
2021-04-13 06:30:26 -07:00
Mark Paluch
8a59d2bfda After release cleanups.
See #1086
2021-03-31 17:24:06 +02:00
Mark Paluch
df71894ec7 Prepare next development iteration.
See #1086
2021-03-31 17:24:04 +02:00
Mark Paluch
edfc8775db Release version 4.2 RC1 (2021.0.0).
See #1086
2021-03-31 17:05:09 +02:00
Mark Paluch
61dd699957 Prepare 4.2 RC1 (2021.0.0).
See #1086
2021-03-31 17:04:35 +02:00
Yanming Zhou
57aa3ff70e Fix indent.
Closes 1116.
2021-03-30 17:29:39 -04:00
Mark Paluch
7cb1da0c1c After release cleanups.
See #1099
2021-03-17 11:30:31 +01:00
Mark Paluch
4da304a501 Prepare next development iteration.
See #1099
2021-03-17 11:30:29 +01:00
Mark Paluch
2983abc372 Release version 4.2 M5 (2021.0.0).
See #1099
2021-03-17 11:17:50 +01:00
Mark Paluch
ce868957f8 Prepare 4.2 M5 (2021.0.0).
See #1099
2021-03-17 11:17:27 +01:00
Michael Reiche
cbcd048f3d Upgrade Couchbase Java SDK to 3.1.3. (#1098)
Closes #1079.

Co-authored-by: mikereiche <michael.reiche@couchbase.com>
2021-03-15 12:12:06 -07:00
Christoph Strobl
03c96d96e1 After release cleanups.
See #1090
2021-02-18 11:35:22 +01:00
Christoph Strobl
aaaafe12f9 Prepare next development iteration.
See #1090
2021-02-18 11:35:21 +01:00
Christoph Strobl
8fd81e0c62 Release version 4.2 M4 (2021.0.0).
See #1090
2021-02-18 11:25:13 +01:00
Christoph Strobl
7b2e2472a8 Prepare 4.2 M4 (2021.0.0).
See #1090
2021-02-18 11:24:46 +01:00
Christoph Strobl
79e82c22eb After release cleanups.
See #1044
2021-02-17 14:17:49 +01:00
Christoph Strobl
b53849d818 Prepare next development iteration.
See #1044
2021-02-17 14:17:48 +01:00
Christoph Strobl
c2962b07ba Release version 4.2 M3 (2021.0.0).
See #1044
2021-02-17 14:00:09 +01:00
Christoph Strobl
432863c2ab Prepare 4.2 M3 (2021.0.0).
See #1044
2021-02-17 13:59:43 +01:00
dependabot[bot]
9356e43008 Bump hibernate-validator from 5.2.4.Final to 5.3.6.Final (#254)
Bumps [hibernate-validator](https://github.com/hibernate/hibernate-validator) from 5.2.4.Final to 5.3.6.Final.
- [Release notes](https://github.com/hibernate/hibernate-validator/releases)
- [Changelog](https://github.com/hibernate/hibernate-validator/blob/5.3.6.Final/changelog.txt)
- [Commits](https://github.com/hibernate/hibernate-validator/compare/5.2.4.Final...5.3.6.Final)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-02-16 16:03:15 -08:00
Aaron Whiteside
80bae4bf67 DATACOUCH-550 - Refactored the usage of CouchbasePersistentEntityIndexCreator. (#298)
pom.xml
- updated CouchbaseMock dependency to the official release on maven central, which now includes the required commit.

CouchbaseTemplate.java
- remove creation of CouchbasePersistentEntityIndexCreator
- there can only be a single CouchbaseMappingContext and CouchbasePersistentEntityIndexCreator, not sure why there was code dealing with multiples of each, and there was no corresponding tests for these assumptions.
- no longer does the job of a @Configuation class by gluing beans together with their dependencies.

CouchbaseMappingContext.java
- removed references to auto index creation, that functionality should be a completely separate concern.

CouchbasePersistentEntityIndexCreator.java
- as well as implementing ApplicationListener, it now also implements InitializingBean
- when afterPropertiesSet() is called it uses CouchbaseMappingContext#getPersistentEntities to retrieve the list of entity candidates for index creation. This will handle the creation of indices for entities known at @Configuration time.
- for entities not in the initialEntitySet of the MappingContext, the ApplicationListener will handle those entities at runtime.
- this is needed because the AbstractMappingContext will emit events when it is initialized via InitializingBean, and any beans that depend on MappingContext and also implement ApplicationListener expecting to receive those events won't.
 - in our case because Spring will have fully initialised the CouchbaseMappingContext instance before passing it to the CouchbasePersistentEntityIndexCreator instance we won't get those events.
- added a boolean flag to indicate if automatic index creation is to be enabled or now, passed in by the factory method that creates this bean.
- minor logging cleanup, use property placeholders where appropriate

AbstractCouchbaseConfiguration.java
- added a new factory method for the CouchbasePersistentEntityIndexCreator bean.
- CouchbaseMappingContext no longer has anything to do with index creation, other than supplying a candidate list of entities that may need indices.

Prompted by:
https://github.com/spring-projects/spring-boot/issues/24525
and the discussion on https://github.com/spring-projects/spring-data-couchbase/pull/295

Co-authored-by: Aaron Whiteside <awhiteside@yapstone.com>
2021-01-14 11:42:44 -08:00
Michael Reiche
0e8d5a255a DATACOUCH-588 - Part 2 of framework changes. Add support for projection and distinct. (#1040)
Support for projection is only for properties of the top-level entity. For instance, in UserSubmission, only the properties below can be specified in the projection. Projection support does not provide means of specifying something like address.street - you can only project (or not project) the whole address property. However, the address type in your resultType could have a subset of the properties in Address.

If the corresponding submissions in the resultType contained only the userId property

public class UserSubmission extends ComparableEntity {
	private String id;
	private String username;
	private List<String> roles;
	private Address address;
	private List<Submission> submissions;

Support for Distinct - I have appropriated the MongoDB model for Distinct.  It defines a separate DistinctOperationSupport class (within ExecutableFindByQuerySupport) which supports the distinct( distinctFields ) api and execution. The DistinctOperationSupport class has only a distinctFields member, and a 'delegate' member, which is an ExecutableFindByQuerySupport object. TBH, I don't see the advantage over simply adding a distinctFields member to ExecutableFindByQuerySupport

Amend #1 - changes as discussed in Pull Request
         - clean up test entity types

Amend #2
- Eliminate DistinctOperationSupport class. In MongoDB, only distinct on a single field is supported, so the returnType from distinct was very different from the returnType of other query operations (all(), one() etc. (but so is count(), and it doesn't need it's own class)). In Couchbase, distinct on any fields in the entity is allowed - so the returned type could be the domainType or resultType. And as(resultType) still allows any resultType to be specified. This makes it unnecessary to have combinations of interfaces such as DistinctWithProjection and DistinctWithQuery.

- Clean up the interfaces in ExecutableFindByQuery. There are two types of interfaces (a) the TerminatingFindByQuery which has the one(), oneValue() first(), firstValue(), all(), count(), exists() and stream(); and (b) the option interfaces (FindByQueryWithConsistency etc), which are essentially with-er interfaces. The changes are:
1) make all the with-er interfaces base interfaces instead of chaining them together. (I don't know why there isn't simply one interface with all the with-er methods).
2) make the ExecutableFindByQuery interface extend the Terminating interface and all the with-er interfaces.

Amend #3
- Add execution support for collections

Amend #4
- Add tests for collections. This includes a new CollectionAwareIntegrationTests class which extends a new JavaIntegratationTests class which extends the existing ClusterAwareIntegrationTests.
- Fixed up several issues collections issues that were uncovered by the tests.
- Did further cleanup of OperationSupport interfaces.

Amend #5
- Revert changes to interfaces in *Operation
- Sorted interfaces in same order for consistency (because of the chaining of interfaces, fluent methods must be called in order).

Co-authored-by: mikereiche <michael.reiche@couchbase.com>
2021-01-14 11:03:20 -08:00
Christoph Strobl
a4e6027f01 After release cleanups.
See #978
2021-01-13 15:47:00 +01:00
Christoph Strobl
6574c55133 Prepare next development iteration.
See #978
2021-01-13 15:46:59 +01:00
Christoph Strobl
a61f4df636 Release version 4.2 M2 (2021.0.0).
See #978
2021-01-13 15:34:04 +01:00
Christoph Strobl
1738028359 Prepare 4.2 M2 (2021.0.0).
See #978
2021-01-13 15:33:34 +01:00
Michael Reiche
3364e0fa7f DATACOUCH-588 - Refactoring part 1 of n. (#278)
* DATACOUCH-588 - Implement pageable and realign repo query

This implements pageable for non-reactive queries and
realigns reactive queries with other spring-data projects
to facilitate the implementaion of pageable (done) and other
types of queries such as projection and distinct (not yet
done)

* DATACOUCH-588 - Implement pageable and realign repo query

This implements pageable for non-reactive queries and
realigns reactive queries with other spring-data projects
to facilitate the implementaion of pageable (done) and other
types of queries such as projection and distinct (not yet
done)

* DATACOUCH-588 - Refactoring part 1 of n.

Co-authored-by: mikereiche <michael.reiche@couchbase.com>
2020-12-21 13:48:50 -08:00
Greg L. Turnquist
f7b6765c30 DATACOUCH-664 - Use Docker hub credentials for all CI jobs. 2020-12-15 11:56:56 -06:00
Mark Paluch
599e4a4250 DATACOUCH-640 - After release cleanups. 2020-12-09 15:32:21 +01:00
Mark Paluch
419cad7ae4 DATACOUCH-640 - Prepare next development iteration. 2020-12-09 15:32:17 +01:00
Mark Paluch
5a2826f852 DATACOUCH-640 - Release version 4.2 M1 (2021.0.0). 2020-12-09 15:21:57 +01:00
Mark Paluch
93fc6891fa DATACOUCH-640 - Prepare 4.2 M1 (2021.0.0). 2020-12-09 15:21:30 +01:00