aquarium
11 years agoImplement Continuous behavior with the new scheme
Christos KK Loverdos [Thu, 23 Aug 2012 13:22:02 +0000 (16:22 +0300)]
Implement Continuous behavior with the new scheme

Fix a bunch of related stuff in the process.

11 years agoAnother JSON-friendliness round
Christos KK Loverdos [Thu, 23 Aug 2012 09:45:07 +0000 (12:45 +0300)]
Another JSON-friendliness round

This time it could not deserialize due to some private field. Oh,
well...

11 years agoGet rid of charging reason to make life easier with JSON
Christos KK Loverdos [Thu, 23 Aug 2012 08:40:51 +0000 (11:40 +0300)]
Get rid of charging reason to make life easier with JSON

Unfortunately, the situation with JSON deserialization errors is getting
worse. I knew it, so I should have followed another path. Let me say it
once more:

Never, ever use string-based protocols/formats as your base.

Circa 2009: https://twitter.com/loverdos/status/5761681752

The bad news is that I do not have time to fix it in the next couple of
days due to a pending demo. Charging reason is not essential for the
demo, so I ditch it and put a reminder here so as to probably
reintroduce it in the future.

11 years agoAdd rabbitmq.imevents.credit property
Christos KK Loverdos [Wed, 22 Aug 2012 15:12:42 +0000 (18:12 +0300)]
Add rabbitmq.imevents.credit property

11 years agoImplement Once behavior with the new scheme. Refactor in the process
Christos KK Loverdos [Wed, 22 Aug 2012 14:08:30 +0000 (17:08 +0300)]
Implement Once behavior with the new scheme. Refactor in the process

11 years agoFixed RabbitMQProducer. Now it is fully reliable.
Prodromos Gerakios [Tue, 21 Aug 2012 13:51:08 +0000 (16:51 +0300)]
Fixed RabbitMQProducer. Now it is fully reliable.

11 years agoTowards a perfect RabbitMQProducer -> actor not receiving msgs
Prodromos Gerakios [Tue, 21 Aug 2012 13:26:11 +0000 (16:26 +0300)]
Towards a perfect RabbitMQProducer -> actor not receiving msgs

11 years agoFixed ping.sh
Prodromos Gerakios [Mon, 20 Aug 2012 10:53:36 +0000 (13:53 +0300)]
Fixed ping.sh

11 years agoadded ping.sh
Prodromos Gerakios [Mon, 20 Aug 2012 08:54:33 +0000 (11:54 +0300)]
added ping.sh

11 years agoChange var to val
Christos KK Loverdos [Fri, 17 Aug 2012 14:16:14 +0000 (17:16 +0300)]
Change var to val

11 years agoAdhere to existing naming conventions
Christos KK Loverdos [Fri, 17 Aug 2012 14:10:58 +0000 (17:10 +0300)]
Adhere to existing naming conventions

NOTE: Test integration with the receiving system (Astakos).

11 years agoWIP charging behavior
Christos KK Loverdos [Fri, 17 Aug 2012 13:37:40 +0000 (16:37 +0300)]
WIP charging behavior

11 years agoMinor fixes in UserActor, BillEntry and RabbitMQProducer
Prodromos Gerakios [Fri, 17 Aug 2012 06:15:53 +0000 (09:15 +0300)]
Minor fixes in UserActor, BillEntry and RabbitMQProducer

11 years agoMerge branch 'master' of https://code.grnet.gr/git/aquarium
Prodromos Gerakios [Fri, 17 Aug 2012 05:48:42 +0000 (08:48 +0300)]
Merge branch 'master' of https://code.grnet.gr/git/aquarium

11 years agoFinished Bill implementation. Added bill.sh to automatically send events and print...
Prodromos Gerakios [Fri, 17 Aug 2012 05:46:28 +0000 (08:46 +0300)]
Finished Bill implementation. Added bill.sh to automatically send events and print the resulting bill

