Greg Burd
58b29ad181
Caching entity results within the context of a UOW (even nested) seems to be working.
2017-09-12 14:09:51 -04:00
Greg Burd
1b46ee0ed1
WIP: More work toward entity cache, very broken at this point.
2017-09-01 15:38:58 -04:00
Greg Burd
cb09324ac6
Commented out the UOW cache (as it's not yet finished/working) and updated the version number.
2017-08-31 14:10:26 -04:00
Greg Burd
5089be2c22
Adding more support for the Draft/Builder pattern for entity objects. Fixed a number of issues and added more tests.
2017-08-31 14:06:44 -04:00
Greg Burd
3cd889ea61
WIP: More work toward UOW caching but mainly a lot of work to cleanup the API.
2017-08-30 13:41:15 -04:00
Greg Burd
09b06f4ca4
WIP: Fixed the ordering of commit.andThen(() -> {}) to match the nesting and fire iff the outter most UOW has committed. Made UnitOfWork Closable which will abort the work iff it has not previously been committed or aborted. Started to add tests to exercise Helenus UnitOfWork (transactions).
2017-08-29 10:13:29 -04:00
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
84bb6b5fae
WIP: moving maven build to gradle
2017-08-18 16:50:05 -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
0fd9ff828c
Update version to 2.0.21
2017-08-17 12:15:48 -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
007b6a51ae
Merge branch 'develop' into 2.0.19-SNAPSHOT
2017-08-15 15:14:45 -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
1c68ebdcb8
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:05:22 -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
ec55c67d17
Merge branch '2.0.16-SNAPSHOT' into develop
2017-08-10 16:16:15 -04:00
Greg Burd
7f5cc4add6
Merge branch '2.0.15-SNAPSHOT' into develop
2017-08-10 16:15:26 -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
5b0311c88a
Merge branch '2.0.12-SNAPSHOT' into develop
2017-08-09 15:03:59 -04:00
Greg Burd
fd99b60913
Remove Integer/Enum conversion, it wasn't necessary.
2017-08-09 15:03:26 -04:00
Greg Burd
62e2e75dfc
Merge branch '2.0.12-SNAPSHOT' into develop
2017-08-09 15:00:46 -04:00
Greg Burd
fa39908f4c
Remove Integer/Enum conversion, it wasn't necessary.
2017-08-09 15:00:19 -04:00
Greg Burd
253816bd8c
Remove Integer/Enum conversion, it wasn't necessary.
2017-08-09 11:49:38 -04:00
Greg Burd
512cb0f608
Fix for mapping integers to enum in proxy.
2017-08-09 10:42:28 -04:00
Greg Burd
c6cadf345b
Merge branch '2.0.10-SNAPSHOT' into develop
2017-08-09 10:23: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
2ebae2aaef
Changed Zipkin API a bit, now requires a TraceContext rather than a Span before sync/async calls.
2017-08-09 09:35:14 -04:00
Greg Burd
cbc246f1c0
Merge branch '2.0.8-SNAPSHOT' into develop
2017-08-08 15:30:08 -04:00
Greg Burd
b9600ac931
Fix Zipkin tracing logic.
2017-08-08 15:28:51 -04:00
Greg Burd
efb26b8618
--amend .
2017-08-08 14:28:31 -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
eb9dd05147
Move Guava backwards to the last verison suppored by JDK 1.7 (ver 20.0).
2017-07-31 10:22:01 -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
b98f9ed7f5
Remove Travis/CI from inherited repo as we'll be reconfiguring this soon. Update pom to reference Onshape, not 'gburd'.
2017-07-27 15:18:31 -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