Commit Graph

710 Commits

Author SHA1 Message Date
mikereiche
ae43ed9949 DATACOUCH-604 - Fix NullPointerException when identifying Id fields. Handle @Field. 2020-09-16 13:46:48 -07:00
mikereiche
e9add0c90c DATACOUCH-608 - Propagate expiry option and annotation to insert and upsert calls. 2020-09-16 13:06:03 -07:00
mikereiche
4a52268f19 DATACOUCH-604 - Fix NPE when looking for Id field in interface.
This was failing with a repository for the domain object CouchbaseOAuth2AccessToken.
The following dependency is needed.

        <dependency>
            <groupId>org.springframework.security.oauth</groupId>
            <artifactId>spring-security-oauth2</artifactId>
            <version>2.4.1.RELEASE</version>
        </dependency>

package org.springframework.data.couchbase.domain;

import org.springframework.data.annotation.Id;
import org.springframework.data.couchbase.core.mapping.Document;
import org.springframework.data.couchbase.core.mapping.Field;
import org.springframework.security.oauth2.common.DefaultOAuth2AccessToken;
import org.springframework.security.oauth2.common.OAuth2AccessToken;

@Document(expiry = 30 * 24 * 60 * 60)
public class CouchbaseOAuth2AccessToken extends DefaultOAuth2AccessToken {

	private static final long serialVersionUID = 6537949925775752989L;

	@Id
	private String tokenId;

	@Field
	private String authentication;

	@Field
	private String authenticationKey;

	@Field
	private String clientId;

	@Field
	private String userName;

	// getters and setters omitted for brevity

	private CouchbaseOAuth2AccessToken() {
		this((String) null);
	}

	public CouchbaseOAuth2AccessToken(OAuth2AccessToken accessToken) {
		super(accessToken);
		this.tokenId = accessToken.getValue();
	}

	public CouchbaseOAuth2AccessToken(String value) {
		super(value);
		this.tokenId = value;
	}

}
2020-09-16 13:04:07 -07:00
Mark Paluch
b69fcb8afe DATACOUCH-601 - Prepare 4.1 RC1 (2020.0.0). 2020-09-16 13:57:09 +02:00
Mark Paluch
5e3117da29 DATACOUCH-601 - Updated changelog. 2020-09-16 13:57:07 +02:00
Mark Paluch
16e86f83a1 DATACOUCH-602 - Updated changelog. 2020-09-16 12:16:35 +02:00
Mark Paluch
8242b53b17 DATACOUCH-592 - Updated changelog. 2020-09-16 11:20:11 +02:00
Mark Paluch
eeb03d076f DATACOUCH-591 - Updated changelog. 2020-09-16 10:39:02 +02:00
mikereiche
23d2f61d45 DATACOUCH-595 - Add cas to replace options if present on entity. 2020-09-11 15:18:27 -07:00
Mark Paluch
d9eefc22cb DATACOUCH-593 - Updated changelog. 2020-08-12 13:25:53 +02:00
Mark Paluch
a047126c36 DATACOUCH-578 - Prepare 4.1 M2 (2020.0.0). 2020-08-12 11:51:41 +02:00
Mark Paluch
2d2fc667e8 DATACOUCH-578 - Updated changelog. 2020-08-12 11:51:39 +02:00
Mark Paluch
7ff88a1400 DATACOUCH-568 - Updated changelog. 2020-07-22 10:38:02 +02:00
Mark Paluch
4694c83b1c DATACOUCH-567 - Updated changelog. 2020-07-22 10:08:48 +02:00
Mark Paluch
00ee63b040 DATACOUCH-566 - Updated changelog. 2020-07-22 09:44:34 +02:00
mikereiche
05fb9eadbe DATACOUCH-585 - Support ScanConsistency for count() queries. 2020-07-17 11:53:45 -07:00
mikereiche
e2444403a7 DATACOUCH-580 - Do not automatically insert n1ql.filter predicate in string query.
Since it is difficult to determine where the n1ql.filter (which typically
filters on _class), and also because it is not mandator, including
the n1ql.filter in the @query is left up to the author of the query.
Example:
@query("#{#n1ql.selectEntity} where #{#n1ql.filter} and lastname = $1")
2020-07-15 11:13:50 -07:00
mikereiche
d2456bb166 DATACOUCH-533 - Promote id field if no annotation id.
Promote id field if no annotation id.
Note that there is no longer any Couchbase @Id annotation - only
the Spring @id annotation.
2020-07-02 10:36:31 -07:00
mikereiche
ecaf58db75 DATACOUCH-532 - Use parameters in queries instead of literals.
This will allow query plans to be reused for different parameters.
2020-06-25 19:30:21 -07:00
mikereiche
5cd916bea4 DATACOUCH-577 - Fix tests that run only when using UNMANAGED couchbase server.
Some of the tests that run as UNMANAGED and pass when ran from intellij were
failing when ran from the command-line mvn, or when ran together will other tests.
2020-06-25 13:18:17 -07:00
Mark Paluch
1053a9b929 DATACOUCH-548 - Prepare 4.1 M1 (2020.0.0). 2020-06-25 11:48:20 +02:00
Mark Paluch
b39af3d939 DATACOUCH-548 - Updated changelog. 2020-06-25 11:48:18 +02:00
mikereiche
c7f41f57ed DATACOUCH-574 - Support countBy...() query method calls in repository. 2020-06-24 16:00:26 -07:00
mikereiche
cd595995ed DATACOUCH-573 - use same name for count in query 2020-06-23 12:40:01 -07:00
mikereiche
54d1a45b35 DATACOUCH-572 - fix compile error from DATACOUCH-571 2020-06-23 09:44:42 -07:00
mikereiche
fc67a7b541 DATACOUCH-569 - Add tests for DATACOUCH-560 - serialization of nested objects (CouchbaseDocument) and lists (CouchbaseList) 2020-06-22 11:07:47 -07:00
mikereiche
e1d39fdb6f DATACOUCH-571 fix delimiters in generated id
Also clean up test domain/Config.java
2020-06-22 11:01:17 -07:00
mikereiche
69f1ff5791 DATACOUCH-546 - set generated id on entity returned to caller 2020-06-19 14:56:37 -07:00
mikereiche
041b987eaf DATACOUCH-484 - thread safety parameters test 2020-06-16 13:37:22 -07:00
mikereiche
610c02c66e DATACOUCH-484 - test to demonstrate that parameters are thread-safe 2020-06-15 13:00:25 -07:00
Andrea Torlaschi
c7f12a2237 DATACOUCH-560 - Serialization of CouchbaseDocument and CouchbaseList.
Add support for saving document with lists and composed objects.
Convert CouchbaseDocument/CouchbaseList to Map/List before saving.
2020-06-10 12:27:15 -07:00
Mark Paluch
dddee9fb82 DATACOUCH-547 - Updated changelog. 2020-06-10 14:31:01 +02:00
Mark Paluch
57db579e0a DATACOUCH-529 - Updated changelog. 2020-06-10 12:29:54 +02:00
Mark Paluch
c30d9f37b9 DATACOUCH-528 - Updated changelog. 2020-06-10 11:47:11 +02:00
mikereiche
fbf9b3eb29 DATACOUCH-545 - return null if not found instead of throwing an exception 2020-06-09 15:43:33 -07:00
mikereiche
95c69ea8cc DATACOUCH-525 - support custom type field name and custome type field value
MOTIVATION
customers would like to specify a type field other than _class, and
would like to specify a type field value other than the class name
of the domain object

