Commit Graph

56 Commits

Author SHA1 Message Date
Michael Nitschinger
bef4d52ace DATACOUCH-71 - Add support for JSR 303 validation.
This changeset adds validation support for entities, and since this depends
on events, the event functionality has been added as well. Now also generic
event listeners can be attached.
2014-03-10 13:07:05 +01:00
Michael Nitschinger
62f974fa78 DATACOUCH-61 - Add Converter support for Jodatime
This changeset adds converters for Jodatime to unix timestamps and
back if jodatime is found on the classpath.
2014-03-10 10:49:07 +01:00
Michael Nitschinger
f68397f2ac DATACOUCH-69 - Support for Date and Calendar conversions.
This changeset adds aut of the box support for date and calendar objects.
They get converted to simple longs (unix timestamps) and back, since couchbase
server views have good support for those through the dateToArray() function.

A custom converter takes precedence though to customize these conversions.
2014-03-10 10:23:49 +01:00
Michael Nitschinger
332ce8c560 DATACOUCH-55 - Support custom converters.
This changeset adds the possibility to implement custom converters for entities and fields.
2014-03-10 09:22:31 +01:00
Michael Nitschinger
9c3cc52d2e DATACOUCH-47 - ensure multiple buckets are working over xml config.
This test verifies the functionality as reported in the ticket.
2014-01-24 12:41:38 +01:00
Michael Nitschinger
11ed095c58 DATACOUCH-65 - Add support for optimistic locking through @Version
@Version support is built on top of CAS values in couchbase. It does
not store an actual version number in the document, but rather reuses
cas values transparently to handle optimistic locking.

Also, write result checking has been added to the template for
better control what happens if a write fails. Defaults to NONE,
but can be sett to LOG or EXCEPTION.
2014-01-24 12:01:42 +01:00
Ken Dombeck
bb6385e08a DATACOUCH-57 - Allow for the configuration of CouchbaseClient to use properties
from property files or SPEL expressions.
2014-01-24 09:13:04 +01:00
Michael Nitschinger
7b6a3a9894 DATACOUCH-14 - Enable SLF4J as default logging.
If the whole system is constructed through the AbstractCouchbaseConfiguration or
the custom <couchbase> xml config, the logger is specified automatically.

Please note that this also changes the java config a little bit, but it should
also make it easier to construct it.
2014-01-23 16:24:58 +01:00
Michael Nitschinger
5414ee556b DATACOUCH-44 - Expose PersistTo/ReplicateTo on template
While users benefit from the exposure in terms of control, it is also
needed to make the unit tests more reliable as reported in the ticket.
2014-01-23 14:36:47 +01:00
Michael Nitschinger
9452c40eeb DATACOUCH-64 - Enable dynamic queries on repositories.
This changeset adds dynamic queries that can be annotated with @View and also provide a custom
Query param to change properties at runtime if needed.
2014-01-23 14:07:55 +01:00
Ken Dombeck
15ad87a82f DATACOUCH-58 allow for null values to be persisted for List elements and Map values. 2014-01-09 15:06:11 +01:00
Andrzej Wislowski
b11fc6c53c DATACOUCH-53 - protection against NPE on CouchbaseCache when putting null as a value 2014-01-09 14:41:11 +01:00
David Harrigan
7d79d79e28 DATACOUCH-30 - ObjectMapper configuration must be supported
Allow for a custom ObjectMapper to be used.
2014-01-09 14:32:18 +01:00
David Harrigan
1fc662b7cb DATACOUCH-35 - Can't deserialize Class fields.
Similar to Enums, Classes aren't a simple type, therefore have to handle using
the configured ObjectMapper.

-=david=-
2013-11-13 11:29:49 +01:00
Michael Nitschinger
5b6e8764b0 DATACOUCH-43 - Correctly encode non-ASCII characters. 2013-11-12 11:10:58 +01:00
Michael Nitschinger
694b67ae36 DATACOUCH-40 - Make ClusterInfo more reliable on the values returned. 2013-10-16 13:05:11 +02:00
David Harrigan
d1779a5d73 DATACOUCH-38 - Can't Deserialize Enum.
Enums, even although they are a simple type, must not use writeSimpleObject
since there is no "handler" in writeSimpleObject for Enums. Instead, we just
drop back to using the built-in ObjectMapper for handling enums.

-=david=-
2013-10-16 12:35:04 +02:00
David Harrigan
fa397759e3 DATACOUCH-37 - Refactor Deprecated JUnit Asserts.
Removed deprecated methods and changed to Hamcrest.

-=david=-
2013-10-16 12:23:17 +02:00
David Harrigan
48385c965a DATACOUCH-16 - Allow View customization through @View annotations.
An initial first attempt at allowing for basic View customization using the
@View annotation.

For now, it does not support "dynamic" finders, such as findByUsername, but
I'm sure it will come shortly aftewards.

Also added in hamcrest library to gradually transistion deprecated JUnit
methods to a better assertion library :-)

