Gang, I have been working on a Cassandra store. It doesn't use the MapEntityStore, but text, timestamp and map data types in Cassandra. Only serialized ValueComposite typed properties use JSON serialization.
Now to the subject of this mail... Once the test is done, I want to execute a clean up on the cassandra cluster that is used for the testing, and doing so without compromising the service with a "removeAll" or exposing the cluster/session in the service interface. So, first of all, move all Cluster/Session handling of the EntityStore into a CassandraCluster "private" interface with a Mixin that has operations against the store. But still no "removeAll". I then created a CanRemoveAll interface in org.polygene.core.testsupport.entity. And in the test directory in cassandra-es I have the EmptyCassandraTableMixin for that. Finally a module.services( CassandraEntityStoreService.class ).withTypes( CanRemoveAll.class ).withMixins( EmptyCassandraTableMixin.class ); So what is so nice about this; 1. The test is adding mixins to the service, to make it more controllable from the test executor. 2. The test support is leveraging private Mixins to keep the public APIs clean. 3. Any amount of test support could be 'attached' to Composites in this fashion and reach into its internals by the use of Private Mixins. Anyway, just wanted to share this... Next; get the test to use Docker. I think I can figure it out. Paul, will it kick in automatically, or do I need to invoke some task? Cheers -- Niclas Hedhman, Software Developer http://polygene.apache.org <http://zest.apache.org> - New Energy for Java