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
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
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
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
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.
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
Christos KK Loverdos [Fri, 27 Jan 2012 16:35:04 +0000 (18:35 +0200)]
Work in progress... Still in flux
Georgios Gousios [Fri, 27 Jan 2012 15:28:53 +0000 (17:28 +0200)]
toMap() method for remaining DSL classes.
Also, immutable map generation for all classes
Georgios Gousios [Fri, 27 Jan 2012 15:27:35 +0000 (17:27 +0200)]
Method to parse YAML from a String
Georgios Gousios [Fri, 27 Jan 2012 13:00:51 +0000 (15:00 +0200)]
One fact in one place commit
Christos KK Loverdos [Fri, 27 Jan 2012 12:38:52 +0000 (14:38 +0200)]
Upgrade Akka to 1.3 and refactor SBT build file
Georgios Gousios [Fri, 27 Jan 2012 10:55:25 +0000 (12:55 +0200)]
Basic support for serializing policies to YAML
Christos KK Loverdos [Thu, 26 Jan 2012 14:56:15 +0000 (16:56 +0200)]
Prune unused functionality.
Christos KK Loverdos [Thu, 26 Jan 2012 14:52:03 +0000 (16:52 +0200)]
Some new billing stuff.
Also using doubles everywhere instead of floats
Christos KK Loverdos [Tue, 24 Jan 2012 09:46:26 +0000 (11:46 +0200)]
Add some dependencies stuff
Christos KK Loverdos [Fri, 20 Jan 2012 13:08:20 +0000 (15:08 +0200)]
Do some pom.xml micromanagement
Georgios Gousios [Thu, 19 Jan 2012 16:26:38 +0000 (18:26 +0200)]
Support policy retrieval for a date
Georgios Gousios [Thu, 19 Jan 2012 16:26:10 +0000 (18:26 +0200)]
Policy store operations
Georgios Gousios [Thu, 19 Jan 2012 16:24:38 +0000 (18:24 +0200)]
Json support
Christos KK Loverdos [Tue, 17 Jan 2012 14:37:36 +0000 (16:37 +0200)]
Stylistic change
Christos KK Loverdos [Tue, 17 Jan 2012 14:34:56 +0000 (16:34 +0200)]
Cleanup some code before the coming changes
Christos KK Loverdos [Tue, 17 Jan 2012 14:24:22 +0000 (16:24 +0200)]
Avoid a compilation warning (-deprecation)
Christos KK Loverdos [Tue, 17 Jan 2012 13:45:22 +0000 (15:45 +0200)]
Doc cleanup in user actor
Christos KK Loverdos [Tue, 17 Jan 2012 13:44:43 +0000 (15:44 +0200)]
Gather billing computations in one file
Christos KK Loverdos [Tue, 17 Jan 2012 13:24:45 +0000 (15:24 +0200)]
Use receivedMillis for queries
Since Aquarium is the billing master, a billing period is defined in billing time.
So we use receivedMillis (aquarium time) and not occurredMillis (the event occurrence time).
This way we can easily make bills for past events and do not care when they will actually arrive.
Christos KK Loverdos [Tue, 17 Jan 2012 13:18:54 +0000 (15:18 +0200)]
Use wallet-specific json field names
Christos KK Loverdos [Tue, 17 Jan 2012 13:13:55 +0000 (15:13 +0200)]
Do some effectful composition instead of try/catch
Christos KK Loverdos [Mon, 16 Jan 2012 16:12:58 +0000 (18:12 +0200)]
WIP #1852 Periodic billing calculation
Christos KK Loverdos [Mon, 16 Jan 2012 15:45:33 +0000 (17:45 +0200)]
Change equals to ==
Christos KK Loverdos [Mon, 16 Jan 2012 14:10:06 +0000 (16:10 +0200)]
[maven-release-plugin] prepare for next development iteration
Christos KK Loverdos [Mon, 16 Jan 2012 14:10:05 +0000 (16:10 +0200)]
[maven-release-plugin] prepare release aquarium-0.1
Christos KK Loverdos [Mon, 16 Jan 2012 13:59:55 +0000 (15:59 +0200)]
Hack to make a release.
We need spray 0.9.2 release for this
Christos KK Loverdos [Mon, 16 Jan 2012 13:04:17 +0000 (15:04 +0200)]
Merge stuff from benchmark branch
Georgios Gousios [Mon, 16 Jan 2012 10:19:05 +0000 (12:19 +0200)]
Submitted version