11 years agoMerge selectors into master
Christos KK Loverdos [Thu, 16 Aug 2012 13:18:21 +0000 (16:18 +0300)]
Merge selectors into master

NOTE: master was in DNC state (Does Not Compile).

11 years agoHook selectors into the price computation path selectors
Christos KK Loverdos [Thu, 16 Aug 2012 12:58:33 +0000 (15:58 +0300)]
Hook selectors into the price computation path

11 years agoUse full type hints for json
Christos KK Loverdos [Thu, 16 Aug 2012 06:47:31 +0000 (09:47 +0300)]
Use full type hints for json

11 years agoEnable incremental compilation
Christos KK Loverdos [Thu, 16 Aug 2012 06:35:35 +0000 (09:35 +0300)]
Enable incremental compilation

11 years agoUpgrade scala-maven-plugin
Christos KK Loverdos [Thu, 16 Aug 2012 06:31:26 +0000 (09:31 +0300)]
Upgrade scala-maven-plugin

11 years agoRabbitMQProducer handles Nacks. UserActor accepts user balance additions from Astakos...
Prodromos Gerakios [Tue, 7 Aug 2012 13:55:23 +0000 (16:55 +0300)]
RabbitMQProducer handles Nacks. UserActor accepts user balance additions from Astakos. Timeslot.align has been fixed. Details Pings have been implemented.

11 years agoReliable message passing for RabbitMQProducer
Prodromos Gerakios [Mon, 6 Aug 2012 12:25:55 +0000 (15:25 +0300)]
Reliable message passing for RabbitMQProducer

11 years agoAdded REST functionality for the Bill. RabbitMQProducer was refined. UserActor sends...
Prodromos Gerakios [Fri, 3 Aug 2012 11:21:05 +0000 (14:21 +0300)]
Added REST functionality for the Bill. RabbitMQProducer was refined. UserActor sends message only when state changes

11 years agoSelector simplifications
Christos KK Loverdos [Fri, 27 Jul 2012 14:22:24 +0000 (17:22 +0300)]
Selector simplifications

11 years agoMerge branch 'master' into merged_master_selectors
Christos KK Loverdos [Fri, 27 Jul 2012 10:21:06 +0000 (13:21 +0300)]
Merge branch 'master' into merged_master_selectors

11 years agominor fix in JSON message (UserActor-->Astakos , user balance)
Prodromos Gerakios [Fri, 27 Jul 2012 10:17:03 +0000 (13:17 +0300)]
minor fix in JSON message (UserActor-->Astakos , user balance)

11 years agoRabbitMQ producer sends user balance >= 0 to astakos
Prodromos Gerakios [Fri, 27 Jul 2012 10:12:27 +0000 (13:12 +0300)]
RabbitMQ producer sends user balance >= 0 to astakos

11 years agoFirst cut of selectors.
Christos KK Loverdos [Thu, 26 Jul 2012 11:50:38 +0000 (14:50 +0300)]
First cut of selectors.

Pandora's box. Too simple. Too flexible.

11 years agoAdded RabbitMQProducer.scala. The code has been tests and works. "rabbitmq.imevents...
Prodromos Gerakios [Wed, 25 Jul 2012 14:27:27 +0000 (17:27 +0300)]
Added RabbitMQProducer.scala. The code has been tests and works. "rabbitmq.imevents.credit=astakos:astakos-events-credit" must be added in aquarium.properties

11 years agoFix bad handling of IMEvent from the UserActor.
Christos KK Loverdos [Mon, 23 Jul 2012 15:36:08 +0000 (18:36 +0300)]
Fix bad handling of IMEvent from the UserActor.

Upon arrival of the first IMEvent and after some ResourceEvents had
already arrived at the UserActor, we got an exception due to user
agreements beeing empty (being empty is reasonable, since there were no
IMEvent previously).

