Commit graph

190 commits

Author SHA1 Message Date
Greg Burd
c35d6d19d1 WIP: toward caching at session and unit of work. 2017-08-25 16:13:31 -04:00
Greg Burd
7ac9288eb8 Added update(draft). 2017-08-25 16:09:06 -04:00
Greg Burd
933526b05b WIP: still working toward a solid caching scheme, progress but far from done. 2017-08-18 16:44:30 -04:00
Greg Burd
28aa3b1bae WIP: Working toward a solution that can cache result sets and/or transformed entity instances when annotated with @Cacheable in the Session cache. 2017-08-17 16:00:19 -04:00
Greg Burd
94ce778451 formatting 2017-08-17 12:14:00 -04:00
Greg Burd
142688a215 Funnel all paths to the database through one single method implementation (the 'Executioner') so as to ensure all calls into Cassandra are wrapped in a common way (traced, measured, cached, etc.) in a single place. 2017-08-17 12:05:50 -04:00
Greg Burd
6ad99fc459 formatting 2017-08-17 10:22:03 -04:00
Greg Burd
602e3521b4 Values return to the client in a proxy object should be converted to the proper type. 2017-08-16 13:43:46 -04:00
Greg Burd
9c4d14cc93 Enable serialization of proxied entity objects. Enable the use of default implementation for getter methods to supply default values when the map contains a 'null' (or doesn't contain that key). 2017-08-15 14:58:07 -04:00
Greg Burd
89303f9179 Fix the InsertOperation transform method to properly hydrate the pojo with all property values or, in some cases, their default values before returning it to the caller. 2017-08-11 12:19:53 -04:00
Greg Burd
90e19907d2 Merge branch '2.0.15-SNAPSHOT' into develop 2017-08-10 16:10:31 -04:00
Greg Burd
cf2740337e Add 'Drafted' interface and extend the InsertOperation to recognize that so as to be able to persist the mutated set of keys only yet return a pojo with values matching the draft, not just the mutations.
Changed {in,up}sert() to return the instance of the object.
2017-08-10 16:06:31 -04:00
Greg Burd
8569eaa76f Add 'Drafted' interface and extend the InsertOperation to recognize that so as to be able to persist the mutated set of keys only yet return a pojo with values matching the draft, not just the mutations. 2017-08-10 13:09:34 -04:00
Greg Burd
a126607c09 Added check for mutated set so that the backingMap could contain all object values. The other option was to auto-refresh the instance's backing map when a getter is invoked for a valid property that isn't included in the backing map (which still may be handy/required for caching to work). 2017-08-09 16:20:38 -04:00
Greg Burd
871c8d0c90 Fix minor error. 2017-08-09 15:12:24 -04:00
Greg Burd
fa39908f4c Remove Integer/Enum conversion, it wasn't necessary. 2017-08-09 15:00:19 -04:00
Greg Burd
f008a33e53 Changed Zipkin API a bit, now requires a TraceContext rather than a Span before sync/async calls. 2017-08-09 10:22:59 -04:00
Greg Burd
b9600ac931 Fix Zipkin tracing logic. 2017-08-08 15:28:51 -04:00
Greg Burd
71e84da3bd Start plumbing for Dropwizard metrics and Zipkin tracing. Ensure proper bean value when working with enums. 2017-08-08 12:02:32 -04:00
Greg Burd
f4dbf34920 Remove Scala support and trim Future support at some point I'll re-introduce using Java 8 classes rather than Guava's or Scala's 2017-08-04 11:18:54 -04:00
Greg Burd
c42803b964 Return a Function on successful UnitOfWork.commit() so as to allow users to execute code post-commit iff that commit was successful. 2017-08-04 09:26:58 -04:00
Greg Burd
7497cf5a18 Add compatibility with Java 8 CompletableFuture converting our Guava-supplied ListenableFuture. 2017-08-03 15:38:13 -04:00
Greg Burd
b44c898682 Add the LOCAL_* consistency levels. Add a way to provide a default consistency level for all session operations. 2017-08-02 12:54:01 -04:00
Greg Burd
18cfc85f45 Move logic that filters out unset columns from INSERT statements into InsertOperations because we need to use the proxy implementation's ability to fetch default type-specific values in other places. This change also enables concrete implementations of mapped interfaces to implement MapExportable and use the same method to filter unset values. 2017-08-02 11:35:11 -04:00
Greg Burd
03567dc57e Enable partial updates using partial entity maps. 2017-08-01 12:48:14 -04:00
Greg Burd
de495ae0eb Fixed the embedded Cassandra server by using a newer version, no published artifact so had to include JAR file. Ran Facebook tool called 'infer' which was fairly clean (mvn clean; infer -- mvn package -Dmaven.test.skip=true), two minor potential resource leaks and one possible null pointer dereference 2017-07-28 11:44:48 -04:00
Greg Burd
715fb0e673 Helenus was the son of King Priam and Queen Hecuba of Troy, and the twin brother of the prophetess Cassandra. Like Cassandra, he was always right, but unlike her, others believed him. Seems like a good name for a layer to access DataStax, Apache, or ScyllaDB's implementations of the Cassandra database.
- move to 3.x DataStax drivers (NOTE, this broke the Casser.dsl() API a bit)
 - introduce UnitOfWork-style pseudo transactional scoping (WIP as of this commit)
 - introduce session and UnitOfWork scoped caches (WIP as of this commit)
 - add support for SASI-based secondary index types (such as case insensitive matching, etc.)
 - add support for Lucene-based secondary index types (WIP https://github.com/Stratio/cassandra-lucene-index)
 - update types for Java 8 (WIP)
 - add in Codahale/Dropwizard and Zipkin metrics/tracing support (WIP)
 - and a lot more...
2017-07-27 15:02:17 -04:00
Alex Shvid
13a2f5bffa update information about author 2016-07-04 10:24:04 -07:00
Albert Shift
c1f710584a refactor Timeuuid, add minOf and maxOf methods for Timeuuid 2015-09-12 20:35:24 -07:00
Albert Shift
071f6466ae use Scala Option and Stream in Scala future results 2015-06-23 08:34:20 -07:00
Albert Shift
ba416ba1ff correct java docs 2015-06-19 13:56:09 -07:00
Albert Shift
49b7c07ab2 add java doc comments to all annotations in mapping 2015-06-19 12:55:38 -07:00
Albert Shift
c1ca49fbea query syntax sugar fix in 'in()' operator 2015-06-14 14:07:11 -07:00
Albert Shift
66ccb0feb1 skeep annotations in package scaning process 2015-06-10 16:51:19 -07:00
Albert Shift
1eb3c17d6b support annotaiton on constraint annotation 2015-06-10 16:46:57 -07:00
Albert Shift
52c3f19ea2 add value validator implementation for simple types (does not support
collections and maps)
2015-06-09 23:18:42 -07:00
Albert Shift
c0b16c2db6 Add CasserValidator for property values 2015-06-09 14:55:57 -07:00
Albert Shift
49cb219849 parse contraint annotations and initilize validators 2015-06-09 13:23:25 -07:00
Albert Shift
9919fd9e25 implement common validators for constraints 2015-06-09 12:48:55 -07:00
Albert Shift
46a476a34f update comments in Constraints 2015-06-08 23:18:22 -07:00
Albert Shift
7e87bce918 rename annotation name 2015-06-08 21:52:18 -07:00
Albert Shift
3966640694 rename Constraint class to Constraints 2015-06-08 21:50:00 -07:00
Albert Shift
99db68d75c update Constraint java docs and annotations 2015-06-07 12:52:04 -07:00
Albert Shift
78d076768e Constraint name for the data integrity annotation 2015-06-07 12:35:33 -07:00
Albert Shift
fe3782bf10 check columns for UDT types as well as Tables 2015-06-07 00:24:31 -07:00
Albert Shift
a46421fcce addPackage test 2015-06-06 15:27:14 -07:00
Albert Shift
6e3a130279 add package of entities 2015-06-06 15:12:21 -07:00
Albert Shift
ba86534086 add java doc in Types annotations 2015-06-05 14:16:45 -07:00
Albert Shift
18ee6ab214 add Data annotations 2015-06-05 13:02:28 -07:00
Albert Shift
7f68e7a027 add single() method in SelectOperation 2015-06-03 13:29:33 -07:00