This morning I pushed updates to common, server-interface, tariff-market, and accounting-service. Not all tests pass at this point, because AccountingService is not implemented, and the mocking to get along without it is too hairy. I spent many hours on this yesterday. Here is a summary of what's available now:
Cleaned out *Cmd types from common.
Rearranged names and scope of market data types as outlined in issue #118.
Moved TariffSubscription from common to server-interface. This was necessary because TariffSubscription creates transactions (for energy usage, for example) and needs access to the new Accounting API. Unfortunately, most of the tests depend not only on the API, but also on the TariffMarket, so the tests moved to tariff-market.
New Accounting API for recording MarketTransactions and TariffTransactions.
Updated TariffMarketService to use new Accounting API, and mocked it in the tests.
This batch should facilitate progress on the markets and the broker interface. Please let me know if you see problems.
This evening I pushed updates to common, server, server-interface, tariff-market, and accounting-service. This closes several issues, and includes the completed new accounting service. See AccountingServiceTests in accounting-service, and TariffSubscriptionTests in tariff-market for examples of use.
I spent way too many hours puzzling over strange Grails behavior today, and at this point the IdGenerator is commented out of common.MarketPosition. It does not work there. You can create new MarketPosition instances all night and store them, but you only end up with one instance in the table. I have no idea why. This is Issue #129. If someone can fix this and tell us how you did it, I would be grateful.