The correct behavior is to check for this case and then run
initializeStateOfIMEvents().

11 years agoRemoved timeslot computations print statements
Prodromos Gerakios [Mon, 23 Jul 2012 13:28:53 +0000 (16:28 +0300)]
Removed timeslot computations print statements

11 years agoFixed data race in caching polict store. Restored some code from timeslot computations
Prodromos Gerakios [Mon, 23 Jul 2012 12:59:36 +0000 (15:59 +0300)]
Fixed data race in caching polict store. Restored some code from timeslot computations

11 years agoWallets go REST
Christos KK Loverdos [Fri, 20 Jul 2012 09:21:42 +0000 (12:21 +0300)]
Wallets go REST

There is a bug related to the timeslot computations, so I had to disable
every piece that computes fine-grained timeslots and their corresponing
stuff (agreement).

11 years agoAdd a UserStateModelSkeleton
Christos KK Loverdos [Thu, 19 Jul 2012 22:06:48 +0000 (01:06 +0300)]
Add a UserStateModelSkeleton

11 years agoUnimplemented operations on PolicyStore return safe results
Christos KK Loverdos [Thu, 19 Jul 2012 21:08:19 +0000 (00:08 +0300)]
Unimplemented operations on PolicyStore return safe results

11 years agoBetter handling of billing month info
Christos KK Loverdos [Thu, 19 Jul 2012 18:51:34 +0000 (21:51 +0300)]
Better handling of billing month info

11 years agoEnsure the cache is loaded before inserting
Christos KK Loverdos [Thu, 19 Jul 2012 18:27:34 +0000 (21:27 +0300)]
Ensure the cache is loaded before inserting

11 years agoSlash'em high
Christos KK Loverdos [Thu, 19 Jul 2012 18:19:58 +0000 (21:19 +0300)]
Slash'em high

11 years agoFix NPE with initial user state
Christos KK Loverdos [Thu, 19 Jul 2012 14:57:54 +0000 (17:57 +0300)]
Fix NPE with initial user state

11 years agoInitializing the policy store the very first time
Christos KK Loverdos [Thu, 19 Jul 2012 14:28:42 +0000 (17:28 +0300)]
Initializing the policy store the very first time

If the DB is empty, then we insert the default policy, as given in the
policy.json file.

11 years agoTimerService is concrete now
Christos KK Loverdos [Thu, 19 Jul 2012 13:44:54 +0000 (16:44 +0300)]
TimerService is concrete now

11 years agoApplying the new policy semantics everywhere
Christos KK Loverdos [Thu, 19 Jul 2012 13:06:04 +0000 (16:06 +0300)]
Applying the new policy semantics everywhere

11 years agoadded implementation for MemStoreProvider (PolicyStore methods)
Prodromos Gerakios [Thu, 19 Jul 2012 12:54:15 +0000 (15:54 +0300)]
added implementation for MemStoreProvider (PolicyStore methods)

11 years agofixed make-dist.sh
Prodromos Gerakios [Wed, 18 Jul 2012 08:50:43 +0000 (11:50 +0300)]
fixed make-dist.sh

11 years agoTest cases for EffectUnitPrice
Prodromos Gerakios [Mon, 16 Jul 2012 08:24:23 +0000 (11:24 +0300)]
Test cases for EffectUnitPrice

11 years agopolicyStore is now a val ! Not a def
Prodromos Gerakios [Fri, 13 Jul 2012 10:10:50 +0000 (13:10 +0300)]
policyStore is now a val ! Not a def

11 years agoImplemented PolicyHistory.scala (a cache that wraps Database calls) and modified...
Prodromos Gerakios [Fri, 13 Jul 2012 10:06:53 +0000 (13:06 +0300)]
Implemented PolicyHistory.scala (a cache that wraps Database calls) and modified various bits and pieces

