Christos KK Loverdos [Mon, 27 Aug 2012 12:14:30 +0000 (15:14 +0300)]
Enable deprecation warnings for javac
Christos KK Loverdos [Mon, 27 Aug 2012 12:09:14 +0000 (15:09 +0300)]
Remove simulation package
Aquarium is now configurable enough to not need a separate simulation
package.
Christos KK Loverdos [Mon, 27 Aug 2012 11:33:36 +0000 (14:33 +0300)]
Remove unused class
Christos KK Loverdos [Mon, 27 Aug 2012 10:58:47 +0000 (13:58 +0300)]
First-cut of Avro messages
Christos KK Loverdos [Fri, 24 Aug 2012 14:51:17 +0000 (17:51 +0300)]
Realtime calc for continuous charging behavior
Highly unoptimized and memory-unfriendly, proof of concept for the
moment.
Christos KK Loverdos [Fri, 24 Aug 2012 13:09:56 +0000 (16:09 +0300)]
Specific API for realtime calculations and first-cut implementation via virtual events
Prodromos Gerakios [Fri, 24 Aug 2012 09:17:54 +0000 (12:17 +0300)]
Fixed BillEntry
Christos KK Loverdos [Fri, 24 Aug 2012 09:13:05 +0000 (12:13 +0300)]
Remove unused code
Prodromos Gerakios [Thu, 23 Aug 2012 14:10:41 +0000 (17:10 +0300)]
Bill and BillEntry
Prodromos Gerakios [Thu, 23 Aug 2012 13:26:08 +0000 (16:26 +0300)]
Merge branch 'master' of https://code.grnet.gr/git/aquarium
Prodromos Gerakios [Thu, 23 Aug 2012 13:24:30 +0000 (16:24 +0300)]
Refactored BillEntry and relevant classes.
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.
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...
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.
Christos KK Loverdos [Wed, 22 Aug 2012 15:12:42 +0000 (18:12 +0300)]
Add rabbitmq.imevents.credit property
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
Prodromos Gerakios [Tue, 21 Aug 2012 13:51:08 +0000 (16:51 +0300)]
Fixed RabbitMQProducer. Now it is fully reliable.
Prodromos Gerakios [Tue, 21 Aug 2012 13:26:11 +0000 (16:26 +0300)]
Towards a perfect RabbitMQProducer -> actor not receiving msgs
Prodromos Gerakios [Mon, 20 Aug 2012 10:53:36 +0000 (13:53 +0300)]
Fixed ping.sh
Prodromos Gerakios [Mon, 20 Aug 2012 08:54:33 +0000 (11:54 +0300)]
added ping.sh
Christos KK Loverdos [Fri, 17 Aug 2012 14:16:14 +0000 (17:16 +0300)]
Change var to val
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).
Christos KK Loverdos [Fri, 17 Aug 2012 13:37:40 +0000 (16:37 +0300)]
WIP charging behavior
Prodromos Gerakios [Fri, 17 Aug 2012 06:15:53 +0000 (09:15 +0300)]
Minor fixes in UserActor, BillEntry and RabbitMQProducer
Prodromos Gerakios [Fri, 17 Aug 2012 05:48:42 +0000 (08:48 +0300)]
Merge branch 'master' of https://code.grnet.gr/git/aquarium
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
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).
Christos KK Loverdos [Thu, 16 Aug 2012 12:58:33 +0000 (15:58 +0300)]
Hook selectors into the price computation path
Christos KK Loverdos [Thu, 16 Aug 2012 06:47:31 +0000 (09:47 +0300)]
Use full type hints for json
Christos KK Loverdos [Thu, 16 Aug 2012 06:35:35 +0000 (09:35 +0300)]
Enable incremental compilation
Christos KK Loverdos [Thu, 16 Aug 2012 06:31:26 +0000 (09:31 +0300)]
Upgrade scala-maven-plugin
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.
Prodromos Gerakios [Mon, 6 Aug 2012 12:25:55 +0000 (15:25 +0300)]
Reliable message passing for RabbitMQProducer
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
Christos KK Loverdos [Fri, 27 Jul 2012 14:22:24 +0000 (17:22 +0300)]
Selector simplifications
Christos KK Loverdos [Fri, 27 Jul 2012 10:21:06 +0000 (13:21 +0300)]
Merge branch 'master' into merged_master_selectors
Prodromos Gerakios [Fri, 27 Jul 2012 10:17:03 +0000 (13:17 +0300)]
minor fix in JSON message (UserActor-->Astakos , user balance)
Prodromos Gerakios [Fri, 27 Jul 2012 10:12:27 +0000 (13:12 +0300)]
RabbitMQ producer sends user balance >= 0 to astakos
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.
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
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().
Prodromos Gerakios [Mon, 23 Jul 2012 13:28:53 +0000 (16:28 +0300)]
Removed timeslot computations print statements
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
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).
Christos KK Loverdos [Thu, 19 Jul 2012 22:06:48 +0000 (01:06 +0300)]
Add a UserStateModelSkeleton
Christos KK Loverdos [Thu, 19 Jul 2012 21:08:19 +0000 (00:08 +0300)]
Unimplemented operations on PolicyStore return safe results
Christos KK Loverdos [Thu, 19 Jul 2012 18:51:34 +0000 (21:51 +0300)]
Better handling of billing month info
Christos KK Loverdos [Thu, 19 Jul 2012 18:27:34 +0000 (21:27 +0300)]
Ensure the cache is loaded before inserting
Christos KK Loverdos [Thu, 19 Jul 2012 18:19:58 +0000 (21:19 +0300)]
Slash'em high
Christos KK Loverdos [Thu, 19 Jul 2012 14:57:54 +0000 (17:57 +0300)]
Fix NPE with initial user state
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.
Christos KK Loverdos [Thu, 19 Jul 2012 13:44:54 +0000 (16:44 +0300)]
TimerService is concrete now
Christos KK Loverdos [Thu, 19 Jul 2012 13:06:04 +0000 (16:06 +0300)]
Applying the new policy semantics everywhere
Prodromos Gerakios [Thu, 19 Jul 2012 12:54:15 +0000 (15:54 +0300)]
added implementation for MemStoreProvider (PolicyStore methods)
Prodromos Gerakios [Wed, 18 Jul 2012 08:50:43 +0000 (11:50 +0300)]
fixed make-dist.sh
Prodromos Gerakios [Mon, 16 Jul 2012 08:24:23 +0000 (11:24 +0300)]
Test cases for EffectUnitPrice
Prodromos Gerakios [Fri, 13 Jul 2012 10:10:50 +0000 (13:10 +0300)]
policyStore is now a val ! Not a def
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
Christos KK Loverdos [Fri, 13 Jul 2012 09:16:56 +0000 (12:16 +0300)]
Manually revert to ddd366d
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
Prodromos Gerakios [Thu, 12 Jul 2012 07:54:36 +0000 (10:54 +0300)]
more test cases
Christos KK Loverdos [Wed, 11 Jul 2012 15:53:51 +0000 (18:53 +0300)]
WIP: Keeping aquarum policies in memory
Christos KK Loverdos [Wed, 11 Jul 2012 14:55:54 +0000 (17:55 +0300)]
Upgrade guava libraries to 12.0.1
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.
Christos KK Loverdos [Wed, 11 Jul 2012 12:18:32 +0000 (15:18 +0300)]
Initial aquarium policy is now in JSON
Christos KK Loverdos [Wed, 11 Jul 2012 11:46:00 +0000 (14:46 +0300)]
Test case for new policy configuration
Prodromos Gerakios [Mon, 9 Jul 2012 13:41:41 +0000 (16:41 +0300)]
Merge remote-tracking branch 'origin/master'
Prodromos Gerakios [Mon, 9 Jul 2012 13:41:30 +0000 (16:41 +0300)]
removed deprecated DSL*.scala files
Christos KK Loverdos [Mon, 9 Jul 2012 13:39:23 +0000 (16:39 +0300)]
Fix imports
Christos KK Loverdos [Mon, 9 Jul 2012 13:37:55 +0000 (16:37 +0300)]
Remove obsolete files
Christos KK Loverdos [Mon, 9 Jul 2012 13:24:51 +0000 (16:24 +0300)]
Fix a compilation error (did not implement a MemStore method)
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
Prodromos Gerakios [Mon, 9 Jul 2012 09:59:06 +0000 (12:59 +0300)]
Merge remote-tracking branch 'origin/master'
Christos KK Loverdos [Mon, 9 Jul 2012 09:43:05 +0000 (12:43 +0300)]
WIP chargeslot computations
Christos KK Loverdos [Mon, 9 Jul 2012 08:32:10 +0000 (11:32 +0300)]
Remove one redundant parameter in charging computations
Christos KK Loverdos [Mon, 9 Jul 2012 08:30:02 +0000 (11:30 +0300)]
Add correct prefix to a mongodb configuration parameter
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.
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).
Christos KK Loverdos [Wed, 4 Jul 2012 09:11:00 +0000 (12:11 +0300)]
Add support for travis-ci
See http://travis-ci.org/
Prodromos Gerakios [Tue, 3 Jul 2012 14:05:29 +0000 (17:05 +0300)]
Tests for DSLTimeFrame.intervalsOf method
Prodromos Gerakios [Mon, 2 Jul 2012 13:19:06 +0000 (16:19 +0300)]
Merge remote-tracking branch 'origin/master'
Prodromos Gerakios [Mon, 2 Jul 2012 13:18:16 +0000 (16:18 +0300)]
Timespecs should be working ok now!
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.
Christos KK Loverdos [Mon, 2 Jul 2012 11:31:17 +0000 (14:31 +0300)]
A bit more informative documentation
Christos KK Loverdos [Mon, 2 Jul 2012 11:20:26 +0000 (14:20 +0300)]
Remove unused statement
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.
Christos KK Loverdos [Mon, 2 Jul 2012 11:03:36 +0000 (14:03 +0300)]
Properly handle user actor eviction
Christos KK Loverdos [Mon, 2 Jul 2012 11:02:31 +0000 (14:02 +0300)]
Rename the functional interface of AquariumAware
Christos KK Loverdos [Mon, 2 Jul 2012 11:00:37 +0000 (14:00 +0300)]
More internal info exposed via the protected REST api
Christos KK Loverdos [Mon, 2 Jul 2012 10:39:22 +0000 (13:39 +0300)]
Configuring all new instances that are AquariumAware
Christos KK Loverdos [Mon, 2 Jul 2012 10:38:18 +0000 (13:38 +0300)]
Showing the available processors upon starting
Christos KK Loverdos [Mon, 2 Jul 2012 10:36:48 +0000 (13:36 +0300)]
Showing the propertied prefix of the configured instance
Christos KK Loverdos [Mon, 2 Jul 2012 10:34:15 +0000 (13:34 +0300)]
Preparing for jackson json stuff
Christos KK Loverdos [Fri, 29 Jun 2012 12:39:42 +0000 (15:39 +0300)]
Do not throw exceptions at the browser's face
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
Christos KK Loverdos [Fri, 29 Jun 2012 09:51:10 +0000 (12:51 +0300)]
To the point README
Christos KK Loverdos [Fri, 29 Jun 2012 09:08:50 +0000 (12:08 +0300)]
Properly rename the folder that contains the paper
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.
Christos KK Loverdos [Thu, 28 Jun 2012 11:56:19 +0000 (14:56 +0300)]
Remove spray configuration
Christos KK Loverdos [Thu, 28 Jun 2012 11:27:41 +0000 (14:27 +0300)]
Upgrade amqp client lib