Commit Graph

1008 Commits

Author SHA1 Message Date
Mark Paluch
bd80977e6f Use Java 8 to build snapshots for Artifactory.
Closes #1352
2022-03-15 14:17:28 +01:00
Michael Reiche
3ec3a3080a Support derived queries on repositories defined with an abstract entity class. (#1366)
Motivation:
Currently an abstract entity class specified in the repository definition can
be used for the predicate typeKey = typeAlias(of abstract entity class) in
queries. Since documents are stored with typeKey = typeAlias(of concrete class)
those queries will never match any documents.  To allow this to work,
all of the abstract entity class an all concrete subclasses must use the
same typeAlias.

Once those documents are found, regardless of their concrete class,
they will all have the same typeKey = typeAlias, instead of having the
typeAlias specific to the concrete class. Additional information in
the stored document is needed to identify the concrete class (subtype
in the example test case), as well as a TypeMapper to interpret that
 information.

Changes:
This allows a common TypeAlias to be used for the purpose of the predicate
typeKey = typeAlias, and the determination of the concrete type by
implementing an AbstractingMappingCouchbaseConverter that inspects the
'subtype' property.

Closes #1365.

Co-authored-by: Michael Reiche <michael.reiche@couchbase.com>
2022-03-14 09:37:51 -07:00
Michael Reiche
d9327ceea2 Fix update to cache documentation. (#1359)
Closes #1358.
2022-02-22 10:09:25 -08:00
Michael Reiche
5804dd5a7e Reinstate CouchbaseCache documentation. (#1357)
Closes #1356.
2022-02-22 09:56:53 -08:00
Mark Paluch
fedd4c4054 Update CI properties.
See #1351
2022-02-22 14:09:33 +01:00
Mark Paluch
9b97cdcd29 Upgrade to Maven Wrapper 3.8.4.
See #1355
2022-02-22 13:59:13 +01:00
Mark Paluch
c9a4b185ae Use Java 17 to build snapshots for Artifactory.
Closes #1352
2022-02-22 08:44:51 +01:00
Mark Paluch
1539b9eb11 After release cleanups.
See #1307
2022-02-18 11:15:41 +01:00
Mark Paluch
2d3d090c5b Prepare next development iteration.
See #1307
2022-02-18 11:15:40 +01:00
Mark Paluch
8561b185d5 Release version 4.4 M3 (2021.2.0).
See #1307
2022-02-18 11:09:11 +01:00
Mark Paluch
9307c6ff97 Prepare 4.4 M3 (2021.2.0).
See #1307
2022-02-18 11:08:48 +01:00
Michael Reiche
25ecdbe6b1 Fix comment. (#1348)
Closes #1343.
2022-02-16 14:18:28 -08:00
Michael Reiche
83f55b1bda Allow CouchbaseCacheConfiguration to set collection. (#1344)
Closes #1343.
2022-02-16 09:32:14 -08:00
Michael Reiche
1fcd252b68 Translate CasMismatchException to OptimisticLockingFailureException. (#1341)
Translate CasMismatchException to OptimisticLockingFailureException
instead of DataIntegrityViolationException.  CasMismatchException is
a ConcurrencyFailureException which is a TransientDataAccessException.
Versus DataIntegrityViolation, which is a NonTransientDataAccessException.

Closed #1339.
2022-02-15 11:38:25 -08:00
Michael Reiche
fc075ccdeb Add collections support to N1qlJoin. (#1333)
The scope for the entity can come from an option, a method annotation,
an annotation on the repository or an annotation on the entity class.
All these possibilities are handle by PseudoArgs in the
OperationSupport implementation. That scope/collection are passed
into decodeEntity(). The scope/collection of the child can only come
from an annotation on the entity class. The scope/collection of the
parent and child are uses as follows:

1) Both the parent and the chold have non-default collections
It's possible that the scope for the parent was set with an annotation on
a repository method, the entity class or the repository class or a query
option. Since there is no means to set the scope of the child class by the
method, repository class or query option (only the annotation) we assume
that the (possibly) dynamic scope of the entity would be a better choice
as it is logical to put collections to be joined in the same scope.

2) The parent has a collection (and therefore a scope as well), but the
child  does not have a collection. Use the lhScope and lhCollection for
the entity.  The child is just the bucket.

3) The parent does not have a collection (or scope), but child does have a
collection. Using the same (default) scope for the child would mean
specifying a non-default collection in a default scope - which is not
allowed. So use the scope and collection from the child class.

4) Neither have collections, just use the bucket.

Closes #1325.
2022-02-15 11:37:54 -08:00
Greg L. Turnquist
07c37ed2e6 Update CI properties.
See #1307
2022-02-15 08:59:51 -06:00
Oliver Drotbohm
3a4459fa1c Adapt to changes in entity creation metadata APIs in Spring Data Commons. 2022-02-15 15:11:06 +01:00
Michael Reiche
ef56e3f3aa Add mechanism for save to do one of insert, replace or upsert. (#1316)
Closes #1277.
2022-02-14 09:10:04 -08:00
Michael Reiche
5c5dde3db1 Collection support for predicates on meta fields. (#1338)
When a derived query is being created and there is a predicate on
a meta-field ( meta().id, cas, expiry), translate that field
(i.e. id -> meta().id) *without* the bucket or collection name,
as it might apply to a collelction which we do not know yet
(for instance, if there is a withCollection() specified)..
This is fine, because in a derived query, meta() without the
bucket or collection name is unambigous.
2022-02-14 09:09:09 -08:00
Michael Reiche
19c9e16717 Make withDurability() return WithScope type for all operations. (#1340)
Some of the operations were mistakenly declared to return a
WithCollection type, making it impossible to call the inScope()
method.

Closes #1329.
2022-02-11 08:22:04 -08:00
Michael Reiche
c7693ed7e2 Bump Couchbase Java SDK to 3_2_5. (#1337)
Closes #1332.
2022-02-09 22:06:37 -08:00
Michael Reiche
e20ebae10e Have tests remove the documents they insert. (#1336)
Closes #1335.
2022-02-09 21:56:22 -08:00
Michael Reiche
ede82d65ff Make FindByAnalytics count the same as FindByQuery. (#1334)
Closes #1331.
2022-02-09 21:07:09 -08:00
Michael Reiche
32f6a05462 Javadoc and other java 1_8 compatible changes in 50x back to main. (#1328)
Closes #1327.
2022-02-08 13:50:25 -08:00
Michael Reiche
c88a35c152 Fix slice support. (#1324)
Fix slice support. Also discontinue use of deprecated class.

Closes #1323.
2022-02-08 09:45:20 -08:00
Mark Paluch
1438bf9cf7 Polishing.
Extract Docker and Artifactory credentials into properties file.

See #1313
2022-02-07 08:31:36 +01:00
Michael Reiche
895b2b270e Restore projection of class. (#1319)
Restore projection of class in queries. This is necessary for abstract repositories.

Closes #1315.
2022-02-03 06:19:32 -08:00
Michael Reiche
8f8efbd16f Fix CasMismatch documentation. (#1320)
Closes #1314.
2022-02-02 14:06:08 -08:00
Michael Reiche
f08b24ecf1 Expose template getScope(), getCollection() and potentiallyConvertRuntimeException. (#1317)
Closes #1310.
2022-02-01 13:43:14 -08:00
Greg L. Turnquist
7e45fa24a1 Externalize build properties.
See #1313.
2022-01-31 17:08:44 -06:00
Michael Reiche
02bc0b35d3 Fix regression in IN operator. (#1309)
The regression occurred in changes for https://issues.couchbase.com/browse/MB-26606.

Closes #1308.
2022-01-25 10:11:35 -08:00
Christoph Strobl
29bf1fb87d After release cleanups.
See #1301
2022-01-18 09:21:34 +01:00
Christoph Strobl
c6e457331b Prepare next development iteration.
See #1301
2022-01-18 09:21:31 +01:00
Christoph Strobl
2f690378fb Release version 4.4 M2 (2021.2.0).
See #1301
2022-01-18 09:09:38 +01:00
Christoph Strobl
7890f5e99f Prepare 4.4 M2 (2021.2.0).
See #1301
2022-01-18 09:09:02 +01:00
Michael Reiche
317d9b877c Allow caching null objects. (#1303)
Closes #939.

Co-authored-by: mikereiche <michael.reiche@couchbase.com>
2022-01-17 14:17:53 -08:00
Michael Reiche
e15c6d0b4b Copy sort from pageable to query. (#1305)
Closes #1304.
2022-01-17 11:01:56 -08:00
Christoph Strobl
2e58778c50 After release cleanups.
See #1298
2022-01-14 11:08:04 +01:00
Christoph Strobl
10496dd0a8 Prepare next development iteration.
See #1298
2022-01-14 11:08:01 +01:00
Christoph Strobl
8dcba9e553 Release version 4.4 M1 (2021.2.0).
See #1298
2022-01-14 10:58:18 +01:00
Christoph Strobl
6b0e22a1f9 Prepare 4.4 M1 (2021.2.0).
See #1298
2022-01-14 10:57:51 +01:00
Michael Reiche
034881f9b0 Add Collections to Reference Documentation. (#1296)
Closes #1295.
2022-01-12 17:33:18 -08:00
Michael Reiche
3a216a83b4 Incorporate changes from 5.0.x and bump Couchbase SDK. (#1287)
Closes #1286.

Co-authored-by: mikereiche <michael.reiche@couchbase.com>
2022-01-06 15:00:49 -08:00
Michael Reiche
6c6acf8ae2 Handle Collection<> parameters to repository query methods. (#1271)
Closes #1270.

Co-authored-by: mikereiche <michael.reiche@couchbase.com>
2021-11-12 07:15:45 -08:00
Jens Schauder
e003e4ccd0 After release cleanups.
See #1257
2021-11-12 10:59:45 +01:00
Jens Schauder
783e307259 Prepare next development iteration.
See #1257
2021-11-12 10:59:42 +01:00
Jens Schauder
05446e8898 Release version 4.3 GA (2021.1.0).
See #1257
2021-11-12 10:49:37 +01:00
Jens Schauder
0a73828b17 Prepare 4.3 GA (2021.1.0).
See #1257
2021-11-12 10:49:16 +01:00
Michael Reiche
f422dc1e88 Upgrade Couchbase Java SDK to 3.2.3 (#1266)
Closes #1265.
2021-11-09 10:00:25 -08:00
yyfMichaelYan
15feab66b9 fix flaky test writesAndReadsCustomFieldsConvertedClass (#1264) 2021-11-08 11:40:24 -08:00