CHANGES
Follow the instructions at
https://stackoverflow.com/questions/38847605/how-to-use-spring-data-with-couchbase-without-class-attribute
in the test domain, supply a CustomMappingCouchbaseConvert class that leverates a
TypeBasedCouchbaseTypeMapper, which in turn uses a TypeAwareTypeInformationMapper.
The typeKey used is "t". The TypeAwareTypeInformationMapper uses the DocumentType annotation
as the value for the type map entry. The domain Person object has @DocumentType("p"), which
will result in type mapping of "t" : "p" for Person objects.

In addition, when a query is composed, the typeKey and typeValue are taken from the converter.
2020-06-05 10:43:39 -07:00
mikereiche
dafff211a4 DATACOUCH-542 - support @Field to supply a different name for a field 2020-06-04 09:00:42 -07:00
mikereiche
0c8c8245fb DATACOUCH-561 - Better Testing for String Query 2020-05-28 22:04:25 -07:00
mikereiche
749c0a84e8 DATACOUCH - 534 Add support for Query annotation 2020-05-28 09:05:00 -07:00
Mark Paluch
80afd8dd4f DATACOUCH-530 - Prepare 4.0 GA (Neumann). 2020-05-12 12:28:01 +02:00
Mark Paluch
369dfd3f9e DATACOUCH-530 - Updated changelog. 2020-05-12 12:27:59 +02:00
Michael Nitschinger
33fdffab2f DATACOUCH-539 - Deprecate annotations before GA
This changeset also brings back deleted annotations so that they
do not cause build issues in other components.
2020-05-11 15:05:53 +02:00
Michael Nitschinger
4e229448f2 DATACOUCH-519 - Clarify Spring Boot compatibility. 2020-05-11 13:22:39 +02:00
Michael Nitschinger
799fec702c DATACOUCH-538 - Add scan consistency to analytics query template 2020-05-08 17:01:21 +02:00
Michael Nitschinger
405df74fa0 DATACOUCH-519 - Docs and small changes for transaction support. 2020-05-08 15:34:17 +02:00
deniswsrosa
ef6fb9c43b DATACOUCH-519 - Update migration docs 2020-05-08 13:49:39 +02:00
Michael Nitschinger
7773a19e42 DATACOUCH-531 - Add license headers to missing files. 2020-05-06 15:10:22 +02:00
Michael Nitschinger
b47fc007b5 DATACOUCH-531 - Initial javadoc polish for GA 2020-05-06 14:54:34 +02:00
Michael Nitschinger
e262a05184 DATACOUCH-519 - Apply formatting for changes 2020-05-06 10:35:04 +02:00
mikereiche
e8e13ffebc DATACOUCH-519 - Reinstate template auditing
This reinstates the auditing that was present before the major
refactoring. Additional testing for createdBy, createdDate,
lastModifiedBy, lastModifiedDate has been added as well.
2020-05-06 10:32:11 +02:00