Make timestamp a property and add an eventType method
Base class to treat time bounded items uniformly
Methods and tests for reversing effectivity periods
Stricter test of succesiveness for computed timeslots
It's enough to have an empty list instead of an Option[List()]
Self-validation support for messages
Support for expanding all timeslots for a timeframe
Preliminary code for event charging
Remove dead code
Base event for all Aquarium events, with serialization functionality
Convert to a generic msg dispatcher
Single point of reference for the effective charging policy
MongoDB configuration, connecting, test
Small fix to make it compile
AMQP consumer enhancement/fixes
New resource event format
Specify resource characteristics and implement parser
Do not reveal passwords from logging
Remove code to be re-written
Continuing with rabbitmq tests
Add some logging facilities combined with business logic
Parse credit plans and associate them with agreements
Make the rabbit test grab the needed configuration from runtime system property
Make the mongodb test grab the needed configuration from runtime system property
Introduce credit plans to the policy DSL
Move type refactorings for DSL implementation classes
Term renaming in Aquarium policy DSL
creditpolicy -> aquariumpolicypolic{y,ies} -> algorith{m,ms}
More dead code removal
Dead code elimination
Lift stupid no-comma-in-cron restriction
Scaladoc fixes
Move DSL case classes in own files, impove docs
Expand timeframes, code and tests
Introducing MongoDB functionality. Tests are still WIP
Remove unused trait
Finish testcase for amqp. Using a localhost installation running
Use configuration to initialize rabbit conection factory
amql cleanup and start of testing
WIP.First cut of amqp-rabbit configuration-based api
Consistency check for non-initialized hr/min fields in dates
Utility trait for handling DSL conventions
Simple utility funcions for working with dates
Preconditions and compatibility layer for java.util.Calendar
Skeleton for the DSL semantic checker
Semantic analyser for the credit DSL
Actually store pricelists and agreements in policy
Fix build, comment out failing test ftm
Really parse dates
A couple of Map related util functions
Merge changes
Use a separate test db
Just a LazyLoggable
Copyright headers
Parse agreements
Start making the DSLParser code readable
Fix various compilation errors, dummy impl of missing method
Correct specification of cron strings
Initial parsing of agreements
Fix construction of YAMLDoubleNode
Reorganize credit model and enhance the YAML nodes with path info
Parse policies and correct cron string definition
Parse double nodes
Don't use "match anything" in Yaml parser matches
Better to fail loudly rather than silently.
Reorganize a bit the credit model
Remove redundant credit type info from credit amount. The origin already has this info.
A few modifications in the credits dsl and a minor doc enhancement
Make to an optional field in DSLTimeFrame
Policy inheritance
Override algorithms and effectivity periods with super-policy values
WIP. Introduce credit distribution type, credit origin and credit amount
Merge branch 'master' of https://code.grnet.gr/git/aquarium
Introduce credit type
Documentation, merge effective periods skel
Take a safer head of a YAMLListNode
Fully parse non-inherited policies
Construct YAML node from YAML node, isEmpty a la List
Code beautification, better error handling
Integer node for the YAML tree
Use the YAML types introduced yesterday, docs
Head and tail list operations
Introduce some helper classes for manipulating YAML and start modelling of credit definitions.
Parse cron strings as time duration specifications
Remove var qualifiers from case class arguments
Start processing policy inheritance
Initial data model and parsing code for CreditPolicy DSL
Input events now have start and end date
Unit test to test the entire charging framework
Fix algorithm for obtaining applicable pricing policy
Switch amounts to double precision numbers
Implementations for several method stubs
Accessors for class members
Default charging policy is to multiply price with volume
A list whose pricing scales with volume
Very simple price list
Make it compile
Make sure that events are valid before forwarding
Keep track of existing agreements
Separate pricelist from charging policy
Keep track of original events when calculating accounts