Json conversions now go via standard converters
Start using converters
Make UserActorManager reflective
Code reorganization
Remove unused message
User actor code reorganization
Rename the null receiver and throw an NPE on null reception
ReflectiveAquariumActor extends AquariumActor
AquariumActor extends Loggable be default
Simpify actor creation and configuration
Send configuration message for those roles that want it
Simplify reflective method matches
Initial support for the administrative cookie
Finer-grained control over saving unparsed events
Add utility method for stack trace
Add two json-related utility methods
Anticipating the use of converters.
Rename HERE to CONF_HERE
Remove unused code
Fix API breakage from previous upgrade
In the process, renamed a few Exceptions to AquariumExceptions.
Use a file appender for logging
Proper logging configuration
We take advantage of AQUARIUM_HOME to locate logback.xml.Inside the code, we use a custom initialization sequence to bootlogback-classic for slf4j.
Simplify resource locator. Use AQUARIUM_HOME
ID as a suffix is ID and not Id
Local fs store for events must be outside AQUARIUM_HOME hierarchy
Properly save to local fs store (for debugging)
Handle ACK/NACK for unparsed event
Add filename-friendly versions of formatting methods
TODO: ResourceEvents: Save unparsed ones to DB
Introduce save.unparsed.event.im
This is a boolean flag. If set to true then a user event arriving fromthe queue that cannot be parsed to a UserEvent object is saved to theUserEventStore.
Forward only not-null events (ie parsed)
Keep the boolean character of persist and combine it with local fs event storage
Remove suspicious code
eventVersion is a String now (Fixes #2290)
Do not startup if AKKA_HOME is set.
We do not rely on external AKKA setup, so having AKKA_HOME around isdangerous.
TODO: Use AQUARIUM_HOME in the resource context
Lazy vals to the rescue (Beware of NPEs)
Doc for AQUARIUM_HOME and move HERE to resource locator
Make local fs store relative to AQUARIUM_HOME
If it is not in absolute form already.
Mome AQUARIUM_HOME to ResourceLocator
Get canonical file of home
User events that cannot be parsed to objects are just stored
Make an array of bytes (UTF-8) from a String
Make a UTF-8 string from an array of bytes
Move effectful handling from definition site to use site
Pay attention to this one (!)
Store received events in local fs (debug mode) even if they do not parse
Ehhmm... Do not lie about guarantees
Also storing events in the filesystem (for debugging)
Disabling incompatible assertions
The do not play with the test.sh script and the IM events it generates.TODO: Fix the behaviour of either the assertions or the event generator.
Carry along the initial event payload
Add folder to store incoming events
This is a debugging aid, triggered by the presence of a configurationkey.
Introduce AquariumException
Set AQUARIUM_HOME and print a bunch of useful properties
FIXME notice
Copyright
Introduce the resource locator
There are still stuff that need to be cleaned up, eg how policy filesare loaded in Policy.scala but let's deal with them one at a time.
Fix how rest port is obtained (#2263)
Take care of a bug in the Props library
Ints are not properly converted. This is my library (external to theproject) so I must find time to fix it.
Comment on dependency tracking/sorting
Selectively configure actors
Mark configuration messages
Notes from George
Deprecate the descriminator field for complex resources
Support for sending messages from user actors
Set queue prefetch size to 1.
This might decrease queue reading performance but it alsoincreases the chances of no messages get lost if Aquariumcrashes
Allow more than 1 threads to access the cache concurrently
Add a test for an orphan vmtime OFF
Update the latest resource event in user state when processing one resource event
Show size even when printing in one line (for Seq)
Change _id to id
It was interfering with MongoDB _id generation.
Cost policy name is already known
Simple test case with one ON-OFF sequence.
Seems OK but not checking if produces the exact value.
Refactor test class to prepare for more test cases
Synthetic resource events and wallet entries
Calculations for synthetic stuff
Finer-grained handling of implictly issued events
First cut. More to follow
Start hooking implicitly issued events
User actor supervisor, actor cache based on Guava
The map is already immutable now
Use an immutable map for the variables
Rename a couple of methods
User state change computation modularization Part III
Further modularization of user state change computation
Introduce user state worker in order to modularize user state computations
Buffer new wallet entries and update user state
Lower the logging noise
Enhance user state. Refactor state change reason
Start a better documentation for the user state attributes
Add a debugging method
Refactor the saved resource events to a list
Add the reference timeslot to new wallet entry
Create user on new user event arrival
Method to look for a configuration file
Make event type comparisons ignore case
Forward all events to the dispatcher
Search for user specified config file first
Correctly store and send user events
Make better use of calculation reason and the stored _id