11 years agoManually revert to ddd366d
Christos KK Loverdos [Fri, 13 Jul 2012 09:16:56 +0000 (12:16 +0300)]
Manually revert to ddd366d

11 years agoMerge remote-tracking branch 'origin/master'
Prodromos Gerakios [Thu, 12 Jul 2012 14:30:45 +0000 (17:30 +0300)]
Merge remote-tracking branch 'origin/master'

Conflicts:
src/test/scala/gr/grnet/aquarium/logic/test/DSLTimeFrameTest.scala

11 years agomore test cases
Prodromos Gerakios [Thu, 12 Jul 2012 07:54:36 +0000 (10:54 +0300)]
more test cases

11 years agoWIP: Keeping aquarum policies in memory
Christos KK Loverdos [Wed, 11 Jul 2012 15:53:51 +0000 (18:53 +0300)]
WIP: Keeping aquarum policies in memory

11 years agoUpgrade guava libraries to 12.0.1
Christos KK Loverdos [Wed, 11 Jul 2012 14:55:54 +0000 (17:55 +0300)]
Upgrade guava libraries to 12.0.1

11 years agoStores are always retrieved from the store provider
Christos KK Loverdos [Wed, 11 Jul 2012 13:48:35 +0000 (16:48 +0300)]
Stores are always retrieved from the store provider

Previously they could be overriden by adhoc implementations. The new
design is simpler.

11 years agoInitial aquarium policy is now in JSON
Christos KK Loverdos [Wed, 11 Jul 2012 12:18:32 +0000 (15:18 +0300)]
Initial aquarium policy is now in JSON

11 years agoTest case for new policy configuration
Christos KK Loverdos [Wed, 11 Jul 2012 11:46:00 +0000 (14:46 +0300)]
Test case for new policy configuration

11 years agoMerge remote-tracking branch 'origin/master'
Prodromos Gerakios [Mon, 9 Jul 2012 13:41:41 +0000 (16:41 +0300)]
Merge remote-tracking branch 'origin/master'

11 years agoremoved deprecated DSL*.scala files
Prodromos Gerakios [Mon, 9 Jul 2012 13:41:30 +0000 (16:41 +0300)]
removed deprecated DSL*.scala files

11 years agoFix imports
Christos KK Loverdos [Mon, 9 Jul 2012 13:39:23 +0000 (16:39 +0300)]
Fix imports

11 years agoRemove obsolete files
Christos KK Loverdos [Mon, 9 Jul 2012 13:37:55 +0000 (16:37 +0300)]
Remove obsolete files

11 years agoFix a compilation error (did not implement a MemStore method)
Christos KK Loverdos [Mon, 9 Jul 2012 13:24:51 +0000 (16:24 +0300)]
Fix a compilation error (did not implement a MemStore method)

11 years agoDSLUtils is now deprecated. Implemented the functionality of EffectivePriceUnit.scala...
Prodromos Gerakios [Mon, 9 Jul 2012 13:11:33 +0000 (16:11 +0300)]
DSLUtils is now deprecated. Implemented the functionality of EffectivePriceUnit.scala, added CronSpec.scala and moved a few methods from DSLUtils to TimeslotComputations.scala

11 years agoMerge remote-tracking branch 'origin/master'
Prodromos Gerakios [Mon, 9 Jul 2012 09:59:06 +0000 (12:59 +0300)]
Merge remote-tracking branch 'origin/master'

11 years agoWIP chargeslot computations
Christos KK Loverdos [Mon, 9 Jul 2012 09:43:05 +0000 (12:43 +0300)]
WIP chargeslot computations

11 years agoRemove one redundant parameter in charging computations
Christos KK Loverdos [Mon, 9 Jul 2012 08:32:10 +0000 (11:32 +0300)]
Remove one redundant parameter in charging computations

11 years agoAdd correct prefix to a mongodb configuration parameter
Christos KK Loverdos [Mon, 9 Jul 2012 08:30:02 +0000 (11:30 +0300)]
Add correct prefix to a mongodb configuration parameter

