Initializing the policy store the very first time
If the DB is empty, then we insert the default policy, as given in thepolicy.json file.
Applying the new policy semantics everywhere
Test cases for EffectUnitPrice
Manually revert to ddd366d
more test cases
Fix a compilation error (did not implement a MemStore method)
DSLUtils is now deprecated. Implemented the functionality of EffectivePriceUnit.scala, added CronSpec.scala and moved a few methods from DSLUtils to TimeslotComputations.scala
Merge remote-tracking branch 'origin/master'
Second cut of the new policy configuration system
Major changes. Does not compile. Will need a third round.
Tests for DSLTimeFrame.intervalsOf method
Timespecs should be working ok now!
Upgrade Akka to 2.0.2
In the process, cleaned up code and make a few changes for more robustactor cache handling.
Use finagle instead of spray for the REST functionality
Not tested yet
Merge commit '695c71e20f5a068757525453e76792914b15b2bd'
Refactor Aquarium to make it more configurable
- No Aquarium singleton any more.- Aquarium is bootstrapped and configured using a builder.- Services are wired a bit differently right now. Needs more testing, in order to reach previous runtime stability.
Several fixes and refactorings ins package logic.acounting.dsl
WIP Resource event handling
Being devops-friendly until a user creation event arrives
Fix compilation
That's what happens if one develops and runs the thing from inside anIDE for while...
Make Aquarium a service. Move startup functionality to it.
Rename Configurator to Aquarium
Obtain Aquarium Home in a cleaner and more flexible way
WIP Rework AMQP stuff
WIP Reowrk AMQP stuff and introduce the event bus
WIP Reowrk AMQP stuff.
Reasons (in no particular order):1. Started getting some exception from akka-amqp module out of theblue.2. akka-amqp module, used by the current implementation, is not going tobe supported anymore and I cannot depend on such random decisions....
Event refactoring
Refactor charging computation + data
WIP: ResourceEvent-related refactorings
Change API for contextual logger usage
WIP: IMEventModel end-to-end chain
Keeping IMState locally in the UserActor.
Use stop() instead of PoisonPill
Remodeling events
WIP: Remodeling UserState store mechanics
Dispatcher -> Router
Rename package and make-dist with maven offline mode
WIP: Remodeling events
Start coding a few tests
Add () to effect-full nowMillis()
Testing assumptions simpler and more flexible
Clearer error handling when peristing ResourceEvent
Fix compilation of tests
Exception -> AquariumException
Use TimeHelpers.nowMillis
Json conversions now go via standard converters
Start using converters
Code reorganization
Fix API breakage from previous upgrade
In the process, renamed a few Exceptions to AquariumExceptions.
ID as a suffix is ID and not Id
Copyright
Delete reference to non-existent constant
Fix how rest port is obtained (#2263)
Modularize tests
Deprecate the descriminator field for complex resources
Add a test for an orphan vmtime OFF
Add two billing month tests
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
Further modularization of user state change computation
Buffer new wallet entries and update user state
Minor changes
Refils resource for handling credit refils
Make better use of calculation reason and the stored _id
Reuse user creation time from user state
Add calculatin reason and simplify the API
Fix a test to comply with the new semantics for complex/simple resources
Check that default policies are applied
Check for existence of default role mapping
Change the DSL for the billing test
Unifying simple & complex resources.
Part One.
Unifying simple & complex resources (Part II)
Adjusting simulation classes.
Test and concequent fix for the roles-agreement mappings parser
Fix(?) align timeslots
Timeslot alignment test
Remove unused parameter (defaultPolicy)
Continuous debugging sessions...
Refactor
Reworked the simulation package
Remove unused class, set config name for aquarium exchange
Add more simulation stuff
Fixed tests and implementation of alignTimeslots
Akka 1.3.1, x-ha-policy for queues, tests for alignTimeslots
Preparing the move to master
Enhance default user state creation
A day's worth of debugging enhancements. Back to square one.
Semantic changes and fixes on policy store.
Originally, policy store was for DSLPolicy. Now it is for PolicyEntry.The commit reflects this semantic change to the API. Furthermore, afew relevant changes have been made.
Merge branch 'master' into tmp_master_merger
Conflicts: src/main/scala/gr/grnet/aquarium/logic/accounting/Accounting.scala src/main/scala/gr/grnet/aquarium/logic/accounting/dsl/Timeslot.scala
Use billing month info, according to the new API
Date calculator is mutable
Change timeslot.contains to include timeslot boundaries
Change effective timeslot method sig to accept timeslots
This is to ensure that for all expansions, the end date is afterthe start date.
Warnings--
Applicability timeslots for policies and timeslots
Charge events by spliting charge time intoslices defined by the applicability timeslots forpolicies and agreements
Trivial fixes, toString implementation
Method to align a list of timeslots to another timeslot's boundaries
Add bandwidth simulator