Georgios Gousios [Tue, 14 Feb 2012 09:41:46 +0000 (11:41 +0200)]
Use common fail() instead of exit
Georgios Gousios [Tue, 14 Feb 2012 09:40:47 +0000 (11:40 +0200)]
Fix name for policy sotre
Christos KK Loverdos [Mon, 13 Feb 2012 16:30:28 +0000 (18:30 +0200)]
WIP on wallet entries.
Constructing a proper value map depending on the cost policy.
Christos KK Loverdos [Mon, 13 Feb 2012 15:40:42 +0000 (17:40 +0200)]
Introduce cost policy vars
These are the variables needed by each cost policy in order to do the
credit charge calculations. Normally, they are used by the algorithms
that do the actual calculations.
Christos KK Loverdos [Mon, 13 Feb 2012 15:39:36 +0000 (17:39 +0200)]
Remove @inline annotations because of warnings
Christos KK Loverdos [Mon, 13 Feb 2012 14:18:36 +0000 (16:18 +0200)]
Start computing wallet entries
Christos KK Loverdos [Mon, 13 Feb 2012 11:43:41 +0000 (13:43 +0200)]
Fix method name in date calculator
Christos KK Loverdos [Mon, 13 Feb 2012 11:42:52 +0000 (13:42 +0200)]
Enhance contextual logger and show sample output
Christos KK Loverdos [Mon, 13 Feb 2012 11:42:04 +0000 (13:42 +0200)]
Add bandwidth simulator
Georgios Gousios [Tue, 14 Feb 2012 08:48:41 +0000 (10:48 +0200)]
Finish script to start/stop aquarium
Georgios Gousios [Mon, 13 Feb 2012 15:55:20 +0000 (17:55 +0200)]
Startup script for Aquarium
Georgios Gousios [Mon, 13 Feb 2012 14:06:22 +0000 (16:06 +0200)]
Skeleton functions tested working
Georgios Gousios [Mon, 13 Feb 2012 13:56:57 +0000 (15:56 +0200)]
Factor out clean and fail operations in methods
Georgios Gousios [Mon, 13 Feb 2012 12:46:29 +0000 (14:46 +0200)]
Stash instead of requiring commit
Georgios Gousios [Mon, 13 Feb 2012 11:59:20 +0000 (13:59 +0200)]
Checkout and create dirs
Georgios Gousios [Mon, 13 Feb 2012 11:55:11 +0000 (13:55 +0200)]
Initial version of script to generate aquarium distr archive
Christos KK Loverdos [Thu, 9 Feb 2012 21:45:16 +0000 (23:45 +0200)]
Merge branch '1852_billing_period_calc'
Christos KK Loverdos [Thu, 9 Feb 2012 17:00:23 +0000 (19:00 +0200)]
Inline a couple of utility methods
Christos KK Loverdos [Thu, 9 Feb 2012 16:57:49 +0000 (18:57 +0200)]
Ignoring non-billable events
Christos KK Loverdos [Thu, 9 Feb 2012 16:30:31 +0000 (18:30 +0200)]
Fix and augment logger
Christos KK Loverdos [Thu, 9 Feb 2012 15:42:53 +0000 (17:42 +0200)]
Special data structure for implicit OFF events
Christos KK Loverdos [Thu, 9 Feb 2012 15:41:27 +0000 (17:41 +0200)]
Cleanup resource event
Christos KK Loverdos [Thu, 9 Feb 2012 15:40:52 +0000 (17:40 +0200)]
Add map-related utility methods
Christos KK Loverdos [Thu, 9 Feb 2012 14:11:54 +0000 (16:11 +0200)]
Adjust logging output
Christos KK Loverdos [Thu, 9 Feb 2012 14:00:18 +0000 (16:00 +0200)]
Oh, I like contextual loggers.
Really handy when debugging.
Christos KK Loverdos [Thu, 9 Feb 2012 12:36:01 +0000 (14:36 +0200)]
Fix a bug in date fortmatting
Georgios Gousios [Thu, 9 Feb 2012 09:13:13 +0000 (11:13 +0200)]
Merge branch '1852_billing_period_calc'
Christos KK Loverdos [Wed, 8 Feb 2012 17:41:14 +0000 (19:41 +0200)]
Termination condition for billing month calculation
Christos KK Loverdos [Wed, 8 Feb 2012 17:40:42 +0000 (19:40 +0200)]
Augment date calculator
Christos KK Loverdos [Wed, 8 Feb 2012 16:51:49 +0000 (18:51 +0200)]
Rework data snapshots. Add one more to user state
Christos KK Loverdos [Tue, 7 Feb 2012 15:25:41 +0000 (17:25 +0200)]
Start the real deal
Georgios Gousios [Tue, 7 Feb 2012 15:08:02 +0000 (17:08 +0200)]
Don't attempt to clean up when not using mongo for testing
Georgios Gousios [Tue, 7 Feb 2012 15:07:31 +0000 (17:07 +0200)]
Better implementation of the no gaps test
Georgios Gousios [Tue, 7 Feb 2012 14:48:48 +0000 (16:48 +0200)]
Rewrite policy file to trigger reparse in test
Georgios Gousios [Tue, 7 Feb 2012 14:48:22 +0000 (16:48 +0200)]
Method to check whether a (sorted) list of timeslots contains gaps
Georgios Gousios [Tue, 7 Feb 2012 14:47:39 +0000 (16:47 +0200)]
Just reload policies from the store, instead of attempting to reconstruct state
Georgios Gousios [Tue, 7 Feb 2012 14:47:01 +0000 (16:47 +0200)]
New method for retrieving a policy by its id
Georgios Gousios [Tue, 7 Feb 2012 11:46:17 +0000 (13:46 +0200)]
Support for setting a custom configurator for unit testing
Georgios Gousios [Tue, 7 Feb 2012 11:45:14 +0000 (13:45 +0200)]
Absolute before/after methods
Georgios Gousios [Tue, 7 Feb 2012 11:44:47 +0000 (13:44 +0200)]
Remove references to the obsolete scala-tools repo
Georgios Gousios [Tue, 7 Feb 2012 09:30:54 +0000 (11:30 +0200)]
Use in memory store by default for tests
Georgios Gousios [Tue, 7 Feb 2012 09:30:37 +0000 (11:30 +0200)]
Switch to using Long.MaxValue to denote open timeframes
Don't use -1 in the to field to denote open timeframes
as it requires special treatment in various places and
is semantically ambiguous.
Georgios Gousios [Tue, 7 Feb 2012 09:28:02 +0000 (11:28 +0200)]
Read configuration values from the cmd-line
Christos KK Loverdos [Mon, 6 Feb 2012 16:23:50 +0000 (18:23 +0200)]
Merge branch '1852_billing_period_calc'
Christos KK Loverdos [Mon, 6 Feb 2012 16:16:47 +0000 (18:16 +0200)]
Pruning stuff from user state
Christos KK Loverdos [Mon, 6 Feb 2012 13:56:45 +0000 (15:56 +0200)]
Factoring out common code
Georgios Gousios [Mon, 6 Feb 2012 13:54:48 +0000 (15:54 +0200)]
Various test enhancements
-Support for selecting the store implementation at test runtime
-Get raw values for test configuration items
-Test for policy load/store
Georgios Gousios [Mon, 6 Feb 2012 13:53:24 +0000 (15:53 +0200)]
Construct and return a policy entry
Georgios Gousios [Mon, 6 Feb 2012 13:52:44 +0000 (15:52 +0200)]
Conform to the specification, return results sorted
Christos KK Loverdos [Mon, 6 Feb 2012 13:51:02 +0000 (15:51 +0200)]
Add some debugging beautification
Christos KK Loverdos [Mon, 6 Feb 2012 13:28:37 +0000 (15:28 +0200)]
Make UID generators for simulations more flexible
Christos KK Loverdos [Mon, 6 Feb 2012 12:37:46 +0000 (14:37 +0200)]
Update cc.spray repo and version
Christos KK Loverdos [Mon, 6 Feb 2012 11:37:11 +0000 (13:37 +0200)]
Better implement one query on resource event store
Christos KK Loverdos [Mon, 6 Feb 2012 11:36:30 +0000 (13:36 +0200)]
Add minute calculations to date calculator
Christos KK Loverdos [Mon, 6 Feb 2012 11:35:28 +0000 (13:35 +0200)]
Add time calculation helper to resource event
Christos KK Loverdos [Mon, 6 Feb 2012 10:54:24 +0000 (12:54 +0200)]
Minor api addition to date calc (+scaladocs)
Christos KK Loverdos [Mon, 6 Feb 2012 10:49:34 +0000 (12:49 +0200)]
Use copy() for mutable date calcs
Christos KK Loverdos [Mon, 6 Feb 2012 10:48:04 +0000 (12:48 +0200)]
Better names for mutable date calc methods
Christos KK Loverdos [Mon, 6 Feb 2012 10:36:06 +0000 (12:36 +0200)]
Fix a bug with mutable state.
Although DateCalculator is mutable, I was using it as an immutable.
Georgios Gousios [Mon, 6 Feb 2012 10:04:20 +0000 (12:04 +0200)]
Shut up a few compiler warnings
Christos KK Loverdos [Fri, 3 Feb 2012 15:26:18 +0000 (17:26 +0200)]
Enriching the test case
Christos KK Loverdos [Fri, 3 Feb 2012 12:11:24 +0000 (14:11 +0200)]
Add support for custom date formats in DateCalculator
Christos KK Loverdos [Fri, 3 Feb 2012 12:02:21 +0000 (14:02 +0200)]
Augment and use resources map functionality
Christos KK Loverdos [Fri, 3 Feb 2012 11:39:59 +0000 (13:39 +0200)]
Introduce a handy map of resources
Christos KK Loverdos [Fri, 3 Feb 2012 11:25:45 +0000 (13:25 +0200)]
Use basic rc context for policy loading.
Also try to refactor a bit in order to handle a few bugs (wip).
Christos KK Loverdos [Fri, 3 Feb 2012 00:29:48 +0000 (02:29 +0200)]
Factor out basic resource context
Christos KK Loverdos [Thu, 2 Feb 2012 16:43:22 +0000 (18:43 +0200)]
Add more simulation methods and enrich the test case
Cannot load the policy file from the test env though...
Christos KK Loverdos [Thu, 2 Feb 2012 16:42:09 +0000 (18:42 +0200)]
Retrieve a beautiful resource event value representation
Christos KK Loverdos [Thu, 2 Feb 2012 14:39:54 +0000 (16:39 +0200)]
Add a simulations package
This will be handy when creating test cases for the new billing code.
Christos KK Loverdos [Thu, 2 Feb 2012 14:39:20 +0000 (16:39 +0200)]
MemStore is a provider of itself
For simplicity, obviously.
Christos KK Loverdos [Wed, 1 Feb 2012 15:21:03 +0000 (17:21 +0200)]
Merge branch 'master' into 1852_billing_period_calc
Christos KK Loverdos [Wed, 1 Feb 2012 15:20:35 +0000 (17:20 +0200)]
Rename the mem store
Christos KK Loverdos [Tue, 31 Jan 2012 15:50:24 +0000 (17:50 +0200)]
Override configurator's store provider
It is better to use this new method before asking for anything from the
configurator.
E.g.
val mc = Configurator.MasterConfigurator.withStoreProviderClass(classOf[MemStoreProvider])
Christos KK Loverdos [Tue, 31 Jan 2012 14:39:03 +0000 (16:39 +0200)]
Merge branch 'master' into 1852_billing_period_calc
Conflicts:
src/main/scala/gr/grnet/aquarium/user/UserDataSnapshot.scala
src/main/scala/gr/grnet/aquarium/user/UserStateComputations.scala
src/main/scala/gr/grnet/aquarium/user/actor/UserActor.scala
Christos KK Loverdos [Tue, 31 Jan 2012 14:26:02 +0000 (16:26 +0200)]
Implement mem-based resource event store
Christos KK Loverdos [Tue, 31 Jan 2012 14:25:37 +0000 (16:25 +0200)]
A few changes so that everything compiles
Georgios Gousios [Tue, 31 Jan 2012 14:19:05 +0000 (16:19 +0200)]
In memory store for tests, change property files search to /etc/aquarium
Georgios Gousios [Tue, 31 Jan 2012 14:05:44 +0000 (16:05 +0200)]
Implementation of the UserEventStore interface in the in memory store
Christos KK Loverdos [Tue, 31 Jan 2012 13:56:34 +0000 (15:56 +0200)]
Implement mem-based wallet store
Georgios Gousios [Tue, 31 Jan 2012 13:38:12 +0000 (15:38 +0200)]
Implementation of the policy store interface
Georgios Gousios [Tue, 31 Jan 2012 13:13:49 +0000 (15:13 +0200)]
Empty implementations for all store interefaces
Georgios Gousios [Tue, 31 Jan 2012 12:55:54 +0000 (14:55 +0200)]
Mostly atomic update of policies, Docs++
Georgios Gousios [Tue, 31 Jan 2012 12:55:20 +0000 (14:55 +0200)]
Fix code assuming that a list always has a tail
Christos KK Loverdos [Tue, 31 Jan 2012 12:55:13 +0000 (14:55 +0200)]
Calculating resource instance amounts
Christos KK Loverdos [Tue, 31 Jan 2012 11:59:04 +0000 (13:59 +0200)]
Merge branch 'master' into 1852_billing_period_calc
Georgios Gousios [Tue, 31 Jan 2012 11:13:36 +0000 (13:13 +0200)]
Update available policies when on configuration file update
Georgios Gousios [Tue, 31 Jan 2012 11:10:38 +0000 (13:10 +0200)]
Wrapper for stored DSLPolicy YAML dumps
Georgios Gousios [Tue, 31 Jan 2012 11:09:21 +0000 (13:09 +0200)]
License headers
Georgios Gousios [Mon, 30 Jan 2012 15:42:57 +0000 (17:42 +0200)]
Logic to load/store policies from Policy store
Christos KK Loverdos [Mon, 30 Jan 2012 15:24:57 +0000 (17:24 +0200)]
Merge branch 'master' into 1852_billing_period_calc
Conflicts:
src/main/scala/gr/grnet/aquarium/user/UserDataSnapshot.scala
Christos KK Loverdos [Mon, 30 Jan 2012 15:17:53 +0000 (17:17 +0200)]
[Does not compile] Clearing up some misunderstanding with amounts
Georgios Gousios [Mon, 30 Jan 2012 14:56:32 +0000 (16:56 +0200)]
User agreement history in user store
Christos KK Loverdos [Mon, 30 Jan 2012 13:36:33 +0000 (15:36 +0200)]
Merge branch 'master' into 1852_billing_period_calc
Georgios Gousios [Mon, 30 Jan 2012 13:33:31 +0000 (15:33 +0200)]
API methods for policies
Georgios Gousios [Mon, 30 Jan 2012 13:27:07 +0000 (15:27 +0200)]
Implement custom Policy entry and policy storage ops
Christos KK Loverdos [Mon, 30 Jan 2012 13:25:21 +0000 (15:25 +0200)]
Merge branch 'master' into 1852_billing_period_calc
Christos KK Loverdos [Mon, 30 Jan 2012 13:21:52 +0000 (15:21 +0200)]
COntinue with billing code and start cleaning up user actor
Georgios Gousios [Mon, 30 Jan 2012 12:21:00 +0000 (14:21 +0200)]
Fix failing tests after merge
Georgios Gousios [Mon, 30 Jan 2012 10:42:51 +0000 (12:42 +0200)]
Merge branch '1852_billing_period_calc'
Conflicts:
src/main/scala/gr/grnet/aquarium/logic/accounting/dsl/DSL.scala
src/main/scala/gr/grnet/aquarium/logic/accounting/dsl/DSLAgreement.scala
src/main/scala/gr/grnet/aquarium/logic/accounting/dsl/DSLCostPolicy.scala
src/main/scala/gr/grnet/aquarium/logic/accounting/dsl/DSLCreditPlan.scala
src/main/scala/gr/grnet/aquarium/logic/accounting/dsl/DSLPriceList.scala
src/main/scala/gr/grnet/aquarium/logic/accounting/dsl/DSLResource.scala
src/main/scala/gr/grnet/aquarium/store/mongodb/MongoDBStore.scala
Georgios Gousios [Mon, 30 Jan 2012 10:15:11 +0000 (12:15 +0200)]
Fix all serialization to YAML issues