11 years agoSecond cut of the new policy configuration system
Christos KK Loverdos [Fri, 6 Jul 2012 11:36:56 +0000 (14:36 +0300)]
Second cut of the new policy configuration system

Major changes. Does not compile. Will need a third round.

11 years agoFirst cut of the new policy configuration system
Christos KK Loverdos [Wed, 4 Jul 2012 13:55:12 +0000 (16:55 +0300)]
First cut of the new policy configuration system

This is to replace the existing DSLXXX stuff for several reasons:

- Maps better to user requirements.
- Is simpler to state and implement and thus can be better tested.
- Is also flexible but with clearer semantics.
- Will be serialized/deserialed automatically (via JSON), without the
need to special YAML parsing and special YAML saving (in the store).

11 years agoAdd support for travis-ci
Christos KK Loverdos [Wed, 4 Jul 2012 09:11:00 +0000 (12:11 +0300)]
Add support for travis-ci

See http://travis-ci.org/

11 years agoTests for DSLTimeFrame.intervalsOf method
Prodromos Gerakios [Tue, 3 Jul 2012 14:05:29 +0000 (17:05 +0300)]
Tests for DSLTimeFrame.intervalsOf method

11 years agoMerge remote-tracking branch 'origin/master'
Prodromos Gerakios [Mon, 2 Jul 2012 13:19:06 +0000 (16:19 +0300)]
Merge remote-tracking branch 'origin/master'

11 years agoTimespecs should be working ok now!
Prodromos Gerakios [Mon, 2 Jul 2012 13:18:16 +0000 (16:18 +0300)]
Timespecs should be working ok now!

11 years agoRemove redundant call to AquariumAware
Christos KK Loverdos [Mon, 2 Jul 2012 11:33:19 +0000 (14:33 +0300)]
Remove redundant call to AquariumAware

This is automatically done inside newInstance() now.

11 years agoA bit more informative documentation
Christos KK Loverdos [Mon, 2 Jul 2012 11:31:17 +0000 (14:31 +0300)]
A bit more informative documentation

11 years agoRemove unused statement
Christos KK Loverdos [Mon, 2 Jul 2012 11:20:26 +0000 (14:20 +0300)]
Remove unused statement

11 years agoConsider a forgotten match case
Christos KK Loverdos [Mon, 2 Jul 2012 11:14:00 +0000 (14:14 +0300)]
Consider a forgotten match case

Note that the now two last cases can be merged to one like this:

- case _ => ...

but we keep them separate just to make it clear what is going on and to
easily change the response for each case if such a need arises.

11 years agoProperly handle user actor eviction
Christos KK Loverdos [Mon, 2 Jul 2012 11:03:36 +0000 (14:03 +0300)]
Properly handle user actor eviction

11 years agoRename the functional interface of AquariumAware
Christos KK Loverdos [Mon, 2 Jul 2012 11:02:31 +0000 (14:02 +0300)]
Rename the functional interface of AquariumAware

11 years agoMore internal info exposed via the protected REST api
Christos KK Loverdos [Mon, 2 Jul 2012 11:00:37 +0000 (14:00 +0300)]
More internal info exposed via the protected REST api

11 years agoConfiguring all new instances that are AquariumAware
Christos KK Loverdos [Mon, 2 Jul 2012 10:39:22 +0000 (13:39 +0300)]
Configuring all new instances that are AquariumAware

11 years agoShowing the available processors upon starting
Christos KK Loverdos [Mon, 2 Jul 2012 10:38:18 +0000 (13:38 +0300)]
Showing the available processors upon starting

11 years agoShowing the propertied prefix of the configured instance
Christos KK Loverdos [Mon, 2 Jul 2012 10:36:48 +0000 (13:36 +0300)]
Showing the propertied prefix of the configured instance