-=david=-
2013-10-16 12:01:21 +02:00
Michael Nitschinger
8ade60937a Merge pull request #5 from mzasada/DATACOUCH-27
DATACOUCH-27: Mapping @Id field with MappingCouchbaseConverter
2013-10-10 03:08:29 -07:00
David Harrigan
af5cfe894e DATACOUCH-34 - Can't deserialize long/Long/Date fields.
Make the test more robust, check the set value against the returned value.
2013-10-10 08:29:23 +01:00
Maciej Zasada
c4aa3643e8 DATACOUCH-27 - Code review suggestions. 2013-10-09 23:17:05 +02:00
Maciej Zasada
0fa284e534 Merge branch 'master' into DATACOUCH-27
Conflicts:
	.gitignore
2013-10-09 23:12:24 +02:00
David Harrigan
6fd4d925fb DATACOUCH-34 - Can't deserialize long/Long/Date fields.
Catch the attempt to parse a long as an int, then attempt to return a long value.

-=david=-
2013-10-09 16:57:46 +01:00
David Harrigan
0323d1fdba DATACOUCH-36 - Don't allow NULL values to be stored.
It is illegal to store a NULL value as a document. An attempt to do so will
throw an IllegalArgumentException.

-=david=-
2013-10-08 15:51:02 +01:00
Maciej Zasada
c62ad426e3 DATACOUCH-27: Mapping @Id field with MappingCouchbaseConverter
Fixed @Id field rewriting from CouchbaseDocument into domain object.
More info can be found at DATACOUCH-27 JIRA issue.
2013-09-18 23:14:28 +02:00
Michael Nitschinger
e0e8b63d93 DATACOUCH-19 - adding logging for bucket creation. 2013-07-29 13:37:27 +02:00
Michael Nitschinger
3a72ca7f96 DATACOUCH-19 - adding optional bucket creation step. 2013-07-29 13:19:54 +02:00
Michael Nitschinger
a1279c971e DATACOUCH-19 - change testing to not use bucket manager. 2013-07-29 11:58:19 +02:00
Oliver Gierke
b701c59ea3 DATACOUCH-19 - Further test tweaks. 2013-07-29 11:01:52 +02:00
Oliver Gierke
898a892525 DATACOUCH-19 - Polished test setup in preparation for CI setup.
Renamed *Test to *Tests. Reduced connection timeout. Added logback.xml to reduce logging output.
2013-07-29 10:15:24 +02:00
Michael Nitschinger
0d7c2df2a6 DATACOUCH-24 - Adding testing for view-bases ops in template & repository. 2013-07-29 07:50:27 +02:00
Michael Nitschinger
ef3ad73268 DATACOUCH-23 - Make tests clean buckets, Import cleanup. 2013-07-26 10:58:45 +02:00
Michael Nitschinger
ab252f8924 DATACOUCH-6 - Add simple support for XML config 2013-07-17 14:58:51 +02:00
Michael Nitschinger
2ed710cfa2 DATACOUCH-6 - add support for xml-based configurations 2013-07-16 14:17:47 +02:00
Michael Nitschinger
2332e523b9 DATACOUCH-12: Refactor mapping layer to accomodate complex types.
This changeset is a complete refactor of the mapping layer to make
sure that _class complex type mapping works. It also decouples
the actual JSON mapping and abstracts it into a CouchbaseDocument
mapping. This ensures forward compatibility by potentially swapping
out JSON to a different format.
2013-07-16 07:43:43 +02:00
Michael Nitschinger
afab31ff2f DATACOUCH-11 - Upgrading Jackson to the last stable release 2013-06-03 15:21:13 +02:00
Michael Nitschinger
ab3e087b12 DATACOUCH-4 - Add Apache2 License Headers and @author field. 2013-06-03 13:56:26 +02:00
Oliver Gierke
a0b3335084 DATACOUCH-3 - Renamed base package to org.springframework.data.couchbase. 2013-06-01 11:47:32 +02:00
Michael Nitschinger
e44e01559e verify that maps work as well. 2013-05-29 12:31:50 +02:00
Michael Nitschinger
4c320a9473 Adding initial CRUD repository implementation. 2013-05-29 12:22:27 +02:00
Michael Nitschinger
a307d8f595 Adding client and cluster JMX stats. 2013-05-29 10:13:24 +02:00
Michael Nitschinger
7f1dbfaa1d Adding more JMX infos. 2013-05-28 16:18:37 +02:00
Michael Nitschinger
dfb19ea7f7 Adding basic JMX support 2013-05-28 14:54:43 +02:00
Michael Nitschinger
6e04c9edc3 Make sure list saving/loading works. 2013-05-28 13:43:00 +02:00
Michael Nitschinger
5b1b1d11ca Adding simple remove 2013-04-08 11:05:35 +02:00
Michael Nitschinger
02bc8b24f1 Small test rename. 2013-04-08 10:35:22 +02:00
Michael Nitschinger
83aa6e0acf Refactoring read to use instantiators. 2013-02-07 14:51:56 +01:00
Michael Nitschinger
f59c182dbe Initial findById implementation. 2013-02-07 11:19:23 +01:00
Michael Nitschinger
d01aaff90d Upgrading dependencies and more tests for templates. 2013-02-07 09:07:10 +01:00