11 years agoPreparing for jackson json stuff
Christos KK Loverdos [Mon, 2 Jul 2012 10:34:15 +0000 (13:34 +0300)]
Preparing for jackson json stuff

11 years agoDo not throw exceptions at the browser's face
Christos KK Loverdos [Fri, 29 Jun 2012 12:39:42 +0000 (15:39 +0300)]
Do not throw exceptions at the browser's face

11 years agoFix a bug with class casting to the wrong future type
Christos KK Loverdos [Fri, 29 Jun 2012 11:40:15 +0000 (14:40 +0300)]
Fix a bug with class casting to the wrong future type

11 years agoTo the point README
Christos KK Loverdos [Fri, 29 Jun 2012 09:51:10 +0000 (12:51 +0300)]
To the point README

11 years agoProperly rename the folder that contains the paper
Christos KK Loverdos [Fri, 29 Jun 2012 09:08:50 +0000 (12:08 +0300)]
Properly rename the folder that contains the paper

11 years agoUpgrade Akka to 2.0.2
Christos KK Loverdos [Thu, 28 Jun 2012 16:02:07 +0000 (19:02 +0300)]
Upgrade Akka to 2.0.2

In the process, cleaned up code and make a few changes for more robust
actor cache handling.

11 years agoRemove spray configuration
Christos KK Loverdos [Thu, 28 Jun 2012 11:56:19 +0000 (14:56 +0300)]
Remove spray configuration

11 years agoUpgrade amqp client lib
Christos KK Loverdos [Thu, 28 Jun 2012 11:27:41 +0000 (14:27 +0300)]
Upgrade amqp client lib

11 years agoRemove unused pinger actor
Christos KK Loverdos [Thu, 28 Jun 2012 11:25:16 +0000 (14:25 +0300)]
Remove unused pinger actor

11 years agoReturn 404 when no user state is found
Christos KK Loverdos [Thu, 28 Jun 2012 11:19:01 +0000 (14:19 +0300)]
Return 404 when no user state is found

11 years agoConfigure aquarium when creating the user actor
Christos KK Loverdos [Thu, 28 Jun 2012 11:15:00 +0000 (14:15 +0300)]
Configure aquarium when creating the user actor

11 years agoUse finagle instead of spray for the REST functionality
Christos KK Loverdos [Wed, 27 Jun 2012 22:56:44 +0000 (01:56 +0300)]
Use finagle instead of spray for the REST functionality

Not tested yet

11 years agoRemove unused dependency
Christos KK Loverdos [Mon, 25 Jun 2012 13:23:13 +0000 (16:23 +0300)]
Remove unused dependency

11 years agoRemove imports that generate compilation warnings
Christos KK Loverdos [Mon, 25 Jun 2012 10:33:14 +0000 (13:33 +0300)]
Remove imports that generate compilation warnings

11 years agoMerge commit '695c71e20f5a068757525453e76792914b15b2bd'
Christos KK Loverdos [Fri, 22 Jun 2012 13:27:08 +0000 (16:27 +0300)]
Merge commit '695c71e20f5a068757525453e76792914b15b2bd'

11 years agoRefactor Aquarium to make it more configurable
Christos KK Loverdos [Fri, 22 Jun 2012 13:07:56 +0000 (16:07 +0300)]
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.

11 years agoSeveral fixes and refactorings ins package logic.acounting.dsl
Prodromos Gerakios [Thu, 21 Jun 2012 14:09:50 +0000 (17:09 +0300)]
Several fixes and refactorings ins package logic.acounting.dsl

11 years agoWelcome Prodromos!
Christos KK Loverdos [Wed, 20 Jun 2012 09:20:11 +0000 (12:20 +0300)]
Welcome Prodromos!

11 years agoAlways calculate wallet entries
Christos KK Loverdos [Mon, 18 Jun 2012 13:06:44 +0000 (16:06 +0300)]
Always calculate wallet entries