Rename all messages
authorChristos KK Loverdos <loverdos@gmail.com>
Fri, 31 Aug 2012 09:49:34 +0000 (12:49 +0300)
committerChristos KK Loverdos <loverdos@gmail.com>
Fri, 31 Aug 2012 09:49:34 +0000 (12:49 +0300)
40 files changed:
src/main/avro/aquarium-anyvalue.avdl
src/main/avro/aquarium-bill.avdl
src/main/avro/aquarium-events.avdl
src/main/avro/aquarium-policy.avdl
src/main/avro/aquarium-user-state.avdl
src/main/java/gr/grnet/aquarium/message/avro/gen/AnyValueMsg.java [moved from src/main/java/gr/grnet/aquarium/message/avro/gen/_AnyValue.java with 57% similarity]
src/main/java/gr/grnet/aquarium/message/avro/gen/AquariumAny.java
src/main/java/gr/grnet/aquarium/message/avro/gen/AquariumBill.java
src/main/java/gr/grnet/aquarium/message/avro/gen/AquariumEvents.java
src/main/java/gr/grnet/aquarium/message/avro/gen/AquariumPolicy.java
src/main/java/gr/grnet/aquarium/message/avro/gen/AquariumUserState.java
src/main/java/gr/grnet/aquarium/message/avro/gen/BillEntryMsg.java [moved from src/main/java/gr/grnet/aquarium/message/avro/gen/_BillEntry.java with 71% similarity]
src/main/java/gr/grnet/aquarium/message/avro/gen/ChargeEntryMsg.java [moved from src/main/java/gr/grnet/aquarium/message/avro/gen/_ChargeEntry.java with 75% similarity]
src/main/java/gr/grnet/aquarium/message/avro/gen/ChargeslotMsg.java [moved from src/main/java/gr/grnet/aquarium/message/avro/gen/_Chargeslot.java with 74% similarity]
src/main/java/gr/grnet/aquarium/message/avro/gen/CronSpecTupleMsg.java [moved from src/main/java/gr/grnet/aquarium/message/avro/gen/_CronSpecTuple.java with 62% similarity]
src/main/java/gr/grnet/aquarium/message/avro/gen/EffectivePriceTableMsg.java [new file with mode: 0644]
src/main/java/gr/grnet/aquarium/message/avro/gen/EffectiveUnitPriceMsg.java [moved from src/main/java/gr/grnet/aquarium/message/avro/gen/_EffectiveUnitPrice.java with 51% similarity]
src/main/java/gr/grnet/aquarium/message/avro/gen/EventEntryMsg.java [moved from src/main/java/gr/grnet/aquarium/message/avro/gen/_EventEntry.java with 55% similarity]
src/main/java/gr/grnet/aquarium/message/avro/gen/FullPriceTableMsg.java [new file with mode: 0644]
src/main/java/gr/grnet/aquarium/message/avro/gen/IMEventMsg.java [moved from src/main/java/gr/grnet/aquarium/message/avro/gen/_IMEvent.java with 76% similarity]
src/main/java/gr/grnet/aquarium/message/avro/gen/PolicyMsg.java [moved from src/main/java/gr/grnet/aquarium/message/avro/gen/_Policy.java with 66% similarity]
src/main/java/gr/grnet/aquarium/message/avro/gen/ResourceEntryMsg.java [moved from src/main/java/gr/grnet/aquarium/message/avro/gen/_ResourceEntry.java with 66% similarity]
src/main/java/gr/grnet/aquarium/message/avro/gen/ResourceEventMsg.java [moved from src/main/java/gr/grnet/aquarium/message/avro/gen/_ResourceEvent.java with 75% similarity]
src/main/java/gr/grnet/aquarium/message/avro/gen/ResourceTypeMsg.java [moved from src/main/java/gr/grnet/aquarium/message/avro/gen/_ResourceType.java with 69% similarity]
src/main/java/gr/grnet/aquarium/message/avro/gen/SelectorValueMsg.java [moved from src/main/java/gr/grnet/aquarium/message/avro/gen/_SelectorValue.java with 51% similarity]
src/main/java/gr/grnet/aquarium/message/avro/gen/UserAgreementMsg.java [moved from src/main/java/gr/grnet/aquarium/message/avro/gen/_UserAgreement.java with 67% similarity]
src/main/java/gr/grnet/aquarium/message/avro/gen/WalletEntryMsg.java [moved from src/main/java/gr/grnet/aquarium/message/avro/gen/_WalletEntry.java with 71% similarity]
src/main/java/gr/grnet/aquarium/message/avro/gen/WorkingAgreementHistoryMsg.java [new file with mode: 0644]
src/main/java/gr/grnet/aquarium/message/avro/gen/WorkingResourceInstanceChargingStateMsg.java [moved from src/main/java/gr/grnet/aquarium/message/avro/gen/_WorkingResourceInstanceChargingState.java with 60% similarity]
src/main/java/gr/grnet/aquarium/message/avro/gen/WorkingResourcesChargingStateMsg.java [new file with mode: 0644]
src/main/java/gr/grnet/aquarium/message/avro/gen/WorkingUserStateMsg.java [moved from src/main/java/gr/grnet/aquarium/message/avro/gen/_WorkingUserState.java with 59% similarity]
src/main/java/gr/grnet/aquarium/message/avro/gen/_EffectivePriceTable.java [deleted file]
src/main/java/gr/grnet/aquarium/message/avro/gen/_FullPriceTable.java [deleted file]
src/main/java/gr/grnet/aquarium/message/avro/gen/_WorkingAgreementHistory.java [deleted file]
src/main/java/gr/grnet/aquarium/message/avro/gen/_WorkingResourcesChargingState.java [deleted file]
src/main/scala/gr/grnet/aquarium/message/avro/AvroHelpers.scala
src/main/scala/gr/grnet/aquarium/message/avro/FullPriceTableHelpers.scala [deleted file]
src/main/scala/gr/grnet/aquarium/message/avro/MessageFactory.scala
src/test/scala/gr/grnet/aquarium/message/avro/gen/PolicyMsgTest.scala [moved from src/test/scala/gr/grnet/aquarium/message/avro/gen/PolicyTest.scala with 73% similarity]
src/test/scala/gr/grnet/aquarium/message/avro/gen/ResourceEventMsgTest.scala [moved from src/test/scala/gr/grnet/aquarium/message/avro/gen/ResourceEventTest.scala with 92% similarity]

index 1f457cb..2498028 100644 (file)
@@ -35,7 +35,7 @@
 
 @namespace("gr.grnet.aquarium.message.avro.gen")
 protocol AquariumAny {
-  record _AnyValue {
+  record AnyValueMsg {
     union {
       null,
       int,
index 711b784..3082f7e 100644 (file)
@@ -36,7 +36,7 @@
 @namespace("gr.grnet.aquarium.message.avro.gen")
 protocol AquariumBill {
 
-  record _ChargeEntry {
+  record ChargeEntryMsg {
     string id;
     string unitPrice;
     string startTime;
@@ -45,20 +45,20 @@ protocol AquariumBill {
     string credits;
   }
 
-  record _EventEntry {
+  record EventEntryMsg {
     string eventType;
-    array<_ChargeEntry> details;
+    array<ChargeEntryMsg> details;
   }
 
-  record _ResourceEntry {
+  record ResourceEntryMsg {
     string resourceName;
     string resourceType;
     string unitName;
     string totalCredits;
-    array<_EventEntry> details;
+    array<EventEntryMsg> details;
   }
 
-  record _BillEntry {
+  record BillEntryMsg {
     string id;
     string userID;
     string status;
@@ -66,6 +66,6 @@ protocol AquariumBill {
     string deductedCredits;
     string startTime; // what is this? millis? date?
     string endTime;
-    array<_ResourceEntry> bill;
+    array<ResourceEntryMsg> bill;
   }
 }
\ No newline at end of file
index d435298..2e538e1 100644 (file)
@@ -37,7 +37,7 @@
 protocol AquariumEvents {
   import idl "aquarium-anyvalue.avdl";
 
-  record _ResourceEvent {
+  record ResourceEventMsg {
     string @aliases(["originalID", "ID"]) id;
     string @aliased(["_id", "inStoreID"]) idInStore;
     long occurredMillis;
@@ -48,10 +48,10 @@ protocol AquariumEvents {
     string @aliases(["resourceType"]) resource;
     string instanceID;
     string value;
-    map<_AnyValue> details;
+    map<AnyValueMsg> details;
   }
 
-  record _IMEvent {
+  record IMEventMsg {
     string @aliases(["originalID", "ID"]) id;
     string @aliased(["_id", "inStoreID"]) idInStore;
     long occurredMillis;
@@ -61,6 +61,6 @@ protocol AquariumEvents {
     string eventVersion = "1.0";
     boolean isActive;
     string role;
-    map<_AnyValue> details;
+    map<AnyValueMsg> details;
   }
 }
\ No newline at end of file
index 9801411..7211780 100644 (file)
 
 @namespace("gr.grnet.aquarium.message.avro.gen")
 protocol AquariumPolicy {
-  record _ResourceType {
+  record ResourceTypeMsg {
     string name;
     string unit;
     string chargingBehaviorClass;
   }
 
-  record _CronSpecTuple {
+  record CronSpecTupleMsg {
     string a;
     string b;
   }
 
-  record _EffectiveUnitPrice {
+  record EffectiveUnitPriceMsg {
     double unitPrice;
-    union {_CronSpecTuple, null} when;
+    union {CronSpecTupleMsg, null} when;
   }
 
-  record _EffectivePriceTable {
-    array<_EffectiveUnitPrice> priceOverrides;
+  record EffectivePriceTableMsg {
+    array<EffectiveUnitPriceMsg> priceOverrides;
   }
 
-  record _SelectorValue {
+  record SelectorValueMsg {
     union {
-      _EffectivePriceTable,
-      map<_SelectorValue>
+      EffectivePriceTableMsg,
+      map<SelectorValueMsg>
     } selectorValue;
   }
 
-  record _FullPriceTable {
-    map<map<_SelectorValue>> perResource;
+  record FullPriceTableMsg {
+    map<map<SelectorValueMsg>> perResource;
   }
 
-  record _Policy {
+  record PolicyMsg {
     string @aliases(["id, _id, idInStore, inStoreID"]) ID;
     union {string, null} parentID;
     long validFromMillis;
     long validToMillis;
-    array<_ResourceType> resourceTypes;
+    array<ResourceTypeMsg> resourceTypes;
     array<string> chargingBehaviors;
-    map<_FullPriceTable> roleMapping;
+    map<FullPriceTableMsg> roleMapping;
   }
 }
\ No newline at end of file
index c5e8394..8f37930 100644 (file)
@@ -39,35 +39,35 @@ protocol AquariumUserState {
   import idl "aquarium-anyvalue.avdl";
   import idl "aquarium-events.avdl";
 
-  record _UserAgreement {
+  record UserAgreementMsg {
     string id;
     union {string, null} relatedIMEventID;
     long @order("ascending") validFromMillis;
     long validToMillis;
     string role;
-    union {_FullPriceTable, null} fullPriceTableRef; // If null, then get from aquarium policy
+    union {FullPriceTableMsg, null} fullPriceTableRef; // If null, then get from aquarium policy
   }
 
-  record _WorkingResourceInstanceChargingState {
-    map<_AnyValue> details;
-    array<_ResourceEvent> previousEvents;
-    array<_ResourceEvent> implicitlyIssuedStartEvents;
+  record WorkingResourceInstanceChargingStateMsg {
+    map<AnyValueMsg> details;
+    array<ResourceEventMsg> previousEvents;
+    array<ResourceEventMsg> implicitlyIssuedStartEvents;
     double accumulatingAmount;
     double oldAccumulatingAmount;
     double previousValue;
     double currentValue;
   }
 
-  record _WorkingResourcesChargingState {
-    map<_AnyValue> details;
-    map<_WorkingResourceInstanceChargingState> stateOfResourceInstance;
+  record WorkingResourcesChargingStateMsg {
+    map<AnyValueMsg> details;
+    map<WorkingResourceInstanceChargingStateMsg> stateOfResourceInstance;
   }
 
-  record _WorkingAgreementHistory {
-    array<_UserAgreement> agreements;
+  record WorkingAgreementHistoryMsg {
+    array<UserAgreementMsg> agreements;
   }
 
-  record _Chargeslot {
+  record ChargeslotMsg {
     long startMillis;
     long stopMillis;
     double unitPrice;
@@ -75,7 +75,7 @@ protocol AquariumUserState {
     double creditsToSubtract;
   }
 
-  record _WalletEntry {
+  record WalletEntryMsg {
     string userID;
     double sumOfCreditsToSubtract;
     double oldTotalCredits;
@@ -86,22 +86,22 @@ protocol AquariumUserState {
     int billingYear;
     int billingMonth;
     int billingDay;
-    array<_Chargeslot> chargeslots;
-    array<_ResourceEvent> resourceEvents; // current is the last one
-    _ResourceType resourceType;
+    array<ChargeslotMsg> chargeslots;
+    array<ResourceEventMsg> resourceEvents; // current is the last one
+    ResourceTypeMsg resourceType;
     boolean isSynthetic = false;
   }
 
-  record _WorkingUserState {
+  record WorkingUserStateMsg {
     string userID;
     union {string, null} parentUserStateIDInStore;
-    map<_ResourceType> resourceTypesMap;
-    map<_WorkingResourcesChargingState> workingStateOfResources;
+    map<ResourceTypeMsg> resourceTypesMap;
+    map<WorkingResourcesChargingStateMsg> workingStateOfResources;
     double totalCredits;
-    _WorkingAgreementHistory workingAgreementHistory;
+    WorkingAgreementHistoryMsg workingAgreementHistory;
     long latestUpdateMillis;
     long latestResourceEventOccurredMillis;
     long billingPeriodOutOfSyncResourceEventsCounter;
-    array<_WalletEntry> walletEntries;
+    array<WalletEntryMsg> walletEntries;
   }
 }
\ No newline at end of file
@@ -5,8 +5,8 @@
  */
 package gr.grnet.aquarium.message.avro.gen;  
 @SuppressWarnings("all")
-public class _AnyValue extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
-  public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"_AnyValue\",\"namespace\":\"gr.grnet.aquarium.message.avro.gen\",\"fields\":[{\"name\":\"anyValue\",\"type\":[\"null\",\"int\",\"long\",\"boolean\",\"double\",\"bytes\",\"string\"]}]}");
+public class AnyValueMsg extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
+  public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"AnyValueMsg\",\"namespace\":\"gr.grnet.aquarium.message.avro.gen\",\"fields\":[{\"name\":\"anyValue\",\"type\":[\"null\",\"int\",\"long\",\"boolean\",\"double\",\"bytes\",\"string\"]}]}");
   @Deprecated public java.lang.Object anyValue;
   public org.apache.avro.Schema getSchema() { return SCHEMA$; }
   // Used by DatumWriter.  Applications should not call. 
@@ -40,42 +40,42 @@ public class _AnyValue extends org.apache.avro.specific.SpecificRecordBase imple
     this.anyValue = value;
   }
 
-  /** Creates a new _AnyValue RecordBuilder */
-  public static gr.grnet.aquarium.message.avro.gen._AnyValue.Builder newBuilder() {
-    return new gr.grnet.aquarium.message.avro.gen._AnyValue.Builder();
+  /** Creates a new AnyValueMsg RecordBuilder */
+  public static gr.grnet.aquarium.message.avro.gen.AnyValueMsg.Builder newBuilder() {
+    return new gr.grnet.aquarium.message.avro.gen.AnyValueMsg.Builder();
   }
   
-  /** Creates a new _AnyValue RecordBuilder by copying an existing Builder */
-  public static gr.grnet.aquarium.message.avro.gen._AnyValue.Builder newBuilder(gr.grnet.aquarium.message.avro.gen._AnyValue.Builder other) {
-    return new gr.grnet.aquarium.message.avro.gen._AnyValue.Builder(other);
+  /** Creates a new AnyValueMsg RecordBuilder by copying an existing Builder */
+  public static gr.grnet.aquarium.message.avro.gen.AnyValueMsg.Builder newBuilder(gr.grnet.aquarium.message.avro.gen.AnyValueMsg.Builder other) {
+    return new gr.grnet.aquarium.message.avro.gen.AnyValueMsg.Builder(other);
   }
   
-  /** Creates a new _AnyValue RecordBuilder by copying an existing _AnyValue instance */
-  public static gr.grnet.aquarium.message.avro.gen._AnyValue.Builder newBuilder(gr.grnet.aquarium.message.avro.gen._AnyValue other) {
-    return new gr.grnet.aquarium.message.avro.gen._AnyValue.Builder(other);
+  /** Creates a new AnyValueMsg RecordBuilder by copying an existing AnyValueMsg instance */
+  public static gr.grnet.aquarium.message.avro.gen.AnyValueMsg.Builder newBuilder(gr.grnet.aquarium.message.avro.gen.AnyValueMsg other) {
+    return new gr.grnet.aquarium.message.avro.gen.AnyValueMsg.Builder(other);
   }
   
   /**
-   * RecordBuilder for _AnyValue instances.
+   * RecordBuilder for AnyValueMsg instances.
    */
-  public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase<_AnyValue>
-    implements org.apache.avro.data.RecordBuilder<_AnyValue> {
+  public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase<AnyValueMsg>
+    implements org.apache.avro.data.RecordBuilder<AnyValueMsg> {
 
     private java.lang.Object anyValue;
 
     /** Creates a new Builder */
     private Builder() {
-      super(gr.grnet.aquarium.message.avro.gen._AnyValue.SCHEMA$);
+      super(gr.grnet.aquarium.message.avro.gen.AnyValueMsg.SCHEMA$);
     }
     
     /** Creates a Builder by copying an existing Builder */
-    private Builder(gr.grnet.aquarium.message.avro.gen._AnyValue.Builder other) {
+    private Builder(gr.grnet.aquarium.message.avro.gen.AnyValueMsg.Builder other) {
       super(other);
     }
     
-    /** Creates a Builder by copying an existing _AnyValue instance */
-    private Builder(gr.grnet.aquarium.message.avro.gen._AnyValue other) {
-            super(gr.grnet.aquarium.message.avro.gen._AnyValue.SCHEMA$);
+    /** Creates a Builder by copying an existing AnyValueMsg instance */
+    private Builder(gr.grnet.aquarium.message.avro.gen.AnyValueMsg other) {
+            super(gr.grnet.aquarium.message.avro.gen.AnyValueMsg.SCHEMA$);
       if (isValidValue(fields()[0], other.anyValue)) {
         this.anyValue = (java.lang.Object) data().deepCopy(fields()[0].schema(), other.anyValue);
         fieldSetFlags()[0] = true;
@@ -88,7 +88,7 @@ public class _AnyValue extends org.apache.avro.specific.SpecificRecordBase imple
     }
     
     /** Sets the value of the 'anyValue' field */
-    public gr.grnet.aquarium.message.avro.gen._AnyValue.Builder setAnyValue(java.lang.Object value) {
+    public gr.grnet.aquarium.message.avro.gen.AnyValueMsg.Builder setAnyValue(java.lang.Object value) {
       validate(fields()[0], value);
       this.anyValue = value;
       fieldSetFlags()[0] = true;
@@ -101,16 +101,16 @@ public class _AnyValue extends org.apache.avro.specific.SpecificRecordBase imple
     }
     
     /** Clears the value of the 'anyValue' field */
-    public gr.grnet.aquarium.message.avro.gen._AnyValue.Builder clearAnyValue() {
+    public gr.grnet.aquarium.message.avro.gen.AnyValueMsg.Builder clearAnyValue() {
       anyValue = null;
       fieldSetFlags()[0] = false;
       return this;
     }
 
     @Override
-    public _AnyValue build() {
+    public AnyValueMsg build() {
       try {
-        _AnyValue record = new _AnyValue();
+        AnyValueMsg record = new AnyValueMsg();
         record.anyValue = fieldSetFlags()[0] ? this.anyValue : (java.lang.Object) defaultValue(fields()[0]);
         return record;
       } catch (Exception e) {
index 6200964..8d9cb50 100644 (file)
@@ -7,7 +7,7 @@ package gr.grnet.aquarium.message.avro.gen;
 
 @SuppressWarnings("all")
 public interface AquariumAny {
-  public static final org.apache.avro.Protocol PROTOCOL = org.apache.avro.Protocol.parse("{\"protocol\":\"AquariumAny\",\"namespace\":\"gr.grnet.aquarium.message.avro.gen\",\"types\":[{\"type\":\"record\",\"name\":\"_AnyValue\",\"fields\":[{\"name\":\"anyValue\",\"type\":[\"null\",\"int\",\"long\",\"boolean\",\"double\",\"bytes\",\"string\"]}]}],\"messages\":{}}");
+  public static final org.apache.avro.Protocol PROTOCOL = org.apache.avro.Protocol.parse("{\"protocol\":\"AquariumAny\",\"namespace\":\"gr.grnet.aquarium.message.avro.gen\",\"types\":[{\"type\":\"record\",\"name\":\"AnyValueMsg\",\"fields\":[{\"name\":\"anyValue\",\"type\":[\"null\",\"int\",\"long\",\"boolean\",\"double\",\"bytes\",\"string\"]}]}],\"messages\":{}}");
 
   @SuppressWarnings("all")
   public interface Callback extends AquariumAny {
index 72239ca..709f09a 100644 (file)
@@ -7,7 +7,7 @@ package gr.grnet.aquarium.message.avro.gen;
 
 @SuppressWarnings("all")
 public interface AquariumBill {
-  public static final org.apache.avro.Protocol PROTOCOL = org.apache.avro.Protocol.parse("{\"protocol\":\"AquariumBill\",\"namespace\":\"gr.grnet.aquarium.message.avro.gen\",\"types\":[{\"type\":\"record\",\"name\":\"_ChargeEntry\",\"fields\":[{\"name\":\"id\",\"type\":\"string\"},{\"name\":\"unitPrice\",\"type\":\"string\"},{\"name\":\"startTime\",\"type\":\"string\"},{\"name\":\"endTime\",\"type\":\"string\"},{\"name\":\"ellapsedTime\",\"type\":\"string\"},{\"name\":\"credits\",\"type\":\"string\"}]},{\"type\":\"record\",\"name\":\"_EventEntry\",\"fields\":[{\"name\":\"eventType\",\"type\":\"string\"},{\"name\":\"details\",\"type\":{\"type\":\"array\",\"items\":\"_ChargeEntry\"}}]},{\"type\":\"record\",\"name\":\"_ResourceEntry\",\"fields\":[{\"name\":\"resourceName\",\"type\":\"string\"},{\"name\":\"resourceType\",\"type\":\"string\"},{\"name\":\"unitName\",\"type\":\"string\"},{\"name\":\"totalCredits\",\"type\":\"string\"},{\"name\":\"details\",\"type\":{\"type\":\"array\",\"items\":\"_EventEntry\"}}]},{\"type\":\"record\",\"name\":\"_BillEntry\",\"fields\":[{\"name\":\"id\",\"type\":\"string\"},{\"name\":\"userID\",\"type\":\"string\"},{\"name\":\"status\",\"type\":\"string\"},{\"name\":\"remainingCredits\",\"type\":\"string\"},{\"name\":\"deductedCredits\",\"type\":\"string\"},{\"name\":\"startTime\",\"type\":\"string\"},{\"name\":\"endTime\",\"type\":\"string\"},{\"name\":\"bill\",\"type\":{\"type\":\"array\",\"items\":\"_ResourceEntry\"}}]}],\"messages\":{}}");
+  public static final org.apache.avro.Protocol PROTOCOL = org.apache.avro.Protocol.parse("{\"protocol\":\"AquariumBill\",\"namespace\":\"gr.grnet.aquarium.message.avro.gen\",\"types\":[{\"type\":\"record\",\"name\":\"ChargeEntryMsg\",\"fields\":[{\"name\":\"id\",\"type\":\"string\"},{\"name\":\"unitPrice\",\"type\":\"string\"},{\"name\":\"startTime\",\"type\":\"string\"},{\"name\":\"endTime\",\"type\":\"string\"},{\"name\":\"ellapsedTime\",\"type\":\"string\"},{\"name\":\"credits\",\"type\":\"string\"}]},{\"type\":\"record\",\"name\":\"EventEntryMsg\",\"fields\":[{\"name\":\"eventType\",\"type\":\"string\"},{\"name\":\"details\",\"type\":{\"type\":\"array\",\"items\":\"ChargeEntryMsg\"}}]},{\"type\":\"record\",\"name\":\"ResourceEntryMsg\",\"fields\":[{\"name\":\"resourceName\",\"type\":\"string\"},{\"name\":\"resourceType\",\"type\":\"string\"},{\"name\":\"unitName\",\"type\":\"string\"},{\"name\":\"totalCredits\",\"type\":\"string\"},{\"name\":\"details\",\"type\":{\"type\":\"array\",\"items\":\"EventEntryMsg\"}}]},{\"type\":\"record\",\"name\":\"BillEntryMsg\",\"fields\":[{\"name\":\"id\",\"type\":\"string\"},{\"name\":\"userID\",\"type\":\"string\"},{\"name\":\"status\",\"type\":\"string\"},{\"name\":\"remainingCredits\",\"type\":\"string\"},{\"name\":\"deductedCredits\",\"type\":\"string\"},{\"name\":\"startTime\",\"type\":\"string\"},{\"name\":\"endTime\",\"type\":\"string\"},{\"name\":\"bill\",\"type\":{\"type\":\"array\",\"items\":\"ResourceEntryMsg\"}}]}],\"messages\":{}}");
 
   @SuppressWarnings("all")
   public interface Callback extends AquariumBill {
index afdeaed..891b9fb 100644 (file)
@@ -7,7 +7,7 @@ package gr.grnet.aquarium.message.avro.gen;
 
 @SuppressWarnings("all")
 public interface AquariumEvents {
-  public static final org.apache.avro.Protocol PROTOCOL = org.apache.avro.Protocol.parse("{\"protocol\":\"AquariumEvents\",\"namespace\":\"gr.grnet.aquarium.message.avro.gen\",\"types\":[{\"type\":\"record\",\"name\":\"_AnyValue\",\"fields\":[{\"name\":\"anyValue\",\"type\":[\"null\",\"int\",\"long\",\"boolean\",\"double\",\"bytes\",\"string\"]}]},{\"type\":\"record\",\"name\":\"_ResourceEvent\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"aliases\":[\"originalID\",\"ID\"]},{\"name\":\"idInStore\",\"type\":\"string\"},{\"name\":\"occurredMillis\",\"type\":\"long\"},{\"name\":\"receivedMillis\",\"type\":\"long\",\"default\":0},{\"name\":\"userID\",\"type\":\"string\"},{\"name\":\"clientID\",\"type\":\"string\"},{\"name\":\"eventVersion\",\"type\":\"string\",\"default\":\"1.0\"},{\"name\":\"resource\",\"type\":\"string\",\"aliases\":[\"resourceType\"]},{\"name\":\"instanceID\",\"type\":\"string\"},{\"name\":\"value\",\"type\":\"string\"},{\"name\":\"details\",\"type\":{\"type\":\"map\",\"values\":\"_AnyValue\"}}]},{\"type\":\"record\",\"name\":\"_IMEvent\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"aliases\":[\"originalID\",\"ID\"]},{\"name\":\"idInStore\",\"type\":\"string\"},{\"name\":\"occurredMillis\",\"type\":\"long\"},{\"name\":\"receivedMillis\",\"type\":\"long\",\"default\":0},{\"name\":\"userID\",\"type\":\"string\"},{\"name\":\"clientID\",\"type\":\"string\"},{\"name\":\"eventVersion\",\"type\":\"string\",\"default\":\"1.0\"},{\"name\":\"isActive\",\"type\":\"boolean\"},{\"name\":\"role\",\"type\":\"string\"},{\"name\":\"details\",\"type\":{\"type\":\"map\",\"values\":\"_AnyValue\"}}]}],\"messages\":{}}");
+  public static final org.apache.avro.Protocol PROTOCOL = org.apache.avro.Protocol.parse("{\"protocol\":\"AquariumEvents\",\"namespace\":\"gr.grnet.aquarium.message.avro.gen\",\"types\":[{\"type\":\"record\",\"name\":\"AnyValueMsg\",\"fields\":[{\"name\":\"anyValue\",\"type\":[\"null\",\"int\",\"long\",\"boolean\",\"double\",\"bytes\",\"string\"]}]},{\"type\":\"record\",\"name\":\"ResourceEventMsg\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"aliases\":[\"originalID\",\"ID\"]},{\"name\":\"idInStore\",\"type\":\"string\"},{\"name\":\"occurredMillis\",\"type\":\"long\"},{\"name\":\"receivedMillis\",\"type\":\"long\",\"default\":0},{\"name\":\"userID\",\"type\":\"string\"},{\"name\":\"clientID\",\"type\":\"string\"},{\"name\":\"eventVersion\",\"type\":\"string\",\"default\":\"1.0\"},{\"name\":\"resource\",\"type\":\"string\",\"aliases\":[\"resourceType\"]},{\"name\":\"instanceID\",\"type\":\"string\"},{\"name\":\"value\",\"type\":\"string\"},{\"name\":\"details\",\"type\":{\"type\":\"map\",\"values\":\"AnyValueMsg\"}}]},{\"type\":\"record\",\"name\":\"IMEventMsg\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"aliases\":[\"originalID\",\"ID\"]},{\"name\":\"idInStore\",\"type\":\"string\"},{\"name\":\"occurredMillis\",\"type\":\"long\"},{\"name\":\"receivedMillis\",\"type\":\"long\",\"default\":0},{\"name\":\"userID\",\"type\":\"string\"},{\"name\":\"clientID\",\"type\":\"string\"},{\"name\":\"eventVersion\",\"type\":\"string\",\"default\":\"1.0\"},{\"name\":\"isActive\",\"type\":\"boolean\"},{\"name\":\"role\",\"type\":\"string\"},{\"name\":\"details\",\"type\":{\"type\":\"map\",\"values\":\"AnyValueMsg\"}}]}],\"messages\":{}}");
 
   @SuppressWarnings("all")
   public interface Callback extends AquariumEvents {
index 753334f..53f73e0 100644 (file)
@@ -7,7 +7,7 @@ package gr.grnet.aquarium.message.avro.gen;
 
 @SuppressWarnings("all")
 public interface AquariumPolicy {
-  public static final org.apache.avro.Protocol PROTOCOL = org.apache.avro.Protocol.parse("{\"protocol\":\"AquariumPolicy\",\"namespace\":\"gr.grnet.aquarium.message.avro.gen\",\"types\":[{\"type\":\"record\",\"name\":\"_ResourceType\",\"fields\":[{\"name\":\"name\",\"type\":\"string\"},{\"name\":\"unit\",\"type\":\"string\"},{\"name\":\"chargingBehaviorClass\",\"type\":\"string\"}]},{\"type\":\"record\",\"name\":\"_CronSpecTuple\",\"fields\":[{\"name\":\"a\",\"type\":\"string\"},{\"name\":\"b\",\"type\":\"string\"}]},{\"type\":\"record\",\"name\":\"_EffectiveUnitPrice\",\"fields\":[{\"name\":\"unitPrice\",\"type\":\"double\"},{\"name\":\"when\",\"type\":[\"_CronSpecTuple\",\"null\"]}]},{\"type\":\"record\",\"name\":\"_EffectivePriceTable\",\"fields\":[{\"name\":\"priceOverrides\",\"type\":{\"type\":\"array\",\"items\":\"_EffectiveUnitPrice\"}}]},{\"type\":\"record\",\"name\":\"_SelectorValue\",\"fields\":[{\"name\":\"selectorValue\",\"type\":[\"_EffectivePriceTable\",{\"type\":\"map\",\"values\":\"_SelectorValue\"}]}]},{\"type\":\"record\",\"name\":\"_FullPriceTable\",\"fields\":[{\"name\":\"perResource\",\"type\":{\"type\":\"map\",\"values\":{\"type\":\"map\",\"values\":\"_SelectorValue\"}}}]},{\"type\":\"record\",\"name\":\"_Policy\",\"fields\":[{\"name\":\"ID\",\"type\":\"string\",\"aliases\":[\"id, _id, idInStore, inStoreID\"]},{\"name\":\"parentID\",\"type\":[\"string\",\"null\"]},{\"name\":\"validFromMillis\",\"type\":\"long\"},{\"name\":\"validToMillis\",\"type\":\"long\"},{\"name\":\"resourceTypes\",\"type\":{\"type\":\"array\",\"items\":\"_ResourceType\"}},{\"name\":\"chargingBehaviors\",\"type\":{\"type\":\"array\",\"items\":\"string\"}},{\"name\":\"roleMapping\",\"type\":{\"type\":\"map\",\"values\":\"_FullPriceTable\"}}]}],\"messages\":{}}");
+  public static final org.apache.avro.Protocol PROTOCOL = org.apache.avro.Protocol.parse("{\"protocol\":\"AquariumPolicy\",\"namespace\":\"gr.grnet.aquarium.message.avro.gen\",\"types\":[{\"type\":\"record\",\"name\":\"ResourceTypeMsg\",\"fields\":[{\"name\":\"name\",\"type\":\"string\"},{\"name\":\"unit\",\"type\":\"string\"},{\"name\":\"chargingBehaviorClass\",\"type\":\"string\"}]},{\"type\":\"record\",\"name\":\"CronSpecTupleMsg\",\"fields\":[{\"name\":\"a\",\"type\":\"string\"},{\"name\":\"b\",\"type\":\"string\"}]},{\"type\":\"record\",\"name\":\"EffectiveUnitPriceMsg\",\"fields\":[{\"name\":\"unitPrice\",\"type\":\"double\"},{\"name\":\"when\",\"type\":[\"CronSpecTupleMsg\",\"null\"]}]},{\"type\":\"record\",\"name\":\"EffectivePriceTableMsg\",\"fields\":[{\"name\":\"priceOverrides\",\"type\":{\"type\":\"array\",\"items\":\"EffectiveUnitPriceMsg\"}}]},{\"type\":\"record\",\"name\":\"SelectorValueMsg\",\"fields\":[{\"name\":\"selectorValue\",\"type\":[\"EffectivePriceTableMsg\",{\"type\":\"map\",\"values\":\"SelectorValueMsg\"}]}]},{\"type\":\"record\",\"name\":\"FullPriceTableMsg\",\"fields\":[{\"name\":\"perResource\",\"type\":{\"type\":\"map\",\"values\":{\"type\":\"map\",\"values\":\"SelectorValueMsg\"}}}]},{\"type\":\"record\",\"name\":\"PolicyMsg\",\"fields\":[{\"name\":\"ID\",\"type\":\"string\",\"aliases\":[\"id, _id, idInStore, inStoreID\"]},{\"name\":\"parentID\",\"type\":[\"string\",\"null\"]},{\"name\":\"validFromMillis\",\"type\":\"long\"},{\"name\":\"validToMillis\",\"type\":\"long\"},{\"name\":\"resourceTypes\",\"type\":{\"type\":\"array\",\"items\":\"ResourceTypeMsg\"}},{\"name\":\"chargingBehaviors\",\"type\":{\"type\":\"array\",\"items\":\"string\"}},{\"name\":\"roleMapping\",\"type\":{\"type\":\"map\",\"values\":\"FullPriceTableMsg\"}}]}],\"messages\":{}}");
 
   @SuppressWarnings("all")
   public interface Callback extends AquariumPolicy {
index ec68e0a..4f4069c 100644 (file)
@@ -7,7 +7,7 @@ package gr.grnet.aquarium.message.avro.gen;
 
 @SuppressWarnings("all")
 public interface AquariumUserState {
-  public static final org.apache.avro.Protocol PROTOCOL = org.apache.avro.Protocol.parse("{\"protocol\":\"AquariumUserState\",\"namespace\":\"gr.grnet.aquarium.message.avro.gen\",\"types\":[{\"type\":\"record\",\"name\":\"_ResourceType\",\"fields\":[{\"name\":\"name\",\"type\":\"string\"},{\"name\":\"unit\",\"type\":\"string\"},{\"name\":\"chargingBehaviorClass\",\"type\":\"string\"}]},{\"type\":\"record\",\"name\":\"_CronSpecTuple\",\"fields\":[{\"name\":\"a\",\"type\":\"string\"},{\"name\":\"b\",\"type\":\"string\"}]},{\"type\":\"record\",\"name\":\"_EffectiveUnitPrice\",\"fields\":[{\"name\":\"unitPrice\",\"type\":\"double\"},{\"name\":\"when\",\"type\":[\"_CronSpecTuple\",\"null\"]}]},{\"type\":\"record\",\"name\":\"_EffectivePriceTable\",\"fields\":[{\"name\":\"priceOverrides\",\"type\":{\"type\":\"array\",\"items\":\"_EffectiveUnitPrice\"}}]},{\"type\":\"record\",\"name\":\"_SelectorValue\",\"fields\":[{\"name\":\"selectorValue\",\"type\":[\"_EffectivePriceTable\",{\"type\":\"map\",\"values\":\"_SelectorValue\"}]}]},{\"type\":\"record\",\"name\":\"_FullPriceTable\",\"fields\":[{\"name\":\"perResource\",\"type\":{\"type\":\"map\",\"values\":{\"type\":\"map\",\"values\":\"_SelectorValue\"}}}]},{\"type\":\"record\",\"name\":\"_Policy\",\"fields\":[{\"name\":\"ID\",\"type\":\"string\",\"aliases\":[\"id, _id, idInStore, inStoreID\"]},{\"name\":\"parentID\",\"type\":[\"string\",\"null\"]},{\"name\":\"validFromMillis\",\"type\":\"long\"},{\"name\":\"validToMillis\",\"type\":\"long\"},{\"name\":\"resourceTypes\",\"type\":{\"type\":\"array\",\"items\":\"_ResourceType\"}},{\"name\":\"chargingBehaviors\",\"type\":{\"type\":\"array\",\"items\":\"string\"}},{\"name\":\"roleMapping\",\"type\":{\"type\":\"map\",\"values\":\"_FullPriceTable\"}}]},{\"type\":\"record\",\"name\":\"_AnyValue\",\"fields\":[{\"name\":\"anyValue\",\"type\":[\"null\",\"int\",\"long\",\"boolean\",\"double\",\"bytes\",\"string\"]}]},{\"type\":\"record\",\"name\":\"_ResourceEvent\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"aliases\":[\"originalID\",\"ID\"]},{\"name\":\"idInStore\",\"type\":\"string\"},{\"name\":\"occurredMillis\",\"type\":\"long\"},{\"name\":\"receivedMillis\",\"type\":\"long\",\"default\":0},{\"name\":\"userID\",\"type\":\"string\"},{\"name\":\"clientID\",\"type\":\"string\"},{\"name\":\"eventVersion\",\"type\":\"string\",\"default\":\"1.0\"},{\"name\":\"resource\",\"type\":\"string\",\"aliases\":[\"resourceType\"]},{\"name\":\"instanceID\",\"type\":\"string\"},{\"name\":\"value\",\"type\":\"string\"},{\"name\":\"details\",\"type\":{\"type\":\"map\",\"values\":\"_AnyValue\"}}]},{\"type\":\"record\",\"name\":\"_IMEvent\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"aliases\":[\"originalID\",\"ID\"]},{\"name\":\"idInStore\",\"type\":\"string\"},{\"name\":\"occurredMillis\",\"type\":\"long\"},{\"name\":\"receivedMillis\",\"type\":\"long\",\"default\":0},{\"name\":\"userID\",\"type\":\"string\"},{\"name\":\"clientID\",\"type\":\"string\"},{\"name\":\"eventVersion\",\"type\":\"string\",\"default\":\"1.0\"},{\"name\":\"isActive\",\"type\":\"boolean\"},{\"name\":\"role\",\"type\":\"string\"},{\"name\":\"details\",\"type\":{\"type\":\"map\",\"values\":\"_AnyValue\"}}]},{\"type\":\"record\",\"name\":\"_UserAgreement\",\"fields\":[{\"name\":\"id\",\"type\":\"string\"},{\"name\":\"relatedIMEventID\",\"type\":[\"string\",\"null\"]},{\"name\":\"validFromMillis\",\"type\":\"long\"},{\"name\":\"validToMillis\",\"type\":\"long\"},{\"name\":\"role\",\"type\":\"string\"},{\"name\":\"fullPriceTableRef\",\"type\":[\"_FullPriceTable\",\"null\"]}]},{\"type\":\"record\",\"name\":\"_WorkingResourceInstanceChargingState\",\"fields\":[{\"name\":\"details\",\"type\":{\"type\":\"map\",\"values\":\"_AnyValue\"}},{\"name\":\"previousEvents\",\"type\":{\"type\":\"array\",\"items\":\"_ResourceEvent\"}},{\"name\":\"implicitlyIssuedStartEvents\",\"type\":{\"type\":\"array\",\"items\":\"_ResourceEvent\"}},{\"name\":\"accumulatingAmount\",\"type\":\"double\"},{\"name\":\"oldAccumulatingAmount\",\"type\":\"double\"},{\"name\":\"previousValue\",\"type\":\"double\"},{\"name\":\"currentValue\",\"type\":\"double\"}]},{\"type\":\"record\",\"name\":\"_WorkingResourcesChargingState\",\"fields\":[{\"name\":\"details\",\"type\":{\"type\":\"map\",\"values\":\"_AnyValue\"}},{\"name\":\"stateOfResourceInstance\",\"type\":{\"type\":\"map\",\"values\":\"_WorkingResourceInstanceChargingState\"}}]},{\"type\":\"record\",\"name\":\"_WorkingAgreementHistory\",\"fields\":[{\"name\":\"agreements\",\"type\":{\"type\":\"array\",\"items\":\"_UserAgreement\"}}]},{\"type\":\"record\",\"name\":\"_Chargeslot\",\"fields\":[{\"name\":\"startMillis\",\"type\":\"long\"},{\"name\":\"stopMillis\",\"type\":\"long\"},{\"name\":\"unitPrice\",\"type\":\"double\"},{\"name\":\"explanation\",\"type\":\"string\",\"default\":\"\"},{\"name\":\"creditsToSubtract\",\"type\":\"double\"}]},{\"type\":\"record\",\"name\":\"_WalletEntry\",\"fields\":[{\"name\":\"userID\",\"type\":\"string\"},{\"name\":\"sumOfCreditsToSubtract\",\"type\":\"double\"},{\"name\":\"oldTotalCredits\",\"type\":\"double\"},{\"name\":\"newTotalCredits\",\"type\":\"double\"},{\"name\":\"whenComputedMillis\",\"type\":\"long\"},{\"name\":\"referenceStartMillis\",\"type\":\"long\"},{\"name\":\"referenceStopMillis\",\"type\":\"long\"},{\"name\":\"billingYear\",\"type\":\"int\"},{\"name\":\"billingMonth\",\"type\":\"int\"},{\"name\":\"billingDay\",\"type\":\"int\"},{\"name\":\"chargeslots\",\"type\":{\"type\":\"array\",\"items\":\"_Chargeslot\"}},{\"name\":\"resourceEvents\",\"type\":{\"type\":\"array\",\"items\":\"_ResourceEvent\"}},{\"name\":\"resourceType\",\"type\":\"_ResourceType\"},{\"name\":\"isSynthetic\",\"type\":\"boolean\",\"default\":false}]},{\"type\":\"record\",\"name\":\"_WorkingUserState\",\"fields\":[{\"name\":\"userID\",\"type\":\"string\"},{\"name\":\"parentUserStateIDInStore\",\"type\":[\"string\",\"null\"]},{\"name\":\"resourceTypesMap\",\"type\":{\"type\":\"map\",\"values\":\"_ResourceType\"}},{\"name\":\"workingStateOfResources\",\"type\":{\"type\":\"map\",\"values\":\"_WorkingResourcesChargingState\"}},{\"name\":\"totalCredits\",\"type\":\"double\"},{\"name\":\"workingAgreementHistory\",\"type\":\"_WorkingAgreementHistory\"},{\"name\":\"latestUpdateMillis\",\"type\":\"long\"},{\"name\":\"latestResourceEventOccurredMillis\",\"type\":\"long\"},{\"name\":\"billingPeriodOutOfSyncResourceEventsCounter\",\"type\":\"long\"},{\"name\":\"walletEntries\",\"type\":{\"type\":\"array\",\"items\":\"_WalletEntry\"}}]}],\"messages\":{}}");
+  public static final org.apache.avro.Protocol PROTOCOL = org.apache.avro.Protocol.parse("{\"protocol\":\"AquariumUserState\",\"namespace\":\"gr.grnet.aquarium.message.avro.gen\",\"types\":[{\"type\":\"record\",\"name\":\"ResourceTypeMsg\",\"fields\":[{\"name\":\"name\",\"type\":\"string\"},{\"name\":\"unit\",\"type\":\"string\"},{\"name\":\"chargingBehaviorClass\",\"type\":\"string\"}]},{\"type\":\"record\",\"name\":\"CronSpecTupleMsg\",\"fields\":[{\"name\":\"a\",\"type\":\"string\"},{\"name\":\"b\",\"type\":\"string\"}]},{\"type\":\"record\",\"name\":\"EffectiveUnitPriceMsg\",\"fields\":[{\"name\":\"unitPrice\",\"type\":\"double\"},{\"name\":\"when\",\"type\":[\"CronSpecTupleMsg\",\"null\"]}]},{\"type\":\"record\",\"name\":\"EffectivePriceTableMsg\",\"fields\":[{\"name\":\"priceOverrides\",\"type\":{\"type\":\"array\",\"items\":\"EffectiveUnitPriceMsg\"}}]},{\"type\":\"record\",\"name\":\"SelectorValueMsg\",\"fields\":[{\"name\":\"selectorValue\",\"type\":[\"EffectivePriceTableMsg\",{\"type\":\"map\",\"values\":\"SelectorValueMsg\"}]}]},{\"type\":\"record\",\"name\":\"FullPriceTableMsg\",\"fields\":[{\"name\":\"perResource\",\"type\":{\"type\":\"map\",\"values\":{\"type\":\"map\",\"values\":\"SelectorValueMsg\"}}}]},{\"type\":\"record\",\"name\":\"PolicyMsg\",\"fields\":[{\"name\":\"ID\",\"type\":\"string\",\"aliases\":[\"id, _id, idInStore, inStoreID\"]},{\"name\":\"parentID\",\"type\":[\"string\",\"null\"]},{\"name\":\"validFromMillis\",\"type\":\"long\"},{\"name\":\"validToMillis\",\"type\":\"long\"},{\"name\":\"resourceTypes\",\"type\":{\"type\":\"array\",\"items\":\"ResourceTypeMsg\"}},{\"name\":\"chargingBehaviors\",\"type\":{\"type\":\"array\",\"items\":\"string\"}},{\"name\":\"roleMapping\",\"type\":{\"type\":\"map\",\"values\":\"FullPriceTableMsg\"}}]},{\"type\":\"record\",\"name\":\"AnyValueMsg\",\"fields\":[{\"name\":\"anyValue\",\"type\":[\"null\",\"int\",\"long\",\"boolean\",\"double\",\"bytes\",\"string\"]}]},{\"type\":\"record\",\"name\":\"ResourceEventMsg\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"aliases\":[\"originalID\",\"ID\"]},{\"name\":\"idInStore\",\"type\":\"string\"},{\"name\":\"occurredMillis\",\"type\":\"long\"},{\"name\":\"receivedMillis\",\"type\":\"long\",\"default\":0},{\"name\":\"userID\",\"type\":\"string\"},{\"name\":\"clientID\",\"type\":\"string\"},{\"name\":\"eventVersion\",\"type\":\"string\",\"default\":\"1.0\"},{\"name\":\"resource\",\"type\":\"string\",\"aliases\":[\"resourceType\"]},{\"name\":\"instanceID\",\"type\":\"string\"},{\"name\":\"value\",\"type\":\"string\"},{\"name\":\"details\",\"type\":{\"type\":\"map\",\"values\":\"AnyValueMsg\"}}]},{\"type\":\"record\",\"name\":\"IMEventMsg\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"aliases\":[\"originalID\",\"ID\"]},{\"name\":\"idInStore\",\"type\":\"string\"},{\"name\":\"occurredMillis\",\"type\":\"long\"},{\"name\":\"receivedMillis\",\"type\":\"long\",\"default\":0},{\"name\":\"userID\",\"type\":\"string\"},{\"name\":\"clientID\",\"type\":\"string\"},{\"name\":\"eventVersion\",\"type\":\"string\",\"default\":\"1.0\"},{\"name\":\"isActive\",\"type\":\"boolean\"},{\"name\":\"role\",\"type\":\"string\"},{\"name\":\"details\",\"type\":{\"type\":\"map\",\"values\":\"AnyValueMsg\"}}]},{\"type\":\"record\",\"name\":\"UserAgreementMsg\",\"fields\":[{\"name\":\"id\",\"type\":\"string\"},{\"name\":\"relatedIMEventID\",\"type\":[\"string\",\"null\"]},{\"name\":\"validFromMillis\",\"type\":\"long\"},{\"name\":\"validToMillis\",\"type\":\"long\"},{\"name\":\"role\",\"type\":\"string\"},{\"name\":\"fullPriceTableRef\",\"type\":[\"FullPriceTableMsg\",\"null\"]}]},{\"type\":\"record\",\"name\":\"WorkingResourceInstanceChargingStateMsg\",\"fields\":[{\"name\":\"details\",\"type\":{\"type\":\"map\",\"values\":\"AnyValueMsg\"}},{\"name\":\"previousEvents\",\"type\":{\"type\":\"array\",\"items\":\"ResourceEventMsg\"}},{\"name\":\"implicitlyIssuedStartEvents\",\"type\":{\"type\":\"array\",\"items\":\"ResourceEventMsg\"}},{\"name\":\"accumulatingAmount\",\"type\":\"double\"},{\"name\":\"oldAccumulatingAmount\",\"type\":\"double\"},{\"name\":\"previousValue\",\"type\":\"double\"},{\"name\":\"currentValue\",\"type\":\"double\"}]},{\"type\":\"record\",\"name\":\"WorkingResourcesChargingStateMsg\",\"fields\":[{\"name\":\"details\",\"type\":{\"type\":\"map\",\"values\":\"AnyValueMsg\"}},{\"name\":\"stateOfResourceInstance\",\"type\":{\"type\":\"map\",\"values\":\"WorkingResourceInstanceChargingStateMsg\"}}]},{\"type\":\"record\",\"name\":\"WorkingAgreementHistoryMsg\",\"fields\":[{\"name\":\"agreements\",\"type\":{\"type\":\"array\",\"items\":\"UserAgreementMsg\"}}]},{\"type\":\"record\",\"name\":\"ChargeslotMsg\",\"fields\":[{\"name\":\"startMillis\",\"type\":\"long\"},{\"name\":\"stopMillis\",\"type\":\"long\"},{\"name\":\"unitPrice\",\"type\":\"double\"},{\"name\":\"explanation\",\"type\":\"string\",\"default\":\"\"},{\"name\":\"creditsToSubtract\",\"type\":\"double\"}]},{\"type\":\"record\",\"name\":\"WalletEntryMsg\",\"fields\":[{\"name\":\"userID\",\"type\":\"string\"},{\"name\":\"sumOfCreditsToSubtract\",\"type\":\"double\"},{\"name\":\"oldTotalCredits\",\"type\":\"double\"},{\"name\":\"newTotalCredits\",\"type\":\"double\"},{\"name\":\"whenComputedMillis\",\"type\":\"long\"},{\"name\":\"referenceStartMillis\",\"type\":\"long\"},{\"name\":\"referenceStopMillis\",\"type\":\"long\"},{\"name\":\"billingYear\",\"type\":\"int\"},{\"name\":\"billingMonth\",\"type\":\"int\"},{\"name\":\"billingDay\",\"type\":\"int\"},{\"name\":\"chargeslots\",\"type\":{\"type\":\"array\",\"items\":\"ChargeslotMsg\"}},{\"name\":\"resourceEvents\",\"type\":{\"type\":\"array\",\"items\":\"ResourceEventMsg\"}},{\"name\":\"resourceType\",\"type\":\"ResourceTypeMsg\"},{\"name\":\"isSynthetic\",\"type\":\"boolean\",\"default\":false}]},{\"type\":\"record\",\"name\":\"WorkingUserStateMsg\",\"fields\":[{\"name\":\"userID\",\"type\":\"string\"},{\"name\":\"parentUserStateIDInStore\",\"type\":[\"string\",\"null\"]},{\"name\":\"resourceTypesMap\",\"type\":{\"type\":\"map\",\"values\":\"ResourceTypeMsg\"}},{\"name\":\"workingStateOfResources\",\"type\":{\"type\":\"map\",\"values\":\"WorkingResourcesChargingStateMsg\"}},{\"name\":\"totalCredits\",\"type\":\"double\"},{\"name\":\"workingAgreementHistory\",\"type\":\"WorkingAgreementHistoryMsg\"},{\"name\":\"latestUpdateMillis\",\"type\":\"long\"},{\"name\":\"latestResourceEventOccurredMillis\",\"type\":\"long\"},{\"name\":\"billingPeriodOutOfSyncResourceEventsCounter\",\"type\":\"long\"},{\"name\":\"walletEntries\",\"type\":{\"type\":\"array\",\"items\":\"WalletEntryMsg\"}}]}],\"messages\":{}}");
 
   @SuppressWarnings("all")
   public interface Callback extends AquariumUserState {
@@ -5,8 +5,8 @@
  */
 package gr.grnet.aquarium.message.avro.gen;  
 @SuppressWarnings("all")
-public class _BillEntry extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
-  public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"_BillEntry\",\"namespace\":\"gr.grnet.aquarium.message.avro.gen\",\"fields\":[{\"name\":\"id\",\"type\":\"string\"},{\"name\":\"userID\",\"type\":\"string\"},{\"name\":\"status\",\"type\":\"string\"},{\"name\":\"remainingCredits\",\"type\":\"string\"},{\"name\":\"deductedCredits\",\"type\":\"string\"},{\"name\":\"startTime\",\"type\":\"string\"},{\"name\":\"endTime\",\"type\":\"string\"},{\"name\":\"bill\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"_ResourceEntry\",\"fields\":[{\"name\":\"resourceName\",\"type\":\"string\"},{\"name\":\"resourceType\",\"type\":\"string\"},{\"name\":\"unitName\",\"type\":\"string\"},{\"name\":\"totalCredits\",\"type\":\"string\"},{\"name\":\"details\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"_EventEntry\",\"fields\":[{\"name\":\"eventType\",\"type\":\"string\"},{\"name\":\"details\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"_ChargeEntry\",\"fields\":[{\"name\":\"id\",\"type\":\"string\"},{\"name\":\"unitPrice\",\"type\":\"string\"},{\"name\":\"startTime\",\"type\":\"string\"},{\"name\":\"endTime\",\"type\":\"string\"},{\"name\":\"ellapsedTime\",\"type\":\"string\"},{\"name\":\"credits\",\"type\":\"string\"}]}}}]}}}]}}}]}");
+public class BillEntryMsg extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
+  public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"BillEntryMsg\",\"namespace\":\"gr.grnet.aquarium.message.avro.gen\",\"fields\":[{\"name\":\"id\",\"type\":\"string\"},{\"name\":\"userID\",\"type\":\"string\"},{\"name\":\"status\",\"type\":\"string\"},{\"name\":\"remainingCredits\",\"type\":\"string\"},{\"name\":\"deductedCredits\",\"type\":\"string\"},{\"name\":\"startTime\",\"type\":\"string\"},{\"name\":\"endTime\",\"type\":\"string\"},{\"name\":\"bill\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"ResourceEntryMsg\",\"fields\":[{\"name\":\"resourceName\",\"type\":\"string\"},{\"name\":\"resourceType\",\"type\":\"string\"},{\"name\":\"unitName\",\"type\":\"string\"},{\"name\":\"totalCredits\",\"type\":\"string\"},{\"name\":\"details\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"EventEntryMsg\",\"fields\":[{\"name\":\"eventType\",\"type\":\"string\"},{\"name\":\"details\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"ChargeEntryMsg\",\"fields\":[{\"name\":\"id\",\"type\":\"string\"},{\"name\":\"unitPrice\",\"type\":\"string\"},{\"name\":\"startTime\",\"type\":\"string\"},{\"name\":\"endTime\",\"type\":\"string\"},{\"name\":\"ellapsedTime\",\"type\":\"string\"},{\"name\":\"credits\",\"type\":\"string\"}]}}}]}}}]}}}]}");
   @Deprecated public java.lang.CharSequence id;
   @Deprecated public java.lang.CharSequence userID;
   @Deprecated public java.lang.CharSequence status;
@@ -14,7 +14,7 @@ public class _BillEntry extends org.apache.avro.specific.SpecificRecordBase impl
   @Deprecated public java.lang.CharSequence deductedCredits;
   @Deprecated public java.lang.CharSequence startTime;
   @Deprecated public java.lang.CharSequence endTime;
-  @Deprecated public java.util.List<gr.grnet.aquarium.message.avro.gen._ResourceEntry> bill;
+  @Deprecated public java.util.List<gr.grnet.aquarium.message.avro.gen.ResourceEntryMsg> bill;
   public org.apache.avro.Schema getSchema() { return SCHEMA$; }
   // Used by DatumWriter.  Applications should not call. 
   public java.lang.Object get(int field$) {
@@ -41,7 +41,7 @@ public class _BillEntry extends org.apache.avro.specific.SpecificRecordBase impl
     case 4: deductedCredits = (java.lang.CharSequence)value$; break;
     case 5: startTime = (java.lang.CharSequence)value$; break;
     case 6: endTime = (java.lang.CharSequence)value$; break;
-    case 7: bill = (java.util.List<gr.grnet.aquarium.message.avro.gen._ResourceEntry>)value$; break;
+    case 7: bill = (java.util.List<gr.grnet.aquarium.message.avro.gen.ResourceEntryMsg>)value$; break;
     default: throw new org.apache.avro.AvroRuntimeException("Bad index");
     }
   }
@@ -154,7 +154,7 @@ public class _BillEntry extends org.apache.avro.specific.SpecificRecordBase impl
   /**
    * Gets the value of the 'bill' field.
    */
-  public java.util.List<gr.grnet.aquarium.message.avro.gen._ResourceEntry> getBill() {
+  public java.util.List<gr.grnet.aquarium.message.avro.gen.ResourceEntryMsg> getBill() {
     return bill;
   }
 
@@ -162,30 +162,30 @@ public class _BillEntry extends org.apache.avro.specific.SpecificRecordBase impl
    * Sets the value of the 'bill' field.
    * @param value the value to set.
    */
-  public void setBill(java.util.List<gr.grnet.aquarium.message.avro.gen._ResourceEntry> value) {
+  public void setBill(java.util.List<gr.grnet.aquarium.message.avro.gen.ResourceEntryMsg> value) {
     this.bill = value;
   }
 
-  /** Creates a new _BillEntry RecordBuilder */
-  public static gr.grnet.aquarium.message.avro.gen._BillEntry.Builder newBuilder() {
-    return new gr.grnet.aquarium.message.avro.gen._BillEntry.Builder();
+  /** Creates a new BillEntryMsg RecordBuilder */
+  public static gr.grnet.aquarium.message.avro.gen.BillEntryMsg.Builder newBuilder() {
+    return new gr.grnet.aquarium.message.avro.gen.BillEntryMsg.Builder();
   }
   
-  /** Creates a new _BillEntry RecordBuilder by copying an existing Builder */
-  public static gr.grnet.aquarium.message.avro.gen._BillEntry.Builder newBuilder(gr.grnet.aquarium.message.avro.gen._BillEntry.Builder other) {
-    return new gr.grnet.aquarium.message.avro.gen._BillEntry.Builder(other);
+  /** Creates a new BillEntryMsg RecordBuilder by copying an existing Builder */
+  public static gr.grnet.aquarium.message.avro.gen.BillEntryMsg.Builder newBuilder(gr.grnet.aquarium.message.avro.gen.BillEntryMsg.Builder other) {
+    return new gr.grnet.aquarium.message.avro.gen.BillEntryMsg.Builder(other);
   }
   
-  /** Creates a new _BillEntry RecordBuilder by copying an existing _BillEntry instance */
-  public static gr.grnet.aquarium.message.avro.gen._BillEntry.Builder newBuilder(gr.grnet.aquarium.message.avro.gen._BillEntry other) {
-    return new gr.grnet.aquarium.message.avro.gen._BillEntry.Builder(other);
+  /** Creates a new BillEntryMsg RecordBuilder by copying an existing BillEntryMsg instance */
+  public static gr.grnet.aquarium.message.avro.gen.BillEntryMsg.Builder newBuilder(gr.grnet.aquarium.message.avro.gen.BillEntryMsg other) {
+    return new gr.grnet.aquarium.message.avro.gen.BillEntryMsg.Builder(other);
   }
   
   /**
-   * RecordBuilder for _BillEntry instances.
+   * RecordBuilder for BillEntryMsg instances.
    */
-  public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase<_BillEntry>
-    implements org.apache.avro.data.RecordBuilder<_BillEntry> {
+  public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase<BillEntryMsg>
+    implements org.apache.avro.data.RecordBuilder<BillEntryMsg> {
 
     private java.lang.CharSequence id;
     private java.lang.CharSequence userID;
@@ -194,21 +194,21 @@ public class _BillEntry extends org.apache.avro.specific.SpecificRecordBase impl
     private java.lang.CharSequence deductedCredits;
     private java.lang.CharSequence startTime;
     private java.lang.CharSequence endTime;
-    private java.util.List<gr.grnet.aquarium.message.avro.gen._ResourceEntry> bill;
+    private java.util.List<gr.grnet.aquarium.message.avro.gen.ResourceEntryMsg> bill;
 
     /** Creates a new Builder */
     private Builder() {
-      super(gr.grnet.aquarium.message.avro.gen._BillEntry.SCHEMA$);
+      super(gr.grnet.aquarium.message.avro.gen.BillEntryMsg.SCHEMA$);
     }
     
     /** Creates a Builder by copying an existing Builder */
-    private Builder(gr.grnet.aquarium.message.avro.gen._BillEntry.Builder other) {
+    private Builder(gr.grnet.aquarium.message.avro.gen.BillEntryMsg.Builder other) {
       super(other);
     }
     
-    /** Creates a Builder by copying an existing _BillEntry instance */
-    private Builder(gr.grnet.aquarium.message.avro.gen._BillEntry other) {
-            super(gr.grnet.aquarium.message.avro.gen._BillEntry.SCHEMA$);
+    /** Creates a Builder by copying an existing BillEntryMsg instance */
+    private Builder(gr.grnet.aquarium.message.avro.gen.BillEntryMsg other) {
+            super(gr.grnet.aquarium.message.avro.gen.BillEntryMsg.SCHEMA$);
       if (isValidValue(fields()[0], other.id)) {
         this.id = (java.lang.CharSequence) data().deepCopy(fields()[0].schema(), other.id);
         fieldSetFlags()[0] = true;
@@ -238,7 +238,7 @@ public class _BillEntry extends org.apache.avro.specific.SpecificRecordBase impl
         fieldSetFlags()[6] = true;
       }
       if (isValidValue(fields()[7], other.bill)) {
-        this.bill = (java.util.List<gr.grnet.aquarium.message.avro.gen._ResourceEntry>) data().deepCopy(fields()[7].schema(), other.bill);
+        this.bill = (java.util.List<gr.grnet.aquarium.message.avro.gen.ResourceEntryMsg>) data().deepCopy(fields()[7].schema(), other.bill);
         fieldSetFlags()[7] = true;
       }
     }
@@ -249,7 +249,7 @@ public class _BillEntry extends org.apache.avro.specific.SpecificRecordBase impl
     }
     
     /** Sets the value of the 'id' field */
-    public gr.grnet.aquarium.message.avro.gen._BillEntry.Builder setId(java.lang.CharSequence value) {
+    public gr.grnet.aquarium.message.avro.gen.BillEntryMsg.Builder setId(java.lang.CharSequence value) {
       validate(fields()[0], value);
       this.id = value;
       fieldSetFlags()[0] = true;
@@ -262,7 +262,7 @@ public class _BillEntry extends org.apache.avro.specific.SpecificRecordBase impl
     }
     
     /** Clears the value of the 'id' field */
-    public gr.grnet.aquarium.message.avro.gen._BillEntry.Builder clearId() {
+    public gr.grnet.aquarium.message.avro.gen.BillEntryMsg.Builder clearId() {
       id = null;
       fieldSetFlags()[0] = false;
       return this;
@@ -274,7 +274,7 @@ public class _BillEntry extends org.apache.avro.specific.SpecificRecordBase impl
     }
     
     /** Sets the value of the 'userID' field */
-    public gr.grnet.aquarium.message.avro.gen._BillEntry.Builder setUserID(java.lang.CharSequence value) {
+    public gr.grnet.aquarium.message.avro.gen.BillEntryMsg.Builder setUserID(java.lang.CharSequence value) {
       validate(fields()[1], value);
       this.userID = value;
       fieldSetFlags()[1] = true;
@@ -287,7 +287,7 @@ public class _BillEntry extends org.apache.avro.specific.SpecificRecordBase impl
     }
     
     /** Clears the value of the 'userID' field */
-    public gr.grnet.aquarium.message.avro.gen._BillEntry.Builder clearUserID() {
+    public gr.grnet.aquarium.message.avro.gen.BillEntryMsg.Builder clearUserID() {
       userID = null;
       fieldSetFlags()[1] = false;
       return this;
@@ -299,7 +299,7 @@ public class _BillEntry extends org.apache.avro.specific.SpecificRecordBase impl
     }
     
     /** Sets the value of the 'status' field */
-    public gr.grnet.aquarium.message.avro.gen._BillEntry.Builder setStatus(java.lang.CharSequence value) {
+    public gr.grnet.aquarium.message.avro.gen.BillEntryMsg.Builder setStatus(java.lang.CharSequence value) {
       validate(fields()[2], value);
       this.status = value;
       fieldSetFlags()[2] = true;
@@ -312,7 +312,7 @@ public class _BillEntry extends org.apache.avro.specific.SpecificRecordBase impl
     }
     
     /** Clears the value of the 'status' field */
-    public gr.grnet.aquarium.message.avro.gen._BillEntry.Builder clearStatus() {
+    public gr.grnet.aquarium.message.avro.gen.BillEntryMsg.Builder clearStatus() {
       status = null;
       fieldSetFlags()[2] = false;
       return this;
@@ -324,7 +324,7 @@ public class _BillEntry extends org.apache.avro.specific.SpecificRecordBase impl
     }
     
     /** Sets the value of the 'remainingCredits' field */
-    public gr.grnet.aquarium.message.avro.gen._BillEntry.Builder setRemainingCredits(java.lang.CharSequence value) {
+    public gr.grnet.aquarium.message.avro.gen.BillEntryMsg.Builder setRemainingCredits(java.lang.CharSequence value) {
       validate(fields()[3], value);
       this.remainingCredits = value;
       fieldSetFlags()[3] = true;
@@ -337,7 +337,7 @@ public class _BillEntry extends org.apache.avro.specific.SpecificRecordBase impl
     }
     
     /** Clears the value of the 'remainingCredits' field */
-    public gr.grnet.aquarium.message.avro.gen._BillEntry.Builder clearRemainingCredits() {
+    public gr.grnet.aquarium.message.avro.gen.BillEntryMsg.Builder clearRemainingCredits() {
       remainingCredits = null;
       fieldSetFlags()[3] = false;
       return this;
@@ -349,7 +349,7 @@ public class _BillEntry extends org.apache.avro.specific.SpecificRecordBase impl
     }
     
     /** Sets the value of the 'deductedCredits' field */
-    public gr.grnet.aquarium.message.avro.gen._BillEntry.Builder setDeductedCredits(java.lang.CharSequence value) {
+    public gr.grnet.aquarium.message.avro.gen.BillEntryMsg.Builder setDeductedCredits(java.lang.CharSequence value) {
       validate(fields()[4], value);
       this.deductedCredits = value;
       fieldSetFlags()[4] = true;
@@ -362,7 +362,7 @@ public class _BillEntry extends org.apache.avro.specific.SpecificRecordBase impl
     }
     
     /** Clears the value of the 'deductedCredits' field */
-    public gr.grnet.aquarium.message.avro.gen._BillEntry.Builder clearDeductedCredits() {
+    public gr.grnet.aquarium.message.avro.gen.BillEntryMsg.Builder clearDeductedCredits() {
       deductedCredits = null;
       fieldSetFlags()[4] = false;
       return this;
@@ -374,7 +374,7 @@ public class _BillEntry extends org.apache.avro.specific.SpecificRecordBase impl
     }
     
     /** Sets the value of the 'startTime' field */
-    public gr.grnet.aquarium.message.avro.gen._BillEntry.Builder setStartTime(java.lang.CharSequence value) {
+    public gr.grnet.aquarium.message.avro.gen.BillEntryMsg.Builder setStartTime(java.lang.CharSequence value) {
       validate(fields()[5], value);
       this.startTime = value;
       fieldSetFlags()[5] = true;
@@ -387,7 +387,7 @@ public class _BillEntry extends org.apache.avro.specific.SpecificRecordBase impl
     }
     
     /** Clears the value of the 'startTime' field */
-    public gr.grnet.aquarium.message.avro.gen._BillEntry.Builder clearStartTime() {
+    public gr.grnet.aquarium.message.avro.gen.BillEntryMsg.Builder clearStartTime() {
       startTime = null;
       fieldSetFlags()[5] = false;
       return this;
@@ -399,7 +399,7 @@ public class _BillEntry extends org.apache.avro.specific.SpecificRecordBase impl
     }
     
     /** Sets the value of the 'endTime' field */
-    public gr.grnet.aquarium.message.avro.gen._BillEntry.Builder setEndTime(java.lang.CharSequence value) {
+    public gr.grnet.aquarium.message.avro.gen.BillEntryMsg.Builder setEndTime(java.lang.CharSequence value) {
       validate(fields()[6], value);
       this.endTime = value;
       fieldSetFlags()[6] = true;
@@ -412,19 +412,19 @@ public class _BillEntry extends org.apache.avro.specific.SpecificRecordBase impl
     }
     
     /** Clears the value of the 'endTime' field */
-    public gr.grnet.aquarium.message.avro.gen._BillEntry.Builder clearEndTime() {
+    public gr.grnet.aquarium.message.avro.gen.BillEntryMsg.Builder clearEndTime() {
       endTime = null;
       fieldSetFlags()[6] = false;
       return this;
     }
 
     /** Gets the value of the 'bill' field */
-    public java.util.List<gr.grnet.aquarium.message.avro.gen._ResourceEntry> getBill() {
+    public java.util.List<gr.grnet.aquarium.message.avro.gen.ResourceEntryMsg> getBill() {
       return bill;
     }
     
     /** Sets the value of the 'bill' field */
-    public gr.grnet.aquarium.message.avro.gen._BillEntry.Builder setBill(java.util.List<gr.grnet.aquarium.message.avro.gen._ResourceEntry> value) {
+    public gr.grnet.aquarium.message.avro.gen.BillEntryMsg.Builder setBill(java.util.List<gr.grnet.aquarium.message.avro.gen.ResourceEntryMsg> value) {
       validate(fields()[7], value);
       this.bill = value;
       fieldSetFlags()[7] = true;
@@ -437,16 +437,16 @@ public class _BillEntry extends org.apache.avro.specific.SpecificRecordBase impl
     }
     
     /** Clears the value of the 'bill' field */
-    public gr.grnet.aquarium.message.avro.gen._BillEntry.Builder clearBill() {
+    public gr.grnet.aquarium.message.avro.gen.BillEntryMsg.Builder clearBill() {
       bill = null;
       fieldSetFlags()[7] = false;
       return this;
     }
 
     @Override
-    public _BillEntry build() {
+    public BillEntryMsg build() {
       try {
-        _BillEntry record = new _BillEntry();
+        BillEntryMsg record = new BillEntryMsg();
         record.id = fieldSetFlags()[0] ? this.id : (java.lang.CharSequence) defaultValue(fields()[0]);
         record.userID = fieldSetFlags()[1] ? this.userID : (java.lang.CharSequence) defaultValue(fields()[1]);
         record.status = fieldSetFlags()[2] ? this.status : (java.lang.CharSequence) defaultValue(fields()[2]);
@@ -454,7 +454,7 @@ public class _BillEntry extends org.apache.avro.specific.SpecificRecordBase impl
         record.deductedCredits = fieldSetFlags()[4] ? this.deductedCredits : (java.lang.CharSequence) defaultValue(fields()[4]);
         record.startTime = fieldSetFlags()[5] ? this.startTime : (java.lang.CharSequence) defaultValue(fields()[5]);
         record.endTime = fieldSetFlags()[6] ? this.endTime : (java.lang.CharSequence) defaultValue(fields()[6]);
-        record.bill = fieldSetFlags()[7] ? this.bill : (java.util.List<gr.grnet.aquarium.message.avro.gen._ResourceEntry>) defaultValue(fields()[7]);
+        record.bill = fieldSetFlags()[7] ? this.bill : (java.util.List<gr.grnet.aquarium.message.avro.gen.ResourceEntryMsg>) defaultValue(fields()[7]);
         return record;
       } catch (Exception e) {
         throw new org.apache.avro.AvroRuntimeException(e);
@@ -5,8 +5,8 @@
  */
 package gr.grnet.aquarium.message.avro.gen;  
 @SuppressWarnings("all")
-public class _ChargeEntry extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
-  public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"_ChargeEntry\",\"namespace\":\"gr.grnet.aquarium.message.avro.gen\",\"fields\":[{\"name\":\"id\",\"type\":\"string\"},{\"name\":\"unitPrice\",\"type\":\"string\"},{\"name\":\"startTime\",\"type\":\"string\"},{\"name\":\"endTime\",\"type\":\"string\"},{\"name\":\"ellapsedTime\",\"type\":\"string\"},{\"name\":\"credits\",\"type\":\"string\"}]}");
+public class ChargeEntryMsg extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
+  public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"ChargeEntryMsg\",\"namespace\":\"gr.grnet.aquarium.message.avro.gen\",\"fields\":[{\"name\":\"id\",\"type\":\"string\"},{\"name\":\"unitPrice\",\"type\":\"string\"},{\"name\":\"startTime\",\"type\":\"string\"},{\"name\":\"endTime\",\"type\":\"string\"},{\"name\":\"ellapsedTime\",\"type\":\"string\"},{\"name\":\"credits\",\"type\":\"string\"}]}");
   @Deprecated public java.lang.CharSequence id;
   @Deprecated public java.lang.CharSequence unitPrice;
   @Deprecated public java.lang.CharSequence startTime;
@@ -130,26 +130,26 @@ public class _ChargeEntry extends org.apache.avro.specific.SpecificRecordBase im
     this.credits = value;
   }
 
-  /** Creates a new _ChargeEntry RecordBuilder */
-  public static gr.grnet.aquarium.message.avro.gen._ChargeEntry.Builder newBuilder() {
-    return new gr.grnet.aquarium.message.avro.gen._ChargeEntry.Builder();
+  /** Creates a new ChargeEntryMsg RecordBuilder */
+  public static gr.grnet.aquarium.message.avro.gen.ChargeEntryMsg.Builder newBuilder() {
+    return new gr.grnet.aquarium.message.avro.gen.ChargeEntryMsg.Builder();
   }
   
-  /** Creates a new _ChargeEntry RecordBuilder by copying an existing Builder */
-  public static gr.grnet.aquarium.message.avro.gen._ChargeEntry.Builder newBuilder(gr.grnet.aquarium.message.avro.gen._ChargeEntry.Builder other) {
-    return new gr.grnet.aquarium.message.avro.gen._ChargeEntry.Builder(other);
+  /** Creates a new ChargeEntryMsg RecordBuilder by copying an existing Builder */
+  public static gr.grnet.aquarium.message.avro.gen.ChargeEntryMsg.Builder newBuilder(gr.grnet.aquarium.message.avro.gen.ChargeEntryMsg.Builder other) {
+    return new gr.grnet.aquarium.message.avro.gen.ChargeEntryMsg.Builder(other);
   }
   
-  /** Creates a new _ChargeEntry RecordBuilder by copying an existing _ChargeEntry instance */
-  public static gr.grnet.aquarium.message.avro.gen._ChargeEntry.Builder newBuilder(gr.grnet.aquarium.message.avro.gen._ChargeEntry other) {
-    return new gr.grnet.aquarium.message.avro.gen._ChargeEntry.Builder(other);
+  /** Creates a new ChargeEntryMsg RecordBuilder by copying an existing ChargeEntryMsg instance */
+  public static gr.grnet.aquarium.message.avro.gen.ChargeEntryMsg.Builder newBuilder(gr.grnet.aquarium.message.avro.gen.ChargeEntryMsg other) {
+    return new gr.grnet.aquarium.message.avro.gen.ChargeEntryMsg.Builder(other);
   }
   
   /**
-   * RecordBuilder for _ChargeEntry instances.
+   * RecordBuilder for ChargeEntryMsg instances.
    */
-  public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase<_ChargeEntry>
-    implements org.apache.avro.data.RecordBuilder<_ChargeEntry> {
+  public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase<ChargeEntryMsg>
+    implements org.apache.avro.data.RecordBuilder<ChargeEntryMsg> {
 
     private java.lang.CharSequence id;
     private java.lang.CharSequence unitPrice;
@@ -160,17 +160,17 @@ public class _ChargeEntry extends org.apache.avro.specific.SpecificRecordBase im
 
     /** Creates a new Builder */
     private Builder() {
-      super(gr.grnet.aquarium.message.avro.gen._ChargeEntry.SCHEMA$);
+      super(gr.grnet.aquarium.message.avro.gen.ChargeEntryMsg.SCHEMA$);
     }
     
     /** Creates a Builder by copying an existing Builder */
-    private Builder(gr.grnet.aquarium.message.avro.gen._ChargeEntry.Builder other) {
+    private Builder(gr.grnet.aquarium.message.avro.gen.ChargeEntryMsg.Builder other) {
       super(other);
     }
     
-    /** Creates a Builder by copying an existing _ChargeEntry instance */
-    private Builder(gr.grnet.aquarium.message.avro.gen._ChargeEntry other) {
-            super(gr.grnet.aquarium.message.avro.gen._ChargeEntry.SCHEMA$);
+    /** Creates a Builder by copying an existing ChargeEntryMsg instance */
+    private Builder(gr.grnet.aquarium.message.avro.gen.ChargeEntryMsg other) {
+            super(gr.grnet.aquarium.message.avro.gen.ChargeEntryMsg.SCHEMA$);
       if (isValidValue(fields()[0], other.id)) {
         this.id = (java.lang.CharSequence) data().deepCopy(fields()[0].schema(), other.id);
         fieldSetFlags()[0] = true;
@@ -203,7 +203,7 @@ public class _ChargeEntry extends org.apache.avro.specific.SpecificRecordBase im
     }
     
     /** Sets the value of the 'id' field */
-    public gr.grnet.aquarium.message.avro.gen._ChargeEntry.Builder setId(java.lang.CharSequence value) {
+    public gr.grnet.aquarium.message.avro.gen.ChargeEntryMsg.Builder setId(java.lang.CharSequence value) {
       validate(fields()[0], value);
       this.id = value;
       fieldSetFlags()[0] = true;
@@ -216,7 +216,7 @@ public class _ChargeEntry extends org.apache.avro.specific.SpecificRecordBase im
     }
     
     /** Clears the value of the 'id' field */
-    public gr.grnet.aquarium.message.avro.gen._ChargeEntry.Builder clearId() {
+    public gr.grnet.aquarium.message.avro.gen.ChargeEntryMsg.Builder clearId() {
       id = null;
       fieldSetFlags()[0] = false;
       return this;
@@ -228,7 +228,7 @@ public class _ChargeEntry extends org.apache.avro.specific.SpecificRecordBase im
     }
     
     /** Sets the value of the 'unitPrice' field */
-    public gr.grnet.aquarium.message.avro.gen._ChargeEntry.Builder setUnitPrice(java.lang.CharSequence value) {
+    public gr.grnet.aquarium.message.avro.gen.ChargeEntryMsg.Builder setUnitPrice(java.lang.CharSequence value) {
       validate(fields()[1], value);
       this.unitPrice = value;
       fieldSetFlags()[1] = true;
@@ -241,7 +241,7 @@ public class _ChargeEntry extends org.apache.avro.specific.SpecificRecordBase im
     }
     
     /** Clears the value of the 'unitPrice' field */
-    public gr.grnet.aquarium.message.avro.gen._ChargeEntry.Builder clearUnitPrice() {
+    public gr.grnet.aquarium.message.avro.gen.ChargeEntryMsg.Builder clearUnitPrice() {
       unitPrice = null;
       fieldSetFlags()[1] = false;
       return this;
@@ -253,7 +253,7 @@ public class _ChargeEntry extends org.apache.avro.specific.SpecificRecordBase im
     }
     
     /** Sets the value of the 'startTime' field */
-    public gr.grnet.aquarium.message.avro.gen._ChargeEntry.Builder setStartTime(java.lang.CharSequence value) {
+    public gr.grnet.aquarium.message.avro.gen.ChargeEntryMsg.Builder setStartTime(java.lang.CharSequence value) {
       validate(fields()[2], value);
       this.startTime = value;
       fieldSetFlags()[2] = true;
@@ -266,7 +266,7 @@ public class _ChargeEntry extends org.apache.avro.specific.SpecificRecordBase im
     }
     
     /** Clears the value of the 'startTime' field */
-    public gr.grnet.aquarium.message.avro.gen._ChargeEntry.Builder clearStartTime() {
+    public gr.grnet.aquarium.message.avro.gen.ChargeEntryMsg.Builder clearStartTime() {
       startTime = null;
       fieldSetFlags()[2] = false;
       return this;
@@ -278,7 +278,7 @@ public class _ChargeEntry extends org.apache.avro.specific.SpecificRecordBase im
     }
     
     /** Sets the value of the 'endTime' field */
-    public gr.grnet.aquarium.message.avro.gen._ChargeEntry.Builder setEndTime(java.lang.CharSequence value) {
+    public gr.grnet.aquarium.message.avro.gen.ChargeEntryMsg.Builder setEndTime(java.lang.CharSequence value) {
       validate(fields()[3], value);
       this.endTime = value;
       fieldSetFlags()[3] = true;
@@ -291,7 +291,7 @@ public class _ChargeEntry extends org.apache.avro.specific.SpecificRecordBase im
     }
     
     /** Clears the value of the 'endTime' field */
-    public gr.grnet.aquarium.message.avro.gen._ChargeEntry.Builder clearEndTime() {
+    public gr.grnet.aquarium.message.avro.gen.ChargeEntryMsg.Builder clearEndTime() {
       endTime = null;
       fieldSetFlags()[3] = false;
       return this;
@@ -303,7 +303,7 @@ public class _ChargeEntry extends org.apache.avro.specific.SpecificRecordBase im
     }
     
     /** Sets the value of the 'ellapsedTime' field */
-    public gr.grnet.aquarium.message.avro.gen._ChargeEntry.Builder setEllapsedTime(java.lang.CharSequence value) {
+    public gr.grnet.aquarium.message.avro.gen.ChargeEntryMsg.Builder setEllapsedTime(java.lang.CharSequence value) {
       validate(fields()[4], value);
       this.ellapsedTime = value;
       fieldSetFlags()[4] = true;
@@ -316,7 +316,7 @@ public class _ChargeEntry extends org.apache.avro.specific.SpecificRecordBase im
     }
     
     /** Clears the value of the 'ellapsedTime' field */
-    public gr.grnet.aquarium.message.avro.gen._ChargeEntry.Builder clearEllapsedTime() {
+    public gr.grnet.aquarium.message.avro.gen.ChargeEntryMsg.Builder clearEllapsedTime() {
       ellapsedTime = null;
       fieldSetFlags()[4] = false;
       return this;
@@ -328,7 +328,7 @@ public class _ChargeEntry extends org.apache.avro.specific.SpecificRecordBase im
     }
     
     /** Sets the value of the 'credits' field */
-    public gr.grnet.aquarium.message.avro.gen._ChargeEntry.Builder setCredits(java.lang.CharSequence value) {
+    public gr.grnet.aquarium.message.avro.gen.ChargeEntryMsg.Builder setCredits(java.lang.CharSequence value) {
       validate(fields()[5], value);
       this.credits = value;
       fieldSetFlags()[5] = true;
@@ -341,16 +341,16 @@ public class _ChargeEntry extends org.apache.avro.specific.SpecificRecordBase im
     }
     
     /** Clears the value of the 'credits' field */
-    public gr.grnet.aquarium.message.avro.gen._ChargeEntry.Builder clearCredits() {
+    public gr.grnet.aquarium.message.avro.gen.ChargeEntryMsg.Builder clearCredits() {
       credits = null;
       fieldSetFlags()[5] = false;
       return this;
     }
 
     @Override
-    public _ChargeEntry build() {
+    public ChargeEntryMsg build() {
       try {
-        _ChargeEntry record = new _ChargeEntry();
+        ChargeEntryMsg record = new ChargeEntryMsg();
         record.id = fieldSetFlags()[0] ? this.id : (java.lang.CharSequence) defaultValue(fields()[0]);
         record.unitPrice = fieldSetFlags()[1] ? this.unitPrice : (java.lang.CharSequence) defaultValue(fields()[1]);
         record.startTime = fieldSetFlags()[2] ? this.startTime : (java.lang.CharSequence) defaultValue(fields()[2]);
@@ -5,8 +5,8 @@
  */
 package gr.grnet.aquarium.message.avro.gen;  
 @SuppressWarnings("all")
-public class _Chargeslot extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
-  public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"_Chargeslot\",\"namespace\":\"gr.grnet.aquarium.message.avro.gen\",\"fields\":[{\"name\":\"startMillis\",\"type\":\"long\"},{\"name\":\"stopMillis\",\"type\":\"long\"},{\"name\":\"unitPrice\",\"type\":\"double\"},{\"name\":\"explanation\",\"type\":\"string\",\"default\":\"\"},{\"name\":\"creditsToSubtract\",\"type\":\"double\"}]}");
+public class ChargeslotMsg extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
+  public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"ChargeslotMsg\",\"namespace\":\"gr.grnet.aquarium.message.avro.gen\",\"fields\":[{\"name\":\"startMillis\",\"type\":\"long\"},{\"name\":\"stopMillis\",\"type\":\"long\"},{\"name\":\"unitPrice\",\"type\":\"double\"},{\"name\":\"explanation\",\"type\":\"string\",\"default\":\"\"},{\"name\":\"creditsToSubtract\",\"type\":\"double\"}]}");
   @Deprecated public long startMillis;
   @Deprecated public long stopMillis;
   @Deprecated public double unitPrice;
@@ -112,26 +112,26 @@ public class _Chargeslot extends org.apache.avro.specific.SpecificRecordBase imp
     this.creditsToSubtract = value;
   }
 
-  /** Creates a new _Chargeslot RecordBuilder */
-  public static gr.grnet.aquarium.message.avro.gen._Chargeslot.Builder newBuilder() {
-    return new gr.grnet.aquarium.message.avro.gen._Chargeslot.Builder();
+  /** Creates a new ChargeslotMsg RecordBuilder */
+  public static gr.grnet.aquarium.message.avro.gen.ChargeslotMsg.Builder newBuilder() {
+    return new gr.grnet.aquarium.message.avro.gen.ChargeslotMsg.Builder();
   }
   
-  /** Creates a new _Chargeslot RecordBuilder by copying an existing Builder */
-  public static gr.grnet.aquarium.message.avro.gen._Chargeslot.Builder newBuilder(gr.grnet.aquarium.message.avro.gen._Chargeslot.Builder other) {
-    return new gr.grnet.aquarium.message.avro.gen._Chargeslot.Builder(other);
+  /** Creates a new ChargeslotMsg RecordBuilder by copying an existing Builder */
+  public static gr.grnet.aquarium.message.avro.gen.ChargeslotMsg.Builder newBuilder(gr.grnet.aquarium.message.avro.gen.ChargeslotMsg.Builder other) {
+    return new gr.grnet.aquarium.message.avro.gen.ChargeslotMsg.Builder(other);
   }
   
-  /** Creates a new _Chargeslot RecordBuilder by copying an existing _Chargeslot instance */
-  public static gr.grnet.aquarium.message.avro.gen._Chargeslot.Builder newBuilder(gr.grnet.aquarium.message.avro.gen._Chargeslot other) {
-    return new gr.grnet.aquarium.message.avro.gen._Chargeslot.Builder(other);
+  /** Creates a new ChargeslotMsg RecordBuilder by copying an existing ChargeslotMsg instance */
+  public static gr.grnet.aquarium.message.avro.gen.ChargeslotMsg.Builder newBuilder(gr.grnet.aquarium.message.avro.gen.ChargeslotMsg other) {
+    return new gr.grnet.aquarium.message.avro.gen.ChargeslotMsg.Builder(other);
   }
   
   /**
-   * RecordBuilder for _Chargeslot instances.
+   * RecordBuilder for ChargeslotMsg instances.
    */
-  public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase<_Chargeslot>
-    implements org.apache.avro.data.RecordBuilder<_Chargeslot> {
+  public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase<ChargeslotMsg>
+    implements org.apache.avro.data.RecordBuilder<ChargeslotMsg> {
 
     private long startMillis;
     private long stopMillis;
@@ -141,17 +141,17 @@ public class _Chargeslot extends org.apache.avro.specific.SpecificRecordBase imp
 
     /** Creates a new Builder */
     private Builder() {
-      super(gr.grnet.aquarium.message.avro.gen._Chargeslot.SCHEMA$);
+      super(gr.grnet.aquarium.message.avro.gen.ChargeslotMsg.SCHEMA$);
     }
     
     /** Creates a Builder by copying an existing Builder */
-    private Builder(gr.grnet.aquarium.message.avro.gen._Chargeslot.Builder other) {
+    private Builder(gr.grnet.aquarium.message.avro.gen.ChargeslotMsg.Builder other) {
       super(other);
     }
     
-    /** Creates a Builder by copying an existing _Chargeslot instance */
-    private Builder(gr.grnet.aquarium.message.avro.gen._Chargeslot other) {
-            super(gr.grnet.aquarium.message.avro.gen._Chargeslot.SCHEMA$);
+    /** Creates a Builder by copying an existing ChargeslotMsg instance */
+    private Builder(gr.grnet.aquarium.message.avro.gen.ChargeslotMsg other) {
+            super(gr.grnet.aquarium.message.avro.gen.ChargeslotMsg.SCHEMA$);
       if (isValidValue(fields()[0], other.startMillis)) {
         this.startMillis = (java.lang.Long) data().deepCopy(fields()[0].schema(), other.startMillis);
         fieldSetFlags()[0] = true;
@@ -180,7 +180,7 @@ public class _Chargeslot extends org.apache.avro.specific.SpecificRecordBase imp
     }
     
     /** Sets the value of the 'startMillis' field */
-    public gr.grnet.aquarium.message.avro.gen._Chargeslot.Builder setStartMillis(long value) {
+    public gr.grnet.aquarium.message.avro.gen.ChargeslotMsg.Builder setStartMillis(long value) {
       validate(fields()[0], value);
       this.startMillis = value;
       fieldSetFlags()[0] = true;
@@ -193,7 +193,7 @@ public class _Chargeslot extends org.apache.avro.specific.SpecificRecordBase imp
     }
     
     /** Clears the value of the 'startMillis' field */
-    public gr.grnet.aquarium.message.avro.gen._Chargeslot.Builder clearStartMillis() {
+    public gr.grnet.aquarium.message.avro.gen.ChargeslotMsg.Builder clearStartMillis() {
       fieldSetFlags()[0] = false;
       return this;
     }
@@ -204,7 +204,7 @@ public class _Chargeslot extends org.apache.avro.specific.SpecificRecordBase imp
     }
     
     /** Sets the value of the 'stopMillis' field */
-    public gr.grnet.aquarium.message.avro.gen._Chargeslot.Builder setStopMillis(long value) {
+    public gr.grnet.aquarium.message.avro.gen.ChargeslotMsg.Builder setStopMillis(long value) {
       validate(fields()[1], value);
       this.stopMillis = value;
       fieldSetFlags()[1] = true;
@@ -217,7 +217,7 @@ public class _Chargeslot extends org.apache.avro.specific.SpecificRecordBase imp
     }
     
     /** Clears the value of the 'stopMillis' field */
-    public gr.grnet.aquarium.message.avro.gen._Chargeslot.Builder clearStopMillis() {
+    public gr.grnet.aquarium.message.avro.gen.ChargeslotMsg.Builder clearStopMillis() {
       fieldSetFlags()[1] = false;
       return this;
     }
@@ -228,7 +228,7 @@ public class _Chargeslot extends org.apache.avro.specific.SpecificRecordBase imp
     }
     
     /** Sets the value of the 'unitPrice' field */
-    public gr.grnet.aquarium.message.avro.gen._Chargeslot.Builder setUnitPrice(double value) {
+    public gr.grnet.aquarium.message.avro.gen.ChargeslotMsg.Builder setUnitPrice(double value) {
       validate(fields()[2], value);
       this.unitPrice = value;
       fieldSetFlags()[2] = true;
@@ -241,7 +241,7 @@ public class _Chargeslot extends org.apache.avro.specific.SpecificRecordBase imp
     }
     
     /** Clears the value of the 'unitPrice' field */
-    public gr.grnet.aquarium.message.avro.gen._Chargeslot.Builder clearUnitPrice() {
+    public gr.grnet.aquarium.message.avro.gen.ChargeslotMsg.Builder clearUnitPrice() {
       fieldSetFlags()[2] = false;
       return this;
     }
@@ -252,7 +252,7 @@ public class _Chargeslot extends org.apache.avro.specific.SpecificRecordBase imp
     }
     
     /** Sets the value of the 'explanation' field */
-    public gr.grnet.aquarium.message.avro.gen._Chargeslot.Builder setExplanation(java.lang.CharSequence value) {
+    public gr.grnet.aquarium.message.avro.gen.ChargeslotMsg.Builder setExplanation(java.lang.CharSequence value) {
       validate(fields()[3], value);
       this.explanation = value;
       fieldSetFlags()[3] = true;
@@ -265,7 +265,7 @@ public class _Chargeslot extends org.apache.avro.specific.SpecificRecordBase imp
     }
     
     /** Clears the value of the 'explanation' field */
-    public gr.grnet.aquarium.message.avro.gen._Chargeslot.Builder clearExplanation() {
+    public gr.grnet.aquarium.message.avro.gen.ChargeslotMsg.Builder clearExplanation() {
       explanation = null;
       fieldSetFlags()[3] = false;
       return this;
@@ -277,7 +277,7 @@ public class _Chargeslot extends org.apache.avro.specific.SpecificRecordBase imp
     }
     
     /** Sets the value of the 'creditsToSubtract' field */
-    public gr.grnet.aquarium.message.avro.gen._Chargeslot.Builder setCreditsToSubtract(double value) {
+    public gr.grnet.aquarium.message.avro.gen.ChargeslotMsg.Builder setCreditsToSubtract(double value) {
       validate(fields()[4], value);
       this.creditsToSubtract = value;
       fieldSetFlags()[4] = true;
@@ -290,15 +290,15 @@ public class _Chargeslot extends org.apache.avro.specific.SpecificRecordBase imp
     }
     
     /** Clears the value of the 'creditsToSubtract' field */
-    public gr.grnet.aquarium.message.avro.gen._Chargeslot.Builder clearCreditsToSubtract() {
+    public gr.grnet.aquarium.message.avro.gen.ChargeslotMsg.Builder clearCreditsToSubtract() {
       fieldSetFlags()[4] = false;
       return this;
     }
 
     @Override
-    public _Chargeslot build() {
+    public ChargeslotMsg build() {
       try {
-        _Chargeslot record = new _Chargeslot();
+        ChargeslotMsg record = new ChargeslotMsg();
         record.startMillis = fieldSetFlags()[0] ? this.startMillis : (java.lang.Long) defaultValue(fields()[0]);
         record.stopMillis = fieldSetFlags()[1] ? this.stopMillis : (java.lang.Long) defaultValue(fields()[1]);
         record.unitPrice = fieldSetFlags()[2] ? this.unitPrice : (java.lang.Double) defaultValue(fields()[2]);
@@ -5,8 +5,8 @@
  */
 package gr.grnet.aquarium.message.avro.gen;  
 @SuppressWarnings("all")
-public class _CronSpecTuple extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
-  public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"_CronSpecTuple\",\"namespace\":\"gr.grnet.aquarium.message.avro.gen\",\"fields\":[{\"name\":\"a\",\"type\":\"string\"},{\"name\":\"b\",\"type\":\"string\"}]}");
+public class CronSpecTupleMsg extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
+  public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"CronSpecTupleMsg\",\"namespace\":\"gr.grnet.aquarium.message.avro.gen\",\"fields\":[{\"name\":\"a\",\"type\":\"string\"},{\"name\":\"b\",\"type\":\"string\"}]}");
   @Deprecated public java.lang.CharSequence a;
   @Deprecated public java.lang.CharSequence b;
   public org.apache.avro.Schema getSchema() { return SCHEMA$; }
@@ -58,43 +58,43 @@ public class _CronSpecTuple extends org.apache.avro.specific.SpecificRecordBase
     this.b = value;
   }
 
-  /** Creates a new _CronSpecTuple RecordBuilder */
-  public static gr.grnet.aquarium.message.avro.gen._CronSpecTuple.Builder newBuilder() {
-    return new gr.grnet.aquarium.message.avro.gen._CronSpecTuple.Builder();
+  /** Creates a new CronSpecTupleMsg RecordBuilder */
+  public static gr.grnet.aquarium.message.avro.gen.CronSpecTupleMsg.Builder newBuilder() {
+    return new gr.grnet.aquarium.message.avro.gen.CronSpecTupleMsg.Builder();
   }
   
-  /** Creates a new _CronSpecTuple RecordBuilder by copying an existing Builder */
-  public static gr.grnet.aquarium.message.avro.gen._CronSpecTuple.Builder newBuilder(gr.grnet.aquarium.message.avro.gen._CronSpecTuple.Builder other) {
-    return new gr.grnet.aquarium.message.avro.gen._CronSpecTuple.Builder(other);
+  /** Creates a new CronSpecTupleMsg RecordBuilder by copying an existing Builder */
+  public static gr.grnet.aquarium.message.avro.gen.CronSpecTupleMsg.Builder newBuilder(gr.grnet.aquarium.message.avro.gen.CronSpecTupleMsg.Builder other) {
+    return new gr.grnet.aquarium.message.avro.gen.CronSpecTupleMsg.Builder(other);
   }
   
-  /** Creates a new _CronSpecTuple RecordBuilder by copying an existing _CronSpecTuple instance */
-  public static gr.grnet.aquarium.message.avro.gen._CronSpecTuple.Builder newBuilder(gr.grnet.aquarium.message.avro.gen._CronSpecTuple other) {
-    return new gr.grnet.aquarium.message.avro.gen._CronSpecTuple.Builder(other);
+  /** Creates a new CronSpecTupleMsg RecordBuilder by copying an existing CronSpecTupleMsg instance */
+  public static gr.grnet.aquarium.message.avro.gen.CronSpecTupleMsg.Builder newBuilder(gr.grnet.aquarium.message.avro.gen.CronSpecTupleMsg other) {
+    return new gr.grnet.aquarium.message.avro.gen.CronSpecTupleMsg.Builder(other);
   }
   
   /**
-   * RecordBuilder for _CronSpecTuple instances.
+   * RecordBuilder for CronSpecTupleMsg instances.
    */
-  public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase<_CronSpecTuple>
-    implements org.apache.avro.data.RecordBuilder<_CronSpecTuple> {
+  public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase<CronSpecTupleMsg>
+    implements org.apache.avro.data.RecordBuilder<CronSpecTupleMsg> {
 
     private java.lang.CharSequence a;
     private java.lang.CharSequence b;
 
     /** Creates a new Builder */
     private Builder() {
-      super(gr.grnet.aquarium.message.avro.gen._CronSpecTuple.SCHEMA$);
+      super(gr.grnet.aquarium.message.avro.gen.CronSpecTupleMsg.SCHEMA$);
     }
     
     /** Creates a Builder by copying an existing Builder */
-    private Builder(gr.grnet.aquarium.message.avro.gen._CronSpecTuple.Builder other) {
+    private Builder(gr.grnet.aquarium.message.avro.gen.CronSpecTupleMsg.Builder other) {
       super(other);
     }
     
-    /** Creates a Builder by copying an existing _CronSpecTuple instance */
-    private Builder(gr.grnet.aquarium.message.avro.gen._CronSpecTuple other) {
-            super(gr.grnet.aquarium.message.avro.gen._CronSpecTuple.SCHEMA$);
+    /** Creates a Builder by copying an existing CronSpecTupleMsg instance */
+    private Builder(gr.grnet.aquarium.message.avro.gen.CronSpecTupleMsg other) {
+            super(gr.grnet.aquarium.message.avro.gen.CronSpecTupleMsg.SCHEMA$);
       if (isValidValue(fields()[0], other.a)) {
         this.a = (java.lang.CharSequence) data().deepCopy(fields()[0].schema(), other.a);
         fieldSetFlags()[0] = true;
@@ -111,7 +111,7 @@ public class _CronSpecTuple extends org.apache.avro.specific.SpecificRecordBase
     }
     
     /** Sets the value of the 'a' field */
-    public gr.grnet.aquarium.message.avro.gen._CronSpecTuple.Builder setA(java.lang.CharSequence value) {
+    public gr.grnet.aquarium.message.avro.gen.CronSpecTupleMsg.Builder setA(java.lang.CharSequence value) {
       validate(fields()[0], value);
       this.a = value;
       fieldSetFlags()[0] = true;
@@ -124,7 +124,7 @@ public class _CronSpecTuple extends org.apache.avro.specific.SpecificRecordBase
     }
     
     /** Clears the value of the 'a' field */
-    public gr.grnet.aquarium.message.avro.gen._CronSpecTuple.Builder clearA() {
+    public gr.grnet.aquarium.message.avro.gen.CronSpecTupleMsg.Builder clearA() {
       a = null;
       fieldSetFlags()[0] = false;
       return this;
@@ -136,7 +136,7 @@ public class _CronSpecTuple extends org.apache.avro.specific.SpecificRecordBase
     }
     
     /** Sets the value of the 'b' field */
-    public gr.grnet.aquarium.message.avro.gen._CronSpecTuple.Builder setB(java.lang.CharSequence value) {
+    public gr.grnet.aquarium.message.avro.gen.CronSpecTupleMsg.Builder setB(java.lang.CharSequence value) {
       validate(fields()[1], value);
       this.b = value;
       fieldSetFlags()[1] = true;
@@ -149,16 +149,16 @@ public class _CronSpecTuple extends org.apache.avro.specific.SpecificRecordBase
     }
     
     /** Clears the value of the 'b' field */
-    public gr.grnet.aquarium.message.avro.gen._CronSpecTuple.Builder clearB() {
+    public gr.grnet.aquarium.message.avro.gen.CronSpecTupleMsg.Builder clearB() {
       b = null;
       fieldSetFlags()[1] = false;
       return this;
     }
 
     @Override
-    public _CronSpecTuple build() {
+    public CronSpecTupleMsg build() {
       try {
-        _CronSpecTuple record = new _CronSpecTuple();
+        CronSpecTupleMsg record = new CronSpecTupleMsg();
         record.a = fieldSetFlags()[0] ? this.a : (java.lang.CharSequence) defaultValue(fields()[0]);
         record.b = fieldSetFlags()[1] ? this.b : (java.lang.CharSequence) defaultValue(fields()[1]);
         return record;
diff --git a/src/main/java/gr/grnet/aquarium/message/avro/gen/EffectivePriceTableMsg.java b/src/main/java/gr/grnet/aquarium/message/avro/gen/EffectivePriceTableMsg.java
new file mode 100644 (file)
index 0000000..cdec451
--- /dev/null
@@ -0,0 +1,121 @@
+/**
+ * Autogenerated by Avro
+ * 
+ * DO NOT EDIT DIRECTLY
+ */
+package gr.grnet.aquarium.message.avro.gen;  
+@SuppressWarnings("all")
+public class EffectivePriceTableMsg extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
+  public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"EffectivePriceTableMsg\",\"namespace\":\"gr.grnet.aquarium.message.avro.gen\",\"fields\":[{\"name\":\"priceOverrides\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"EffectiveUnitPriceMsg\",\"fields\":[{\"name\":\"unitPrice\",\"type\":\"double\"},{\"name\":\"when\",\"type\":[{\"type\":\"record\",\"name\":\"CronSpecTupleMsg\",\"fields\":[{\"name\":\"a\",\"type\":\"string\"},{\"name\":\"b\",\"type\":\"string\"}]},\"null\"]}]}}}]}");
+  @Deprecated public java.util.List<gr.grnet.aquarium.message.avro.gen.EffectiveUnitPriceMsg> priceOverrides;
+  public org.apache.avro.Schema getSchema() { return SCHEMA$; }
+  // Used by DatumWriter.  Applications should not call. 
+  public java.lang.Object get(int field$) {
+    switch (field$) {
+    case 0: return priceOverrides;
+    default: throw new org.apache.avro.AvroRuntimeException("Bad index");
+    }
+  }
+  // Used by DatumReader.  Applications should not call. 
+  @SuppressWarnings(value="unchecked")
+  public void put(int field$, java.lang.Object value$) {
+    switch (field$) {
+    case 0: priceOverrides = (java.util.List<gr.grnet.aquarium.message.avro.gen.EffectiveUnitPriceMsg>)value$; break;
+    default: throw new org.apache.avro.AvroRuntimeException("Bad index");
+    }
+  }
+
+  /**
+   * Gets the value of the 'priceOverrides' field.
+   */
+  public java.util.List<gr.grnet.aquarium.message.avro.gen.EffectiveUnitPriceMsg> getPriceOverrides() {
+    return priceOverrides;
+  }
+
+  /**
+   * Sets the value of the 'priceOverrides' field.
+   * @param value the value to set.
+   */
+  public void setPriceOverrides(java.util.List<gr.grnet.aquarium.message.avro.gen.EffectiveUnitPriceMsg> value) {
+    this.priceOverrides = value;
+  }
+
+  /** Creates a new EffectivePriceTableMsg RecordBuilder */
+  public static gr.grnet.aquarium.message.avro.gen.EffectivePriceTableMsg.Builder newBuilder() {
+    return new gr.grnet.aquarium.message.avro.gen.EffectivePriceTableMsg.Builder();
+  }
+  
+  /** Creates a new EffectivePriceTableMsg RecordBuilder by copying an existing Builder */
+  public static gr.grnet.aquarium.message.avro.gen.EffectivePriceTableMsg.Builder newBuilder(gr.grnet.aquarium.message.avro.gen.EffectivePriceTableMsg.Builder other) {
+    return new gr.grnet.aquarium.message.avro.gen.EffectivePriceTableMsg.Builder(other);
+  }
+  
+  /** Creates a new EffectivePriceTableMsg RecordBuilder by copying an existing EffectivePriceTableMsg instance */
+  public static gr.grnet.aquarium.message.avro.gen.EffectivePriceTableMsg.Builder newBuilder(gr.grnet.aquarium.message.avro.gen.EffectivePriceTableMsg other) {
+    return new gr.grnet.aquarium.message.avro.gen.EffectivePriceTableMsg.Builder(other);
+  }
+  
+  /**
+   * RecordBuilder for EffectivePriceTableMsg instances.
+   */
+  public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase<EffectivePriceTableMsg>
+    implements org.apache.avro.data.RecordBuilder<EffectivePriceTableMsg> {
+
+    private java.util.List<gr.grnet.aquarium.message.avro.gen.EffectiveUnitPriceMsg> priceOverrides;
+
+    /** Creates a new Builder */
+    private Builder() {
+      super(gr.grnet.aquarium.message.avro.gen.EffectivePriceTableMsg.SCHEMA$);
+    }
+    
+    /** Creates a Builder by copying an existing Builder */
+    private Builder(gr.grnet.aquarium.message.avro.gen.EffectivePriceTableMsg.Builder other) {
+      super(other);
+    }
+    
+    /** Creates a Builder by copying an existing EffectivePriceTableMsg instance */
+    private Builder(gr.grnet.aquarium.message.avro.gen.EffectivePriceTableMsg other) {
+            super(gr.grnet.aquarium.message.avro.gen.EffectivePriceTableMsg.SCHEMA$);
+      if (isValidValue(fields()[0], other.priceOverrides)) {
+        this.priceOverrides = (java.util.List<gr.grnet.aquarium.message.avro.gen.EffectiveUnitPriceMsg>) data().deepCopy(fields()[0].schema(), other.priceOverrides);
+        fieldSetFlags()[0] = true;
+      }
+    }
+
+    /** Gets the value of the 'priceOverrides' field */
+    public java.util.List<gr.grnet.aquarium.message.avro.gen.EffectiveUnitPriceMsg> getPriceOverrides() {
+      return priceOverrides;
+    }
+    
+    /** Sets the value of the 'priceOverrides' field */
+    public gr.grnet.aquarium.message.avro.gen.EffectivePriceTableMsg.Builder setPriceOverrides(java.util.List<gr.grnet.aquarium.message.avro.gen.EffectiveUnitPriceMsg> value) {
+      validate(fields()[0], value);
+      this.priceOverrides = value;
+      fieldSetFlags()[0] = true;
+      return this; 
+    }
+    
+    /** Checks whether the 'priceOverrides' field has been set */
+    public boolean hasPriceOverrides() {
+      return fieldSetFlags()[0];
+    }
+    
+    /** Clears the value of the 'priceOverrides' field */
+    public gr.grnet.aquarium.message.avro.gen.EffectivePriceTableMsg.Builder clearPriceOverrides() {
+      priceOverrides = null;
+      fieldSetFlags()[0] = false;
+      return this;
+    }
+
+    @Override
+    public EffectivePriceTableMsg build() {
+      try {
+        EffectivePriceTableMsg record = new EffectivePriceTableMsg();
+        record.priceOverrides = fieldSetFlags()[0] ? this.priceOverrides : (java.util.List<gr.grnet.aquarium.message.avro.gen.EffectiveUnitPriceMsg>) defaultValue(fields()[0]);
+        return record;
+      } catch (Exception e) {
+        throw new org.apache.avro.AvroRuntimeException(e);
+      }
+    }
+  }
+}
@@ -5,10 +5,10 @@
  */
 package gr.grnet.aquarium.message.avro.gen;  
 @SuppressWarnings("all")
-public class _EffectiveUnitPrice extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
-  public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"_EffectiveUnitPrice\",\"namespace\":\"gr.grnet.aquarium.message.avro.gen\",\"fields\":[{\"name\":\"unitPrice\",\"type\":\"double\"},{\"name\":\"when\",\"type\":[{\"type\":\"record\",\"name\":\"_CronSpecTuple\",\"fields\":[{\"name\":\"a\",\"type\":\"string\"},{\"name\":\"b\",\"type\":\"string\"}]},\"null\"]}]}");
+public class EffectiveUnitPriceMsg extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
+  public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"EffectiveUnitPriceMsg\",\"namespace\":\"gr.grnet.aquarium.message.avro.gen\",\"fields\":[{\"name\":\"unitPrice\",\"type\":\"double\"},{\"name\":\"when\",\"type\":[{\"type\":\"record\",\"name\":\"CronSpecTupleMsg\",\"fields\":[{\"name\":\"a\",\"type\":\"string\"},{\"name\":\"b\",\"type\":\"string\"}]},\"null\"]}]}");
   @Deprecated public double unitPrice;
-  @Deprecated public gr.grnet.aquarium.message.avro.gen._CronSpecTuple when;
+  @Deprecated public gr.grnet.aquarium.message.avro.gen.CronSpecTupleMsg when;
   public org.apache.avro.Schema getSchema() { return SCHEMA$; }
   // Used by DatumWriter.  Applications should not call. 
   public java.lang.Object get(int field$) {
@@ -23,7 +23,7 @@ public class _EffectiveUnitPrice extends org.apache.avro.specific.SpecificRecord
   public void put(int field$, java.lang.Object value$) {
     switch (field$) {
     case 0: unitPrice = (java.lang.Double)value$; break;
-    case 1: when = (gr.grnet.aquarium.message.avro.gen._CronSpecTuple)value$; break;
+    case 1: when = (gr.grnet.aquarium.message.avro.gen.CronSpecTupleMsg)value$; break;
     default: throw new org.apache.avro.AvroRuntimeException("Bad index");
     }
   }
@@ -46,7 +46,7 @@ public class _EffectiveUnitPrice extends org.apache.avro.specific.SpecificRecord
   /**
    * Gets the value of the 'when' field.
    */
-  public gr.grnet.aquarium.message.avro.gen._CronSpecTuple getWhen() {
+  public gr.grnet.aquarium.message.avro.gen.CronSpecTupleMsg getWhen() {
     return when;
   }
 
@@ -54,53 +54,53 @@ public class _EffectiveUnitPrice extends org.apache.avro.specific.SpecificRecord
    * Sets the value of the 'when' field.
    * @param value the value to set.
    */
-  public void setWhen(gr.grnet.aquarium.message.avro.gen._CronSpecTuple value) {
+  public void setWhen(gr.grnet.aquarium.message.avro.gen.CronSpecTupleMsg value) {
     this.when = value;
   }
 
-  /** Creates a new _EffectiveUnitPrice RecordBuilder */
-  public static gr.grnet.aquarium.message.avro.gen._EffectiveUnitPrice.Builder newBuilder() {
-    return new gr.grnet.aquarium.message.avro.gen._EffectiveUnitPrice.Builder();
+  /** Creates a new EffectiveUnitPriceMsg RecordBuilder */
+  public static gr.grnet.aquarium.message.avro.gen.EffectiveUnitPriceMsg.Builder newBuilder() {
+    return new gr.grnet.aquarium.message.avro.gen.EffectiveUnitPriceMsg.Builder();
   }
   
-  /** Creates a new _EffectiveUnitPrice RecordBuilder by copying an existing Builder */
-  public static gr.grnet.aquarium.message.avro.gen._EffectiveUnitPrice.Builder newBuilder(gr.grnet.aquarium.message.avro.gen._EffectiveUnitPrice.Builder other) {
-    return new gr.grnet.aquarium.message.avro.gen._EffectiveUnitPrice.Builder(other);
+  /** Creates a new EffectiveUnitPriceMsg RecordBuilder by copying an existing Builder */
+  public static gr.grnet.aquarium.message.avro.gen.EffectiveUnitPriceMsg.Builder newBuilder(gr.grnet.aquarium.message.avro.gen.EffectiveUnitPriceMsg.Builder other) {
+    return new gr.grnet.aquarium.message.avro.gen.EffectiveUnitPriceMsg.Builder(other);
   }
   
-  /** Creates a new _EffectiveUnitPrice RecordBuilder by copying an existing _EffectiveUnitPrice instance */
-  public static gr.grnet.aquarium.message.avro.gen._EffectiveUnitPrice.Builder newBuilder(gr.grnet.aquarium.message.avro.gen._EffectiveUnitPrice other) {
-    return new gr.grnet.aquarium.message.avro.gen._EffectiveUnitPrice.Builder(other);
+  /** Creates a new EffectiveUnitPriceMsg RecordBuilder by copying an existing EffectiveUnitPriceMsg instance */
+  public static gr.grnet.aquarium.message.avro.gen.EffectiveUnitPriceMsg.Builder newBuilder(gr.grnet.aquarium.message.avro.gen.EffectiveUnitPriceMsg other) {
+    return new gr.grnet.aquarium.message.avro.gen.EffectiveUnitPriceMsg.Builder(other);
   }
   
   /**
-   * RecordBuilder for _EffectiveUnitPrice instances.
+   * RecordBuilder for EffectiveUnitPriceMsg instances.
    */
-  public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase<_EffectiveUnitPrice>
-    implements org.apache.avro.data.RecordBuilder<_EffectiveUnitPrice> {
+  public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase<EffectiveUnitPriceMsg>
+    implements org.apache.avro.data.RecordBuilder<EffectiveUnitPriceMsg> {
 
     private double unitPrice;
-    private gr.grnet.aquarium.message.avro.gen._CronSpecTuple when;
+    private gr.grnet.aquarium.message.avro.gen.CronSpecTupleMsg when;
 
     /** Creates a new Builder */
     private Builder() {
-      super(gr.grnet.aquarium.message.avro.gen._EffectiveUnitPrice.SCHEMA$);
+      super(gr.grnet.aquarium.message.avro.gen.EffectiveUnitPriceMsg.SCHEMA$);
     }
     
     /** Creates a Builder by copying an existing Builder */
-    private Builder(gr.grnet.aquarium.message.avro.gen._EffectiveUnitPrice.Builder other) {
+    private Builder(gr.grnet.aquarium.message.avro.gen.EffectiveUnitPriceMsg.Builder other) {
       super(other);
     }
     
-    /** Creates a Builder by copying an existing _EffectiveUnitPrice instance */
-    private Builder(gr.grnet.aquarium.message.avro.gen._EffectiveUnitPrice other) {
-            super(gr.grnet.aquarium.message.avro.gen._EffectiveUnitPrice.SCHEMA$);
+    /** Creates a Builder by copying an existing EffectiveUnitPriceMsg instance */
+    private Builder(gr.grnet.aquarium.message.avro.gen.EffectiveUnitPriceMsg other) {
+            super(gr.grnet.aquarium.message.avro.gen.EffectiveUnitPriceMsg.SCHEMA$);
       if (isValidValue(fields()[0], other.unitPrice)) {
         this.unitPrice = (java.lang.Double) data().deepCopy(fields()[0].schema(), other.unitPrice);
         fieldSetFlags()[0] = true;
       }
       if (isValidValue(fields()[1], other.when)) {
-        this.when = (gr.grnet.aquarium.message.avro.gen._CronSpecTuple) data().deepCopy(fields()[1].schema(), other.when);
+        this.when = (gr.grnet.aquarium.message.avro.gen.CronSpecTupleMsg) data().deepCopy(fields()[1].schema(), other.when);
         fieldSetFlags()[1] = true;
       }
     }
@@ -111,7 +111,7 @@ public class _EffectiveUnitPrice extends org.apache.avro.specific.SpecificRecord
     }
     
     /** Sets the value of the 'unitPrice' field */
-    public gr.grnet.aquarium.message.avro.gen._EffectiveUnitPrice.Builder setUnitPrice(double value) {
+    public gr.grnet.aquarium.message.avro.gen.EffectiveUnitPriceMsg.Builder setUnitPrice(double value) {
       validate(fields()[0], value);
       this.unitPrice = value;
       fieldSetFlags()[0] = true;
@@ -124,18 +124,18 @@ public class _EffectiveUnitPrice extends org.apache.avro.specific.SpecificRecord
     }
     
     /** Clears the value of the 'unitPrice' field */
-    public gr.grnet.aquarium.message.avro.gen._EffectiveUnitPrice.Builder clearUnitPrice() {
+    public gr.grnet.aquarium.message.avro.gen.EffectiveUnitPriceMsg.Builder clearUnitPrice() {
       fieldSetFlags()[0] = false;
       return this;
     }
 
     /** Gets the value of the 'when' field */
-    public gr.grnet.aquarium.message.avro.gen._CronSpecTuple getWhen() {
+    public gr.grnet.aquarium.message.avro.gen.CronSpecTupleMsg getWhen() {
       return when;
     }
     
     /** Sets the value of the 'when' field */
-    public gr.grnet.aquarium.message.avro.gen._EffectiveUnitPrice.Builder setWhen(gr.grnet.aquarium.message.avro.gen._CronSpecTuple value) {
+    public gr.grnet.aquarium.message.avro.gen.EffectiveUnitPriceMsg.Builder setWhen(gr.grnet.aquarium.message.avro.gen.CronSpecTupleMsg value) {
       validate(fields()[1], value);
       this.when = value;
       fieldSetFlags()[1] = true;
@@ -148,18 +148,18 @@ public class _EffectiveUnitPrice extends org.apache.avro.specific.SpecificRecord
     }
     
     /** Clears the value of the 'when' field */
-    public gr.grnet.aquarium.message.avro.gen._EffectiveUnitPrice.Builder clearWhen() {
+    public gr.grnet.aquarium.message.avro.gen.EffectiveUnitPriceMsg.Builder clearWhen() {
       when = null;
       fieldSetFlags()[1] = false;
       return this;
     }
 
     @Override
-    public _EffectiveUnitPrice build() {
+    public EffectiveUnitPriceMsg build() {
       try {
-        _EffectiveUnitPrice record = new _EffectiveUnitPrice();
+        EffectiveUnitPriceMsg record = new EffectiveUnitPriceMsg();
         record.unitPrice = fieldSetFlags()[0] ? this.unitPrice : (java.lang.Double) defaultValue(fields()[0]);
-        record.when = fieldSetFlags()[1] ? this.when : (gr.grnet.aquarium.message.avro.gen._CronSpecTuple) defaultValue(fields()[1]);
+        record.when = fieldSetFlags()[1] ? this.when : (gr.grnet.aquarium.message.avro.gen.CronSpecTupleMsg) defaultValue(fields()[1]);
         return record;
       } catch (Exception e) {
         throw new org.apache.avro.AvroRuntimeException(e);
@@ -5,10 +5,10 @@
  */
 package gr.grnet.aquarium.message.avro.gen;  
 @SuppressWarnings("all")
-public class _EventEntry extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
-  public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"_EventEntry\",\"namespace\":\"gr.grnet.aquarium.message.avro.gen\",\"fields\":[{\"name\":\"eventType\",\"type\":\"string\"},{\"name\":\"details\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"_ChargeEntry\",\"fields\":[{\"name\":\"id\",\"type\":\"string\"},{\"name\":\"unitPrice\",\"type\":\"string\"},{\"name\":\"startTime\",\"type\":\"string\"},{\"name\":\"endTime\",\"type\":\"string\"},{\"name\":\"ellapsedTime\",\"type\":\"string\"},{\"name\":\"credits\",\"type\":\"string\"}]}}}]}");
+public class EventEntryMsg extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
+  public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"EventEntryMsg\",\"namespace\":\"gr.grnet.aquarium.message.avro.gen\",\"fields\":[{\"name\":\"eventType\",\"type\":\"string\"},{\"name\":\"details\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"ChargeEntryMsg\",\"fields\":[{\"name\":\"id\",\"type\":\"string\"},{\"name\":\"unitPrice\",\"type\":\"string\"},{\"name\":\"startTime\",\"type\":\"string\"},{\"name\":\"endTime\",\"type\":\"string\"},{\"name\":\"ellapsedTime\",\"type\":\"string\"},{\"name\":\"credits\",\"type\":\"string\"}]}}}]}");
   @Deprecated public java.lang.CharSequence eventType;
-  @Deprecated public java.util.List<gr.grnet.aquarium.message.avro.gen._ChargeEntry> details;
+  @Deprecated public java.util.List<gr.grnet.aquarium.message.avro.gen.ChargeEntryMsg> details;
   public org.apache.avro.Schema getSchema() { return SCHEMA$; }
   // Used by DatumWriter.  Applications should not call. 
   public java.lang.Object get(int field$) {
@@ -23,7 +23,7 @@ public class _EventEntry extends org.apache.avro.specific.SpecificRecordBase imp
   public void put(int field$, java.lang.Object value$) {
     switch (field$) {
     case 0: eventType = (java.lang.CharSequence)value$; break;
-    case 1: details = (java.util.List<gr.grnet.aquarium.message.avro.gen._ChargeEntry>)value$; break;
+    case 1: details = (java.util.List<gr.grnet.aquarium.message.avro.gen.ChargeEntryMsg>)value$; break;
     default: throw new org.apache.avro.AvroRuntimeException("Bad index");
     }
   }
@@ -46,7 +46,7 @@ public class _EventEntry extends org.apache.avro.specific.SpecificRecordBase imp
   /**
    * Gets the value of the 'details' field.
    */
-  public java.util.List<gr.grnet.aquarium.message.avro.gen._ChargeEntry> getDetails() {
+  public java.util.List<gr.grnet.aquarium.message.avro.gen.ChargeEntryMsg> getDetails() {
     return details;
   }
 
@@ -54,53 +54,53 @@ public class _EventEntry extends org.apache.avro.specific.SpecificRecordBase imp
    * Sets the value of the 'details' field.
    * @param value the value to set.
    */
-  public void setDetails(java.util.List<gr.grnet.aquarium.message.avro.gen._ChargeEntry> value) {
+  public void setDetails(java.util.List<gr.grnet.aquarium.message.avro.gen.ChargeEntryMsg> value) {
     this.details = value;
   }
 
-  /** Creates a new _EventEntry RecordBuilder */
-  public static gr.grnet.aquarium.message.avro.gen._EventEntry.Builder newBuilder() {
-    return new gr.grnet.aquarium.message.avro.gen._EventEntry.Builder();
+  /** Creates a new EventEntryMsg RecordBuilder */
+  public static gr.grnet.aquarium.message.avro.gen.EventEntryMsg.Builder newBuilder() {
+    return new gr.grnet.aquarium.message.avro.gen.EventEntryMsg.Builder();
   }
   
-  /** Creates a new _EventEntry RecordBuilder by copying an existing Builder */
-  public static gr.grnet.aquarium.message.avro.gen._EventEntry.Builder newBuilder(gr.grnet.aquarium.message.avro.gen._EventEntry.Builder other) {
-    return new gr.grnet.aquarium.message.avro.gen._EventEntry.Builder(other);
+  /** Creates a new EventEntryMsg RecordBuilder by copying an existing Builder */
+  public static gr.grnet.aquarium.message.avro.gen.EventEntryMsg.Builder newBuilder(gr.grnet.aquarium.message.avro.gen.EventEntryMsg.Builder other) {
+    return new gr.grnet.aquarium.message.avro.gen.EventEntryMsg.Builder(other);
   }
   
-  /** Creates a new _EventEntry RecordBuilder by copying an existing _EventEntry instance */
-  public static gr.grnet.aquarium.message.avro.gen._EventEntry.Builder newBuilder(gr.grnet.aquarium.message.avro.gen._EventEntry other) {
-    return new gr.grnet.aquarium.message.avro.gen._EventEntry.Builder(other);
+  /** Creates a new EventEntryMsg RecordBuilder by copying an existing EventEntryMsg instance */
+  public static gr.grnet.aquarium.message.avro.gen.EventEntryMsg.Builder newBuilder(gr.grnet.aquarium.message.avro.gen.EventEntryMsg other) {
+    return new gr.grnet.aquarium.message.avro.gen.EventEntryMsg.Builder(other);
   }
   
   /**
-   * RecordBuilder for _EventEntry instances.
+   * RecordBuilder for EventEntryMsg instances.
    */
-  public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase<_EventEntry>
-    implements org.apache.avro.data.RecordBuilder<_EventEntry> {
+  public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase<EventEntryMsg>
+    implements org.apache.avro.data.RecordBuilder<EventEntryMsg> {
 
     private java.lang.CharSequence eventType;
-    private java.util.List<gr.grnet.aquarium.message.avro.gen._ChargeEntry> details;
+    private java.util.List<gr.grnet.aquarium.message.avro.gen.ChargeEntryMsg> details;
 
     /** Creates a new Builder */
     private Builder() {
-      super(gr.grnet.aquarium.message.avro.gen._EventEntry.SCHEMA$);
+      super(gr.grnet.aquarium.message.avro.gen.EventEntryMsg.SCHEMA$);
     }
     
     /** Creates a Builder by copying an existing Builder */
-    private Builder(gr.grnet.aquarium.message.avro.gen._EventEntry.Builder other) {
+    private Builder(gr.grnet.aquarium.message.avro.gen.EventEntryMsg.Builder other) {
       super(other);
     }
     
-    /** Creates a Builder by copying an existing _EventEntry instance */
-    private Builder(gr.grnet.aquarium.message.avro.gen._EventEntry other) {
-            super(gr.grnet.aquarium.message.avro.gen._EventEntry.SCHEMA$);
+    /** Creates a Builder by copying an existing EventEntryMsg instance */
+    private Builder(gr.grnet.aquarium.message.avro.gen.EventEntryMsg other) {
+            super(gr.grnet.aquarium.message.avro.gen.EventEntryMsg.SCHEMA$);
       if (isValidValue(fields()[0], other.eventType)) {
         this.eventType = (java.lang.CharSequence) data().deepCopy(fields()[0].schema(), other.eventType);
         fieldSetFlags()[0] = true;
       }
       if (isValidValue(fields()[1], other.details)) {
-        this.details = (java.util.List<gr.grnet.aquarium.message.avro.gen._ChargeEntry>) data().deepCopy(fields()[1].schema(), other.details);
+        this.details = (java.util.List<gr.grnet.aquarium.message.avro.gen.ChargeEntryMsg>) data().deepCopy(fields()[1].schema(), other.details);
         fieldSetFlags()[1] = true;
       }
     }
@@ -111,7 +111,7 @@ public class _EventEntry extends org.apache.avro.specific.SpecificRecordBase imp
     }
     
     /** Sets the value of the 'eventType' field */
-    public gr.grnet.aquarium.message.avro.gen._EventEntry.Builder setEventType(java.lang.CharSequence value) {
+    public gr.grnet.aquarium.message.avro.gen.EventEntryMsg.Builder setEventType(java.lang.CharSequence value) {
       validate(fields()[0], value);
       this.eventType = value;
       fieldSetFlags()[0] = true;
@@ -124,19 +124,19 @@ public class _EventEntry extends org.apache.avro.specific.SpecificRecordBase imp
     }
     
     /** Clears the value of the 'eventType' field */
-    public gr.grnet.aquarium.message.avro.gen._EventEntry.Builder clearEventType() {
+    public gr.grnet.aquarium.message.avro.gen.EventEntryMsg.Builder clearEventType() {
       eventType = null;
       fieldSetFlags()[0] = false;
       return this;
     }
 
     /** Gets the value of the 'details' field */
-    public java.util.List<gr.grnet.aquarium.message.avro.gen._ChargeEntry> getDetails() {
+    public java.util.List<gr.grnet.aquarium.message.avro.gen.ChargeEntryMsg> getDetails() {
       return details;
     }
     
     /** Sets the value of the 'details' field */
-    public gr.grnet.aquarium.message.avro.gen._EventEntry.Builder setDetails(java.util.List<gr.grnet.aquarium.message.avro.gen._ChargeEntry> value) {
+    public gr.grnet.aquarium.message.avro.gen.EventEntryMsg.Builder setDetails(java.util.List<gr.grnet.aquarium.message.avro.gen.ChargeEntryMsg> value) {
       validate(fields()[1], value);
       this.details = value;
       fieldSetFlags()[1] = true;
@@ -149,18 +149,18 @@ public class _EventEntry extends org.apache.avro.specific.SpecificRecordBase imp
     }
     
     /** Clears the value of the 'details' field */
-    public gr.grnet.aquarium.message.avro.gen._EventEntry.Builder clearDetails() {
+    public gr.grnet.aquarium.message.avro.gen.EventEntryMsg.Builder clearDetails() {
       details = null;
       fieldSetFlags()[1] = false;
       return this;
     }
 
     @Override
-    public _EventEntry build() {
+    public EventEntryMsg build() {
       try {
-        _EventEntry record = new _EventEntry();
+        EventEntryMsg record = new EventEntryMsg();
         record.eventType = fieldSetFlags()[0] ? this.eventType : (java.lang.CharSequence) defaultValue(fields()[0]);
-        record.details = fieldSetFlags()[1] ? this.details : (java.util.List<gr.grnet.aquarium.message.avro.gen._ChargeEntry>) defaultValue(fields()[1]);
+        record.details = fieldSetFlags()[1] ? this.details : (java.util.List<gr.grnet.aquarium.message.avro.gen.ChargeEntryMsg>) defaultValue(fields()[1]);
         return record;
       } catch (Exception e) {
         throw new org.apache.avro.AvroRuntimeException(e);
diff --git a/src/main/java/gr/grnet/aquarium/message/avro/gen/FullPriceTableMsg.java b/src/main/java/gr/grnet/aquarium/message/avro/gen/FullPriceTableMsg.java
new file mode 100644 (file)
index 0000000..fe61aff
--- /dev/null
@@ -0,0 +1,121 @@
+/**
+ * Autogenerated by Avro
+ * 
+ * DO NOT EDIT DIRECTLY
+ */
+package gr.grnet.aquarium.message.avro.gen;  
+@SuppressWarnings("all")
+public class FullPriceTableMsg extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
+  public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"FullPriceTableMsg\",\"namespace\":\"gr.grnet.aquarium.message.avro.gen\",\"fields\":[{\"name\":\"perResource\",\"type\":{\"type\":\"map\",\"values\":{\"type\":\"map\",\"values\":{\"type\":\"record\",\"name\":\"SelectorValueMsg\",\"fields\":[{\"name\":\"selectorValue\",\"type\":[{\"type\":\"record\",\"name\":\"EffectivePriceTableMsg\",\"fields\":[{\"name\":\"priceOverrides\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"EffectiveUnitPriceMsg\",\"fields\":[{\"name\":\"unitPrice\",\"type\":\"double\"},{\"name\":\"when\",\"type\":[{\"type\":\"record\",\"name\":\"CronSpecTupleMsg\",\"fields\":[{\"name\":\"a\",\"type\":\"string\"},{\"name\":\"b\",\"type\":\"string\"}]},\"null\"]}]}}}]},{\"type\":\"map\",\"values\":\"SelectorValueMsg\"}]}]}}}}]}");
+  @Deprecated public java.util.Map<java.lang.CharSequence,java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.SelectorValueMsg>> perResource;
+  public org.apache.avro.Schema getSchema() { return SCHEMA$; }
+  // Used by DatumWriter.  Applications should not call. 
+  public java.lang.Object get(int field$) {
+    switch (field$) {
+    case 0: return perResource;
+    default: throw new org.apache.avro.AvroRuntimeException("Bad index");
+    }
+  }
+  // Used by DatumReader.  Applications should not call. 
+  @SuppressWarnings(value="unchecked")
+  public void put(int field$, java.lang.Object value$) {
+    switch (field$) {
+    case 0: perResource = (java.util.Map<java.lang.CharSequence,java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.SelectorValueMsg>>)value$; break;
+    default: throw new org.apache.avro.AvroRuntimeException("Bad index");
+    }
+  }
+
+  /**
+   * Gets the value of the 'perResource' field.
+   */
+  public java.util.Map<java.lang.CharSequence,java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.SelectorValueMsg>> getPerResource() {
+    return perResource;
+  }
+
+  /**
+   * Sets the value of the 'perResource' field.
+   * @param value the value to set.
+   */
+  public void setPerResource(java.util.Map<java.lang.CharSequence,java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.SelectorValueMsg>> value) {
+    this.perResource = value;
+  }
+
+  /** Creates a new FullPriceTableMsg RecordBuilder */
+  public static gr.grnet.aquarium.message.avro.gen.FullPriceTableMsg.Builder newBuilder() {
+    return new gr.grnet.aquarium.message.avro.gen.FullPriceTableMsg.Builder();
+  }
+  
+  /** Creates a new FullPriceTableMsg RecordBuilder by copying an existing Builder */
+  public static gr.grnet.aquarium.message.avro.gen.FullPriceTableMsg.Builder newBuilder(gr.grnet.aquarium.message.avro.gen.FullPriceTableMsg.Builder other) {
+    return new gr.grnet.aquarium.message.avro.gen.FullPriceTableMsg.Builder(other);
+  }
+  
+  /** Creates a new FullPriceTableMsg RecordBuilder by copying an existing FullPriceTableMsg instance */
+  public static gr.grnet.aquarium.message.avro.gen.FullPriceTableMsg.Builder newBuilder(gr.grnet.aquarium.message.avro.gen.FullPriceTableMsg other) {
+    return new gr.grnet.aquarium.message.avro.gen.FullPriceTableMsg.Builder(other);
+  }
+  
+  /**
+   * RecordBuilder for FullPriceTableMsg instances.
+   */
+  public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase<FullPriceTableMsg>
+    implements org.apache.avro.data.RecordBuilder<FullPriceTableMsg> {
+
+    private java.util.Map<java.lang.CharSequence,java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.SelectorValueMsg>> perResource;
+
+    /** Creates a new Builder */
+    private Builder() {
+      super(gr.grnet.aquarium.message.avro.gen.FullPriceTableMsg.SCHEMA$);
+    }
+    
+    /** Creates a Builder by copying an existing Builder */
+    private Builder(gr.grnet.aquarium.message.avro.gen.FullPriceTableMsg.Builder other) {
+      super(other);
+    }
+    
+    /** Creates a Builder by copying an existing FullPriceTableMsg instance */
+    private Builder(gr.grnet.aquarium.message.avro.gen.FullPriceTableMsg other) {
+            super(gr.grnet.aquarium.message.avro.gen.FullPriceTableMsg.SCHEMA$);
+      if (isValidValue(fields()[0], other.perResource)) {
+        this.perResource = (java.util.Map<java.lang.CharSequence,java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.SelectorValueMsg>>) data().deepCopy(fields()[0].schema(), other.perResource);
+        fieldSetFlags()[0] = true;
+      }
+    }
+
+    /** Gets the value of the 'perResource' field */
+    public java.util.Map<java.lang.CharSequence,java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.SelectorValueMsg>> getPerResource() {
+      return perResource;
+    }
+    
+    /** Sets the value of the 'perResource' field */
+    public gr.grnet.aquarium.message.avro.gen.FullPriceTableMsg.Builder setPerResource(java.util.Map<java.lang.CharSequence,java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.SelectorValueMsg>> value) {
+      validate(fields()[0], value);
+      this.perResource = value;
+      fieldSetFlags()[0] = true;
+      return this; 
+    }
+    
+    /** Checks whether the 'perResource' field has been set */
+    public boolean hasPerResource() {
+      return fieldSetFlags()[0];
+    }
+    
+    /** Clears the value of the 'perResource' field */
+    public gr.grnet.aquarium.message.avro.gen.FullPriceTableMsg.Builder clearPerResource() {
+      perResource = null;
+      fieldSetFlags()[0] = false;
+      return this;
+    }
+
+    @Override
+    public FullPriceTableMsg build() {
+      try {
+        FullPriceTableMsg record = new FullPriceTableMsg();
+        record.perResource = fieldSetFlags()[0] ? this.perResource : (java.util.Map<java.lang.CharSequence,java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.SelectorValueMsg>>) defaultValue(fields()[0]);
+        return record;
+      } catch (Exception e) {
+        throw new org.apache.avro.AvroRuntimeException(e);
+      }
+    }
+  }
+}
@@ -5,8 +5,8 @@
  */
 package gr.grnet.aquarium.message.avro.gen;  
 @SuppressWarnings("all")
-public class _IMEvent extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
-  public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"_IMEvent\",\"namespace\":\"gr.grnet.aquarium.message.avro.gen\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"aliases\":[\"originalID\",\"ID\"]},{\"name\":\"idInStore\",\"type\":\"string\"},{\"name\":\"occurredMillis\",\"type\":\"long\"},{\"name\":\"receivedMillis\",\"type\":\"long\",\"default\":0},{\"name\":\"userID\",\"type\":\"string\"},{\"name\":\"clientID\",\"type\":\"string\"},{\"name\":\"eventVersion\",\"type\":\"string\",\"default\":\"1.0\"},{\"name\":\"isActive\",\"type\":\"boolean\"},{\"name\":\"role\",\"type\":\"string\"},{\"name\":\"details\",\"type\":{\"type\":\"map\",\"values\":{\"type\":\"record\",\"name\":\"_AnyValue\",\"fields\":[{\"name\":\"anyValue\",\"type\":[\"null\",\"int\",\"long\",\"boolean\",\"double\",\"bytes\",\"string\"]}]}}}]}");
+public class IMEventMsg extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
+  public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"IMEventMsg\",\"namespace\":\"gr.grnet.aquarium.message.avro.gen\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"aliases\":[\"originalID\",\"ID\"]},{\"name\":\"idInStore\",\"type\":\"string\"},{\"name\":\"occurredMillis\",\"type\":\"long\"},{\"name\":\"receivedMillis\",\"type\":\"long\",\"default\":0},{\"name\":\"userID\",\"type\":\"string\"},{\"name\":\"clientID\",\"type\":\"string\"},{\"name\":\"eventVersion\",\"type\":\"string\",\"default\":\"1.0\"},{\"name\":\"isActive\",\"type\":\"boolean\"},{\"name\":\"role\",\"type\":\"string\"},{\"name\":\"details\",\"type\":{\"type\":\"map\",\"values\":{\"type\":\"record\",\"name\":\"AnyValueMsg\",\"fields\":[{\"name\":\"anyValue\",\"type\":[\"null\",\"int\",\"long\",\"boolean\",\"double\",\"bytes\",\"string\"]}]}}}]}");
   @Deprecated public java.lang.CharSequence id;
   @Deprecated public java.lang.CharSequence idInStore;
   @Deprecated public long occurredMillis;
@@ -16,7 +16,7 @@ public class _IMEvent extends org.apache.avro.specific.SpecificRecordBase implem
   @Deprecated public java.lang.CharSequence eventVersion;
   @Deprecated public boolean isActive;
   @Deprecated public java.lang.CharSequence role;
-  @Deprecated public java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._AnyValue> details;
+  @Deprecated public java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.AnyValueMsg> details;
   public org.apache.avro.Schema getSchema() { return SCHEMA$; }
   // Used by DatumWriter.  Applications should not call. 
   public java.lang.Object get(int field$) {
@@ -47,7 +47,7 @@ public class _IMEvent extends org.apache.avro.specific.SpecificRecordBase implem
     case 6: eventVersion = (java.lang.CharSequence)value$; break;
     case 7: isActive = (java.lang.Boolean)value$; break;
     case 8: role = (java.lang.CharSequence)value$; break;
-    case 9: details = (java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._AnyValue>)value$; break;
+    case 9: details = (java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.AnyValueMsg>)value$; break;
     default: throw new org.apache.avro.AvroRuntimeException("Bad index");
     }
   }
@@ -190,7 +190,7 @@ public class _IMEvent extends org.apache.avro.specific.SpecificRecordBase implem
   /**
    * Gets the value of the 'details' field.
    */
-  public java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._AnyValue> getDetails() {
+  public java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.AnyValueMsg> getDetails() {
     return details;
   }
 
@@ -198,30 +198,30 @@ public class _IMEvent extends org.apache.avro.specific.SpecificRecordBase implem
    * Sets the value of the 'details' field.
    * @param value the value to set.
    */
-  public void setDetails(java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._AnyValue> value) {
+  public void setDetails(java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.AnyValueMsg> value) {
     this.details = value;
   }
 
-  /** Creates a new _IMEvent RecordBuilder */
-  public static gr.grnet.aquarium.message.avro.gen._IMEvent.Builder newBuilder() {
-    return new gr.grnet.aquarium.message.avro.gen._IMEvent.Builder();
+  /** Creates a new IMEventMsg RecordBuilder */
+  public static gr.grnet.aquarium.message.avro.gen.IMEventMsg.Builder newBuilder() {
+    return new gr.grnet.aquarium.message.avro.gen.IMEventMsg.Builder();
   }
   
-  /** Creates a new _IMEvent RecordBuilder by copying an existing Builder */
-  public static gr.grnet.aquarium.message.avro.gen._IMEvent.Builder newBuilder(gr.grnet.aquarium.message.avro.gen._IMEvent.Builder other) {
-    return new gr.grnet.aquarium.message.avro.gen._IMEvent.Builder(other);
+  /** Creates a new IMEventMsg RecordBuilder by copying an existing Builder */
+  public static gr.grnet.aquarium.message.avro.gen.IMEventMsg.Builder newBuilder(gr.grnet.aquarium.message.avro.gen.IMEventMsg.Builder other) {
+    return new gr.grnet.aquarium.message.avro.gen.IMEventMsg.Builder(other);
   }
   
-  /** Creates a new _IMEvent RecordBuilder by copying an existing _IMEvent instance */
-  public static gr.grnet.aquarium.message.avro.gen._IMEvent.Builder newBuilder(gr.grnet.aquarium.message.avro.gen._IMEvent other) {
-    return new gr.grnet.aquarium.message.avro.gen._IMEvent.Builder(other);
+  /** Creates a new IMEventMsg RecordBuilder by copying an existing IMEventMsg instance */
+  public static gr.grnet.aquarium.message.avro.gen.IMEventMsg.Builder newBuilder(gr.grnet.aquarium.message.avro.gen.IMEventMsg other) {
+    return new gr.grnet.aquarium.message.avro.gen.IMEventMsg.Builder(other);
   }
   
   /**
-   * RecordBuilder for _IMEvent instances.
+   * RecordBuilder for IMEventMsg instances.
    */
-  public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase<_IMEvent>
-    implements org.apache.avro.data.RecordBuilder<_IMEvent> {
+  public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase<IMEventMsg>
+    implements org.apache.avro.data.RecordBuilder<IMEventMsg> {
 
     private java.lang.CharSequence id;
     private java.lang.CharSequence idInStore;
@@ -232,21 +232,21 @@ public class _IMEvent extends org.apache.avro.specific.SpecificRecordBase implem
     private java.lang.CharSequence eventVersion;
     private boolean isActive;
     private java.lang.CharSequence role;
-    private java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._AnyValue> details;
+    private java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.AnyValueMsg> details;
 
     /** Creates a new Builder */
     private Builder() {
-      super(gr.grnet.aquarium.message.avro.gen._IMEvent.SCHEMA$);
+      super(gr.grnet.aquarium.message.avro.gen.IMEventMsg.SCHEMA$);
     }
     
     /** Creates a Builder by copying an existing Builder */
-    private Builder(gr.grnet.aquarium.message.avro.gen._IMEvent.Builder other) {
+    private Builder(gr.grnet.aquarium.message.avro.gen.IMEventMsg.Builder other) {
       super(other);
     }
     
-    /** Creates a Builder by copying an existing _IMEvent instance */
-    private Builder(gr.grnet.aquarium.message.avro.gen._IMEvent other) {
-            super(gr.grnet.aquarium.message.avro.gen._IMEvent.SCHEMA$);
+    /** Creates a Builder by copying an existing IMEventMsg instance */
+    private Builder(gr.grnet.aquarium.message.avro.gen.IMEventMsg other) {
+            super(gr.grnet.aquarium.message.avro.gen.IMEventMsg.SCHEMA$);
       if (isValidValue(fields()[0], other.id)) {
         this.id = (java.lang.CharSequence) data().deepCopy(fields()[0].schema(), other.id);
         fieldSetFlags()[0] = true;
@@ -284,7 +284,7 @@ public class _IMEvent extends org.apache.avro.specific.SpecificRecordBase implem
         fieldSetFlags()[8] = true;
       }
       if (isValidValue(fields()[9], other.details)) {
-        this.details = (java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._AnyValue>) data().deepCopy(fields()[9].schema(), other.details);
+        this.details = (java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.AnyValueMsg>) data().deepCopy(fields()[9].schema(), other.details);
         fieldSetFlags()[9] = true;
       }
     }
@@ -295,7 +295,7 @@ public class _IMEvent extends org.apache.avro.specific.SpecificRecordBase implem
     }
     
     /** Sets the value of the 'id' field */
-    public gr.grnet.aquarium.message.avro.gen._IMEvent.Builder setId(java.lang.CharSequence value) {
+    public gr.grnet.aquarium.message.avro.gen.IMEventMsg.Builder setId(java.lang.CharSequence value) {
       validate(fields()[0], value);
       this.id = value;
       fieldSetFlags()[0] = true;
@@ -308,7 +308,7 @@ public class _IMEvent extends org.apache.avro.specific.SpecificRecordBase implem
     }
     
     /** Clears the value of the 'id' field */
-    public gr.grnet.aquarium.message.avro.gen._IMEvent.Builder clearId() {
+    public gr.grnet.aquarium.message.avro.gen.IMEventMsg.Builder clearId() {
       id = null;
       fieldSetFlags()[0] = false;
       return this;
@@ -320,7 +320,7 @@ public class _IMEvent extends org.apache.avro.specific.SpecificRecordBase implem
     }
     
     /** Sets the value of the 'idInStore' field */
-    public gr.grnet.aquarium.message.avro.gen._IMEvent.Builder setIdInStore(java.lang.CharSequence value) {
+    public gr.grnet.aquarium.message.avro.gen.IMEventMsg.Builder setIdInStore(java.lang.CharSequence value) {
       validate(fields()[1], value);
       this.idInStore = value;
       fieldSetFlags()[1] = true;
@@ -333,7 +333,7 @@ public class _IMEvent extends org.apache.avro.specific.SpecificRecordBase implem
     }
     
     /** Clears the value of the 'idInStore' field */
-    public gr.grnet.aquarium.message.avro.gen._IMEvent.Builder clearIdInStore() {
+    public gr.grnet.aquarium.message.avro.gen.IMEventMsg.Builder clearIdInStore() {
       idInStore = null;
       fieldSetFlags()[1] = false;
       return this;
@@ -345,7 +345,7 @@ public class _IMEvent extends org.apache.avro.specific.SpecificRecordBase implem
     }
     
     /** Sets the value of the 'occurredMillis' field */
-    public gr.grnet.aquarium.message.avro.gen._IMEvent.Builder setOccurredMillis(long value) {
+    public gr.grnet.aquarium.message.avro.gen.IMEventMsg.Builder setOccurredMillis(long value) {
       validate(fields()[2], value);
       this.occurredMillis = value;
       fieldSetFlags()[2] = true;
@@ -358,7 +358,7 @@ public class _IMEvent extends org.apache.avro.specific.SpecificRecordBase implem
     }
     
     /** Clears the value of the 'occurredMillis' field */
-    public gr.grnet.aquarium.message.avro.gen._IMEvent.Builder clearOccurredMillis() {
+    public gr.grnet.aquarium.message.avro.gen.IMEventMsg.Builder clearOccurredMillis() {
       fieldSetFlags()[2] = false;
       return this;
     }
@@ -369,7 +369,7 @@ public class _IMEvent extends org.apache.avro.specific.SpecificRecordBase implem
     }
     
     /** Sets the value of the 'receivedMillis' field */
-    public gr.grnet.aquarium.message.avro.gen._IMEvent.Builder setReceivedMillis(long value) {
+    public gr.grnet.aquarium.message.avro.gen.IMEventMsg.Builder setReceivedMillis(long value) {
       validate(fields()[3], value);
       this.receivedMillis = value;
       fieldSetFlags()[3] = true;
@@ -382,7 +382,7 @@ public class _IMEvent extends org.apache.avro.specific.SpecificRecordBase implem
     }
     
     /** Clears the value of the 'receivedMillis' field */
-    public gr.grnet.aquarium.message.avro.gen._IMEvent.Builder clearReceivedMillis() {
+    public gr.grnet.aquarium.message.avro.gen.IMEventMsg.Builder clearReceivedMillis() {
       fieldSetFlags()[3] = false;
       return this;
     }
@@ -393,7 +393,7 @@ public class _IMEvent extends org.apache.avro.specific.SpecificRecordBase implem
     }
     
     /** Sets the value of the 'userID' field */
-    public gr.grnet.aquarium.message.avro.gen._IMEvent.Builder setUserID(java.lang.CharSequence value) {
+    public gr.grnet.aquarium.message.avro.gen.IMEventMsg.Builder setUserID(java.lang.CharSequence value) {
       validate(fields()[4], value);
       this.userID = value;
       fieldSetFlags()[4] = true;
@@ -406,7 +406,7 @@ public class _IMEvent extends org.apache.avro.specific.SpecificRecordBase implem
     }
     
     /** Clears the value of the 'userID' field */
-    public gr.grnet.aquarium.message.avro.gen._IMEvent.Builder clearUserID() {
+    public gr.grnet.aquarium.message.avro.gen.IMEventMsg.Builder clearUserID() {
       userID = null;
       fieldSetFlags()[4] = false;
       return this;
@@ -418,7 +418,7 @@ public class _IMEvent extends org.apache.avro.specific.SpecificRecordBase implem
     }
     
     /** Sets the value of the 'clientID' field */
-    public gr.grnet.aquarium.message.avro.gen._IMEvent.Builder setClientID(java.lang.CharSequence value) {
+    public gr.grnet.aquarium.message.avro.gen.IMEventMsg.Builder setClientID(java.lang.CharSequence value) {
       validate(fields()[5], value);
       this.clientID = value;
       fieldSetFlags()[5] = true;
@@ -431,7 +431,7 @@ public class _IMEvent extends org.apache.avro.specific.SpecificRecordBase implem
     }
     
     /** Clears the value of the 'clientID' field */
-    public gr.grnet.aquarium.message.avro.gen._IMEvent.Builder clearClientID() {
+    public gr.grnet.aquarium.message.avro.gen.IMEventMsg.Builder clearClientID() {
       clientID = null;
       fieldSetFlags()[5] = false;
       return this;
@@ -443,7 +443,7 @@ public class _IMEvent extends org.apache.avro.specific.SpecificRecordBase implem
     }
     
     /** Sets the value of the 'eventVersion' field */
-    public gr.grnet.aquarium.message.avro.gen._IMEvent.Builder setEventVersion(java.lang.CharSequence value) {
+    public gr.grnet.aquarium.message.avro.gen.IMEventMsg.Builder setEventVersion(java.lang.CharSequence value) {
       validate(fields()[6], value);
       this.eventVersion = value;
       fieldSetFlags()[6] = true;
@@ -456,7 +456,7 @@ public class _IMEvent extends org.apache.avro.specific.SpecificRecordBase implem
     }
     
     /** Clears the value of the 'eventVersion' field */
-    public gr.grnet.aquarium.message.avro.gen._IMEvent.Builder clearEventVersion() {
+    public gr.grnet.aquarium.message.avro.gen.IMEventMsg.Builder clearEventVersion() {
       eventVersion = null;
       fieldSetFlags()[6] = false;
       return this;
@@ -468,7 +468,7 @@ public class _IMEvent extends org.apache.avro.specific.SpecificRecordBase implem
     }
     
     /** Sets the value of the 'isActive' field */
-    public gr.grnet.aquarium.message.avro.gen._IMEvent.Builder setIsActive(boolean value) {
+    public gr.grnet.aquarium.message.avro.gen.IMEventMsg.Builder setIsActive(boolean value) {
       validate(fields()[7], value);
       this.isActive = value;
       fieldSetFlags()[7] = true;
@@ -481,7 +481,7 @@ public class _IMEvent extends org.apache.avro.specific.SpecificRecordBase implem
     }
     
     /** Clears the value of the 'isActive' field */
-    public gr.grnet.aquarium.message.avro.gen._IMEvent.Builder clearIsActive() {
+    public gr.grnet.aquarium.message.avro.gen.IMEventMsg.Builder clearIsActive() {
       fieldSetFlags()[7] = false;
       return this;
     }
@@ -492,7 +492,7 @@ public class _IMEvent extends org.apache.avro.specific.SpecificRecordBase implem
     }
     
     /** Sets the value of the 'role' field */
-    public gr.grnet.aquarium.message.avro.gen._IMEvent.Builder setRole(java.lang.CharSequence value) {
+    public gr.grnet.aquarium.message.avro.gen.IMEventMsg.Builder setRole(java.lang.CharSequence value) {
       validate(fields()[8], value);
       this.role = value;
       fieldSetFlags()[8] = true;
@@ -505,19 +505,19 @@ public class _IMEvent extends org.apache.avro.specific.SpecificRecordBase implem
     }
     
     /** Clears the value of the 'role' field */
-    public gr.grnet.aquarium.message.avro.gen._IMEvent.Builder clearRole() {
+    public gr.grnet.aquarium.message.avro.gen.IMEventMsg.Builder clearRole() {
       role = null;
       fieldSetFlags()[8] = false;
       return this;
     }
 
     /** Gets the value of the 'details' field */
-    public java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._AnyValue> getDetails() {
+    public java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.AnyValueMsg> getDetails() {
       return details;
     }
     
     /** Sets the value of the 'details' field */
-    public gr.grnet.aquarium.message.avro.gen._IMEvent.Builder setDetails(java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._AnyValue> value) {
+    public gr.grnet.aquarium.message.avro.gen.IMEventMsg.Builder setDetails(java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.AnyValueMsg> value) {
       validate(fields()[9], value);
       this.details = value;
       fieldSetFlags()[9] = true;
@@ -530,16 +530,16 @@ public class _IMEvent extends org.apache.avro.specific.SpecificRecordBase implem
     }
     
     /** Clears the value of the 'details' field */
-    public gr.grnet.aquarium.message.avro.gen._IMEvent.Builder clearDetails() {
+    public gr.grnet.aquarium.message.avro.gen.IMEventMsg.Builder clearDetails() {
       details = null;
       fieldSetFlags()[9] = false;
       return this;
     }
 
     @Override
-    public _IMEvent build() {
+    public IMEventMsg build() {
       try {
-        _IMEvent record = new _IMEvent();
+        IMEventMsg record = new IMEventMsg();
         record.id = fieldSetFlags()[0] ? this.id : (java.lang.CharSequence) defaultValue(fields()[0]);
         record.idInStore = fieldSetFlags()[1] ? this.idInStore : (java.lang.CharSequence) defaultValue(fields()[1]);
         record.occurredMillis = fieldSetFlags()[2] ? this.occurredMillis : (java.lang.Long) defaultValue(fields()[2]);
@@ -549,7 +549,7 @@ public class _IMEvent extends org.apache.avro.specific.SpecificRecordBase implem
         record.eventVersion = fieldSetFlags()[6] ? this.eventVersion : (java.lang.CharSequence) defaultValue(fields()[6]);
         record.isActive = fieldSetFlags()[7] ? this.isActive : (java.lang.Boolean) defaultValue(fields()[7]);
         record.role = fieldSetFlags()[8] ? this.role : (java.lang.CharSequence) defaultValue(fields()[8]);
-        record.details = fieldSetFlags()[9] ? this.details : (java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._AnyValue>) defaultValue(fields()[9]);
+        record.details = fieldSetFlags()[9] ? this.details : (java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.AnyValueMsg>) defaultValue(fields()[9]);
         return record;
       } catch (Exception e) {
         throw new org.apache.avro.AvroRuntimeException(e);
@@ -5,15 +5,15 @@
  */
 package gr.grnet.aquarium.message.avro.gen;  
 @SuppressWarnings("all")
-public class _Policy extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
-  public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"_Policy\",\"namespace\":\"gr.grnet.aquarium.message.avro.gen\",\"fields\":[{\"name\":\"ID\",\"type\":\"string\",\"aliases\":[\"id, _id, idInStore, inStoreID\"]},{\"name\":\"parentID\",\"type\":[\"string\",\"null\"]},{\"name\":\"validFromMillis\",\"type\":\"long\"},{\"name\":\"validToMillis\",\"type\":\"long\"},{\"name\":\"resourceTypes\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"_ResourceType\",\"fields\":[{\"name\":\"name\",\"type\":\"string\"},{\"name\":\"unit\",\"type\":\"string\"},{\"name\":\"chargingBehaviorClass\",\"type\":\"string\"}]}}},{\"name\":\"chargingBehaviors\",\"type\":{\"type\":\"array\",\"items\":\"string\"}},{\"name\":\"roleMapping\",\"type\":{\"type\":\"map\",\"values\":{\"type\":\"record\",\"name\":\"_FullPriceTable\",\"fields\":[{\"name\":\"perResource\",\"type\":{\"type\":\"map\",\"values\":{\"type\":\"map\",\"values\":{\"type\":\"record\",\"name\":\"_SelectorValue\",\"fields\":[{\"name\":\"selectorValue\",\"type\":[{\"type\":\"record\",\"name\":\"_EffectivePriceTable\",\"fields\":[{\"name\":\"priceOverrides\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"_EffectiveUnitPrice\",\"fields\":[{\"name\":\"unitPrice\",\"type\":\"double\"},{\"name\":\"when\",\"type\":[{\"type\":\"record\",\"name\":\"_CronSpecTuple\",\"fields\":[{\"name\":\"a\",\"type\":\"string\"},{\"name\":\"b\",\"type\":\"string\"}]},\"null\"]}]}}}]},{\"type\":\"map\",\"values\":\"_SelectorValue\"}]}]}}}}]}}}]}");
+public class PolicyMsg extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
+  public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"PolicyMsg\",\"namespace\":\"gr.grnet.aquarium.message.avro.gen\",\"fields\":[{\"name\":\"ID\",\"type\":\"string\",\"aliases\":[\"id, _id, idInStore, inStoreID\"]},{\"name\":\"parentID\",\"type\":[\"string\",\"null\"]},{\"name\":\"validFromMillis\",\"type\":\"long\"},{\"name\":\"validToMillis\",\"type\":\"long\"},{\"name\":\"resourceTypes\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"ResourceTypeMsg\",\"fields\":[{\"name\":\"name\",\"type\":\"string\"},{\"name\":\"unit\",\"type\":\"string\"},{\"name\":\"chargingBehaviorClass\",\"type\":\"string\"}]}}},{\"name\":\"chargingBehaviors\",\"type\":{\"type\":\"array\",\"items\":\"string\"}},{\"name\":\"roleMapping\",\"type\":{\"type\":\"map\",\"values\":{\"type\":\"record\",\"name\":\"FullPriceTableMsg\",\"fields\":[{\"name\":\"perResource\",\"type\":{\"type\":\"map\",\"values\":{\"type\":\"map\",\"values\":{\"type\":\"record\",\"name\":\"SelectorValueMsg\",\"fields\":[{\"name\":\"selectorValue\",\"type\":[{\"type\":\"record\",\"name\":\"EffectivePriceTableMsg\",\"fields\":[{\"name\":\"priceOverrides\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"EffectiveUnitPriceMsg\",\"fields\":[{\"name\":\"unitPrice\",\"type\":\"double\"},{\"name\":\"when\",\"type\":[{\"type\":\"record\",\"name\":\"CronSpecTupleMsg\",\"fields\":[{\"name\":\"a\",\"type\":\"string\"},{\"name\":\"b\",\"type\":\"string\"}]},\"null\"]}]}}}]},{\"type\":\"map\",\"values\":\"SelectorValueMsg\"}]}]}}}}]}}}]}");
   @Deprecated public java.lang.CharSequence ID;
   @Deprecated public java.lang.CharSequence parentID;
   @Deprecated public long validFromMillis;
   @Deprecated public long validToMillis;
-  @Deprecated public java.util.List<gr.grnet.aquarium.message.avro.gen._ResourceType> resourceTypes;
+  @Deprecated public java.util.List<gr.grnet.aquarium.message.avro.gen.ResourceTypeMsg> resourceTypes;
   @Deprecated public java.util.List<java.lang.CharSequence> chargingBehaviors;
-  @Deprecated public java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._FullPriceTable> roleMapping;
+  @Deprecated public java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.FullPriceTableMsg> roleMapping;
   public org.apache.avro.Schema getSchema() { return SCHEMA$; }
   // Used by DatumWriter.  Applications should not call. 
   public java.lang.Object get(int field$) {
@@ -36,9 +36,9 @@ public class _Policy extends org.apache.avro.specific.SpecificRecordBase impleme
     case 1: parentID = (java.lang.CharSequence)value$; break;
     case 2: validFromMillis = (java.lang.Long)value$; break;
     case 3: validToMillis = (java.lang.Long)value$; break;
-    case 4: resourceTypes = (java.util.List<gr.grnet.aquarium.message.avro.gen._ResourceType>)value$; break;
+    case 4: resourceTypes = (java.util.List<gr.grnet.aquarium.message.avro.gen.ResourceTypeMsg>)value$; break;
     case 5: chargingBehaviors = (java.util.List<java.lang.CharSequence>)value$; break;
-    case 6: roleMapping = (java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._FullPriceTable>)value$; break;
+    case 6: roleMapping = (java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.FullPriceTableMsg>)value$; break;
     default: throw new org.apache.avro.AvroRuntimeException("Bad index");
     }
   }
@@ -106,7 +106,7 @@ public class _Policy extends org.apache.avro.specific.SpecificRecordBase impleme
   /**
    * Gets the value of the 'resourceTypes' field.
    */
-  public java.util.List<gr.grnet.aquarium.message.avro.gen._ResourceType> getResourceTypes() {
+  public java.util.List<gr.grnet.aquarium.message.avro.gen.ResourceTypeMsg> getResourceTypes() {
     return resourceTypes;
   }
 
@@ -114,7 +114,7 @@ public class _Policy extends org.apache.avro.specific.SpecificRecordBase impleme
    * Sets the value of the 'resourceTypes' field.
    * @param value the value to set.
    */
-  public void setResourceTypes(java.util.List<gr.grnet.aquarium.message.avro.gen._ResourceType> value) {
+  public void setResourceTypes(java.util.List<gr.grnet.aquarium.message.avro.gen.ResourceTypeMsg> value) {
     this.resourceTypes = value;
   }
 
@@ -136,7 +136,7 @@ public class _Policy extends org.apache.avro.specific.SpecificRecordBase impleme
   /**
    * Gets the value of the 'roleMapping' field.
    */
-  public java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._FullPriceTable> getRoleMapping() {
+  public java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.FullPriceTableMsg> getRoleMapping() {
     return roleMapping;
   }
 
@@ -144,52 +144,52 @@ public class _Policy extends org.apache.avro.specific.SpecificRecordBase impleme
    * Sets the value of the 'roleMapping' field.
    * @param value the value to set.
    */
-  public void setRoleMapping(java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._FullPriceTable> value) {
+  public void setRoleMapping(java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.FullPriceTableMsg> value) {
     this.roleMapping = value;
   }
 
-  /** Creates a new _Policy RecordBuilder */
-  public static gr.grnet.aquarium.message.avro.gen._Policy.Builder newBuilder() {
-    return new gr.grnet.aquarium.message.avro.gen._Policy.Builder();
+  /** Creates a new PolicyMsg RecordBuilder */
+  public static gr.grnet.aquarium.message.avro.gen.PolicyMsg.Builder newBuilder() {
+    return new gr.grnet.aquarium.message.avro.gen.PolicyMsg.Builder();
   }
   
-  /** Creates a new _Policy RecordBuilder by copying an existing Builder */
-  public static gr.grnet.aquarium.message.avro.gen._Policy.Builder newBuilder(gr.grnet.aquarium.message.avro.gen._Policy.Builder other) {
-    return new gr.grnet.aquarium.message.avro.gen._Policy.Builder(other);
+  /** Creates a new PolicyMsg RecordBuilder by copying an existing Builder */
+  public static gr.grnet.aquarium.message.avro.gen.PolicyMsg.Builder newBuilder(gr.grnet.aquarium.message.avro.gen.PolicyMsg.Builder other) {
+    return new gr.grnet.aquarium.message.avro.gen.PolicyMsg.Builder(other);
   }
   
-  /** Creates a new _Policy RecordBuilder by copying an existing _Policy instance */
-  public static gr.grnet.aquarium.message.avro.gen._Policy.Builder newBuilder(gr.grnet.aquarium.message.avro.gen._Policy other) {
-    return new gr.grnet.aquarium.message.avro.gen._Policy.Builder(other);
+  /** Creates a new PolicyMsg RecordBuilder by copying an existing PolicyMsg instance */
+  public static gr.grnet.aquarium.message.avro.gen.PolicyMsg.Builder newBuilder(gr.grnet.aquarium.message.avro.gen.PolicyMsg other) {
+    return new gr.grnet.aquarium.message.avro.gen.PolicyMsg.Builder(other);
   }
   
   /**
-   * RecordBuilder for _Policy instances.
+   * RecordBuilder for PolicyMsg instances.
    */
-  public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase<_Policy>
-    implements org.apache.avro.data.RecordBuilder<_Policy> {
+  public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase<PolicyMsg>
+    implements org.apache.avro.data.RecordBuilder<PolicyMsg> {
 
     private java.lang.CharSequence ID;
     private java.lang.CharSequence parentID;
     private long validFromMillis;
     private long validToMillis;
-    private java.util.List<gr.grnet.aquarium.message.avro.gen._ResourceType> resourceTypes;
+    private java.util.List<gr.grnet.aquarium.message.avro.gen.ResourceTypeMsg> resourceTypes;
     private java.util.List<java.lang.CharSequence> chargingBehaviors;
-    private java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._FullPriceTable> roleMapping;
+    private java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.FullPriceTableMsg> roleMapping;
 
     /** Creates a new Builder */
     private Builder() {
-      super(gr.grnet.aquarium.message.avro.gen._Policy.SCHEMA$);
+      super(gr.grnet.aquarium.message.avro.gen.PolicyMsg.SCHEMA$);
     }
     
     /** Creates a Builder by copying an existing Builder */
-    private Builder(gr.grnet.aquarium.message.avro.gen._Policy.Builder other) {
+    private Builder(gr.grnet.aquarium.message.avro.gen.PolicyMsg.Builder other) {
       super(other);
     }
     
-    /** Creates a Builder by copying an existing _Policy instance */
-    private Builder(gr.grnet.aquarium.message.avro.gen._Policy other) {
-            super(gr.grnet.aquarium.message.avro.gen._Policy.SCHEMA$);
+    /** Creates a Builder by copying an existing PolicyMsg instance */
+    private Builder(gr.grnet.aquarium.message.avro.gen.PolicyMsg other) {
+            super(gr.grnet.aquarium.message.avro.gen.PolicyMsg.SCHEMA$);
       if (isValidValue(fields()[0], other.ID)) {
         this.ID = (java.lang.CharSequence) data().deepCopy(fields()[0].schema(), other.ID);
         fieldSetFlags()[0] = true;
@@ -207,7 +207,7 @@ public class _Policy extends org.apache.avro.specific.SpecificRecordBase impleme
         fieldSetFlags()[3] = true;
       }
       if (isValidValue(fields()[4], other.resourceTypes)) {
-        this.resourceTypes = (java.util.List<gr.grnet.aquarium.message.avro.gen._ResourceType>) data().deepCopy(fields()[4].schema(), other.resourceTypes);
+        this.resourceTypes = (java.util.List<gr.grnet.aquarium.message.avro.gen.ResourceTypeMsg>) data().deepCopy(fields()[4].schema(), other.resourceTypes);
         fieldSetFlags()[4] = true;
       }
       if (isValidValue(fields()[5], other.chargingBehaviors)) {
@@ -215,7 +215,7 @@ public class _Policy extends org.apache.avro.specific.SpecificRecordBase impleme
         fieldSetFlags()[5] = true;
       }
       if (isValidValue(fields()[6], other.roleMapping)) {
-        this.roleMapping = (java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._FullPriceTable>) data().deepCopy(fields()[6].schema(), other.roleMapping);
+        this.roleMapping = (java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.FullPriceTableMsg>) data().deepCopy(fields()[6].schema(), other.roleMapping);
         fieldSetFlags()[6] = true;
       }
     }
@@ -226,7 +226,7 @@ public class _Policy extends org.apache.avro.specific.SpecificRecordBase impleme
     }
     
     /** Sets the value of the 'ID' field */
-    public gr.grnet.aquarium.message.avro.gen._Policy.Builder setID(java.lang.CharSequence value) {
+    public gr.grnet.aquarium.message.avro.gen.PolicyMsg.Builder setID(java.lang.CharSequence value) {
       validate(fields()[0], value);
       this.ID = value;
       fieldSetFlags()[0] = true;
@@ -239,7 +239,7 @@ public class _Policy extends org.apache.avro.specific.SpecificRecordBase impleme
     }
     
     /** Clears the value of the 'ID' field */
-    public gr.grnet.aquarium.message.avro.gen._Policy.Builder clearID() {
+    public gr.grnet.aquarium.message.avro.gen.PolicyMsg.Builder clearID() {
       ID = null;
       fieldSetFlags()[0] = false;
       return this;
@@ -251,7 +251,7 @@ public class _Policy extends org.apache.avro.specific.SpecificRecordBase impleme
     }
     
     /** Sets the value of the 'parentID' field */
-    public gr.grnet.aquarium.message.avro.gen._Policy.Builder setParentID(java.lang.CharSequence value) {
+    public gr.grnet.aquarium.message.avro.gen.PolicyMsg.Builder setParentID(java.lang.CharSequence value) {
       validate(fields()[1], value);
       this.parentID = value;
       fieldSetFlags()[1] = true;
@@ -264,7 +264,7 @@ public class _Policy extends org.apache.avro.specific.SpecificRecordBase impleme
     }
     
     /** Clears the value of the 'parentID' field */
-    public gr.grnet.aquarium.message.avro.gen._Policy.Builder clearParentID() {
+    public gr.grnet.aquarium.message.avro.gen.PolicyMsg.Builder clearParentID() {
       parentID = null;
       fieldSetFlags()[1] = false;
       return this;
@@ -276,7 +276,7 @@ public class _Policy extends org.apache.avro.specific.SpecificRecordBase impleme
     }
     
     /** Sets the value of the 'validFromMillis' field */
-    public gr.grnet.aquarium.message.avro.gen._Policy.Builder setValidFromMillis(long value) {
+    public gr.grnet.aquarium.message.avro.gen.PolicyMsg.Builder setValidFromMillis(long value) {
       validate(fields()[2], value);
       this.validFromMillis = value;
       fieldSetFlags()[2] = true;
@@ -289,7 +289,7 @@ public class _Policy extends org.apache.avro.specific.SpecificRecordBase impleme
     }
     
     /** Clears the value of the 'validFromMillis' field */
-    public gr.grnet.aquarium.message.avro.gen._Policy.Builder clearValidFromMillis() {
+    public gr.grnet.aquarium.message.avro.gen.PolicyMsg.Builder clearValidFromMillis() {
       fieldSetFlags()[2] = false;
       return this;
     }
@@ -300,7 +300,7 @@ public class _Policy extends org.apache.avro.specific.SpecificRecordBase impleme
     }
     
     /** Sets the value of the 'validToMillis' field */
-    public gr.grnet.aquarium.message.avro.gen._Policy.Builder setValidToMillis(long value) {
+    public gr.grnet.aquarium.message.avro.gen.PolicyMsg.Builder setValidToMillis(long value) {
       validate(fields()[3], value);
       this.validToMillis = value;
       fieldSetFlags()[3] = true;
@@ -313,18 +313,18 @@ public class _Policy extends org.apache.avro.specific.SpecificRecordBase impleme
     }
     
     /** Clears the value of the 'validToMillis' field */
-    public gr.grnet.aquarium.message.avro.gen._Policy.Builder clearValidToMillis() {
+    public gr.grnet.aquarium.message.avro.gen.PolicyMsg.Builder clearValidToMillis() {
       fieldSetFlags()[3] = false;
       return this;
     }
 
     /** Gets the value of the 'resourceTypes' field */
-    public java.util.List<gr.grnet.aquarium.message.avro.gen._ResourceType> getResourceTypes() {
+    public java.util.List<gr.grnet.aquarium.message.avro.gen.ResourceTypeMsg> getResourceTypes() {
       return resourceTypes;
     }
     
     /** Sets the value of the 'resourceTypes' field */
-    public gr.grnet.aquarium.message.avro.gen._Policy.Builder setResourceTypes(java.util.List<gr.grnet.aquarium.message.avro.gen._ResourceType> value) {
+    public gr.grnet.aquarium.message.avro.gen.PolicyMsg.Builder setResourceTypes(java.util.List<gr.grnet.aquarium.message.avro.gen.ResourceTypeMsg> value) {
       validate(fields()[4], value);
       this.resourceTypes = value;
       fieldSetFlags()[4] = true;
@@ -337,7 +337,7 @@ public class _Policy extends org.apache.avro.specific.SpecificRecordBase impleme
     }
     
     /** Clears the value of the 'resourceTypes' field */
-    public gr.grnet.aquarium.message.avro.gen._Policy.Builder clearResourceTypes() {
+    public gr.grnet.aquarium.message.avro.gen.PolicyMsg.Builder clearResourceTypes() {
       resourceTypes = null;
       fieldSetFlags()[4] = false;
       return this;
@@ -349,7 +349,7 @@ public class _Policy extends org.apache.avro.specific.SpecificRecordBase impleme
     }
     
     /** Sets the value of the 'chargingBehaviors' field */
-    public gr.grnet.aquarium.message.avro.gen._Policy.Builder setChargingBehaviors(java.util.List<java.lang.CharSequence> value) {
+    public gr.grnet.aquarium.message.avro.gen.PolicyMsg.Builder setChargingBehaviors(java.util.List<java.lang.CharSequence> value) {
       validate(fields()[5], value);
       this.chargingBehaviors = value;
       fieldSetFlags()[5] = true;
@@ -362,19 +362,19 @@ public class _Policy extends org.apache.avro.specific.SpecificRecordBase impleme
     }
     
     /** Clears the value of the 'chargingBehaviors' field */
-    public gr.grnet.aquarium.message.avro.gen._Policy.Builder clearChargingBehaviors() {
+    public gr.grnet.aquarium.message.avro.gen.PolicyMsg.Builder clearChargingBehaviors() {
       chargingBehaviors = null;
       fieldSetFlags()[5] = false;
       return this;
     }
 
     /** Gets the value of the 'roleMapping' field */
-    public java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._FullPriceTable> getRoleMapping() {
+    public java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.FullPriceTableMsg> getRoleMapping() {
       return roleMapping;
     }
     
     /** Sets the value of the 'roleMapping' field */
-    public gr.grnet.aquarium.message.avro.gen._Policy.Builder setRoleMapping(java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._FullPriceTable> value) {
+    public gr.grnet.aquarium.message.avro.gen.PolicyMsg.Builder setRoleMapping(java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.FullPriceTableMsg> value) {
       validate(fields()[6], value);
       this.roleMapping = value;
       fieldSetFlags()[6] = true;
@@ -387,23 +387,23 @@ public class _Policy extends org.apache.avro.specific.SpecificRecordBase impleme
     }
     
     /** Clears the value of the 'roleMapping' field */
-    public gr.grnet.aquarium.message.avro.gen._Policy.Builder clearRoleMapping() {
+    public gr.grnet.aquarium.message.avro.gen.PolicyMsg.Builder clearRoleMapping() {
       roleMapping = null;
       fieldSetFlags()[6] = false;
       return this;
     }
 
     @Override
-    public _Policy build() {
+    public PolicyMsg build() {
       try {
-        _Policy record = new _Policy();
+        PolicyMsg record = new PolicyMsg();
         record.ID = fieldSetFlags()[0] ? this.ID : (java.lang.CharSequence) defaultValue(fields()[0]);
         record.parentID = fieldSetFlags()[1] ? this.parentID : (java.lang.CharSequence) defaultValue(fields()[1]);
         record.validFromMillis = fieldSetFlags()[2] ? this.validFromMillis : (java.lang.Long) defaultValue(fields()[2]);
         record.validToMillis = fieldSetFlags()[3] ? this.validToMillis : (java.lang.Long) defaultValue(fields()[3]);
-        record.resourceTypes = fieldSetFlags()[4] ? this.resourceTypes : (java.util.List<gr.grnet.aquarium.message.avro.gen._ResourceType>) defaultValue(fields()[4]);
+        record.resourceTypes = fieldSetFlags()[4] ? this.resourceTypes : (java.util.List<gr.grnet.aquarium.message.avro.gen.ResourceTypeMsg>) defaultValue(fields()[4]);
         record.chargingBehaviors = fieldSetFlags()[5] ? this.chargingBehaviors : (java.util.List<java.lang.CharSequence>) defaultValue(fields()[5]);
-        record.roleMapping = fieldSetFlags()[6] ? this.roleMapping : (java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._FullPriceTable>) defaultValue(fields()[6]);
+        record.roleMapping = fieldSetFlags()[6] ? this.roleMapping : (java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.FullPriceTableMsg>) defaultValue(fields()[6]);
         return record;
       } catch (Exception e) {
         throw new org.apache.avro.AvroRuntimeException(e);
@@ -5,13 +5,13 @@
  */
 package gr.grnet.aquarium.message.avro.gen;  
 @SuppressWarnings("all")
-public class _ResourceEntry extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
-  public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"_ResourceEntry\",\"namespace\":\"gr.grnet.aquarium.message.avro.gen\",\"fields\":[{\"name\":\"resourceName\",\"type\":\"string\"},{\"name\":\"resourceType\",\"type\":\"string\"},{\"name\":\"unitName\",\"type\":\"string\"},{\"name\":\"totalCredits\",\"type\":\"string\"},{\"name\":\"details\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"_EventEntry\",\"fields\":[{\"name\":\"eventType\",\"type\":\"string\"},{\"name\":\"details\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"_ChargeEntry\",\"fields\":[{\"name\":\"id\",\"type\":\"string\"},{\"name\":\"unitPrice\",\"type\":\"string\"},{\"name\":\"startTime\",\"type\":\"string\"},{\"name\":\"endTime\",\"type\":\"string\"},{\"name\":\"ellapsedTime\",\"type\":\"string\"},{\"name\":\"credits\",\"type\":\"string\"}]}}}]}}}]}");
+public class ResourceEntryMsg extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
+  public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"ResourceEntryMsg\",\"namespace\":\"gr.grnet.aquarium.message.avro.gen\",\"fields\":[{\"name\":\"resourceName\",\"type\":\"string\"},{\"name\":\"resourceType\",\"type\":\"string\"},{\"name\":\"unitName\",\"type\":\"string\"},{\"name\":\"totalCredits\",\"type\":\"string\"},{\"name\":\"details\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"EventEntryMsg\",\"fields\":[{\"name\":\"eventType\",\"type\":\"string\"},{\"name\":\"details\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"ChargeEntryMsg\",\"fields\":[{\"name\":\"id\",\"type\":\"string\"},{\"name\":\"unitPrice\",\"type\":\"string\"},{\"name\":\"startTime\",\"type\":\"string\"},{\"name\":\"endTime\",\"type\":\"string\"},{\"name\":\"ellapsedTime\",\"type\":\"string\"},{\"name\":\"credits\",\"type\":\"string\"}]}}}]}}}]}");
   @Deprecated public java.lang.CharSequence resourceName;
   @Deprecated public java.lang.CharSequence resourceType;
   @Deprecated public java.lang.CharSequence unitName;
   @Deprecated public java.lang.CharSequence totalCredits;
-  @Deprecated public java.util.List<gr.grnet.aquarium.message.avro.gen._EventEntry> details;
+  @Deprecated public java.util.List<gr.grnet.aquarium.message.avro.gen.EventEntryMsg> details;
   public org.apache.avro.Schema getSchema() { return SCHEMA$; }
   // Used by DatumWriter.  Applications should not call. 
   public java.lang.Object get(int field$) {
@@ -32,7 +32,7 @@ public class _ResourceEntry extends org.apache.avro.specific.SpecificRecordBase
     case 1: resourceType = (java.lang.CharSequence)value$; break;
     case 2: unitName = (java.lang.CharSequence)value$; break;
     case 3: totalCredits = (java.lang.CharSequence)value$; break;
-    case 4: details = (java.util.List<gr.grnet.aquarium.message.avro.gen._EventEntry>)value$; break;
+    case 4: details = (java.util.List<gr.grnet.aquarium.message.avro.gen.EventEntryMsg>)value$; break;
     default: throw new org.apache.avro.AvroRuntimeException("Bad index");
     }
   }
@@ -100,7 +100,7 @@ public class _ResourceEntry extends org.apache.avro.specific.SpecificRecordBase
   /**
    * Gets the value of the 'details' field.
    */
-  public java.util.List<gr.grnet.aquarium.message.avro.gen._EventEntry> getDetails() {
+  public java.util.List<gr.grnet.aquarium.message.avro.gen.EventEntryMsg> getDetails() {
     return details;
   }
 
@@ -108,50 +108,50 @@ public class _ResourceEntry extends org.apache.avro.specific.SpecificRecordBase
    * Sets the value of the 'details' field.
    * @param value the value to set.
    */
-  public void setDetails(java.util.List<gr.grnet.aquarium.message.avro.gen._EventEntry> value) {
+  public void setDetails(java.util.List<gr.grnet.aquarium.message.avro.gen.EventEntryMsg> value) {
     this.details = value;
   }
 
-  /** Creates a new _ResourceEntry RecordBuilder */
-  public static gr.grnet.aquarium.message.avro.gen._ResourceEntry.Builder newBuilder() {
-    return new gr.grnet.aquarium.message.avro.gen._ResourceEntry.Builder();
+  /** Creates a new ResourceEntryMsg RecordBuilder */
+  public static gr.grnet.aquarium.message.avro.gen.ResourceEntryMsg.Builder newBuilder() {
+    return new gr.grnet.aquarium.message.avro.gen.ResourceEntryMsg.Builder();
   }
   
-  /** Creates a new _ResourceEntry RecordBuilder by copying an existing Builder */
-  public static gr.grnet.aquarium.message.avro.gen._ResourceEntry.Builder newBuilder(gr.grnet.aquarium.message.avro.gen._ResourceEntry.Builder other) {
-    return new gr.grnet.aquarium.message.avro.gen._ResourceEntry.Builder(other);
+  /** Creates a new ResourceEntryMsg RecordBuilder by copying an existing Builder */
+  public static gr.grnet.aquarium.message.avro.gen.ResourceEntryMsg.Builder newBuilder(gr.grnet.aquarium.message.avro.gen.ResourceEntryMsg.Builder other) {
+    return new gr.grnet.aquarium.message.avro.gen.ResourceEntryMsg.Builder(other);
   }
   
-  /** Creates a new _ResourceEntry RecordBuilder by copying an existing _ResourceEntry instance */
-  public static gr.grnet.aquarium.message.avro.gen._ResourceEntry.Builder newBuilder(gr.grnet.aquarium.message.avro.gen._ResourceEntry other) {
-    return new gr.grnet.aquarium.message.avro.gen._ResourceEntry.Builder(other);
+  /** Creates a new ResourceEntryMsg RecordBuilder by copying an existing ResourceEntryMsg instance */
+  public static gr.grnet.aquarium.message.avro.gen.ResourceEntryMsg.Builder newBuilder(gr.grnet.aquarium.message.avro.gen.ResourceEntryMsg other) {
+    return new gr.grnet.aquarium.message.avro.gen.ResourceEntryMsg.Builder(other);
   }
   
   /**
-   * RecordBuilder for _ResourceEntry instances.
+   * RecordBuilder for ResourceEntryMsg instances.
    */
-  public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase<_ResourceEntry>
-    implements org.apache.avro.data.RecordBuilder<_ResourceEntry> {
+  public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase<ResourceEntryMsg>
+    implements org.apache.avro.data.RecordBuilder<ResourceEntryMsg> {
 
     private java.lang.CharSequence resourceName;
     private java.lang.CharSequence resourceType;
     private java.lang.CharSequence unitName;
     private java.lang.CharSequence totalCredits;
-    private java.util.List<gr.grnet.aquarium.message.avro.gen._EventEntry> details;
+    private java.util.List<gr.grnet.aquarium.message.avro.gen.EventEntryMsg> details;
 
     /** Creates a new Builder */
     private Builder() {
-      super(gr.grnet.aquarium.message.avro.gen._ResourceEntry.SCHEMA$);
+      super(gr.grnet.aquarium.message.avro.gen.ResourceEntryMsg.SCHEMA$);
     }
     
     /** Creates a Builder by copying an existing Builder */
-    private Builder(gr.grnet.aquarium.message.avro.gen._ResourceEntry.Builder other) {
+    private Builder(gr.grnet.aquarium.message.avro.gen.ResourceEntryMsg.Builder other) {
       super(other);
     }
     
-    /** Creates a Builder by copying an existing _ResourceEntry instance */
-    private Builder(gr.grnet.aquarium.message.avro.gen._ResourceEntry other) {
-            super(gr.grnet.aquarium.message.avro.gen._ResourceEntry.SCHEMA$);
+    /** Creates a Builder by copying an existing ResourceEntryMsg instance */
+    private Builder(gr.grnet.aquarium.message.avro.gen.ResourceEntryMsg other) {
+            super(gr.grnet.aquarium.message.avro.gen.ResourceEntryMsg.SCHEMA$);
       if (isValidValue(fields()[0], other.resourceName)) {
         this.resourceName = (java.lang.CharSequence) data().deepCopy(fields()[0].schema(), other.resourceName);
         fieldSetFlags()[0] = true;
@@ -169,7 +169,7 @@ public class _ResourceEntry extends org.apache.avro.specific.SpecificRecordBase
         fieldSetFlags()[3] = true;
       }
       if (isValidValue(fields()[4], other.details)) {
-        this.details = (java.util.List<gr.grnet.aquarium.message.avro.gen._EventEntry>) data().deepCopy(fields()[4].schema(), other.details);
+        this.details = (java.util.List<gr.grnet.aquarium.message.avro.gen.EventEntryMsg>) data().deepCopy(fields()[4].schema(), other.details);
         fieldSetFlags()[4] = true;
       }
     }
@@ -180,7 +180,7 @@ public class _ResourceEntry extends org.apache.avro.specific.SpecificRecordBase
     }
     
     /** Sets the value of the 'resourceName' field */
-    public gr.grnet.aquarium.message.avro.gen._ResourceEntry.Builder setResourceName(java.lang.CharSequence value) {
+    public gr.grnet.aquarium.message.avro.gen.ResourceEntryMsg.Builder setResourceName(java.lang.CharSequence value) {
       validate(fields()[0], value);
       this.resourceName = value;
       fieldSetFlags()[0] = true;
@@ -193,7 +193,7 @@ public class _ResourceEntry extends org.apache.avro.specific.SpecificRecordBase
     }
     
     /** Clears the value of the 'resourceName' field */
-    public gr.grnet.aquarium.message.avro.gen._ResourceEntry.Builder clearResourceName() {
+    public gr.grnet.aquarium.message.avro.gen.ResourceEntryMsg.Builder clearResourceName() {
       resourceName = null;
       fieldSetFlags()[0] = false;
       return this;
@@ -205,7 +205,7 @@ public class _ResourceEntry extends org.apache.avro.specific.SpecificRecordBase
     }
     
     /** Sets the value of the 'resourceType' field */
-    public gr.grnet.aquarium.message.avro.gen._ResourceEntry.Builder setResourceType(java.lang.CharSequence value) {
+    public gr.grnet.aquarium.message.avro.gen.ResourceEntryMsg.Builder setResourceType(java.lang.CharSequence value) {
       validate(fields()[1], value);
       this.resourceType = value;
       fieldSetFlags()[1] = true;
@@ -218,7 +218,7 @@ public class _ResourceEntry extends org.apache.avro.specific.SpecificRecordBase
     }
     
     /** Clears the value of the 'resourceType' field */
-    public gr.grnet.aquarium.message.avro.gen._ResourceEntry.Builder clearResourceType() {
+    public gr.grnet.aquarium.message.avro.gen.ResourceEntryMsg.Builder clearResourceType() {
       resourceType = null;
       fieldSetFlags()[1] = false;
       return this;
@@ -230,7 +230,7 @@ public class _ResourceEntry extends org.apache.avro.specific.SpecificRecordBase
     }
     
     /** Sets the value of the 'unitName' field */
-    public gr.grnet.aquarium.message.avro.gen._ResourceEntry.Builder setUnitName(java.lang.CharSequence value) {
+    public gr.grnet.aquarium.message.avro.gen.ResourceEntryMsg.Builder setUnitName(java.lang.CharSequence value) {
       validate(fields()[2], value);
       this.unitName = value;
       fieldSetFlags()[2] = true;
@@ -243,7 +243,7 @@ public class _ResourceEntry extends org.apache.avro.specific.SpecificRecordBase
     }
     
     /** Clears the value of the 'unitName' field */
-    public gr.grnet.aquarium.message.avro.gen._ResourceEntry.Builder clearUnitName() {
+    public gr.grnet.aquarium.message.avro.gen.ResourceEntryMsg.Builder clearUnitName() {
       unitName = null;
       fieldSetFlags()[2] = false;
       return this;
@@ -255,7 +255,7 @@ public class _ResourceEntry extends org.apache.avro.specific.SpecificRecordBase
     }
     
     /** Sets the value of the 'totalCredits' field */
-    public gr.grnet.aquarium.message.avro.gen._ResourceEntry.Builder setTotalCredits(java.lang.CharSequence value) {
+    public gr.grnet.aquarium.message.avro.gen.ResourceEntryMsg.Builder setTotalCredits(java.lang.CharSequence value) {
       validate(fields()[3], value);
       this.totalCredits = value;
       fieldSetFlags()[3] = true;
@@ -268,19 +268,19 @@ public class _ResourceEntry extends org.apache.avro.specific.SpecificRecordBase
     }
     
     /** Clears the value of the 'totalCredits' field */
-    public gr.grnet.aquarium.message.avro.gen._ResourceEntry.Builder clearTotalCredits() {
+    public gr.grnet.aquarium.message.avro.gen.ResourceEntryMsg.Builder clearTotalCredits() {
       totalCredits = null;
       fieldSetFlags()[3] = false;
       return this;
     }
 
     /** Gets the value of the 'details' field */
-    public java.util.List<gr.grnet.aquarium.message.avro.gen._EventEntry> getDetails() {
+    public java.util.List<gr.grnet.aquarium.message.avro.gen.EventEntryMsg> getDetails() {
       return details;
     }
     
     /** Sets the value of the 'details' field */
-    public gr.grnet.aquarium.message.avro.gen._ResourceEntry.Builder setDetails(java.util.List<gr.grnet.aquarium.message.avro.gen._EventEntry> value) {
+    public gr.grnet.aquarium.message.avro.gen.ResourceEntryMsg.Builder setDetails(java.util.List<gr.grnet.aquarium.message.avro.gen.EventEntryMsg> value) {
       validate(fields()[4], value);
       this.details = value;
       fieldSetFlags()[4] = true;
@@ -293,21 +293,21 @@ public class _ResourceEntry extends org.apache.avro.specific.SpecificRecordBase
     }
     
     /** Clears the value of the 'details' field */
-    public gr.grnet.aquarium.message.avro.gen._ResourceEntry.Builder clearDetails() {
+    public gr.grnet.aquarium.message.avro.gen.ResourceEntryMsg.Builder clearDetails() {
       details = null;
       fieldSetFlags()[4] = false;
       return this;
     }
 
     @Override
-    public _ResourceEntry build() {
+    public ResourceEntryMsg build() {
       try {
-        _ResourceEntry record = new _ResourceEntry();
+        ResourceEntryMsg record = new ResourceEntryMsg();
         record.resourceName = fieldSetFlags()[0] ? this.resourceName : (java.lang.CharSequence) defaultValue(fields()[0]);
         record.resourceType = fieldSetFlags()[1] ? this.resourceType : (java.lang.CharSequence) defaultValue(fields()[1]);
         record.unitName = fieldSetFlags()[2] ? this.unitName : (java.lang.CharSequence) defaultValue(fields()[2]);
         record.totalCredits = fieldSetFlags()[3] ? this.totalCredits : (java.lang.CharSequence) defaultValue(fields()[3]);
-        record.details = fieldSetFlags()[4] ? this.details : (java.util.List<gr.grnet.aquarium.message.avro.gen._EventEntry>) defaultValue(fields()[4]);
+        record.details = fieldSetFlags()[4] ? this.details : (java.util.List<gr.grnet.aquarium.message.avro.gen.EventEntryMsg>) defaultValue(fields()[4]);
         return record;
       } catch (Exception e) {
         throw new org.apache.avro.AvroRuntimeException(e);
@@ -5,8 +5,8 @@
  */
 package gr.grnet.aquarium.message.avro.gen;  
 @SuppressWarnings("all")
-public class _ResourceEvent extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
-  public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"_ResourceEvent\",\"namespace\":\"gr.grnet.aquarium.message.avro.gen\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"aliases\":[\"originalID\",\"ID\"]},{\"name\":\"idInStore\",\"type\":\"string\"},{\"name\":\"occurredMillis\",\"type\":\"long\"},{\"name\":\"receivedMillis\",\"type\":\"long\",\"default\":0},{\"name\":\"userID\",\"type\":\"string\"},{\"name\":\"clientID\",\"type\":\"string\"},{\"name\":\"eventVersion\",\"type\":\"string\",\"default\":\"1.0\"},{\"name\":\"resource\",\"type\":\"string\",\"aliases\":[\"resourceType\"]},{\"name\":\"instanceID\",\"type\":\"string\"},{\"name\":\"value\",\"type\":\"string\"},{\"name\":\"details\",\"type\":{\"type\":\"map\",\"values\":{\"type\":\"record\",\"name\":\"_AnyValue\",\"fields\":[{\"name\":\"anyValue\",\"type\":[\"null\",\"int\",\"long\",\"boolean\",\"double\",\"bytes\",\"string\"]}]}}}]}");
+public class ResourceEventMsg extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
+  public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"ResourceEventMsg\",\"namespace\":\"gr.grnet.aquarium.message.avro.gen\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"aliases\":[\"originalID\",\"ID\"]},{\"name\":\"idInStore\",\"type\":\"string\"},{\"name\":\"occurredMillis\",\"type\":\"long\"},{\"name\":\"receivedMillis\",\"type\":\"long\",\"default\":0},{\"name\":\"userID\",\"type\":\"string\"},{\"name\":\"clientID\",\"type\":\"string\"},{\"name\":\"eventVersion\",\"type\":\"string\",\"default\":\"1.0\"},{\"name\":\"resource\",\"type\":\"string\",\"aliases\":[\"resourceType\"]},{\"name\":\"instanceID\",\"type\":\"string\"},{\"name\":\"value\",\"type\":\"string\"},{\"name\":\"details\",\"type\":{\"type\":\"map\",\"values\":{\"type\":\"record\",\"name\":\"AnyValueMsg\",\"fields\":[{\"name\":\"anyValue\",\"type\":[\"null\",\"int\",\"long\",\"boolean\",\"double\",\"bytes\",\"string\"]}]}}}]}");
   @Deprecated public java.lang.CharSequence id;
   @Deprecated public java.lang.CharSequence idInStore;
   @Deprecated public long occurredMillis;
@@ -17,7 +17,7 @@ public class _ResourceEvent extends org.apache.avro.specific.SpecificRecordBase
   @Deprecated public java.lang.CharSequence resource;
   @Deprecated public java.lang.CharSequence instanceID;
   @Deprecated public java.lang.CharSequence value;
-  @Deprecated public java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._AnyValue> details;
+  @Deprecated public java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.AnyValueMsg> details;
   public org.apache.avro.Schema getSchema() { return SCHEMA$; }
   // Used by DatumWriter.  Applications should not call. 
   public java.lang.Object get(int field$) {
@@ -50,7 +50,7 @@ public class _ResourceEvent extends org.apache.avro.specific.SpecificRecordBase
     case 7: resource = (java.lang.CharSequence)value$; break;
     case 8: instanceID = (java.lang.CharSequence)value$; break;
     case 9: value = (java.lang.CharSequence)value$; break;
-    case 10: details = (java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._AnyValue>)value$; break;
+    case 10: details = (java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.AnyValueMsg>)value$; break;
     default: throw new org.apache.avro.AvroRuntimeException("Bad index");
     }
   }
@@ -208,7 +208,7 @@ public class _ResourceEvent extends org.apache.avro.specific.SpecificRecordBase
   /**
    * Gets the value of the 'details' field.
    */
-  public java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._AnyValue> getDetails() {
+  public java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.AnyValueMsg> getDetails() {
     return details;
   }
 
@@ -216,30 +216,30 @@ public class _ResourceEvent extends org.apache.avro.specific.SpecificRecordBase
    * Sets the value of the 'details' field.
    * @param value the value to set.
    */
-  public void setDetails(java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._AnyValue> value) {
+  public void setDetails(java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.AnyValueMsg> value) {
     this.details = value;
   }
 
-  /** Creates a new _ResourceEvent RecordBuilder */
-  public static gr.grnet.aquarium.message.avro.gen._ResourceEvent.Builder newBuilder() {
-    return new gr.grnet.aquarium.message.avro.gen._ResourceEvent.Builder();
+  /** Creates a new ResourceEventMsg RecordBuilder */
+  public static gr.grnet.aquarium.message.avro.gen.ResourceEventMsg.Builder newBuilder() {
+    return new gr.grnet.aquarium.message.avro.gen.ResourceEventMsg.Builder();
   }
   
-  /** Creates a new _ResourceEvent RecordBuilder by copying an existing Builder */
-  public static gr.grnet.aquarium.message.avro.gen._ResourceEvent.Builder newBuilder(gr.grnet.aquarium.message.avro.gen._ResourceEvent.Builder other) {
-    return new gr.grnet.aquarium.message.avro.gen._ResourceEvent.Builder(other);
+  /** Creates a new ResourceEventMsg RecordBuilder by copying an existing Builder */
+  public static gr.grnet.aquarium.message.avro.gen.ResourceEventMsg.Builder newBuilder(gr.grnet.aquarium.message.avro.gen.ResourceEventMsg.Builder other) {
+    return new gr.grnet.aquarium.message.avro.gen.ResourceEventMsg.Builder(other);
   }
   
-  /** Creates a new _ResourceEvent RecordBuilder by copying an existing _ResourceEvent instance */
-  public static gr.grnet.aquarium.message.avro.gen._ResourceEvent.Builder newBuilder(gr.grnet.aquarium.message.avro.gen._ResourceEvent other) {
-    return new gr.grnet.aquarium.message.avro.gen._ResourceEvent.Builder(other);
+  /** Creates a new ResourceEventMsg RecordBuilder by copying an existing ResourceEventMsg instance */
+  public static gr.grnet.aquarium.message.avro.gen.ResourceEventMsg.Builder newBuilder(gr.grnet.aquarium.message.avro.gen.ResourceEventMsg other) {
+    return new gr.grnet.aquarium.message.avro.gen.ResourceEventMsg.Builder(other);
   }
   
   /**
-   * RecordBuilder for _ResourceEvent instances.
+   * RecordBuilder for ResourceEventMsg instances.
    */
-  public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase<_ResourceEvent>
-    implements org.apache.avro.data.RecordBuilder<_ResourceEvent> {
+  public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase<ResourceEventMsg>
+    implements org.apache.avro.data.RecordBuilder<ResourceEventMsg> {
 
     private java.lang.CharSequence id;
     private java.lang.CharSequence idInStore;
@@ -251,21 +251,21 @@ public class _ResourceEvent extends org.apache.avro.specific.SpecificRecordBase
     private java.lang.CharSequence resource;
     private java.lang.CharSequence instanceID;
     private java.lang.CharSequence value;
-    private java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._AnyValue> details;
+    private java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.AnyValueMsg> details;
 
     /** Creates a new Builder */
     private Builder() {
-      super(gr.grnet.aquarium.message.avro.gen._ResourceEvent.SCHEMA$);
+      super(gr.grnet.aquarium.message.avro.gen.ResourceEventMsg.SCHEMA$);
     }
     
     /** Creates a Builder by copying an existing Builder */
-    private Builder(gr.grnet.aquarium.message.avro.gen._ResourceEvent.Builder other) {
+    private Builder(gr.grnet.aquarium.message.avro.gen.ResourceEventMsg.Builder other) {
       super(other);
     }
     
-    /** Creates a Builder by copying an existing _ResourceEvent instance */
-    private Builder(gr.grnet.aquarium.message.avro.gen._ResourceEvent other) {
-            super(gr.grnet.aquarium.message.avro.gen._ResourceEvent.SCHEMA$);
+    /** Creates a Builder by copying an existing ResourceEventMsg instance */
+    private Builder(gr.grnet.aquarium.message.avro.gen.ResourceEventMsg other) {
+            super(gr.grnet.aquarium.message.avro.gen.ResourceEventMsg.SCHEMA$);
       if (isValidValue(fields()[0], other.id)) {
         this.id = (java.lang.CharSequence) data().deepCopy(fields()[0].schema(), other.id);
         fieldSetFlags()[0] = true;
@@ -307,7 +307,7 @@ public class _ResourceEvent extends org.apache.avro.specific.SpecificRecordBase
         fieldSetFlags()[9] = true;
       }
       if (isValidValue(fields()[10], other.details)) {
-        this.details = (java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._AnyValue>) data().deepCopy(fields()[10].schema(), other.details);
+        this.details = (java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.AnyValueMsg>) data().deepCopy(fields()[10].schema(), other.details);
         fieldSetFlags()[10] = true;
       }
     }
@@ -318,7 +318,7 @@ public class _ResourceEvent extends org.apache.avro.specific.SpecificRecordBase
     }
     
     /** Sets the value of the 'id' field */
-    public gr.grnet.aquarium.message.avro.gen._ResourceEvent.Builder setId(java.lang.CharSequence value) {
+    public gr.grnet.aquarium.message.avro.gen.ResourceEventMsg.Builder setId(java.lang.CharSequence value) {
       validate(fields()[0], value);
       this.id = value;
       fieldSetFlags()[0] = true;
@@ -331,7 +331,7 @@ public class _ResourceEvent extends org.apache.avro.specific.SpecificRecordBase
     }
     
     /** Clears the value of the 'id' field */
-    public gr.grnet.aquarium.message.avro.gen._ResourceEvent.Builder clearId() {
+    public gr.grnet.aquarium.message.avro.gen.ResourceEventMsg.Builder clearId() {
       id = null;
       fieldSetFlags()[0] = false;
       return this;
@@ -343,7 +343,7 @@ public class _ResourceEvent extends org.apache.avro.specific.SpecificRecordBase
     }
     
     /** Sets the value of the 'idInStore' field */
-    public gr.grnet.aquarium.message.avro.gen._ResourceEvent.Builder setIdInStore(java.lang.CharSequence value) {
+    public gr.grnet.aquarium.message.avro.gen.ResourceEventMsg.Builder setIdInStore(java.lang.CharSequence value) {
       validate(fields()[1], value);
       this.idInStore = value;
       fieldSetFlags()[1] = true;
@@ -356,7 +356,7 @@ public class _ResourceEvent extends org.apache.avro.specific.SpecificRecordBase
     }
     
     /** Clears the value of the 'idInStore' field */
-    public gr.grnet.aquarium.message.avro.gen._ResourceEvent.Builder clearIdInStore() {
+    public gr.grnet.aquarium.message.avro.gen.ResourceEventMsg.Builder clearIdInStore() {
       idInStore = null;
       fieldSetFlags()[1] = false;
       return this;
@@ -368,7 +368,7 @@ public class _ResourceEvent extends org.apache.avro.specific.SpecificRecordBase
     }
     
     /** Sets the value of the 'occurredMillis' field */
-    public gr.grnet.aquarium.message.avro.gen._ResourceEvent.Builder setOccurredMillis(long value) {
+    public gr.grnet.aquarium.message.avro.gen.ResourceEventMsg.Builder setOccurredMillis(long value) {
       validate(fields()[2], value);
       this.occurredMillis = value;
       fieldSetFlags()[2] = true;
@@ -381,7 +381,7 @@ public class _ResourceEvent extends org.apache.avro.specific.SpecificRecordBase
     }
     
     /** Clears the value of the 'occurredMillis' field */
-    public gr.grnet.aquarium.message.avro.gen._ResourceEvent.Builder clearOccurredMillis() {
+    public gr.grnet.aquarium.message.avro.gen.ResourceEventMsg.Builder clearOccurredMillis() {
       fieldSetFlags()[2] = false;
       return this;
     }
@@ -392,7 +392,7 @@ public class _ResourceEvent extends org.apache.avro.specific.SpecificRecordBase
     }
     
     /** Sets the value of the 'receivedMillis' field */
-    public gr.grnet.aquarium.message.avro.gen._ResourceEvent.Builder setReceivedMillis(long value) {
+    public gr.grnet.aquarium.message.avro.gen.ResourceEventMsg.Builder setReceivedMillis(long value) {
       validate(fields()[3], value);
       this.receivedMillis = value;
       fieldSetFlags()[3] = true;
@@ -405,7 +405,7 @@ public class _ResourceEvent extends org.apache.avro.specific.SpecificRecordBase
     }
     
     /** Clears the value of the 'receivedMillis' field */
-    public gr.grnet.aquarium.message.avro.gen._ResourceEvent.Builder clearReceivedMillis() {
+    public gr.grnet.aquarium.message.avro.gen.ResourceEventMsg.Builder clearReceivedMillis() {
       fieldSetFlags()[3] = false;
       return this;
     }
@@ -416,7 +416,7 @@ public class _ResourceEvent extends org.apache.avro.specific.SpecificRecordBase
     }
     
     /** Sets the value of the 'userID' field */
-    public gr.grnet.aquarium.message.avro.gen._ResourceEvent.Builder setUserID(java.lang.CharSequence value) {
+    public gr.grnet.aquarium.message.avro.gen.ResourceEventMsg.Builder setUserID(java.lang.CharSequence value) {
       validate(fields()[4], value);
       this.userID = value;
       fieldSetFlags()[4] = true;
@@ -429,7 +429,7 @@ public class _ResourceEvent extends org.apache.avro.specific.SpecificRecordBase
     }
     
     /** Clears the value of the 'userID' field */
-    public gr.grnet.aquarium.message.avro.gen._ResourceEvent.Builder clearUserID() {
+    public gr.grnet.aquarium.message.avro.gen.ResourceEventMsg.Builder clearUserID() {
       userID = null;
       fieldSetFlags()[4] = false;
       return this;
@@ -441,7 +441,7 @@ public class _ResourceEvent extends org.apache.avro.specific.SpecificRecordBase
     }
     
     /** Sets the value of the 'clientID' field */
-    public gr.grnet.aquarium.message.avro.gen._ResourceEvent.Builder setClientID(java.lang.CharSequence value) {
+    public gr.grnet.aquarium.message.avro.gen.ResourceEventMsg.Builder setClientID(java.lang.CharSequence value) {
       validate(fields()[5], value);
       this.clientID = value;
       fieldSetFlags()[5] = true;
@@ -454,7 +454,7 @@ public class _ResourceEvent extends org.apache.avro.specific.SpecificRecordBase
     }
     
     /** Clears the value of the 'clientID' field */
-    public gr.grnet.aquarium.message.avro.gen._ResourceEvent.Builder clearClientID() {
+    public gr.grnet.aquarium.message.avro.gen.ResourceEventMsg.Builder clearClientID() {
       clientID = null;
       fieldSetFlags()[5] = false;
       return this;
@@ -466,7 +466,7 @@ public class _ResourceEvent extends org.apache.avro.specific.SpecificRecordBase
     }
     
     /** Sets the value of the 'eventVersion' field */
-    public gr.grnet.aquarium.message.avro.gen._ResourceEvent.Builder setEventVersion(java.lang.CharSequence value) {
+    public gr.grnet.aquarium.message.avro.gen.ResourceEventMsg.Builder setEventVersion(java.lang.CharSequence value) {
       validate(fields()[6], value);
       this.eventVersion = value;
       fieldSetFlags()[6] = true;
@@ -479,7 +479,7 @@ public class _ResourceEvent extends org.apache.avro.specific.SpecificRecordBase
     }
     
     /** Clears the value of the 'eventVersion' field */
-    public gr.grnet.aquarium.message.avro.gen._ResourceEvent.Builder clearEventVersion() {
+    public gr.grnet.aquarium.message.avro.gen.ResourceEventMsg.Builder clearEventVersion() {
       eventVersion = null;
       fieldSetFlags()[6] = false;
       return this;
@@ -491,7 +491,7 @@ public class _ResourceEvent extends org.apache.avro.specific.SpecificRecordBase
     }
     
     /** Sets the value of the 'resource' field */
-    public gr.grnet.aquarium.message.avro.gen._ResourceEvent.Builder setResource(java.lang.CharSequence value) {
+    public gr.grnet.aquarium.message.avro.gen.ResourceEventMsg.Builder setResource(java.lang.CharSequence value) {
       validate(fields()[7], value);
       this.resource = value;
       fieldSetFlags()[7] = true;
@@ -504,7 +504,7 @@ public class _ResourceEvent extends org.apache.avro.specific.SpecificRecordBase
     }
     
     /** Clears the value of the 'resource' field */
-    public gr.grnet.aquarium.message.avro.gen._ResourceEvent.Builder clearResource() {
+    public gr.grnet.aquarium.message.avro.gen.ResourceEventMsg.Builder clearResource() {
       resource = null;
       fieldSetFlags()[7] = false;
       return this;
@@ -516,7 +516,7 @@ public class _ResourceEvent extends org.apache.avro.specific.SpecificRecordBase
     }
     
     /** Sets the value of the 'instanceID' field */
-    public gr.grnet.aquarium.message.avro.gen._ResourceEvent.Builder setInstanceID(java.lang.CharSequence value) {
+    public gr.grnet.aquarium.message.avro.gen.ResourceEventMsg.Builder setInstanceID(java.lang.CharSequence value) {
       validate(fields()[8], value);
       this.instanceID = value;
       fieldSetFlags()[8] = true;
@@ -529,7 +529,7 @@ public class _ResourceEvent extends org.apache.avro.specific.SpecificRecordBase
     }
     
     /** Clears the value of the 'instanceID' field */
-    public gr.grnet.aquarium.message.avro.gen._ResourceEvent.Builder clearInstanceID() {
+    public gr.grnet.aquarium.message.avro.gen.ResourceEventMsg.Builder clearInstanceID() {
       instanceID = null;
       fieldSetFlags()[8] = false;
       return this;
@@ -541,7 +541,7 @@ public class _ResourceEvent extends org.apache.avro.specific.SpecificRecordBase
     }
     
     /** Sets the value of the 'value' field */
-    public gr.grnet.aquarium.message.avro.gen._ResourceEvent.Builder setValue(java.lang.CharSequence value) {
+    public gr.grnet.aquarium.message.avro.gen.ResourceEventMsg.Builder setValue(java.lang.CharSequence value) {
       validate(fields()[9], value);
       this.value = value;
       fieldSetFlags()[9] = true;
@@ -554,19 +554,19 @@ public class _ResourceEvent extends org.apache.avro.specific.SpecificRecordBase
     }
     
     /** Clears the value of the 'value' field */
-    public gr.grnet.aquarium.message.avro.gen._ResourceEvent.Builder clearValue() {
+    public gr.grnet.aquarium.message.avro.gen.ResourceEventMsg.Builder clearValue() {
       value = null;
       fieldSetFlags()[9] = false;
       return this;
     }
 
     /** Gets the value of the 'details' field */
-    public java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._AnyValue> getDetails() {
+    public java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.AnyValueMsg> getDetails() {
       return details;
     }
     
     /** Sets the value of the 'details' field */
-    public gr.grnet.aquarium.message.avro.gen._ResourceEvent.Builder setDetails(java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._AnyValue> value) {
+    public gr.grnet.aquarium.message.avro.gen.ResourceEventMsg.Builder setDetails(java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.AnyValueMsg> value) {
       validate(fields()[10], value);
       this.details = value;
       fieldSetFlags()[10] = true;
@@ -579,16 +579,16 @@ public class _ResourceEvent extends org.apache.avro.specific.SpecificRecordBase
     }
     
     /** Clears the value of the 'details' field */
-    public gr.grnet.aquarium.message.avro.gen._ResourceEvent.Builder clearDetails() {
+    public gr.grnet.aquarium.message.avro.gen.ResourceEventMsg.Builder clearDetails() {
       details = null;
       fieldSetFlags()[10] = false;
       return this;
     }
 
     @Override
-    public _ResourceEvent build() {
+    public ResourceEventMsg build() {
       try {
-        _ResourceEvent record = new _ResourceEvent();
+        ResourceEventMsg record = new ResourceEventMsg();
         record.id = fieldSetFlags()[0] ? this.id : (java.lang.CharSequence) defaultValue(fields()[0]);
         record.idInStore = fieldSetFlags()[1] ? this.idInStore : (java.lang.CharSequence) defaultValue(fields()[1]);
         record.occurredMillis = fieldSetFlags()[2] ? this.occurredMillis : (java.lang.Long) defaultValue(fields()[2]);
@@ -599,7 +599,7 @@ public class _ResourceEvent extends org.apache.avro.specific.SpecificRecordBase
         record.resource = fieldSetFlags()[7] ? this.resource : (java.lang.CharSequence) defaultValue(fields()[7]);
         record.instanceID = fieldSetFlags()[8] ? this.instanceID : (java.lang.CharSequence) defaultValue(fields()[8]);
         record.value = fieldSetFlags()[9] ? this.value : (java.lang.CharSequence) defaultValue(fields()[9]);
-        record.details = fieldSetFlags()[10] ? this.details : (java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._AnyValue>) defaultValue(fields()[10]);
+        record.details = fieldSetFlags()[10] ? this.details : (java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.AnyValueMsg>) defaultValue(fields()[10]);
         return record;
       } catch (Exception e) {
         throw new org.apache.avro.AvroRuntimeException(e);
@@ -5,8 +5,8 @@
  */
 package gr.grnet.aquarium.message.avro.gen;  
 @SuppressWarnings("all")
-public class _ResourceType extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
-  public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"_ResourceType\",\"namespace\":\"gr.grnet.aquarium.message.avro.gen\",\"fields\":[{\"name\":\"name\",\"type\":\"string\"},{\"name\":\"unit\",\"type\":\"string\"},{\"name\":\"chargingBehaviorClass\",\"type\":\"string\"}]}");
+public class ResourceTypeMsg extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
+  public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"ResourceTypeMsg\",\"namespace\":\"gr.grnet.aquarium.message.avro.gen\",\"fields\":[{\"name\":\"name\",\"type\":\"string\"},{\"name\":\"unit\",\"type\":\"string\"},{\"name\":\"chargingBehaviorClass\",\"type\":\"string\"}]}");
   @Deprecated public java.lang.CharSequence name;
   @Deprecated public java.lang.CharSequence unit;
   @Deprecated public java.lang.CharSequence chargingBehaviorClass;
@@ -76,26 +76,26 @@ public class _ResourceType extends org.apache.avro.specific.SpecificRecordBase i
     this.chargingBehaviorClass = value;
   }
 
-  /** Creates a new _ResourceType RecordBuilder */
-  public static gr.grnet.aquarium.message.avro.gen._ResourceType.Builder newBuilder() {
-    return new gr.grnet.aquarium.message.avro.gen._ResourceType.Builder();
+  /** Creates a new ResourceTypeMsg RecordBuilder */
+  public static gr.grnet.aquarium.message.avro.gen.ResourceTypeMsg.Builder newBuilder() {
+    return new gr.grnet.aquarium.message.avro.gen.ResourceTypeMsg.Builder();
   }
   
-  /** Creates a new _ResourceType RecordBuilder by copying an existing Builder */
-  public static gr.grnet.aquarium.message.avro.gen._ResourceType.Builder newBuilder(gr.grnet.aquarium.message.avro.gen._ResourceType.Builder other) {
-    return new gr.grnet.aquarium.message.avro.gen._ResourceType.Builder(other);
+  /** Creates a new ResourceTypeMsg RecordBuilder by copying an existing Builder */
+  public static gr.grnet.aquarium.message.avro.gen.ResourceTypeMsg.Builder newBuilder(gr.grnet.aquarium.message.avro.gen.ResourceTypeMsg.Builder other) {
+    return new gr.grnet.aquarium.message.avro.gen.ResourceTypeMsg.Builder(other);
   }
   
-  /** Creates a new _ResourceType RecordBuilder by copying an existing _ResourceType instance */
-  public static gr.grnet.aquarium.message.avro.gen._ResourceType.Builder newBuilder(gr.grnet.aquarium.message.avro.gen._ResourceType other) {
-    return new gr.grnet.aquarium.message.avro.gen._ResourceType.Builder(other);
+  /** Creates a new ResourceTypeMsg RecordBuilder by copying an existing ResourceTypeMsg instance */
+  public static gr.grnet.aquarium.message.avro.gen.ResourceTypeMsg.Builder newBuilder(gr.grnet.aquarium.message.avro.gen.ResourceTypeMsg other) {
+    return new gr.grnet.aquarium.message.avro.gen.ResourceTypeMsg.Builder(other);
   }
   
   /**
-   * RecordBuilder for _ResourceType instances.
+   * RecordBuilder for ResourceTypeMsg instances.
    */
-  public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase<_ResourceType>
-    implements org.apache.avro.data.RecordBuilder<_ResourceType> {
+  public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase<ResourceTypeMsg>
+    implements org.apache.avro.data.RecordBuilder<ResourceTypeMsg> {
 
     private java.lang.CharSequence name;
     private java.lang.CharSequence unit;
@@ -103,17 +103,17 @@ public class _ResourceType extends org.apache.avro.specific.SpecificRecordBase i
 
     /** Creates a new Builder */
     private Builder() {
-      super(gr.grnet.aquarium.message.avro.gen._ResourceType.SCHEMA$);
+      super(gr.grnet.aquarium.message.avro.gen.ResourceTypeMsg.SCHEMA$);
     }
     
     /** Creates a Builder by copying an existing Builder */
-    private Builder(gr.grnet.aquarium.message.avro.gen._ResourceType.Builder other) {
+    private Builder(gr.grnet.aquarium.message.avro.gen.ResourceTypeMsg.Builder other) {
       super(other);
     }
     
-    /** Creates a Builder by copying an existing _ResourceType instance */
-    private Builder(gr.grnet.aquarium.message.avro.gen._ResourceType other) {
-            super(gr.grnet.aquarium.message.avro.gen._ResourceType.SCHEMA$);
+    /** Creates a Builder by copying an existing ResourceTypeMsg instance */
+    private Builder(gr.grnet.aquarium.message.avro.gen.ResourceTypeMsg other) {
+            super(gr.grnet.aquarium.message.avro.gen.ResourceTypeMsg.SCHEMA$);
       if (isValidValue(fields()[0], other.name)) {
         this.name = (java.lang.CharSequence) data().deepCopy(fields()[0].schema(), other.name);
         fieldSetFlags()[0] = true;
@@ -134,7 +134,7 @@ public class _ResourceType extends org.apache.avro.specific.SpecificRecordBase i
     }
     
     /** Sets the value of the 'name' field */
-    public gr.grnet.aquarium.message.avro.gen._ResourceType.Builder setName(java.lang.CharSequence value) {
+    public gr.grnet.aquarium.message.avro.gen.ResourceTypeMsg.Builder setName(java.lang.CharSequence value) {
       validate(fields()[0], value);
       this.name = value;
       fieldSetFlags()[0] = true;
@@ -147,7 +147,7 @@ public class _ResourceType extends org.apache.avro.specific.SpecificRecordBase i
     }
     
     /** Clears the value of the 'name' field */
-    public gr.grnet.aquarium.message.avro.gen._ResourceType.Builder clearName() {
+    public gr.grnet.aquarium.message.avro.gen.ResourceTypeMsg.Builder clearName() {
       name = null;
       fieldSetFlags()[0] = false;
       return this;
@@ -159,7 +159,7 @@ public class _ResourceType extends org.apache.avro.specific.SpecificRecordBase i
     }
     
     /** Sets the value of the 'unit' field */
-    public gr.grnet.aquarium.message.avro.gen._ResourceType.Builder setUnit(java.lang.CharSequence value) {
+    public gr.grnet.aquarium.message.avro.gen.ResourceTypeMsg.Builder setUnit(java.lang.CharSequence value) {
       validate(fields()[1], value);
       this.unit = value;
       fieldSetFlags()[1] = true;
@@ -172,7 +172,7 @@ public class _ResourceType extends org.apache.avro.specific.SpecificRecordBase i
     }
     
     /** Clears the value of the 'unit' field */
-    public gr.grnet.aquarium.message.avro.gen._ResourceType.Builder clearUnit() {
+    public gr.grnet.aquarium.message.avro.gen.ResourceTypeMsg.Builder clearUnit() {
       unit = null;
       fieldSetFlags()[1] = false;
       return this;
@@ -184,7 +184,7 @@ public class _ResourceType extends org.apache.avro.specific.SpecificRecordBase i
     }
     
     /** Sets the value of the 'chargingBehaviorClass' field */
-    public gr.grnet.aquarium.message.avro.gen._ResourceType.Builder setChargingBehaviorClass(java.lang.CharSequence value) {
+    public gr.grnet.aquarium.message.avro.gen.ResourceTypeMsg.Builder setChargingBehaviorClass(java.lang.CharSequence value) {
       validate(fields()[2], value);
       this.chargingBehaviorClass = value;
       fieldSetFlags()[2] = true;
@@ -197,16 +197,16 @@ public class _ResourceType extends org.apache.avro.specific.SpecificRecordBase i
     }
     
     /** Clears the value of the 'chargingBehaviorClass' field */
-    public gr.grnet.aquarium.message.avro.gen._ResourceType.Builder clearChargingBehaviorClass() {
+    public gr.grnet.aquarium.message.avro.gen.ResourceTypeMsg.Builder clearChargingBehaviorClass() {
       chargingBehaviorClass = null;
       fieldSetFlags()[2] = false;
       return this;
     }
 
     @Override
-    public _ResourceType build() {
+    public ResourceTypeMsg build() {
       try {
-        _ResourceType record = new _ResourceType();
+        ResourceTypeMsg record = new ResourceTypeMsg();
         record.name = fieldSetFlags()[0] ? this.name : (java.lang.CharSequence) defaultValue(fields()[0]);
         record.unit = fieldSetFlags()[1] ? this.unit : (java.lang.CharSequence) defaultValue(fields()[1]);
         record.chargingBehaviorClass = fieldSetFlags()[2] ? this.chargingBehaviorClass : (java.lang.CharSequence) defaultValue(fields()[2]);
@@ -5,8 +5,8 @@
  */
 package gr.grnet.aquarium.message.avro.gen;  
 @SuppressWarnings("all")
-public class _SelectorValue extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
-  public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"_SelectorValue\",\"namespace\":\"gr.grnet.aquarium.message.avro.gen\",\"fields\":[{\"name\":\"selectorValue\",\"type\":[{\"type\":\"record\",\"name\":\"_EffectivePriceTable\",\"fields\":[{\"name\":\"priceOverrides\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"_EffectiveUnitPrice\",\"fields\":[{\"name\":\"unitPrice\",\"type\":\"double\"},{\"name\":\"when\",\"type\":[{\"type\":\"record\",\"name\":\"_CronSpecTuple\",\"fields\":[{\"name\":\"a\",\"type\":\"string\"},{\"name\":\"b\",\"type\":\"string\"}]},\"null\"]}]}}}]},{\"type\":\"map\",\"values\":\"_SelectorValue\"}]}]}");
+public class SelectorValueMsg extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
+  public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"SelectorValueMsg\",\"namespace\":\"gr.grnet.aquarium.message.avro.gen\",\"fields\":[{\"name\":\"selectorValue\",\"type\":[{\"type\":\"record\",\"name\":\"EffectivePriceTableMsg\",\"fields\":[{\"name\":\"priceOverrides\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"EffectiveUnitPriceMsg\",\"fields\":[{\"name\":\"unitPrice\",\"type\":\"double\"},{\"name\":\"when\",\"type\":[{\"type\":\"record\",\"name\":\"CronSpecTupleMsg\",\"fields\":[{\"name\":\"a\",\"type\":\"string\"},{\"name\":\"b\",\"type\":\"string\"}]},\"null\"]}]}}}]},{\"type\":\"map\",\"values\":\"SelectorValueMsg\"}]}]}");
   @Deprecated public java.lang.Object selectorValue;
   public org.apache.avro.Schema getSchema() { return SCHEMA$; }
   // Used by DatumWriter.  Applications should not call. 
@@ -40,42 +40,42 @@ public class _SelectorValue extends org.apache.avro.specific.SpecificRecordBase
     this.selectorValue = value;
   }
 
-  /** Creates a new _SelectorValue RecordBuilder */
-  public static gr.grnet.aquarium.message.avro.gen._SelectorValue.Builder newBuilder() {
-    return new gr.grnet.aquarium.message.avro.gen._SelectorValue.Builder();
+  /** Creates a new SelectorValueMsg RecordBuilder */
+  public static gr.grnet.aquarium.message.avro.gen.SelectorValueMsg.Builder newBuilder() {
+    return new gr.grnet.aquarium.message.avro.gen.SelectorValueMsg.Builder();
   }
   
-  /** Creates a new _SelectorValue RecordBuilder by copying an existing Builder */
-  public static gr.grnet.aquarium.message.avro.gen._SelectorValue.Builder newBuilder(gr.grnet.aquarium.message.avro.gen._SelectorValue.Builder other) {
-    return new gr.grnet.aquarium.message.avro.gen._SelectorValue.Builder(other);
+  /** Creates a new SelectorValueMsg RecordBuilder by copying an existing Builder */
+  public static gr.grnet.aquarium.message.avro.gen.SelectorValueMsg.Builder newBuilder(gr.grnet.aquarium.message.avro.gen.SelectorValueMsg.Builder other) {
+    return new gr.grnet.aquarium.message.avro.gen.SelectorValueMsg.Builder(other);
   }
   
-  /** Creates a new _SelectorValue RecordBuilder by copying an existing _SelectorValue instance */
-  public static gr.grnet.aquarium.message.avro.gen._SelectorValue.Builder newBuilder(gr.grnet.aquarium.message.avro.gen._SelectorValue other) {
-    return new gr.grnet.aquarium.message.avro.gen._SelectorValue.Builder(other);
+  /** Creates a new SelectorValueMsg RecordBuilder by copying an existing SelectorValueMsg instance */
+  public static gr.grnet.aquarium.message.avro.gen.SelectorValueMsg.Builder newBuilder(gr.grnet.aquarium.message.avro.gen.SelectorValueMsg other) {
+    return new gr.grnet.aquarium.message.avro.gen.SelectorValueMsg.Builder(other);
   }
   
   /**
-   * RecordBuilder for _SelectorValue instances.
+   * RecordBuilder for SelectorValueMsg instances.
    */
-  public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase<_SelectorValue>
-    implements org.apache.avro.data.RecordBuilder<_SelectorValue> {
+  public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase<SelectorValueMsg>
+    implements org.apache.avro.data.RecordBuilder<SelectorValueMsg> {
 
     private java.lang.Object selectorValue;
 
     /** Creates a new Builder */
     private Builder() {
-      super(gr.grnet.aquarium.message.avro.gen._SelectorValue.SCHEMA$);
+      super(gr.grnet.aquarium.message.avro.gen.SelectorValueMsg.SCHEMA$);
     }
     
     /** Creates a Builder by copying an existing Builder */
-    private Builder(gr.grnet.aquarium.message.avro.gen._SelectorValue.Builder other) {
+    private Builder(gr.grnet.aquarium.message.avro.gen.SelectorValueMsg.Builder other) {
       super(other);
     }
     
-    /** Creates a Builder by copying an existing _SelectorValue instance */
-    private Builder(gr.grnet.aquarium.message.avro.gen._SelectorValue other) {
-            super(gr.grnet.aquarium.message.avro.gen._SelectorValue.SCHEMA$);
+    /** Creates a Builder by copying an existing SelectorValueMsg instance */
+    private Builder(gr.grnet.aquarium.message.avro.gen.SelectorValueMsg other) {
+            super(gr.grnet.aquarium.message.avro.gen.SelectorValueMsg.SCHEMA$);
       if (isValidValue(fields()[0], other.selectorValue)) {
         this.selectorValue = (java.lang.Object) data().deepCopy(fields()[0].schema(), other.selectorValue);
         fieldSetFlags()[0] = true;
@@ -88,7 +88,7 @@ public class _SelectorValue extends org.apache.avro.specific.SpecificRecordBase
     }
     
     /** Sets the value of the 'selectorValue' field */
-    public gr.grnet.aquarium.message.avro.gen._SelectorValue.Builder setSelectorValue(java.lang.Object value) {
+    public gr.grnet.aquarium.message.avro.gen.SelectorValueMsg.Builder setSelectorValue(java.lang.Object value) {
       validate(fields()[0], value);
       this.selectorValue = value;
       fieldSetFlags()[0] = true;
@@ -101,16 +101,16 @@ public class _SelectorValue extends org.apache.avro.specific.SpecificRecordBase
     }
     
     /** Clears the value of the 'selectorValue' field */
-    public gr.grnet.aquarium.message.avro.gen._SelectorValue.Builder clearSelectorValue() {
+    public gr.grnet.aquarium.message.avro.gen.SelectorValueMsg.Builder clearSelectorValue() {
       selectorValue = null;
       fieldSetFlags()[0] = false;
       return this;
     }
 
     @Override
-    public _SelectorValue build() {
+    public SelectorValueMsg build() {
       try {
-        _SelectorValue record = new _SelectorValue();
+        SelectorValueMsg record = new SelectorValueMsg();
         record.selectorValue = fieldSetFlags()[0] ? this.selectorValue : (java.lang.Object) defaultValue(fields()[0]);
         return record;
       } catch (Exception e) {
@@ -5,14 +5,14 @@
  */
 package gr.grnet.aquarium.message.avro.gen;  
 @SuppressWarnings("all")
-public class _UserAgreement extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
-  public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"_UserAgreement\",\"namespace\":\"gr.grnet.aquarium.message.avro.gen\",\"fields\":[{\"name\":\"id\",\"type\":\"string\"},{\"name\":\"relatedIMEventID\",\"type\":[\"string\",\"null\"]},{\"name\":\"validFromMillis\",\"type\":\"long\"},{\"name\":\"validToMillis\",\"type\":\"long\"},{\"name\":\"role\",\"type\":\"string\"},{\"name\":\"fullPriceTableRef\",\"type\":[{\"type\":\"record\",\"name\":\"_FullPriceTable\",\"fields\":[{\"name\":\"perResource\",\"type\":{\"type\":\"map\",\"values\":{\"type\":\"map\",\"values\":{\"type\":\"record\",\"name\":\"_SelectorValue\",\"fields\":[{\"name\":\"selectorValue\",\"type\":[{\"type\":\"record\",\"name\":\"_EffectivePriceTable\",\"fields\":[{\"name\":\"priceOverrides\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"_EffectiveUnitPrice\",\"fields\":[{\"name\":\"unitPrice\",\"type\":\"double\"},{\"name\":\"when\",\"type\":[{\"type\":\"record\",\"name\":\"_CronSpecTuple\",\"fields\":[{\"name\":\"a\",\"type\":\"string\"},{\"name\":\"b\",\"type\":\"string\"}]},\"null\"]}]}}}]},{\"type\":\"map\",\"values\":\"_SelectorValue\"}]}]}}}}]},\"null\"]}]}");
+public class UserAgreementMsg extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
+  public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"UserAgreementMsg\",\"namespace\":\"gr.grnet.aquarium.message.avro.gen\",\"fields\":[{\"name\":\"id\",\"type\":\"string\"},{\"name\":\"relatedIMEventID\",\"type\":[\"string\",\"null\"]},{\"name\":\"validFromMillis\",\"type\":\"long\"},{\"name\":\"validToMillis\",\"type\":\"long\"},{\"name\":\"role\",\"type\":\"string\"},{\"name\":\"fullPriceTableRef\",\"type\":[{\"type\":\"record\",\"name\":\"FullPriceTableMsg\",\"fields\":[{\"name\":\"perResource\",\"type\":{\"type\":\"map\",\"values\":{\"type\":\"map\",\"values\":{\"type\":\"record\",\"name\":\"SelectorValueMsg\",\"fields\":[{\"name\":\"selectorValue\",\"type\":[{\"type\":\"record\",\"name\":\"EffectivePriceTableMsg\",\"fields\":[{\"name\":\"priceOverrides\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"EffectiveUnitPriceMsg\",\"fields\":[{\"name\":\"unitPrice\",\"type\":\"double\"},{\"name\":\"when\",\"type\":[{\"type\":\"record\",\"name\":\"CronSpecTupleMsg\",\"fields\":[{\"name\":\"a\",\"type\":\"string\"},{\"name\":\"b\",\"type\":\"string\"}]},\"null\"]}]}}}]},{\"type\":\"map\",\"values\":\"SelectorValueMsg\"}]}]}}}}]},\"null\"]}]}");
   @Deprecated public java.lang.CharSequence id;
   @Deprecated public java.lang.CharSequence relatedIMEventID;
   @Deprecated public long validFromMillis;
   @Deprecated public long validToMillis;
   @Deprecated public java.lang.CharSequence role;
-  @Deprecated public gr.grnet.aquarium.message.avro.gen._FullPriceTable fullPriceTableRef;
+  @Deprecated public gr.grnet.aquarium.message.avro.gen.FullPriceTableMsg fullPriceTableRef;
   public org.apache.avro.Schema getSchema() { return SCHEMA$; }
   // Used by DatumWriter.  Applications should not call. 
   public java.lang.Object get(int field$) {
@@ -35,7 +35,7 @@ public class _UserAgreement extends org.apache.avro.specific.SpecificRecordBase
     case 2: validFromMillis = (java.lang.Long)value$; break;
     case 3: validToMillis = (java.lang.Long)value$; break;
     case 4: role = (java.lang.CharSequence)value$; break;
-    case 5: fullPriceTableRef = (gr.grnet.aquarium.message.avro.gen._FullPriceTable)value$; break;
+    case 5: fullPriceTableRef = (gr.grnet.aquarium.message.avro.gen.FullPriceTableMsg)value$; break;
     default: throw new org.apache.avro.AvroRuntimeException("Bad index");
     }
   }
@@ -118,7 +118,7 @@ public class _UserAgreement extends org.apache.avro.specific.SpecificRecordBase
   /**
    * Gets the value of the 'fullPriceTableRef' field.
    */
-  public gr.grnet.aquarium.message.avro.gen._FullPriceTable getFullPriceTableRef() {
+  public gr.grnet.aquarium.message.avro.gen.FullPriceTableMsg getFullPriceTableRef() {
     return fullPriceTableRef;
   }
 
@@ -126,51 +126,51 @@ public class _UserAgreement extends org.apache.avro.specific.SpecificRecordBase
    * Sets the value of the 'fullPriceTableRef' field.
    * @param value the value to set.
    */
-  public void setFullPriceTableRef(gr.grnet.aquarium.message.avro.gen._FullPriceTable value) {
+  public void setFullPriceTableRef(gr.grnet.aquarium.message.avro.gen.FullPriceTableMsg value) {
     this.fullPriceTableRef = value;
   }
 
-  /** Creates a new _UserAgreement RecordBuilder */
-  public static gr.grnet.aquarium.message.avro.gen._UserAgreement.Builder newBuilder() {
-    return new gr.grnet.aquarium.message.avro.gen._UserAgreement.Builder();
+  /** Creates a new UserAgreementMsg RecordBuilder */
+  public static gr.grnet.aquarium.message.avro.gen.UserAgreementMsg.Builder newBuilder() {
+    return new gr.grnet.aquarium.message.avro.gen.UserAgreementMsg.Builder();
   }
   
-  /** Creates a new _UserAgreement RecordBuilder by copying an existing Builder */
-  public static gr.grnet.aquarium.message.avro.gen._UserAgreement.Builder newBuilder(gr.grnet.aquarium.message.avro.gen._UserAgreement.Builder other) {
-    return new gr.grnet.aquarium.message.avro.gen._UserAgreement.Builder(other);
+  /** Creates a new UserAgreementMsg RecordBuilder by copying an existing Builder */
+  public static gr.grnet.aquarium.message.avro.gen.UserAgreementMsg.Builder newBuilder(gr.grnet.aquarium.message.avro.gen.UserAgreementMsg.Builder other) {
+    return new gr.grnet.aquarium.message.avro.gen.UserAgreementMsg.Builder(other);
   }
   
-  /** Creates a new _UserAgreement RecordBuilder by copying an existing _UserAgreement instance */
-  public static gr.grnet.aquarium.message.avro.gen._UserAgreement.Builder newBuilder(gr.grnet.aquarium.message.avro.gen._UserAgreement other) {
-    return new gr.grnet.aquarium.message.avro.gen._UserAgreement.Builder(other);
+  /** Creates a new UserAgreementMsg RecordBuilder by copying an existing UserAgreementMsg instance */
+  public static gr.grnet.aquarium.message.avro.gen.UserAgreementMsg.Builder newBuilder(gr.grnet.aquarium.message.avro.gen.UserAgreementMsg other) {
+    return new gr.grnet.aquarium.message.avro.gen.UserAgreementMsg.Builder(other);
   }
   
   /**
-   * RecordBuilder for _UserAgreement instances.
+   * RecordBuilder for UserAgreementMsg instances.
    */
-  public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase<_UserAgreement>
-    implements org.apache.avro.data.RecordBuilder<_UserAgreement> {
+  public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase<UserAgreementMsg>
+    implements org.apache.avro.data.RecordBuilder<UserAgreementMsg> {
 
     private java.lang.CharSequence id;
     private java.lang.CharSequence relatedIMEventID;
     private long validFromMillis;
     private long validToMillis;
     private java.lang.CharSequence role;
-    private gr.grnet.aquarium.message.avro.gen._FullPriceTable fullPriceTableRef;
+    private gr.grnet.aquarium.message.avro.gen.FullPriceTableMsg fullPriceTableRef;
 
     /** Creates a new Builder */
     private Builder() {
-      super(gr.grnet.aquarium.message.avro.gen._UserAgreement.SCHEMA$);
+      super(gr.grnet.aquarium.message.avro.gen.UserAgreementMsg.SCHEMA$);
     }
     
     /** Creates a Builder by copying an existing Builder */
-    private Builder(gr.grnet.aquarium.message.avro.gen._UserAgreement.Builder other) {
+    private Builder(gr.grnet.aquarium.message.avro.gen.UserAgreementMsg.Builder other) {
       super(other);
     }
     
-    /** Creates a Builder by copying an existing _UserAgreement instance */
-    private Builder(gr.grnet.aquarium.message.avro.gen._UserAgreement other) {
-            super(gr.grnet.aquarium.message.avro.gen._UserAgreement.SCHEMA$);
+    /** Creates a Builder by copying an existing UserAgreementMsg instance */
+    private Builder(gr.grnet.aquarium.message.avro.gen.UserAgreementMsg other) {
+            super(gr.grnet.aquarium.message.avro.gen.UserAgreementMsg.SCHEMA$);
       if (isValidValue(fields()[0], other.id)) {
         this.id = (java.lang.CharSequence) data().deepCopy(fields()[0].schema(), other.id);
         fieldSetFlags()[0] = true;
@@ -192,7 +192,7 @@ public class _UserAgreement extends org.apache.avro.specific.SpecificRecordBase
         fieldSetFlags()[4] = true;
       }
       if (isValidValue(fields()[5], other.fullPriceTableRef)) {
-        this.fullPriceTableRef = (gr.grnet.aquarium.message.avro.gen._FullPriceTable) data().deepCopy(fields()[5].schema(), other.fullPriceTableRef);
+        this.fullPriceTableRef = (gr.grnet.aquarium.message.avro.gen.FullPriceTableMsg) data().deepCopy(fields()[5].schema(), other.fullPriceTableRef);
         fieldSetFlags()[5] = true;
       }
     }
@@ -203,7 +203,7 @@ public class _UserAgreement extends org.apache.avro.specific.SpecificRecordBase
     }
     
     /** Sets the value of the 'id' field */
-    public gr.grnet.aquarium.message.avro.gen._UserAgreement.Builder setId(java.lang.CharSequence value) {
+    public gr.grnet.aquarium.message.avro.gen.UserAgreementMsg.Builder setId(java.lang.CharSequence value) {
       validate(fields()[0], value);
       this.id = value;
       fieldSetFlags()[0] = true;
@@ -216,7 +216,7 @@ public class _UserAgreement extends org.apache.avro.specific.SpecificRecordBase
     }
     
     /** Clears the value of the 'id' field */
-    public gr.grnet.aquarium.message.avro.gen._UserAgreement.Builder clearId() {
+    public gr.grnet.aquarium.message.avro.gen.UserAgreementMsg.Builder clearId() {
       id = null;
       fieldSetFlags()[0] = false;
       return this;
@@ -228,7 +228,7 @@ public class _UserAgreement extends org.apache.avro.specific.SpecificRecordBase
     }
     
     /** Sets the value of the 'relatedIMEventID' field */
-    public gr.grnet.aquarium.message.avro.gen._UserAgreement.Builder setRelatedIMEventID(java.lang.CharSequence value) {
+    public gr.grnet.aquarium.message.avro.gen.UserAgreementMsg.Builder setRelatedIMEventID(java.lang.CharSequence value) {
       validate(fields()[1], value);
       this.relatedIMEventID = value;
       fieldSetFlags()[1] = true;
@@ -241,7 +241,7 @@ public class _UserAgreement extends org.apache.avro.specific.SpecificRecordBase
     }
     
     /** Clears the value of the 'relatedIMEventID' field */
-    public gr.grnet.aquarium.message.avro.gen._UserAgreement.Builder clearRelatedIMEventID() {
+    public gr.grnet.aquarium.message.avro.gen.UserAgreementMsg.Builder clearRelatedIMEventID() {
       relatedIMEventID = null;
       fieldSetFlags()[1] = false;
       return this;
@@ -253,7 +253,7 @@ public class _UserAgreement extends org.apache.avro.specific.SpecificRecordBase
     }
     
     /** Sets the value of the 'validFromMillis' field */
-    public gr.grnet.aquarium.message.avro.gen._UserAgreement.Builder setValidFromMillis(long value) {
+    public gr.grnet.aquarium.message.avro.gen.UserAgreementMsg.Builder setValidFromMillis(long value) {
       validate(fields()[2], value);
       this.validFromMillis = value;
       fieldSetFlags()[2] = true;
@@ -266,7 +266,7 @@ public class _UserAgreement extends org.apache.avro.specific.SpecificRecordBase
     }
     
     /** Clears the value of the 'validFromMillis' field */
-    public gr.grnet.aquarium.message.avro.gen._UserAgreement.Builder clearValidFromMillis() {
+    public gr.grnet.aquarium.message.avro.gen.UserAgreementMsg.Builder clearValidFromMillis() {
       fieldSetFlags()[2] = false;
       return this;
     }
@@ -277,7 +277,7 @@ public class _UserAgreement extends org.apache.avro.specific.SpecificRecordBase
     }
     
     /** Sets the value of the 'validToMillis' field */
-    public gr.grnet.aquarium.message.avro.gen._UserAgreement.Builder setValidToMillis(long value) {
+    public gr.grnet.aquarium.message.avro.gen.UserAgreementMsg.Builder setValidToMillis(long value) {
       validate(fields()[3], value);
       this.validToMillis = value;
       fieldSetFlags()[3] = true;
@@ -290,7 +290,7 @@ public class _UserAgreement extends org.apache.avro.specific.SpecificRecordBase
     }
     
     /** Clears the value of the 'validToMillis' field */
-    public gr.grnet.aquarium.message.avro.gen._UserAgreement.Builder clearValidToMillis() {
+    public gr.grnet.aquarium.message.avro.gen.UserAgreementMsg.Builder clearValidToMillis() {
       fieldSetFlags()[3] = false;
       return this;
     }
@@ -301,7 +301,7 @@ public class _UserAgreement extends org.apache.avro.specific.SpecificRecordBase
     }
     
     /** Sets the value of the 'role' field */
-    public gr.grnet.aquarium.message.avro.gen._UserAgreement.Builder setRole(java.lang.CharSequence value) {
+    public gr.grnet.aquarium.message.avro.gen.UserAgreementMsg.Builder setRole(java.lang.CharSequence value) {
       validate(fields()[4], value);
       this.role = value;
       fieldSetFlags()[4] = true;
@@ -314,19 +314,19 @@ public class _UserAgreement extends org.apache.avro.specific.SpecificRecordBase
     }
     
     /** Clears the value of the 'role' field */
-    public gr.grnet.aquarium.message.avro.gen._UserAgreement.Builder clearRole() {
+    public gr.grnet.aquarium.message.avro.gen.UserAgreementMsg.Builder clearRole() {
       role = null;
       fieldSetFlags()[4] = false;
       return this;
     }
 
     /** Gets the value of the 'fullPriceTableRef' field */
-    public gr.grnet.aquarium.message.avro.gen._FullPriceTable getFullPriceTableRef() {
+    public gr.grnet.aquarium.message.avro.gen.FullPriceTableMsg getFullPriceTableRef() {
       return fullPriceTableRef;
     }
     
     /** Sets the value of the 'fullPriceTableRef' field */
-    public gr.grnet.aquarium.message.avro.gen._UserAgreement.Builder setFullPriceTableRef(gr.grnet.aquarium.message.avro.gen._FullPriceTable value) {
+    public gr.grnet.aquarium.message.avro.gen.UserAgreementMsg.Builder setFullPriceTableRef(gr.grnet.aquarium.message.avro.gen.FullPriceTableMsg value) {
       validate(fields()[5], value);
       this.fullPriceTableRef = value;
       fieldSetFlags()[5] = true;
@@ -339,22 +339,22 @@ public class _UserAgreement extends org.apache.avro.specific.SpecificRecordBase
     }
     
     /** Clears the value of the 'fullPriceTableRef' field */
-    public gr.grnet.aquarium.message.avro.gen._UserAgreement.Builder clearFullPriceTableRef() {
+    public gr.grnet.aquarium.message.avro.gen.UserAgreementMsg.Builder clearFullPriceTableRef() {
       fullPriceTableRef = null;
       fieldSetFlags()[5] = false;
       return this;
     }
 
     @Override
-    public _UserAgreement build() {
+    public UserAgreementMsg build() {
       try {
-        _UserAgreement record = new _UserAgreement();
+        UserAgreementMsg record = new UserAgreementMsg();
         record.id = fieldSetFlags()[0] ? this.id : (java.lang.CharSequence) defaultValue(fields()[0]);
         record.relatedIMEventID = fieldSetFlags()[1] ? this.relatedIMEventID : (java.lang.CharSequence) defaultValue(fields()[1]);
         record.validFromMillis = fieldSetFlags()[2] ? this.validFromMillis : (java.lang.Long) defaultValue(fields()[2]);
         record.validToMillis = fieldSetFlags()[3] ? this.validToMillis : (java.lang.Long) defaultValue(fields()[3]);
         record.role = fieldSetFlags()[4] ? this.role : (java.lang.CharSequence) defaultValue(fields()[4]);
-        record.fullPriceTableRef = fieldSetFlags()[5] ? this.fullPriceTableRef : (gr.grnet.aquarium.message.avro.gen._FullPriceTable) defaultValue(fields()[5]);
+        record.fullPriceTableRef = fieldSetFlags()[5] ? this.fullPriceTableRef : (gr.grnet.aquarium.message.avro.gen.FullPriceTableMsg) defaultValue(fields()[5]);
         return record;
       } catch (Exception e) {
         throw new org.apache.avro.AvroRuntimeException(e);
@@ -5,8 +5,8 @@
  */
 package gr.grnet.aquarium.message.avro.gen;  
 @SuppressWarnings("all")
-public class _WalletEntry extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
-  public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"_WalletEntry\",\"namespace\":\"gr.grnet.aquarium.message.avro.gen\",\"fields\":[{\"name\":\"userID\",\"type\":\"string\"},{\"name\":\"sumOfCreditsToSubtract\",\"type\":\"double\"},{\"name\":\"oldTotalCredits\",\"type\":\"double\"},{\"name\":\"newTotalCredits\",\"type\":\"double\"},{\"name\":\"whenComputedMillis\",\"type\":\"long\"},{\"name\":\"referenceStartMillis\",\"type\":\"long\"},{\"name\":\"referenceStopMillis\",\"type\":\"long\"},{\"name\":\"billingYear\",\"type\":\"int\"},{\"name\":\"billingMonth\",\"type\":\"int\"},{\"name\":\"billingDay\",\"type\":\"int\"},{\"name\":\"chargeslots\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"_Chargeslot\",\"fields\":[{\"name\":\"startMillis\",\"type\":\"long\"},{\"name\":\"stopMillis\",\"type\":\"long\"},{\"name\":\"unitPrice\",\"type\":\"double\"},{\"name\":\"explanation\",\"type\":\"string\",\"default\":\"\"},{\"name\":\"creditsToSubtract\",\"type\":\"double\"}]}}},{\"name\":\"resourceEvents\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"_ResourceEvent\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"aliases\":[\"originalID\",\"ID\"]},{\"name\":\"idInStore\",\"type\":\"string\"},{\"name\":\"occurredMillis\",\"type\":\"long\"},{\"name\":\"receivedMillis\",\"type\":\"long\",\"default\":0},{\"name\":\"userID\",\"type\":\"string\"},{\"name\":\"clientID\",\"type\":\"string\"},{\"name\":\"eventVersion\",\"type\":\"string\",\"default\":\"1.0\"},{\"name\":\"resource\",\"type\":\"string\",\"aliases\":[\"resourceType\"]},{\"name\":\"instanceID\",\"type\":\"string\"},{\"name\":\"value\",\"type\":\"string\"},{\"name\":\"details\",\"type\":{\"type\":\"map\",\"values\":{\"type\":\"record\",\"name\":\"_AnyValue\",\"fields\":[{\"name\":\"anyValue\",\"type\":[\"null\",\"int\",\"long\",\"boolean\",\"double\",\"bytes\",\"string\"]}]}}}]}}},{\"name\":\"resourceType\",\"type\":{\"type\":\"record\",\"name\":\"_ResourceType\",\"fields\":[{\"name\":\"name\",\"type\":\"string\"},{\"name\":\"unit\",\"type\":\"string\"},{\"name\":\"chargingBehaviorClass\",\"type\":\"string\"}]}},{\"name\":\"isSynthetic\",\"type\":\"boolean\",\"default\":false}]}");
+public class WalletEntryMsg extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
+  public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"WalletEntryMsg\",\"namespace\":\"gr.grnet.aquarium.message.avro.gen\",\"fields\":[{\"name\":\"userID\",\"type\":\"string\"},{\"name\":\"sumOfCreditsToSubtract\",\"type\":\"double\"},{\"name\":\"oldTotalCredits\",\"type\":\"double\"},{\"name\":\"newTotalCredits\",\"type\":\"double\"},{\"name\":\"whenComputedMillis\",\"type\":\"long\"},{\"name\":\"referenceStartMillis\",\"type\":\"long\"},{\"name\":\"referenceStopMillis\",\"type\":\"long\"},{\"name\":\"billingYear\",\"type\":\"int\"},{\"name\":\"billingMonth\",\"type\":\"int\"},{\"name\":\"billingDay\",\"type\":\"int\"},{\"name\":\"chargeslots\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"ChargeslotMsg\",\"fields\":[{\"name\":\"startMillis\",\"type\":\"long\"},{\"name\":\"stopMillis\",\"type\":\"long\"},{\"name\":\"unitPrice\",\"type\":\"double\"},{\"name\":\"explanation\",\"type\":\"string\",\"default\":\"\"},{\"name\":\"creditsToSubtract\",\"type\":\"double\"}]}}},{\"name\":\"resourceEvents\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"ResourceEventMsg\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"aliases\":[\"originalID\",\"ID\"]},{\"name\":\"idInStore\",\"type\":\"string\"},{\"name\":\"occurredMillis\",\"type\":\"long\"},{\"name\":\"receivedMillis\",\"type\":\"long\",\"default\":0},{\"name\":\"userID\",\"type\":\"string\"},{\"name\":\"clientID\",\"type\":\"string\"},{\"name\":\"eventVersion\",\"type\":\"string\",\"default\":\"1.0\"},{\"name\":\"resource\",\"type\":\"string\",\"aliases\":[\"resourceType\"]},{\"name\":\"instanceID\",\"type\":\"string\"},{\"name\":\"value\",\"type\":\"string\"},{\"name\":\"details\",\"type\":{\"type\":\"map\",\"values\":{\"type\":\"record\",\"name\":\"AnyValueMsg\",\"fields\":[{\"name\":\"anyValue\",\"type\":[\"null\",\"int\",\"long\",\"boolean\",\"double\",\"bytes\",\"string\"]}]}}}]}}},{\"name\":\"resourceType\",\"type\":{\"type\":\"record\",\"name\":\"ResourceTypeMsg\",\"fields\":[{\"name\":\"name\",\"type\":\"string\"},{\"name\":\"unit\",\"type\":\"string\"},{\"name\":\"chargingBehaviorClass\",\"type\":\"string\"}]}},{\"name\":\"isSynthetic\",\"type\":\"boolean\",\"default\":false}]}");
   @Deprecated public java.lang.CharSequence userID;
   @Deprecated public double sumOfCreditsToSubtract;
   @Deprecated public double oldTotalCredits;
@@ -17,9 +17,9 @@ public class _WalletEntry extends org.apache.avro.specific.SpecificRecordBase im
   @Deprecated public int billingYear;
   @Deprecated public int billingMonth;
   @Deprecated public int billingDay;
-  @Deprecated public java.util.List<gr.grnet.aquarium.message.avro.gen._Chargeslot> chargeslots;
-  @Deprecated public java.util.List<gr.grnet.aquarium.message.avro.gen._ResourceEvent> resourceEvents;
-  @Deprecated public gr.grnet.aquarium.message.avro.gen._ResourceType resourceType;
+  @Deprecated public java.util.List<gr.grnet.aquarium.message.avro.gen.ChargeslotMsg> chargeslots;
+  @Deprecated public java.util.List<gr.grnet.aquarium.message.avro.gen.ResourceEventMsg> resourceEvents;
+  @Deprecated public gr.grnet.aquarium.message.avro.gen.ResourceTypeMsg resourceType;
   @Deprecated public boolean isSynthetic;
   public org.apache.avro.Schema getSchema() { return SCHEMA$; }
   // Used by DatumWriter.  Applications should not call. 
@@ -56,9 +56,9 @@ public class _WalletEntry extends org.apache.avro.specific.SpecificRecordBase im
     case 7: billingYear = (java.lang.Integer)value$; break;
     case 8: billingMonth = (java.lang.Integer)value$; break;
     case 9: billingDay = (java.lang.Integer)value$; break;
-    case 10: chargeslots = (java.util.List<gr.grnet.aquarium.message.avro.gen._Chargeslot>)value$; break;
-    case 11: resourceEvents = (java.util.List<gr.grnet.aquarium.message.avro.gen._ResourceEvent>)value$; break;
-    case 12: resourceType = (gr.grnet.aquarium.message.avro.gen._ResourceType)value$; break;
+    case 10: chargeslots = (java.util.List<gr.grnet.aquarium.message.avro.gen.ChargeslotMsg>)value$; break;
+    case 11: resourceEvents = (java.util.List<gr.grnet.aquarium.message.avro.gen.ResourceEventMsg>)value$; break;
+    case 12: resourceType = (gr.grnet.aquarium.message.avro.gen.ResourceTypeMsg)value$; break;
     case 13: isSynthetic = (java.lang.Boolean)value$; break;
     default: throw new org.apache.avro.AvroRuntimeException("Bad index");
     }
@@ -217,7 +217,7 @@ public class _WalletEntry extends org.apache.avro.specific.SpecificRecordBase im
   /**
    * Gets the value of the 'chargeslots' field.
    */
-  public java.util.List<gr.grnet.aquarium.message.avro.gen._Chargeslot> getChargeslots() {
+  public java.util.List<gr.grnet.aquarium.message.avro.gen.ChargeslotMsg> getChargeslots() {
     return chargeslots;
   }
 
@@ -225,14 +225,14 @@ public class _WalletEntry extends org.apache.avro.specific.SpecificRecordBase im
    * Sets the value of the 'chargeslots' field.
    * @param value the value to set.
    */
-  public void setChargeslots(java.util.List<gr.grnet.aquarium.message.avro.gen._Chargeslot> value) {
+  public void setChargeslots(java.util.List<gr.grnet.aquarium.message.avro.gen.ChargeslotMsg> value) {
     this.chargeslots = value;
   }
 
   /**
    * Gets the value of the 'resourceEvents' field.
    */
-  public java.util.List<gr.grnet.aquarium.message.avro.gen._ResourceEvent> getResourceEvents() {
+  public java.util.List<gr.grnet.aquarium.message.avro.gen.ResourceEventMsg> getResourceEvents() {
     return resourceEvents;
   }
 
@@ -240,14 +240,14 @@ public class _WalletEntry extends org.apache.avro.specific.SpecificRecordBase im
    * Sets the value of the 'resourceEvents' field.
    * @param value the value to set.
    */
-  public void setResourceEvents(java.util.List<gr.grnet.aquarium.message.avro.gen._ResourceEvent> value) {
+  public void setResourceEvents(java.util.List<gr.grnet.aquarium.message.avro.gen.ResourceEventMsg> value) {
     this.resourceEvents = value;
   }
 
   /**
    * Gets the value of the 'resourceType' field.
    */
-  public gr.grnet.aquarium.message.avro.gen._ResourceType getResourceType() {
+  public gr.grnet.aquarium.message.avro.gen.ResourceTypeMsg getResourceType() {
     return resourceType;
   }
 
@@ -255,7 +255,7 @@ public class _WalletEntry extends org.apache.avro.specific.SpecificRecordBase im
    * Sets the value of the 'resourceType' field.
    * @param value the value to set.
    */
-  public void setResourceType(gr.grnet.aquarium.message.avro.gen._ResourceType value) {
+  public void setResourceType(gr.grnet.aquarium.message.avro.gen.ResourceTypeMsg value) {
     this.resourceType = value;
   }
 
@@ -274,26 +274,26 @@ public class _WalletEntry extends org.apache.avro.specific.SpecificRecordBase im
     this.isSynthetic = value;
   }
 
-  /** Creates a new _WalletEntry RecordBuilder */
-  public static gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder newBuilder() {
-    return new gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder();
+  /** Creates a new WalletEntryMsg RecordBuilder */
+  public static gr.grnet.aquarium.message.avro.gen.WalletEntryMsg.Builder newBuilder() {
+    return new gr.grnet.aquarium.message.avro.gen.WalletEntryMsg.Builder();
   }
   
-  /** Creates a new _WalletEntry RecordBuilder by copying an existing Builder */
-  public static gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder newBuilder(gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder other) {
-    return new gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder(other);
+  /** Creates a new WalletEntryMsg RecordBuilder by copying an existing Builder */
+  public static gr.grnet.aquarium.message.avro.gen.WalletEntryMsg.Builder newBuilder(gr.grnet.aquarium.message.avro.gen.WalletEntryMsg.Builder other) {
+    return new gr.grnet.aquarium.message.avro.gen.WalletEntryMsg.Builder(other);
   }
   
-  /** Creates a new _WalletEntry RecordBuilder by copying an existing _WalletEntry instance */
-  public static gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder newBuilder(gr.grnet.aquarium.message.avro.gen._WalletEntry other) {
-    return new gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder(other);
+  /** Creates a new WalletEntryMsg RecordBuilder by copying an existing WalletEntryMsg instance */
+  public static gr.grnet.aquarium.message.avro.gen.WalletEntryMsg.Builder newBuilder(gr.grnet.aquarium.message.avro.gen.WalletEntryMsg other) {
+    return new gr.grnet.aquarium.message.avro.gen.WalletEntryMsg.Builder(other);
   }
   
   /**
-   * RecordBuilder for _WalletEntry instances.
+   * RecordBuilder for WalletEntryMsg instances.
    */
-  public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase<_WalletEntry>
-    implements org.apache.avro.data.RecordBuilder<_WalletEntry> {
+  public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase<WalletEntryMsg>
+    implements org.apache.avro.data.RecordBuilder<WalletEntryMsg> {
 
     private java.lang.CharSequence userID;
     private double sumOfCreditsToSubtract;
@@ -305,24 +305,24 @@ public class _WalletEntry extends org.apache.avro.specific.SpecificRecordBase im
     private int billingYear;
     private int billingMonth;
     private int billingDay;
-    private java.util.List<gr.grnet.aquarium.message.avro.gen._Chargeslot> chargeslots;
-    private java.util.List<gr.grnet.aquarium.message.avro.gen._ResourceEvent> resourceEvents;
-    private gr.grnet.aquarium.message.avro.gen._ResourceType resourceType;
+    private java.util.List<gr.grnet.aquarium.message.avro.gen.ChargeslotMsg> chargeslots;
+    private java.util.List<gr.grnet.aquarium.message.avro.gen.ResourceEventMsg> resourceEvents;
+    private gr.grnet.aquarium.message.avro.gen.ResourceTypeMsg resourceType;
     private boolean isSynthetic;
 
     /** Creates a new Builder */
     private Builder() {
-      super(gr.grnet.aquarium.message.avro.gen._WalletEntry.SCHEMA$);
+      super(gr.grnet.aquarium.message.avro.gen.WalletEntryMsg.SCHEMA$);
     }
     
     /** Creates a Builder by copying an existing Builder */
-    private Builder(gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder other) {
+    private Builder(gr.grnet.aquarium.message.avro.gen.WalletEntryMsg.Builder other) {
       super(other);
     }
     
-    /** Creates a Builder by copying an existing _WalletEntry instance */
-    private Builder(gr.grnet.aquarium.message.avro.gen._WalletEntry other) {
-            super(gr.grnet.aquarium.message.avro.gen._WalletEntry.SCHEMA$);
+    /** Creates a Builder by copying an existing WalletEntryMsg instance */
+    private Builder(gr.grnet.aquarium.message.avro.gen.WalletEntryMsg other) {
+            super(gr.grnet.aquarium.message.avro.gen.WalletEntryMsg.SCHEMA$);
       if (isValidValue(fields()[0], other.userID)) {
         this.userID = (java.lang.CharSequence) data().deepCopy(fields()[0].schema(), other.userID);
         fieldSetFlags()[0] = true;
@@ -364,15 +364,15 @@ public class _WalletEntry extends org.apache.avro.specific.SpecificRecordBase im
         fieldSetFlags()[9] = true;
       }
       if (isValidValue(fields()[10], other.chargeslots)) {
-        this.chargeslots = (java.util.List<gr.grnet.aquarium.message.avro.gen._Chargeslot>) data().deepCopy(fields()[10].schema(), other.chargeslots);
+        this.chargeslots = (java.util.List<gr.grnet.aquarium.message.avro.gen.ChargeslotMsg>) data().deepCopy(fields()[10].schema(), other.chargeslots);
         fieldSetFlags()[10] = true;
       }
       if (isValidValue(fields()[11], other.resourceEvents)) {
-        this.resourceEvents = (java.util.List<gr.grnet.aquarium.message.avro.gen._ResourceEvent>) data().deepCopy(fields()[11].schema(), other.resourceEvents);
+        this.resourceEvents = (java.util.List<gr.grnet.aquarium.message.avro.gen.ResourceEventMsg>) data().deepCopy(fields()[11].schema(), other.resourceEvents);
         fieldSetFlags()[11] = true;
       }
       if (isValidValue(fields()[12], other.resourceType)) {
-        this.resourceType = (gr.grnet.aquarium.message.avro.gen._ResourceType) data().deepCopy(fields()[12].schema(), other.resourceType);
+        this.resourceType = (gr.grnet.aquarium.message.avro.gen.ResourceTypeMsg) data().deepCopy(fields()[12].schema(), other.resourceType);
         fieldSetFlags()[12] = true;
       }
       if (isValidValue(fields()[13], other.isSynthetic)) {
@@ -387,7 +387,7 @@ public class _WalletEntry extends org.apache.avro.specific.SpecificRecordBase im
     }
     
     /** Sets the value of the 'userID' field */
-    public gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder setUserID(java.lang.CharSequence value) {
+    public gr.grnet.aquarium.message.avro.gen.WalletEntryMsg.Builder setUserID(java.lang.CharSequence value) {
       validate(fields()[0], value);
       this.userID = value;
       fieldSetFlags()[0] = true;
@@ -400,7 +400,7 @@ public class _WalletEntry extends org.apache.avro.specific.SpecificRecordBase im
     }
     
     /** Clears the value of the 'userID' field */
-    public gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder clearUserID() {
+    public gr.grnet.aquarium.message.avro.gen.WalletEntryMsg.Builder clearUserID() {
       userID = null;
       fieldSetFlags()[0] = false;
       return this;
@@ -412,7 +412,7 @@ public class _WalletEntry extends org.apache.avro.specific.SpecificRecordBase im
     }
     
     /** Sets the value of the 'sumOfCreditsToSubtract' field */
-    public gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder setSumOfCreditsToSubtract(double value) {
+    public gr.grnet.aquarium.message.avro.gen.WalletEntryMsg.Builder setSumOfCreditsToSubtract(double value) {
       validate(fields()[1], value);
       this.sumOfCreditsToSubtract = value;
       fieldSetFlags()[1] = true;
@@ -425,7 +425,7 @@ public class _WalletEntry extends org.apache.avro.specific.SpecificRecordBase im
     }
     
     /** Clears the value of the 'sumOfCreditsToSubtract' field */
-    public gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder clearSumOfCreditsToSubtract() {
+    public gr.grnet.aquarium.message.avro.gen.WalletEntryMsg.Builder clearSumOfCreditsToSubtract() {
       fieldSetFlags()[1] = false;
       return this;
     }
@@ -436,7 +436,7 @@ public class _WalletEntry extends org.apache.avro.specific.SpecificRecordBase im
     }
     
     /** Sets the value of the 'oldTotalCredits' field */
-    public gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder setOldTotalCredits(double value) {
+    public gr.grnet.aquarium.message.avro.gen.WalletEntryMsg.Builder setOldTotalCredits(double value) {
       validate(fields()[2], value);
       this.oldTotalCredits = value;
       fieldSetFlags()[2] = true;
@@ -449,7 +449,7 @@ public class _WalletEntry extends org.apache.avro.specific.SpecificRecordBase im
     }
     
     /** Clears the value of the 'oldTotalCredits' field */
-    public gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder clearOldTotalCredits() {
+    public gr.grnet.aquarium.message.avro.gen.WalletEntryMsg.Builder clearOldTotalCredits() {
       fieldSetFlags()[2] = false;
       return this;
     }
@@ -460,7 +460,7 @@ public class _WalletEntry extends org.apache.avro.specific.SpecificRecordBase im
     }
     
     /** Sets the value of the 'newTotalCredits' field */
-    public gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder setNewTotalCredits(double value) {
+    public gr.grnet.aquarium.message.avro.gen.WalletEntryMsg.Builder setNewTotalCredits(double value) {
       validate(fields()[3], value);
       this.newTotalCredits = value;
       fieldSetFlags()[3] = true;
@@ -473,7 +473,7 @@ public class _WalletEntry extends org.apache.avro.specific.SpecificRecordBase im
     }
     
     /** Clears the value of the 'newTotalCredits' field */
-    public gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder clearNewTotalCredits() {
+    public gr.grnet.aquarium.message.avro.gen.WalletEntryMsg.Builder clearNewTotalCredits() {
       fieldSetFlags()[3] = false;
       return this;
     }
@@ -484,7 +484,7 @@ public class _WalletEntry extends org.apache.avro.specific.SpecificRecordBase im
     }
     
     /** Sets the value of the 'whenComputedMillis' field */
-    public gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder setWhenComputedMillis(long value) {
+    public gr.grnet.aquarium.message.avro.gen.WalletEntryMsg.Builder setWhenComputedMillis(long value) {
       validate(fields()[4], value);
       this.whenComputedMillis = value;
       fieldSetFlags()[4] = true;
@@ -497,7 +497,7 @@ public class _WalletEntry extends org.apache.avro.specific.SpecificRecordBase im
     }
     
     /** Clears the value of the 'whenComputedMillis' field */
-    public gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder clearWhenComputedMillis() {
+    public gr.grnet.aquarium.message.avro.gen.WalletEntryMsg.Builder clearWhenComputedMillis() {
       fieldSetFlags()[4] = false;
       return this;
     }
@@ -508,7 +508,7 @@ public class _WalletEntry extends org.apache.avro.specific.SpecificRecordBase im
     }
     
     /** Sets the value of the 'referenceStartMillis' field */
-    public gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder setReferenceStartMillis(long value) {
+    public gr.grnet.aquarium.message.avro.gen.WalletEntryMsg.Builder setReferenceStartMillis(long value) {
       validate(fields()[5], value);
       this.referenceStartMillis = value;
       fieldSetFlags()[5] = true;
@@ -521,7 +521,7 @@ public class _WalletEntry extends org.apache.avro.specific.SpecificRecordBase im
     }
     
     /** Clears the value of the 'referenceStartMillis' field */
-    public gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder clearReferenceStartMillis() {
+    public gr.grnet.aquarium.message.avro.gen.WalletEntryMsg.Builder clearReferenceStartMillis() {
       fieldSetFlags()[5] = false;
       return this;
     }
@@ -532,7 +532,7 @@ public class _WalletEntry extends org.apache.avro.specific.SpecificRecordBase im
     }
     
     /** Sets the value of the 'referenceStopMillis' field */
-    public gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder setReferenceStopMillis(long value) {
+    public gr.grnet.aquarium.message.avro.gen.WalletEntryMsg.Builder setReferenceStopMillis(long value) {
       validate(fields()[6], value);
       this.referenceStopMillis = value;
       fieldSetFlags()[6] = true;
@@ -545,7 +545,7 @@ public class _WalletEntry extends org.apache.avro.specific.SpecificRecordBase im
     }
     
     /** Clears the value of the 'referenceStopMillis' field */
-    public gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder clearReferenceStopMillis() {
+    public gr.grnet.aquarium.message.avro.gen.WalletEntryMsg.Builder clearReferenceStopMillis() {
       fieldSetFlags()[6] = false;
       return this;
     }
@@ -556,7 +556,7 @@ public class _WalletEntry extends org.apache.avro.specific.SpecificRecordBase im
     }
     
     /** Sets the value of the 'billingYear' field */
-    public gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder setBillingYear(int value) {
+    public gr.grnet.aquarium.message.avro.gen.WalletEntryMsg.Builder setBillingYear(int value) {
       validate(fields()[7], value);
       this.billingYear = value;
       fieldSetFlags()[7] = true;
@@ -569,7 +569,7 @@ public class _WalletEntry extends org.apache.avro.specific.SpecificRecordBase im
     }
     
     /** Clears the value of the 'billingYear' field */
-    public gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder clearBillingYear() {
+    public gr.grnet.aquarium.message.avro.gen.WalletEntryMsg.Builder clearBillingYear() {
       fieldSetFlags()[7] = false;
       return this;
     }
@@ -580,7 +580,7 @@ public class _WalletEntry extends org.apache.avro.specific.SpecificRecordBase im
     }
     
     /** Sets the value of the 'billingMonth' field */
-    public gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder setBillingMonth(int value) {
+    public gr.grnet.aquarium.message.avro.gen.WalletEntryMsg.Builder setBillingMonth(int value) {
       validate(fields()[8], value);
       this.billingMonth = value;
       fieldSetFlags()[8] = true;
@@ -593,7 +593,7 @@ public class _WalletEntry extends org.apache.avro.specific.SpecificRecordBase im
     }
     
     /** Clears the value of the 'billingMonth' field */
-    public gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder clearBillingMonth() {
+    public gr.grnet.aquarium.message.avro.gen.WalletEntryMsg.Builder clearBillingMonth() {
       fieldSetFlags()[8] = false;
       return this;
     }
@@ -604,7 +604,7 @@ public class _WalletEntry extends org.apache.avro.specific.SpecificRecordBase im
     }
     
     /** Sets the value of the 'billingDay' field */
-    public gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder setBillingDay(int value) {
+    public gr.grnet.aquarium.message.avro.gen.WalletEntryMsg.Builder setBillingDay(int value) {
       validate(fields()[9], value);
       this.billingDay = value;
       fieldSetFlags()[9] = true;
@@ -617,18 +617,18 @@ public class _WalletEntry extends org.apache.avro.specific.SpecificRecordBase im
     }
     
     /** Clears the value of the 'billingDay' field */
-    public gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder clearBillingDay() {
+    public gr.grnet.aquarium.message.avro.gen.WalletEntryMsg.Builder clearBillingDay() {
       fieldSetFlags()[9] = false;
       return this;
     }
 
     /** Gets the value of the 'chargeslots' field */
-    public java.util.List<gr.grnet.aquarium.message.avro.gen._Chargeslot> getChargeslots() {
+    public java.util.List<gr.grnet.aquarium.message.avro.gen.ChargeslotMsg> getChargeslots() {
       return chargeslots;
     }
     
     /** Sets the value of the 'chargeslots' field */
-    public gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder setChargeslots(java.util.List<gr.grnet.aquarium.message.avro.gen._Chargeslot> value) {
+    public gr.grnet.aquarium.message.avro.gen.WalletEntryMsg.Builder setChargeslots(java.util.List<gr.grnet.aquarium.message.avro.gen.ChargeslotMsg> value) {
       validate(fields()[10], value);
       this.chargeslots = value;
       fieldSetFlags()[10] = true;
@@ -641,19 +641,19 @@ public class _WalletEntry extends org.apache.avro.specific.SpecificRecordBase im
     }
     
     /** Clears the value of the 'chargeslots' field */
-    public gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder clearChargeslots() {
+    public gr.grnet.aquarium.message.avro.gen.WalletEntryMsg.Builder clearChargeslots() {
       chargeslots = null;
       fieldSetFlags()[10] = false;
       return this;
     }
 
     /** Gets the value of the 'resourceEvents' field */
-    public java.util.List<gr.grnet.aquarium.message.avro.gen._ResourceEvent> getResourceEvents() {
+    public java.util.List<gr.grnet.aquarium.message.avro.gen.ResourceEventMsg> getResourceEvents() {
       return resourceEvents;
     }
     
     /** Sets the value of the 'resourceEvents' field */
-    public gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder setResourceEvents(java.util.List<gr.grnet.aquarium.message.avro.gen._ResourceEvent> value) {
+    public gr.grnet.aquarium.message.avro.gen.WalletEntryMsg.Builder setResourceEvents(java.util.List<gr.grnet.aquarium.message.avro.gen.ResourceEventMsg> value) {
       validate(fields()[11], value);
       this.resourceEvents = value;
       fieldSetFlags()[11] = true;
@@ -666,19 +666,19 @@ public class _WalletEntry extends org.apache.avro.specific.SpecificRecordBase im
     }
     
     /** Clears the value of the 'resourceEvents' field */
-    public gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder clearResourceEvents() {
+    public gr.grnet.aquarium.message.avro.gen.WalletEntryMsg.Builder clearResourceEvents() {
       resourceEvents = null;
       fieldSetFlags()[11] = false;
       return this;
     }
 
     /** Gets the value of the 'resourceType' field */
-    public gr.grnet.aquarium.message.avro.gen._ResourceType getResourceType() {
+    public gr.grnet.aquarium.message.avro.gen.ResourceTypeMsg getResourceType() {
       return resourceType;
     }
     
     /** Sets the value of the 'resourceType' field */
-    public gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder setResourceType(gr.grnet.aquarium.message.avro.gen._ResourceType value) {
+    public gr.grnet.aquarium.message.avro.gen.WalletEntryMsg.Builder setResourceType(gr.grnet.aquarium.message.avro.gen.ResourceTypeMsg value) {
       validate(fields()[12], value);
       this.resourceType = value;
       fieldSetFlags()[12] = true;
@@ -691,7 +691,7 @@ public class _WalletEntry extends org.apache.avro.specific.SpecificRecordBase im
     }
     
     /** Clears the value of the 'resourceType' field */
-    public gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder clearResourceType() {
+    public gr.grnet.aquarium.message.avro.gen.WalletEntryMsg.Builder clearResourceType() {
       resourceType = null;
       fieldSetFlags()[12] = false;
       return this;
@@ -703,7 +703,7 @@ public class _WalletEntry extends org.apache.avro.specific.SpecificRecordBase im
     }
     
     /** Sets the value of the 'isSynthetic' field */
-    public gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder setIsSynthetic(boolean value) {
+    public gr.grnet.aquarium.message.avro.gen.WalletEntryMsg.Builder setIsSynthetic(boolean value) {
       validate(fields()[13], value);
       this.isSynthetic = value;
       fieldSetFlags()[13] = true;
@@ -716,15 +716,15 @@ public class _WalletEntry extends org.apache.avro.specific.SpecificRecordBase im
     }
     
     /** Clears the value of the 'isSynthetic' field */
-    public gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder clearIsSynthetic() {
+    public gr.grnet.aquarium.message.avro.gen.WalletEntryMsg.Builder clearIsSynthetic() {
       fieldSetFlags()[13] = false;
       return this;
     }
 
     @Override
-    public _WalletEntry build() {
+    public WalletEntryMsg build() {
       try {
-        _WalletEntry record = new _WalletEntry();
+        WalletEntryMsg record = new WalletEntryMsg();
         record.userID = fieldSetFlags()[0] ? this.userID : (java.lang.CharSequence) defaultValue(fields()[0]);
         record.sumOfCreditsToSubtract = fieldSetFlags()[1] ? this.sumOfCreditsToSubtract : (java.lang.Double) defaultValue(fields()[1]);
         record.oldTotalCredits = fieldSetFlags()[2] ? this.oldTotalCredits : (java.lang.Double) defaultValue(fields()[2]);
@@ -735,9 +735,9 @@ public class _WalletEntry extends org.apache.avro.specific.SpecificRecordBase im
         record.billingYear = fieldSetFlags()[7] ? this.billingYear : (java.lang.Integer) defaultValue(fields()[7]);
         record.billingMonth = fieldSetFlags()[8] ? this.billingMonth : (java.lang.Integer) defaultValue(fields()[8]);
         record.billingDay = fieldSetFlags()[9] ? this.billingDay : (java.lang.Integer) defaultValue(fields()[9]);
-        record.chargeslots = fieldSetFlags()[10] ? this.chargeslots : (java.util.List<gr.grnet.aquarium.message.avro.gen._Chargeslot>) defaultValue(fields()[10]);
-        record.resourceEvents = fieldSetFlags()[11] ? this.resourceEvents : (java.util.List<gr.grnet.aquarium.message.avro.gen._ResourceEvent>) defaultValue(fields()[11]);
-        record.resourceType = fieldSetFlags()[12] ? this.resourceType : (gr.grnet.aquarium.message.avro.gen._ResourceType) defaultValue(fields()[12]);
+        record.chargeslots = fieldSetFlags()[10] ? this.chargeslots : (java.util.List<gr.grnet.aquarium.message.avro.gen.ChargeslotMsg>) defaultValue(fields()[10]);
+        record.resourceEvents = fieldSetFlags()[11] ? this.resourceEvents : (java.util.List<gr.grnet.aquarium.message.avro.gen.ResourceEventMsg>) defaultValue(fields()[11]);
+        record.resourceType = fieldSetFlags()[12] ? this.resourceType : (gr.grnet.aquarium.message.avro.gen.ResourceTypeMsg) defaultValue(fields()[12]);
         record.isSynthetic = fieldSetFlags()[13] ? this.isSynthetic : (java.lang.Boolean) defaultValue(fields()[13]);
         return record;
       } catch (Exception e) {
diff --git a/src/main/java/gr/grnet/aquarium/message/avro/gen/WorkingAgreementHistoryMsg.java b/src/main/java/gr/grnet/aquarium/message/avro/gen/WorkingAgreementHistoryMsg.java
new file mode 100644 (file)
index 0000000..fe8b724
--- /dev/null
@@ -0,0 +1,121 @@
+/**
+ * Autogenerated by Avro
+ * 
+ * DO NOT EDIT DIRECTLY
+ */
+package gr.grnet.aquarium.message.avro.gen;  
+@SuppressWarnings("all")
+public class WorkingAgreementHistoryMsg extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
+  public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"WorkingAgreementHistoryMsg\",\"namespace\":\"gr.grnet.aquarium.message.avro.gen\",\"fields\":[{\"name\":\"agreements\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"UserAgreementMsg\",\"fields\":[{\"name\":\"id\",\"type\":\"string\"},{\"name\":\"relatedIMEventID\",\"type\":[\"string\",\"null\"]},{\"name\":\"validFromMillis\",\"type\":\"long\"},{\"name\":\"validToMillis\",\"type\":\"long\"},{\"name\":\"role\",\"type\":\"string\"},{\"name\":\"fullPriceTableRef\",\"type\":[{\"type\":\"record\",\"name\":\"FullPriceTableMsg\",\"fields\":[{\"name\":\"perResource\",\"type\":{\"type\":\"map\",\"values\":{\"type\":\"map\",\"values\":{\"type\":\"record\",\"name\":\"SelectorValueMsg\",\"fields\":[{\"name\":\"selectorValue\",\"type\":[{\"type\":\"record\",\"name\":\"EffectivePriceTableMsg\",\"fields\":[{\"name\":\"priceOverrides\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"EffectiveUnitPriceMsg\",\"fields\":[{\"name\":\"unitPrice\",\"type\":\"double\"},{\"name\":\"when\",\"type\":[{\"type\":\"record\",\"name\":\"CronSpecTupleMsg\",\"fields\":[{\"name\":\"a\",\"type\":\"string\"},{\"name\":\"b\",\"type\":\"string\"}]},\"null\"]}]}}}]},{\"type\":\"map\",\"values\":\"SelectorValueMsg\"}]}]}}}}]},\"null\"]}]}}}]}");
+  @Deprecated public java.util.List<gr.grnet.aquarium.message.avro.gen.UserAgreementMsg> agreements;
+  public org.apache.avro.Schema getSchema() { return SCHEMA$; }
+  // Used by DatumWriter.  Applications should not call. 
+  public java.lang.Object get(int field$) {
+    switch (field$) {
+    case 0: return agreements;
+    default: throw new org.apache.avro.AvroRuntimeException("Bad index");
+    }
+  }
+  // Used by DatumReader.  Applications should not call. 
+  @SuppressWarnings(value="unchecked")
+  public void put(int field$, java.lang.Object value$) {
+    switch (field$) {
+    case 0: agreements = (java.util.List<gr.grnet.aquarium.message.avro.gen.UserAgreementMsg>)value$; break;
+    default: throw new org.apache.avro.AvroRuntimeException("Bad index");
+    }
+  }
+
+  /**
+   * Gets the value of the 'agreements' field.
+   */
+  public java.util.List<gr.grnet.aquarium.message.avro.gen.UserAgreementMsg> getAgreements() {
+    return agreements;
+  }
+
+  /**
+   * Sets the value of the 'agreements' field.
+   * @param value the value to set.
+   */
+  public void setAgreements(java.util.List<gr.grnet.aquarium.message.avro.gen.UserAgreementMsg> value) {
+    this.agreements = value;
+  }
+
+  /** Creates a new WorkingAgreementHistoryMsg RecordBuilder */
+  public static gr.grnet.aquarium.message.avro.gen.WorkingAgreementHistoryMsg.Builder newBuilder() {
+    return new gr.grnet.aquarium.message.avro.gen.WorkingAgreementHistoryMsg.Builder();
+  }
+  
+  /** Creates a new WorkingAgreementHistoryMsg RecordBuilder by copying an existing Builder */
+  public static gr.grnet.aquarium.message.avro.gen.WorkingAgreementHistoryMsg.Builder newBuilder(gr.grnet.aquarium.message.avro.gen.WorkingAgreementHistoryMsg.Builder other) {
+    return new gr.grnet.aquarium.message.avro.gen.WorkingAgreementHistoryMsg.Builder(other);
+  }
+  
+  /** Creates a new WorkingAgreementHistoryMsg RecordBuilder by copying an existing WorkingAgreementHistoryMsg instance */
+  public static gr.grnet.aquarium.message.avro.gen.WorkingAgreementHistoryMsg.Builder newBuilder(gr.grnet.aquarium.message.avro.gen.WorkingAgreementHistoryMsg other) {
+    return new gr.grnet.aquarium.message.avro.gen.WorkingAgreementHistoryMsg.Builder(other);
+  }
+  
+  /**
+   * RecordBuilder for WorkingAgreementHistoryMsg instances.
+   */
+  public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase<WorkingAgreementHistoryMsg>
+    implements org.apache.avro.data.RecordBuilder<WorkingAgreementHistoryMsg> {
+
+    private java.util.List<gr.grnet.aquarium.message.avro.gen.UserAgreementMsg> agreements;
+
+    /** Creates a new Builder */
+    private Builder() {
+      super(gr.grnet.aquarium.message.avro.gen.WorkingAgreementHistoryMsg.SCHEMA$);
+    }
+    
+    /** Creates a Builder by copying an existing Builder */
+    private Builder(gr.grnet.aquarium.message.avro.gen.WorkingAgreementHistoryMsg.Builder other) {
+      super(other);
+    }
+    
+    /** Creates a Builder by copying an existing WorkingAgreementHistoryMsg instance */
+    private Builder(gr.grnet.aquarium.message.avro.gen.WorkingAgreementHistoryMsg other) {
+            super(gr.grnet.aquarium.message.avro.gen.WorkingAgreementHistoryMsg.SCHEMA$);
+      if (isValidValue(fields()[0], other.agreements)) {
+        this.agreements = (java.util.List<gr.grnet.aquarium.message.avro.gen.UserAgreementMsg>) data().deepCopy(fields()[0].schema(), other.agreements);
+        fieldSetFlags()[0] = true;
+      }
+    }
+
+    /** Gets the value of the 'agreements' field */
+    public java.util.List<gr.grnet.aquarium.message.avro.gen.UserAgreementMsg> getAgreements() {
+      return agreements;
+    }
+    
+    /** Sets the value of the 'agreements' field */
+    public gr.grnet.aquarium.message.avro.gen.WorkingAgreementHistoryMsg.Builder setAgreements(java.util.List<gr.grnet.aquarium.message.avro.gen.UserAgreementMsg> value) {
+      validate(fields()[0], value);
+      this.agreements = value;
+      fieldSetFlags()[0] = true;
+      return this; 
+    }
+    
+    /** Checks whether the 'agreements' field has been set */
+    public boolean hasAgreements() {
+      return fieldSetFlags()[0];
+    }
+    
+    /** Clears the value of the 'agreements' field */
+    public gr.grnet.aquarium.message.avro.gen.WorkingAgreementHistoryMsg.Builder clearAgreements() {
+      agreements = null;
+      fieldSetFlags()[0] = false;
+      return this;
+    }
+
+    @Override
+    public WorkingAgreementHistoryMsg build() {
+      try {
+        WorkingAgreementHistoryMsg record = new WorkingAgreementHistoryMsg();
+        record.agreements = fieldSetFlags()[0] ? this.agreements : (java.util.List<gr.grnet.aquarium.message.avro.gen.UserAgreementMsg>) defaultValue(fields()[0]);
+        return record;
+      } catch (Exception e) {
+        throw new org.apache.avro.AvroRuntimeException(e);
+      }
+    }
+  }
+}
@@ -5,11 +5,11 @@
  */
 package gr.grnet.aquarium.message.avro.gen;  
 @SuppressWarnings("all")
-public class _WorkingResourceInstanceChargingState extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
-  public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"_WorkingResourceInstanceChargingState\",\"namespace\":\"gr.grnet.aquarium.message.avro.gen\",\"fields\":[{\"name\":\"details\",\"type\":{\"type\":\"map\",\"values\":{\"type\":\"record\",\"name\":\"_AnyValue\",\"fields\":[{\"name\":\"anyValue\",\"type\":[\"null\",\"int\",\"long\",\"boolean\",\"double\",\"bytes\",\"string\"]}]}}},{\"name\":\"previousEvents\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"_ResourceEvent\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"aliases\":[\"originalID\",\"ID\"]},{\"name\":\"idInStore\",\"type\":\"string\"},{\"name\":\"occurredMillis\",\"type\":\"long\"},{\"name\":\"receivedMillis\",\"type\":\"long\",\"default\":0},{\"name\":\"userID\",\"type\":\"string\"},{\"name\":\"clientID\",\"type\":\"string\"},{\"name\":\"eventVersion\",\"type\":\"string\",\"default\":\"1.0\"},{\"name\":\"resource\",\"type\":\"string\",\"aliases\":[\"resourceType\"]},{\"name\":\"instanceID\",\"type\":\"string\"},{\"name\":\"value\",\"type\":\"string\"},{\"name\":\"details\",\"type\":{\"type\":\"map\",\"values\":\"_AnyValue\"}}]}}},{\"name\":\"implicitlyIssuedStartEvents\",\"type\":{\"type\":\"array\",\"items\":\"_ResourceEvent\"}},{\"name\":\"accumulatingAmount\",\"type\":\"double\"},{\"name\":\"oldAccumulatingAmount\",\"type\":\"double\"},{\"name\":\"previousValue\",\"type\":\"double\"},{\"name\":\"currentValue\",\"type\":\"double\"}]}");
-  @Deprecated public java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._AnyValue> details;
-  @Deprecated public java.util.List<gr.grnet.aquarium.message.avro.gen._ResourceEvent> previousEvents;
-  @Deprecated public java.util.List<gr.grnet.aquarium.message.avro.gen._ResourceEvent> implicitlyIssuedStartEvents;
+public class WorkingResourceInstanceChargingStateMsg extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
+  public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"WorkingResourceInstanceChargingStateMsg\",\"namespace\":\"gr.grnet.aquarium.message.avro.gen\",\"fields\":[{\"name\":\"details\",\"type\":{\"type\":\"map\",\"values\":{\"type\":\"record\",\"name\":\"AnyValueMsg\",\"fields\":[{\"name\":\"anyValue\",\"type\":[\"null\",\"int\",\"long\",\"boolean\",\"double\",\"bytes\",\"string\"]}]}}},{\"name\":\"previousEvents\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"ResourceEventMsg\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"aliases\":[\"originalID\",\"ID\"]},{\"name\":\"idInStore\",\"type\":\"string\"},{\"name\":\"occurredMillis\",\"type\":\"long\"},{\"name\":\"receivedMillis\",\"type\":\"long\",\"default\":0},{\"name\":\"userID\",\"type\":\"string\"},{\"name\":\"clientID\",\"type\":\"string\"},{\"name\":\"eventVersion\",\"type\":\"string\",\"default\":\"1.0\"},{\"name\":\"resource\",\"type\":\"string\",\"aliases\":[\"resourceType\"]},{\"name\":\"instanceID\",\"type\":\"string\"},{\"name\":\"value\",\"type\":\"string\"},{\"name\":\"details\",\"type\":{\"type\":\"map\",\"values\":\"AnyValueMsg\"}}]}}},{\"name\":\"implicitlyIssuedStartEvents\",\"type\":{\"type\":\"array\",\"items\":\"ResourceEventMsg\"}},{\"name\":\"accumulatingAmount\",\"type\":\"double\"},{\"name\":\"oldAccumulatingAmount\",\"type\":\"double\"},{\"name\":\"previousValue\",\"type\":\"double\"},{\"name\":\"currentValue\",\"type\":\"double\"}]}");
+  @Deprecated public java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.AnyValueMsg> details;
+  @Deprecated public java.util.List<gr.grnet.aquarium.message.avro.gen.ResourceEventMsg> previousEvents;
+  @Deprecated public java.util.List<gr.grnet.aquarium.message.avro.gen.ResourceEventMsg> implicitlyIssuedStartEvents;
   @Deprecated public double accumulatingAmount;
   @Deprecated public double oldAccumulatingAmount;
   @Deprecated public double previousValue;
@@ -32,9 +32,9 @@ public class _WorkingResourceInstanceChargingState extends org.apache.avro.speci
   @SuppressWarnings(value="unchecked")
   public void put(int field$, java.lang.Object value$) {
     switch (field$) {
-    case 0: details = (java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._AnyValue>)value$; break;
-    case 1: previousEvents = (java.util.List<gr.grnet.aquarium.message.avro.gen._ResourceEvent>)value$; break;
-    case 2: implicitlyIssuedStartEvents = (java.util.List<gr.grnet.aquarium.message.avro.gen._ResourceEvent>)value$; break;
+    case 0: details = (java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.AnyValueMsg>)value$; break;
+    case 1: previousEvents = (java.util.List<gr.grnet.aquarium.message.avro.gen.ResourceEventMsg>)value$; break;
+    case 2: implicitlyIssuedStartEvents = (java.util.List<gr.grnet.aquarium.message.avro.gen.ResourceEventMsg>)value$; break;
     case 3: accumulatingAmount = (java.lang.Double)value$; break;
     case 4: oldAccumulatingAmount = (java.lang.Double)value$; break;
     case 5: previousValue = (java.lang.Double)value$; break;
@@ -46,7 +46,7 @@ public class _WorkingResourceInstanceChargingState extends org.apache.avro.speci
   /**
    * Gets the value of the 'details' field.
    */
-  public java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._AnyValue> getDetails() {
+  public java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.AnyValueMsg> getDetails() {
     return details;
   }
 
@@ -54,14 +54,14 @@ public class _WorkingResourceInstanceChargingState extends org.apache.avro.speci
    * Sets the value of the 'details' field.
    * @param value the value to set.
    */
-  public void setDetails(java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._AnyValue> value) {
+  public void setDetails(java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.AnyValueMsg> value) {
     this.details = value;
   }
 
   /**
    * Gets the value of the 'previousEvents' field.
    */
-  public java.util.List<gr.grnet.aquarium.message.avro.gen._ResourceEvent> getPreviousEvents() {
+  public java.util.List<gr.grnet.aquarium.message.avro.gen.ResourceEventMsg> getPreviousEvents() {
     return previousEvents;
   }
 
@@ -69,14 +69,14 @@ public class _WorkingResourceInstanceChargingState extends org.apache.avro.speci
    * Sets the value of the 'previousEvents' field.
    * @param value the value to set.
    */
-  public void setPreviousEvents(java.util.List<gr.grnet.aquarium.message.avro.gen._ResourceEvent> value) {
+  public void setPreviousEvents(java.util.List<gr.grnet.aquarium.message.avro.gen.ResourceEventMsg> value) {
     this.previousEvents = value;
   }
 
   /**
    * Gets the value of the 'implicitlyIssuedStartEvents' field.
    */
-  public java.util.List<gr.grnet.aquarium.message.avro.gen._ResourceEvent> getImplicitlyIssuedStartEvents() {
+  public java.util.List<gr.grnet.aquarium.message.avro.gen.ResourceEventMsg> getImplicitlyIssuedStartEvents() {
     return implicitlyIssuedStartEvents;
   }
 
@@ -84,7 +84,7 @@ public class _WorkingResourceInstanceChargingState extends org.apache.avro.speci
    * Sets the value of the 'implicitlyIssuedStartEvents' field.
    * @param value the value to set.
    */
-  public void setImplicitlyIssuedStartEvents(java.util.List<gr.grnet.aquarium.message.avro.gen._ResourceEvent> value) {
+  public void setImplicitlyIssuedStartEvents(java.util.List<gr.grnet.aquarium.message.avro.gen.ResourceEventMsg> value) {
     this.implicitlyIssuedStartEvents = value;
   }
 
@@ -148,30 +148,30 @@ public class _WorkingResourceInstanceChargingState extends org.apache.avro.speci
     this.currentValue = value;
   }
 
-  /** Creates a new _WorkingResourceInstanceChargingState RecordBuilder */
-  public static gr.grnet.aquarium.message.avro.gen._WorkingResourceInstanceChargingState.Builder newBuilder() {
-    return new gr.grnet.aquarium.message.avro.gen._WorkingResourceInstanceChargingState.Builder();
+  /** Creates a new WorkingResourceInstanceChargingStateMsg RecordBuilder */
+  public static gr.grnet.aquarium.message.avro.gen.WorkingResourceInstanceChargingStateMsg.Builder newBuilder() {
+    return new gr.grnet.aquarium.message.avro.gen.WorkingResourceInstanceChargingStateMsg.Builder();
   }
   
-  /** Creates a new _WorkingResourceInstanceChargingState RecordBuilder by copying an existing Builder */
-  public static gr.grnet.aquarium.message.avro.gen._WorkingResourceInstanceChargingState.Builder newBuilder(gr.grnet.aquarium.message.avro.gen._WorkingResourceInstanceChargingState.Builder other) {
-    return new gr.grnet.aquarium.message.avro.gen._WorkingResourceInstanceChargingState.Builder(other);
+  /** Creates a new WorkingResourceInstanceChargingStateMsg RecordBuilder by copying an existing Builder */
+  public static gr.grnet.aquarium.message.avro.gen.WorkingResourceInstanceChargingStateMsg.Builder newBuilder(gr.grnet.aquarium.message.avro.gen.WorkingResourceInstanceChargingStateMsg.Builder other) {
+    return new gr.grnet.aquarium.message.avro.gen.WorkingResourceInstanceChargingStateMsg.Builder(other);
   }
   
-  /** Creates a new _WorkingResourceInstanceChargingState RecordBuilder by copying an existing _WorkingResourceInstanceChargingState instance */
-  public static gr.grnet.aquarium.message.avro.gen._WorkingResourceInstanceChargingState.Builder newBuilder(gr.grnet.aquarium.message.avro.gen._WorkingResourceInstanceChargingState other) {
-    return new gr.grnet.aquarium.message.avro.gen._WorkingResourceInstanceChargingState.Builder(other);
+  /** Creates a new WorkingResourceInstanceChargingStateMsg RecordBuilder by copying an existing WorkingResourceInstanceChargingStateMsg instance */
+  public static gr.grnet.aquarium.message.avro.gen.WorkingResourceInstanceChargingStateMsg.Builder newBuilder(gr.grnet.aquarium.message.avro.gen.WorkingResourceInstanceChargingStateMsg other) {
+    return new gr.grnet.aquarium.message.avro.gen.WorkingResourceInstanceChargingStateMsg.Builder(other);
   }
   
   /**
-   * RecordBuilder for _WorkingResourceInstanceChargingState instances.
+   * RecordBuilder for WorkingResourceInstanceChargingStateMsg instances.
    */
-  public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase<_WorkingResourceInstanceChargingState>
-    implements org.apache.avro.data.RecordBuilder<_WorkingResourceInstanceChargingState> {
+  public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase<WorkingResourceInstanceChargingStateMsg>
+    implements org.apache.avro.data.RecordBuilder<WorkingResourceInstanceChargingStateMsg> {
 
-    private java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._AnyValue> details;
-    private java.util.List<gr.grnet.aquarium.message.avro.gen._ResourceEvent> previousEvents;
-    private java.util.List<gr.grnet.aquarium.message.avro.gen._ResourceEvent> implicitlyIssuedStartEvents;
+    private java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.AnyValueMsg> details;
+    private java.util.List<gr.grnet.aquarium.message.avro.gen.ResourceEventMsg> previousEvents;
+    private java.util.List<gr.grnet.aquarium.message.avro.gen.ResourceEventMsg> implicitlyIssuedStartEvents;
     private double accumulatingAmount;
     private double oldAccumulatingAmount;
     private double previousValue;
@@ -179,27 +179,27 @@ public class _WorkingResourceInstanceChargingState extends org.apache.avro.speci
 
     /** Creates a new Builder */
     private Builder() {
-      super(gr.grnet.aquarium.message.avro.gen._WorkingResourceInstanceChargingState.SCHEMA$);
+      super(gr.grnet.aquarium.message.avro.gen.WorkingResourceInstanceChargingStateMsg.SCHEMA$);
     }
     
     /** Creates a Builder by copying an existing Builder */
-    private Builder(gr.grnet.aquarium.message.avro.gen._WorkingResourceInstanceChargingState.Builder other) {
+    private Builder(gr.grnet.aquarium.message.avro.gen.WorkingResourceInstanceChargingStateMsg.Builder other) {
       super(other);
     }
     
-    /** Creates a Builder by copying an existing _WorkingResourceInstanceChargingState instance */
-    private Builder(gr.grnet.aquarium.message.avro.gen._WorkingResourceInstanceChargingState other) {
-            super(gr.grnet.aquarium.message.avro.gen._WorkingResourceInstanceChargingState.SCHEMA$);
+    /** Creates a Builder by copying an existing WorkingResourceInstanceChargingStateMsg instance */
+    private Builder(gr.grnet.aquarium.message.avro.gen.WorkingResourceInstanceChargingStateMsg other) {
+            super(gr.grnet.aquarium.message.avro.gen.WorkingResourceInstanceChargingStateMsg.SCHEMA$);
       if (isValidValue(fields()[0], other.details)) {
-        this.details = (java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._AnyValue>) data().deepCopy(fields()[0].schema(), other.details);
+        this.details = (java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.AnyValueMsg>) data().deepCopy(fields()[0].schema(), other.details);
         fieldSetFlags()[0] = true;
       }
       if (isValidValue(fields()[1], other.previousEvents)) {
-        this.previousEvents = (java.util.List<gr.grnet.aquarium.message.avro.gen._ResourceEvent>) data().deepCopy(fields()[1].schema(), other.previousEvents);
+        this.previousEvents = (java.util.List<gr.grnet.aquarium.message.avro.gen.ResourceEventMsg>) data().deepCopy(fields()[1].schema(), other.previousEvents);
         fieldSetFlags()[1] = true;
       }
       if (isValidValue(fields()[2], other.implicitlyIssuedStartEvents)) {
-        this.implicitlyIssuedStartEvents = (java.util.List<gr.grnet.aquarium.message.avro.gen._ResourceEvent>) data().deepCopy(fields()[2].schema(), other.implicitlyIssuedStartEvents);
+        this.implicitlyIssuedStartEvents = (java.util.List<gr.grnet.aquarium.message.avro.gen.ResourceEventMsg>) data().deepCopy(fields()[2].schema(), other.implicitlyIssuedStartEvents);
         fieldSetFlags()[2] = true;
       }
       if (isValidValue(fields()[3], other.accumulatingAmount)) {
@@ -221,12 +221,12 @@ public class _WorkingResourceInstanceChargingState extends org.apache.avro.speci
     }
 
     /** Gets the value of the 'details' field */
-    public java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._AnyValue> getDetails() {
+    public java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.AnyValueMsg> getDetails() {
       return details;
     }
     
     /** Sets the value of the 'details' field */
-    public gr.grnet.aquarium.message.avro.gen._WorkingResourceInstanceChargingState.Builder setDetails(java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._AnyValue> value) {
+    public gr.grnet.aquarium.message.avro.gen.WorkingResourceInstanceChargingStateMsg.Builder setDetails(java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.AnyValueMsg> value) {
       validate(fields()[0], value);
       this.details = value;
       fieldSetFlags()[0] = true;
@@ -239,19 +239,19 @@ public class _WorkingResourceInstanceChargingState extends org.apache.avro.speci
     }
     
     /** Clears the value of the 'details' field */
-    public gr.grnet.aquarium.message.avro.gen._WorkingResourceInstanceChargingState.Builder clearDetails() {
+    public gr.grnet.aquarium.message.avro.gen.WorkingResourceInstanceChargingStateMsg.Builder clearDetails() {
       details = null;
       fieldSetFlags()[0] = false;
       return this;
     }
 
     /** Gets the value of the 'previousEvents' field */
-    public java.util.List<gr.grnet.aquarium.message.avro.gen._ResourceEvent> getPreviousEvents() {
+    public java.util.List<gr.grnet.aquarium.message.avro.gen.ResourceEventMsg> getPreviousEvents() {
       return previousEvents;
     }
     
     /** Sets the value of the 'previousEvents' field */
-    public gr.grnet.aquarium.message.avro.gen._WorkingResourceInstanceChargingState.Builder setPreviousEvents(java.util.List<gr.grnet.aquarium.message.avro.gen._ResourceEvent> value) {
+    public gr.grnet.aquarium.message.avro.gen.WorkingResourceInstanceChargingStateMsg.Builder setPreviousEvents(java.util.List<gr.grnet.aquarium.message.avro.gen.ResourceEventMsg> value) {
       validate(fields()[1], value);
       this.previousEvents = value;
       fieldSetFlags()[1] = true;
@@ -264,19 +264,19 @@ public class _WorkingResourceInstanceChargingState extends org.apache.avro.speci
     }
     
     /** Clears the value of the 'previousEvents' field */
-    public gr.grnet.aquarium.message.avro.gen._WorkingResourceInstanceChargingState.Builder clearPreviousEvents() {
+    public gr.grnet.aquarium.message.avro.gen.WorkingResourceInstanceChargingStateMsg.Builder clearPreviousEvents() {
       previousEvents = null;
       fieldSetFlags()[1] = false;
       return this;
     }
 
     /** Gets the value of the 'implicitlyIssuedStartEvents' field */
-    public java.util.List<gr.grnet.aquarium.message.avro.gen._ResourceEvent> getImplicitlyIssuedStartEvents() {
+    public java.util.List<gr.grnet.aquarium.message.avro.gen.ResourceEventMsg> getImplicitlyIssuedStartEvents() {
       return implicitlyIssuedStartEvents;
     }
     
     /** Sets the value of the 'implicitlyIssuedStartEvents' field */
-    public gr.grnet.aquarium.message.avro.gen._WorkingResourceInstanceChargingState.Builder setImplicitlyIssuedStartEvents(java.util.List<gr.grnet.aquarium.message.avro.gen._ResourceEvent> value) {
+    public gr.grnet.aquarium.message.avro.gen.WorkingResourceInstanceChargingStateMsg.Builder setImplicitlyIssuedStartEvents(java.util.List<gr.grnet.aquarium.message.avro.gen.ResourceEventMsg> value) {
       validate(fields()[2], value);
       this.implicitlyIssuedStartEvents = value;
       fieldSetFlags()[2] = true;
@@ -289,7 +289,7 @@ public class _WorkingResourceInstanceChargingState extends org.apache.avro.speci
     }
     
     /** Clears the value of the 'implicitlyIssuedStartEvents' field */
-    public gr.grnet.aquarium.message.avro.gen._WorkingResourceInstanceChargingState.Builder clearImplicitlyIssuedStartEvents() {
+    public gr.grnet.aquarium.message.avro.gen.WorkingResourceInstanceChargingStateMsg.Builder clearImplicitlyIssuedStartEvents() {
       implicitlyIssuedStartEvents = null;
       fieldSetFlags()[2] = false;
       return this;
@@ -301,7 +301,7 @@ public class _WorkingResourceInstanceChargingState extends org.apache.avro.speci
     }
     
     /** Sets the value of the 'accumulatingAmount' field */
-    public gr.grnet.aquarium.message.avro.gen._WorkingResourceInstanceChargingState.Builder setAccumulatingAmount(double value) {
+    public gr.grnet.aquarium.message.avro.gen.WorkingResourceInstanceChargingStateMsg.Builder setAccumulatingAmount(double value) {
       validate(fields()[3], value);
       this.accumulatingAmount = value;
       fieldSetFlags()[3] = true;
@@ -314,7 +314,7 @@ public class _WorkingResourceInstanceChargingState extends org.apache.avro.speci
     }
     
     /** Clears the value of the 'accumulatingAmount' field */
-    public gr.grnet.aquarium.message.avro.gen._WorkingResourceInstanceChargingState.Builder clearAccumulatingAmount() {
+    public gr.grnet.aquarium.message.avro.gen.WorkingResourceInstanceChargingStateMsg.Builder clearAccumulatingAmount() {
       fieldSetFlags()[3] = false;
       return this;
     }
@@ -325,7 +325,7 @@ public class _WorkingResourceInstanceChargingState extends org.apache.avro.speci
     }
     
     /** Sets the value of the 'oldAccumulatingAmount' field */
-    public gr.grnet.aquarium.message.avro.gen._WorkingResourceInstanceChargingState.Builder setOldAccumulatingAmount(double value) {
+    public gr.grnet.aquarium.message.avro.gen.WorkingResourceInstanceChargingStateMsg.Builder setOldAccumulatingAmount(double value) {
       validate(fields()[4], value);
       this.oldAccumulatingAmount = value;
       fieldSetFlags()[4] = true;
@@ -338,7 +338,7 @@ public class _WorkingResourceInstanceChargingState extends org.apache.avro.speci
     }
     
     /** Clears the value of the 'oldAccumulatingAmount' field */
-    public gr.grnet.aquarium.message.avro.gen._WorkingResourceInstanceChargingState.Builder clearOldAccumulatingAmount() {
+    public gr.grnet.aquarium.message.avro.gen.WorkingResourceInstanceChargingStateMsg.Builder clearOldAccumulatingAmount() {
       fieldSetFlags()[4] = false;
       return this;
     }
@@ -349,7 +349,7 @@ public class _WorkingResourceInstanceChargingState extends org.apache.avro.speci
     }
     
     /** Sets the value of the 'previousValue' field */
-    public gr.grnet.aquarium.message.avro.gen._WorkingResourceInstanceChargingState.Builder setPreviousValue(double value) {
+    public gr.grnet.aquarium.message.avro.gen.WorkingResourceInstanceChargingStateMsg.Builder setPreviousValue(double value) {
       validate(fields()[5], value);
       this.previousValue = value;
       fieldSetFlags()[5] = true;
@@ -362,7 +362,7 @@ public class _WorkingResourceInstanceChargingState extends org.apache.avro.speci
     }
     
     /** Clears the value of the 'previousValue' field */
-    public gr.grnet.aquarium.message.avro.gen._WorkingResourceInstanceChargingState.Builder clearPreviousValue() {
+    public gr.grnet.aquarium.message.avro.gen.WorkingResourceInstanceChargingStateMsg.Builder clearPreviousValue() {
       fieldSetFlags()[5] = false;
       return this;
     }
@@ -373,7 +373,7 @@ public class _WorkingResourceInstanceChargingState extends org.apache.avro.speci
     }
     
     /** Sets the value of the 'currentValue' field */
-    public gr.grnet.aquarium.message.avro.gen._WorkingResourceInstanceChargingState.Builder setCurrentValue(double value) {
+    public gr.grnet.aquarium.message.avro.gen.WorkingResourceInstanceChargingStateMsg.Builder setCurrentValue(double value) {
       validate(fields()[6], value);
       this.currentValue = value;
       fieldSetFlags()[6] = true;
@@ -386,18 +386,18 @@ public class _WorkingResourceInstanceChargingState extends org.apache.avro.speci
     }
     
     /** Clears the value of the 'currentValue' field */
-    public gr.grnet.aquarium.message.avro.gen._WorkingResourceInstanceChargingState.Builder clearCurrentValue() {
+    public gr.grnet.aquarium.message.avro.gen.WorkingResourceInstanceChargingStateMsg.Builder clearCurrentValue() {
       fieldSetFlags()[6] = false;
       return this;
     }
 
     @Override
-    public _WorkingResourceInstanceChargingState build() {
+    public WorkingResourceInstanceChargingStateMsg build() {
       try {
-        _WorkingResourceInstanceChargingState record = new _WorkingResourceInstanceChargingState();
-        record.details = fieldSetFlags()[0] ? this.details : (java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._AnyValue>) defaultValue(fields()[0]);
-        record.previousEvents = fieldSetFlags()[1] ? this.previousEvents : (java.util.List<gr.grnet.aquarium.message.avro.gen._ResourceEvent>) defaultValue(fields()[1]);
-        record.implicitlyIssuedStartEvents = fieldSetFlags()[2] ? this.implicitlyIssuedStartEvents : (java.util.List<gr.grnet.aquarium.message.avro.gen._ResourceEvent>) defaultValue(fields()[2]);
+        WorkingResourceInstanceChargingStateMsg record = new WorkingResourceInstanceChargingStateMsg();
+        record.details = fieldSetFlags()[0] ? this.details : (java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.AnyValueMsg>) defaultValue(fields()[0]);
+        record.previousEvents = fieldSetFlags()[1] ? this.previousEvents : (java.util.List<gr.grnet.aquarium.message.avro.gen.ResourceEventMsg>) defaultValue(fields()[1]);
+        record.implicitlyIssuedStartEvents = fieldSetFlags()[2] ? this.implicitlyIssuedStartEvents : (java.util.List<gr.grnet.aquarium.message.avro.gen.ResourceEventMsg>) defaultValue(fields()[2]);
         record.accumulatingAmount = fieldSetFlags()[3] ? this.accumulatingAmount : (java.lang.Double) defaultValue(fields()[3]);
         record.oldAccumulatingAmount = fieldSetFlags()[4] ? this.oldAccumulatingAmount : (java.lang.Double) defaultValue(fields()[4]);
         record.previousValue = fieldSetFlags()[5] ? this.previousValue : (java.lang.Double) defaultValue(fields()[5]);
diff --git a/src/main/java/gr/grnet/aquarium/message/avro/gen/WorkingResourcesChargingStateMsg.java b/src/main/java/gr/grnet/aquarium/message/avro/gen/WorkingResourcesChargingStateMsg.java
new file mode 100644 (file)
index 0000000..33e8fcb
--- /dev/null
@@ -0,0 +1,170 @@
+/**
+ * Autogenerated by Avro
+ * 
+ * DO NOT EDIT DIRECTLY
+ */
+package gr.grnet.aquarium.message.avro.gen;  
+@SuppressWarnings("all")
+public class WorkingResourcesChargingStateMsg extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
+  public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"WorkingResourcesChargingStateMsg\",\"namespace\":\"gr.grnet.aquarium.message.avro.gen\",\"fields\":[{\"name\":\"details\",\"type\":{\"type\":\"map\",\"values\":{\"type\":\"record\",\"name\":\"AnyValueMsg\",\"fields\":[{\"name\":\"anyValue\",\"type\":[\"null\",\"int\",\"long\",\"boolean\",\"double\",\"bytes\",\"string\"]}]}}},{\"name\":\"stateOfResourceInstance\",\"type\":{\"type\":\"map\",\"values\":{\"type\":\"record\",\"name\":\"WorkingResourceInstanceChargingStateMsg\",\"fields\":[{\"name\":\"details\",\"type\":{\"type\":\"map\",\"values\":\"AnyValueMsg\"}},{\"name\":\"previousEvents\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"ResourceEventMsg\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"aliases\":[\"originalID\",\"ID\"]},{\"name\":\"idInStore\",\"type\":\"string\"},{\"name\":\"occurredMillis\",\"type\":\"long\"},{\"name\":\"receivedMillis\",\"type\":\"long\",\"default\":0},{\"name\":\"userID\",\"type\":\"string\"},{\"name\":\"clientID\",\"type\":\"string\"},{\"name\":\"eventVersion\",\"type\":\"string\",\"default\":\"1.0\"},{\"name\":\"resource\",\"type\":\"string\",\"aliases\":[\"resourceType\"]},{\"name\":\"instanceID\",\"type\":\"string\"},{\"name\":\"value\",\"type\":\"string\"},{\"name\":\"details\",\"type\":{\"type\":\"map\",\"values\":\"AnyValueMsg\"}}]}}},{\"name\":\"implicitlyIssuedStartEvents\",\"type\":{\"type\":\"array\",\"items\":\"ResourceEventMsg\"}},{\"name\":\"accumulatingAmount\",\"type\":\"double\"},{\"name\":\"oldAccumulatingAmount\",\"type\":\"double\"},{\"name\":\"previousValue\",\"type\":\"double\"},{\"name\":\"currentValue\",\"type\":\"double\"}]}}}]}");
+  @Deprecated public java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.AnyValueMsg> details;
+  @Deprecated public java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.WorkingResourceInstanceChargingStateMsg> stateOfResourceInstance;
+  public org.apache.avro.Schema getSchema() { return SCHEMA$; }
+  // Used by DatumWriter.  Applications should not call. 
+  public java.lang.Object get(int field$) {
+    switch (field$) {
+    case 0: return details;
+    case 1: return stateOfResourceInstance;
+    default: throw new org.apache.avro.AvroRuntimeException("Bad index");
+    }
+  }
+  // Used by DatumReader.  Applications should not call. 
+  @SuppressWarnings(value="unchecked")
+  public void put(int field$, java.lang.Object value$) {
+    switch (field$) {
+    case 0: details = (java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.AnyValueMsg>)value$; break;
+    case 1: stateOfResourceInstance = (java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.WorkingResourceInstanceChargingStateMsg>)value$; break;
+    default: throw new org.apache.avro.AvroRuntimeException("Bad index");
+    }
+  }
+
+  /**
+   * Gets the value of the 'details' field.
+   */
+  public java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.AnyValueMsg> getDetails() {
+    return details;
+  }
+
+  /**
+   * Sets the value of the 'details' field.
+   * @param value the value to set.
+   */
+  public void setDetails(java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.AnyValueMsg> value) {
+    this.details = value;
+  }
+
+  /**
+   * Gets the value of the 'stateOfResourceInstance' field.
+   */
+  public java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.WorkingResourceInstanceChargingStateMsg> getStateOfResourceInstance() {
+    return stateOfResourceInstance;
+  }
+
+  /**
+   * Sets the value of the 'stateOfResourceInstance' field.
+   * @param value the value to set.
+   */
+  public void setStateOfResourceInstance(java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.WorkingResourceInstanceChargingStateMsg> value) {
+    this.stateOfResourceInstance = value;
+  }
+
+  /** Creates a new WorkingResourcesChargingStateMsg RecordBuilder */
+  public static gr.grnet.aquarium.message.avro.gen.WorkingResourcesChargingStateMsg.Builder newBuilder() {
+    return new gr.grnet.aquarium.message.avro.gen.WorkingResourcesChargingStateMsg.Builder();
+  }
+  
+  /** Creates a new WorkingResourcesChargingStateMsg RecordBuilder by copying an existing Builder */
+  public static gr.grnet.aquarium.message.avro.gen.WorkingResourcesChargingStateMsg.Builder newBuilder(gr.grnet.aquarium.message.avro.gen.WorkingResourcesChargingStateMsg.Builder other) {
+    return new gr.grnet.aquarium.message.avro.gen.WorkingResourcesChargingStateMsg.Builder(other);
+  }
+  
+  /** Creates a new WorkingResourcesChargingStateMsg RecordBuilder by copying an existing WorkingResourcesChargingStateMsg instance */
+  public static gr.grnet.aquarium.message.avro.gen.WorkingResourcesChargingStateMsg.Builder newBuilder(gr.grnet.aquarium.message.avro.gen.WorkingResourcesChargingStateMsg other) {
+    return new gr.grnet.aquarium.message.avro.gen.WorkingResourcesChargingStateMsg.Builder(other);
+  }
+  
+  /**
+   * RecordBuilder for WorkingResourcesChargingStateMsg instances.
+   */
+  public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase<WorkingResourcesChargingStateMsg>
+    implements org.apache.avro.data.RecordBuilder<WorkingResourcesChargingStateMsg> {
+
+    private java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.AnyValueMsg> details;
+    private java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.WorkingResourceInstanceChargingStateMsg> stateOfResourceInstance;
+
+    /** Creates a new Builder */
+    private Builder() {
+      super(gr.grnet.aquarium.message.avro.gen.WorkingResourcesChargingStateMsg.SCHEMA$);
+    }
+    
+    /** Creates a Builder by copying an existing Builder */
+    private Builder(gr.grnet.aquarium.message.avro.gen.WorkingResourcesChargingStateMsg.Builder other) {
+      super(other);
+    }
+    
+    /** Creates a Builder by copying an existing WorkingResourcesChargingStateMsg instance */
+    private Builder(gr.grnet.aquarium.message.avro.gen.WorkingResourcesChargingStateMsg other) {
+            super(gr.grnet.aquarium.message.avro.gen.WorkingResourcesChargingStateMsg.SCHEMA$);
+      if (isValidValue(fields()[0], other.details)) {
+        this.details = (java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.AnyValueMsg>) data().deepCopy(fields()[0].schema(), other.details);
+        fieldSetFlags()[0] = true;
+      }
+      if (isValidValue(fields()[1], other.stateOfResourceInstance)) {
+        this.stateOfResourceInstance = (java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.WorkingResourceInstanceChargingStateMsg>) data().deepCopy(fields()[1].schema(), other.stateOfResourceInstance);
+        fieldSetFlags()[1] = true;
+      }
+    }
+
+    /** Gets the value of the 'details' field */
+    public java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.AnyValueMsg> getDetails() {
+      return details;
+    }
+    
+    /** Sets the value of the 'details' field */
+    public gr.grnet.aquarium.message.avro.gen.WorkingResourcesChargingStateMsg.Builder setDetails(java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.AnyValueMsg> value) {
+      validate(fields()[0], value);
+      this.details = value;
+      fieldSetFlags()[0] = true;
+      return this; 
+    }
+    
+    /** Checks whether the 'details' field has been set */
+    public boolean hasDetails() {
+      return fieldSetFlags()[0];
+    }
+    
+    /** Clears the value of the 'details' field */
+    public gr.grnet.aquarium.message.avro.gen.WorkingResourcesChargingStateMsg.Builder clearDetails() {
+      details = null;
+      fieldSetFlags()[0] = false;
+      return this;
+    }
+
+    /** Gets the value of the 'stateOfResourceInstance' field */
+    public java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.WorkingResourceInstanceChargingStateMsg> getStateOfResourceInstance() {
+      return stateOfResourceInstance;
+    }
+    
+    /** Sets the value of the 'stateOfResourceInstance' field */
+    public gr.grnet.aquarium.message.avro.gen.WorkingResourcesChargingStateMsg.Builder setStateOfResourceInstance(java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.WorkingResourceInstanceChargingStateMsg> value) {
+      validate(fields()[1], value);
+      this.stateOfResourceInstance = value;
+      fieldSetFlags()[1] = true;
+      return this; 
+    }
+    
+    /** Checks whether the 'stateOfResourceInstance' field has been set */
+    public boolean hasStateOfResourceInstance() {
+      return fieldSetFlags()[1];
+    }
+    
+    /** Clears the value of the 'stateOfResourceInstance' field */
+    public gr.grnet.aquarium.message.avro.gen.WorkingResourcesChargingStateMsg.Builder clearStateOfResourceInstance() {
+      stateOfResourceInstance = null;
+      fieldSetFlags()[1] = false;
+      return this;
+    }
+
+    @Override
+    public WorkingResourcesChargingStateMsg build() {
+      try {
+        WorkingResourcesChargingStateMsg record = new WorkingResourcesChargingStateMsg();
+        record.details = fieldSetFlags()[0] ? this.details : (java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.AnyValueMsg>) defaultValue(fields()[0]);
+        record.stateOfResourceInstance = fieldSetFlags()[1] ? this.stateOfResourceInstance : (java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.WorkingResourceInstanceChargingStateMsg>) defaultValue(fields()[1]);
+        return record;
+      } catch (Exception e) {
+        throw new org.apache.avro.AvroRuntimeException(e);
+      }
+    }
+  }
+}
@@ -5,18 +5,18 @@
  */
 package gr.grnet.aquarium.message.avro.gen;  
 @SuppressWarnings("all")
-public class _WorkingUserState extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
-  public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"_WorkingUserState\",\"namespace\":\"gr.grnet.aquarium.message.avro.gen\",\"fields\":[{\"name\":\"userID\",\"type\":\"string\"},{\"name\":\"parentUserStateIDInStore\",\"type\":[\"string\",\"null\"]},{\"name\":\"resourceTypesMap\",\"type\":{\"type\":\"map\",\"values\":{\"type\":\"record\",\"name\":\"_ResourceType\",\"fields\":[{\"name\":\"name\",\"type\":\"string\"},{\"name\":\"unit\",\"type\":\"string\"},{\"name\":\"chargingBehaviorClass\",\"type\":\"string\"}]}}},{\"name\":\"workingStateOfResources\",\"type\":{\"type\":\"map\",\"values\":{\"type\":\"record\",\"name\":\"_WorkingResourcesChargingState\",\"fields\":[{\"name\":\"details\",\"type\":{\"type\":\"map\",\"values\":{\"type\":\"record\",\"name\":\"_AnyValue\",\"fields\":[{\"name\":\"anyValue\",\"type\":[\"null\",\"int\",\"long\",\"boolean\",\"double\",\"bytes\",\"string\"]}]}}},{\"name\":\"stateOfResourceInstance\",\"type\":{\"type\":\"map\",\"values\":{\"type\":\"record\",\"name\":\"_WorkingResourceInstanceChargingState\",\"fields\":[{\"name\":\"details\",\"type\":{\"type\":\"map\",\"values\":\"_AnyValue\"}},{\"name\":\"previousEvents\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"_ResourceEvent\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"aliases\":[\"originalID\",\"ID\"]},{\"name\":\"idInStore\",\"type\":\"string\"},{\"name\":\"occurredMillis\",\"type\":\"long\"},{\"name\":\"receivedMillis\",\"type\":\"long\",\"default\":0},{\"name\":\"userID\",\"type\":\"string\"},{\"name\":\"clientID\",\"type\":\"string\"},{\"name\":\"eventVersion\",\"type\":\"string\",\"default\":\"1.0\"},{\"name\":\"resource\",\"type\":\"string\",\"aliases\":[\"resourceType\"]},{\"name\":\"instanceID\",\"type\":\"string\"},{\"name\":\"value\",\"type\":\"string\"},{\"name\":\"details\",\"type\":{\"type\":\"map\",\"values\":\"_AnyValue\"}}]}}},{\"name\":\"implicitlyIssuedStartEvents\",\"type\":{\"type\":\"array\",\"items\":\"_ResourceEvent\"}},{\"name\":\"accumulatingAmount\",\"type\":\"double\"},{\"name\":\"oldAccumulatingAmount\",\"type\":\"double\"},{\"name\":\"previousValue\",\"type\":\"double\"},{\"name\":\"currentValue\",\"type\":\"double\"}]}}}]}}},{\"name\":\"totalCredits\",\"type\":\"double\"},{\"name\":\"workingAgreementHistory\",\"type\":{\"type\":\"record\",\"name\":\"_WorkingAgreementHistory\",\"fields\":[{\"name\":\"agreements\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"_UserAgreement\",\"fields\":[{\"name\":\"id\",\"type\":\"string\"},{\"name\":\"relatedIMEventID\",\"type\":[\"string\",\"null\"]},{\"name\":\"validFromMillis\",\"type\":\"long\"},{\"name\":\"validToMillis\",\"type\":\"long\"},{\"name\":\"role\",\"type\":\"string\"},{\"name\":\"fullPriceTableRef\",\"type\":[{\"type\":\"record\",\"name\":\"_FullPriceTable\",\"fields\":[{\"name\":\"perResource\",\"type\":{\"type\":\"map\",\"values\":{\"type\":\"map\",\"values\":{\"type\":\"record\",\"name\":\"_SelectorValue\",\"fields\":[{\"name\":\"selectorValue\",\"type\":[{\"type\":\"record\",\"name\":\"_EffectivePriceTable\",\"fields\":[{\"name\":\"priceOverrides\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"_EffectiveUnitPrice\",\"fields\":[{\"name\":\"unitPrice\",\"type\":\"double\"},{\"name\":\"when\",\"type\":[{\"type\":\"record\",\"name\":\"_CronSpecTuple\",\"fields\":[{\"name\":\"a\",\"type\":\"string\"},{\"name\":\"b\",\"type\":\"string\"}]},\"null\"]}]}}}]},{\"type\":\"map\",\"values\":\"_SelectorValue\"}]}]}}}}]},\"null\"]}]}}}]}},{\"name\":\"latestUpdateMillis\",\"type\":\"long\"},{\"name\":\"latestResourceEventOccurredMillis\",\"type\":\"long\"},{\"name\":\"billingPeriodOutOfSyncResourceEventsCounter\",\"type\":\"long\"},{\"name\":\"walletEntries\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"_WalletEntry\",\"fields\":[{\"name\":\"userID\",\"type\":\"string\"},{\"name\":\"sumOfCreditsToSubtract\",\"type\":\"double\"},{\"name\":\"oldTotalCredits\",\"type\":\"double\"},{\"name\":\"newTotalCredits\",\"type\":\"double\"},{\"name\":\"whenComputedMillis\",\"type\":\"long\"},{\"name\":\"referenceStartMillis\",\"type\":\"long\"},{\"name\":\"referenceStopMillis\",\"type\":\"long\"},{\"name\":\"billingYear\",\"type\":\"int\"},{\"name\":\"billingMonth\",\"type\":\"int\"},{\"name\":\"billingDay\",\"type\":\"int\"},{\"name\":\"chargeslots\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"_Chargeslot\",\"fields\":[{\"name\":\"startMillis\",\"type\":\"long\"},{\"name\":\"stopMillis\",\"type\":\"long\"},{\"name\":\"unitPrice\",\"type\":\"double\"},{\"name\":\"explanation\",\"type\":\"string\",\"default\":\"\"},{\"name\":\"creditsToSubtract\",\"type\":\"double\"}]}}},{\"name\":\"resourceEvents\",\"type\":{\"type\":\"array\",\"items\":\"_ResourceEvent\"}},{\"name\":\"resourceType\",\"type\":\"_ResourceType\"},{\"name\":\"isSynthetic\",\"type\":\"boolean\",\"default\":false}]}}}]}");
+public class WorkingUserStateMsg extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
+  public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"WorkingUserStateMsg\",\"namespace\":\"gr.grnet.aquarium.message.avro.gen\",\"fields\":[{\"name\":\"userID\",\"type\":\"string\"},{\"name\":\"parentUserStateIDInStore\",\"type\":[\"string\",\"null\"]},{\"name\":\"resourceTypesMap\",\"type\":{\"type\":\"map\",\"values\":{\"type\":\"record\",\"name\":\"ResourceTypeMsg\",\"fields\":[{\"name\":\"name\",\"type\":\"string\"},{\"name\":\"unit\",\"type\":\"string\"},{\"name\":\"chargingBehaviorClass\",\"type\":\"string\"}]}}},{\"name\":\"workingStateOfResources\",\"type\":{\"type\":\"map\",\"values\":{\"type\":\"record\",\"name\":\"WorkingResourcesChargingStateMsg\",\"fields\":[{\"name\":\"details\",\"type\":{\"type\":\"map\",\"values\":{\"type\":\"record\",\"name\":\"AnyValueMsg\",\"fields\":[{\"name\":\"anyValue\",\"type\":[\"null\",\"int\",\"long\",\"boolean\",\"double\",\"bytes\",\"string\"]}]}}},{\"name\":\"stateOfResourceInstance\",\"type\":{\"type\":\"map\",\"values\":{\"type\":\"record\",\"name\":\"WorkingResourceInstanceChargingStateMsg\",\"fields\":[{\"name\":\"details\",\"type\":{\"type\":\"map\",\"values\":\"AnyValueMsg\"}},{\"name\":\"previousEvents\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"ResourceEventMsg\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"aliases\":[\"originalID\",\"ID\"]},{\"name\":\"idInStore\",\"type\":\"string\"},{\"name\":\"occurredMillis\",\"type\":\"long\"},{\"name\":\"receivedMillis\",\"type\":\"long\",\"default\":0},{\"name\":\"userID\",\"type\":\"string\"},{\"name\":\"clientID\",\"type\":\"string\"},{\"name\":\"eventVersion\",\"type\":\"string\",\"default\":\"1.0\"},{\"name\":\"resource\",\"type\":\"string\",\"aliases\":[\"resourceType\"]},{\"name\":\"instanceID\",\"type\":\"string\"},{\"name\":\"value\",\"type\":\"string\"},{\"name\":\"details\",\"type\":{\"type\":\"map\",\"values\":\"AnyValueMsg\"}}]}}},{\"name\":\"implicitlyIssuedStartEvents\",\"type\":{\"type\":\"array\",\"items\":\"ResourceEventMsg\"}},{\"name\":\"accumulatingAmount\",\"type\":\"double\"},{\"name\":\"oldAccumulatingAmount\",\"type\":\"double\"},{\"name\":\"previousValue\",\"type\":\"double\"},{\"name\":\"currentValue\",\"type\":\"double\"}]}}}]}}},{\"name\":\"totalCredits\",\"type\":\"double\"},{\"name\":\"workingAgreementHistory\",\"type\":{\"type\":\"record\",\"name\":\"WorkingAgreementHistoryMsg\",\"fields\":[{\"name\":\"agreements\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"UserAgreementMsg\",\"fields\":[{\"name\":\"id\",\"type\":\"string\"},{\"name\":\"relatedIMEventID\",\"type\":[\"string\",\"null\"]},{\"name\":\"validFromMillis\",\"type\":\"long\"},{\"name\":\"validToMillis\",\"type\":\"long\"},{\"name\":\"role\",\"type\":\"string\"},{\"name\":\"fullPriceTableRef\",\"type\":[{\"type\":\"record\",\"name\":\"FullPriceTableMsg\",\"fields\":[{\"name\":\"perResource\",\"type\":{\"type\":\"map\",\"values\":{\"type\":\"map\",\"values\":{\"type\":\"record\",\"name\":\"SelectorValueMsg\",\"fields\":[{\"name\":\"selectorValue\",\"type\":[{\"type\":\"record\",\"name\":\"EffectivePriceTableMsg\",\"fields\":[{\"name\":\"priceOverrides\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"EffectiveUnitPriceMsg\",\"fields\":[{\"name\":\"unitPrice\",\"type\":\"double\"},{\"name\":\"when\",\"type\":[{\"type\":\"record\",\"name\":\"CronSpecTupleMsg\",\"fields\":[{\"name\":\"a\",\"type\":\"string\"},{\"name\":\"b\",\"type\":\"string\"}]},\"null\"]}]}}}]},{\"type\":\"map\",\"values\":\"SelectorValueMsg\"}]}]}}}}]},\"null\"]}]}}}]}},{\"name\":\"latestUpdateMillis\",\"type\":\"long\"},{\"name\":\"latestResourceEventOccurredMillis\",\"type\":\"long\"},{\"name\":\"billingPeriodOutOfSyncResourceEventsCounter\",\"type\":\"long\"},{\"name\":\"walletEntries\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"WalletEntryMsg\",\"fields\":[{\"name\":\"userID\",\"type\":\"string\"},{\"name\":\"sumOfCreditsToSubtract\",\"type\":\"double\"},{\"name\":\"oldTotalCredits\",\"type\":\"double\"},{\"name\":\"newTotalCredits\",\"type\":\"double\"},{\"name\":\"whenComputedMillis\",\"type\":\"long\"},{\"name\":\"referenceStartMillis\",\"type\":\"long\"},{\"name\":\"referenceStopMillis\",\"type\":\"long\"},{\"name\":\"billingYear\",\"type\":\"int\"},{\"name\":\"billingMonth\",\"type\":\"int\"},{\"name\":\"billingDay\",\"type\":\"int\"},{\"name\":\"chargeslots\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"ChargeslotMsg\",\"fields\":[{\"name\":\"startMillis\",\"type\":\"long\"},{\"name\":\"stopMillis\",\"type\":\"long\"},{\"name\":\"unitPrice\",\"type\":\"double\"},{\"name\":\"explanation\",\"type\":\"string\",\"default\":\"\"},{\"name\":\"creditsToSubtract\",\"type\":\"double\"}]}}},{\"name\":\"resourceEvents\",\"type\":{\"type\":\"array\",\"items\":\"ResourceEventMsg\"}},{\"name\":\"resourceType\",\"type\":\"ResourceTypeMsg\"},{\"name\":\"isSynthetic\",\"type\":\"boolean\",\"default\":false}]}}}]}");
   @Deprecated public java.lang.CharSequence userID;
   @Deprecated public java.lang.CharSequence parentUserStateIDInStore;
-  @Deprecated public java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._ResourceType> resourceTypesMap;
-  @Deprecated public java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._WorkingResourcesChargingState> workingStateOfResources;
+  @Deprecated public java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.ResourceTypeMsg> resourceTypesMap;
+  @Deprecated public java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.WorkingResourcesChargingStateMsg> workingStateOfResources;
   @Deprecated public double totalCredits;
-  @Deprecated public gr.grnet.aquarium.message.avro.gen._WorkingAgreementHistory workingAgreementHistory;
+  @Deprecated public gr.grnet.aquarium.message.avro.gen.WorkingAgreementHistoryMsg workingAgreementHistory;
   @Deprecated public long latestUpdateMillis;
   @Deprecated public long latestResourceEventOccurredMillis;
   @Deprecated public long billingPeriodOutOfSyncResourceEventsCounter;
-  @Deprecated public java.util.List<gr.grnet.aquarium.message.avro.gen._WalletEntry> walletEntries;
+  @Deprecated public java.util.List<gr.grnet.aquarium.message.avro.gen.WalletEntryMsg> walletEntries;
   public org.apache.avro.Schema getSchema() { return SCHEMA$; }
   // Used by DatumWriter.  Applications should not call. 
   public java.lang.Object get(int field$) {
@@ -40,14 +40,14 @@ public class _WorkingUserState extends org.apache.avro.specific.SpecificRecordBa
     switch (field$) {
     case 0: userID = (java.lang.CharSequence)value$; break;
     case 1: parentUserStateIDInStore = (java.lang.CharSequence)value$; break;
-    case 2: resourceTypesMap = (java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._ResourceType>)value$; break;
-    case 3: workingStateOfResources = (java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._WorkingResourcesChargingState>)value$; break;
+    case 2: resourceTypesMap = (java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.ResourceTypeMsg>)value$; break;
+    case 3: workingStateOfResources = (java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.WorkingResourcesChargingStateMsg>)value$; break;
     case 4: totalCredits = (java.lang.Double)value$; break;
-    case 5: workingAgreementHistory = (gr.grnet.aquarium.message.avro.gen._WorkingAgreementHistory)value$; break;
+    case 5: workingAgreementHistory = (gr.grnet.aquarium.message.avro.gen.WorkingAgreementHistoryMsg)value$; break;
     case 6: latestUpdateMillis = (java.lang.Long)value$; break;
     case 7: latestResourceEventOccurredMillis = (java.lang.Long)value$; break;
     case 8: billingPeriodOutOfSyncResourceEventsCounter = (java.lang.Long)value$; break;
-    case 9: walletEntries = (java.util.List<gr.grnet.aquarium.message.avro.gen._WalletEntry>)value$; break;
+    case 9: walletEntries = (java.util.List<gr.grnet.aquarium.message.avro.gen.WalletEntryMsg>)value$; break;
     default: throw new org.apache.avro.AvroRuntimeException("Bad index");
     }
   }
@@ -85,7 +85,7 @@ public class _WorkingUserState extends org.apache.avro.specific.SpecificRecordBa
   /**
    * Gets the value of the 'resourceTypesMap' field.
    */
-  public java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._ResourceType> getResourceTypesMap() {
+  public java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.ResourceTypeMsg> getResourceTypesMap() {
     return resourceTypesMap;
   }
 
@@ -93,14 +93,14 @@ public class _WorkingUserState extends org.apache.avro.specific.SpecificRecordBa
    * Sets the value of the 'resourceTypesMap' field.
    * @param value the value to set.
    */
-  public void setResourceTypesMap(java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._ResourceType> value) {
+  public void setResourceTypesMap(java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.ResourceTypeMsg> value) {
     this.resourceTypesMap = value;
   }
 
   /**
    * Gets the value of the 'workingStateOfResources' field.
    */
-  public java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._WorkingResourcesChargingState> getWorkingStateOfResources() {
+  public java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.WorkingResourcesChargingStateMsg> getWorkingStateOfResources() {
     return workingStateOfResources;
   }
 
@@ -108,7 +108,7 @@ public class _WorkingUserState extends org.apache.avro.specific.SpecificRecordBa
    * Sets the value of the 'workingStateOfResources' field.
    * @param value the value to set.
    */
-  public void setWorkingStateOfResources(java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._WorkingResourcesChargingState> value) {
+  public void setWorkingStateOfResources(java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.WorkingResourcesChargingStateMsg> value) {
     this.workingStateOfResources = value;
   }
 
@@ -130,7 +130,7 @@ public class _WorkingUserState extends org.apache.avro.specific.SpecificRecordBa
   /**
    * Gets the value of the 'workingAgreementHistory' field.
    */
-  public gr.grnet.aquarium.message.avro.gen._WorkingAgreementHistory getWorkingAgreementHistory() {
+  public gr.grnet.aquarium.message.avro.gen.WorkingAgreementHistoryMsg getWorkingAgreementHistory() {
     return workingAgreementHistory;
   }
 
@@ -138,7 +138,7 @@ public class _WorkingUserState extends org.apache.avro.specific.SpecificRecordBa
    * Sets the value of the 'workingAgreementHistory' field.
    * @param value the value to set.
    */
-  public void setWorkingAgreementHistory(gr.grnet.aquarium.message.avro.gen._WorkingAgreementHistory value) {
+  public void setWorkingAgreementHistory(gr.grnet.aquarium.message.avro.gen.WorkingAgreementHistoryMsg value) {
     this.workingAgreementHistory = value;
   }
 
@@ -190,7 +190,7 @@ public class _WorkingUserState extends org.apache.avro.specific.SpecificRecordBa
   /**
    * Gets the value of the 'walletEntries' field.
    */
-  public java.util.List<gr.grnet.aquarium.message.avro.gen._WalletEntry> getWalletEntries() {
+  public java.util.List<gr.grnet.aquarium.message.avro.gen.WalletEntryMsg> getWalletEntries() {
     return walletEntries;
   }
 
@@ -198,55 +198,55 @@ public class _WorkingUserState extends org.apache.avro.specific.SpecificRecordBa
    * Sets the value of the 'walletEntries' field.
    * @param value the value to set.
    */
-  public void setWalletEntries(java.util.List<gr.grnet.aquarium.message.avro.gen._WalletEntry> value) {
+  public void setWalletEntries(java.util.List<gr.grnet.aquarium.message.avro.gen.WalletEntryMsg> value) {
     this.walletEntries = value;
   }
 
-  /** Creates a new _WorkingUserState RecordBuilder */
-  public static gr.grnet.aquarium.message.avro.gen._WorkingUserState.Builder newBuilder() {
-    return new gr.grnet.aquarium.message.avro.gen._WorkingUserState.Builder();
+  /** Creates a new WorkingUserStateMsg RecordBuilder */
+  public static gr.grnet.aquarium.message.avro.gen.WorkingUserStateMsg.Builder newBuilder() {
+    return new gr.grnet.aquarium.message.avro.gen.WorkingUserStateMsg.Builder();
   }
   
-  /** Creates a new _WorkingUserState RecordBuilder by copying an existing Builder */
-  public static gr.grnet.aquarium.message.avro.gen._WorkingUserState.Builder newBuilder(gr.grnet.aquarium.message.avro.gen._WorkingUserState.Builder other) {
-    return new gr.grnet.aquarium.message.avro.gen._WorkingUserState.Builder(other);
+  /** Creates a new WorkingUserStateMsg RecordBuilder by copying an existing Builder */
+  public static gr.grnet.aquarium.message.avro.gen.WorkingUserStateMsg.Builder newBuilder(gr.grnet.aquarium.message.avro.gen.WorkingUserStateMsg.Builder other) {
+    return new gr.grnet.aquarium.message.avro.gen.WorkingUserStateMsg.Builder(other);
   }
   
-  /** Creates a new _WorkingUserState RecordBuilder by copying an existing _WorkingUserState instance */
-  public static gr.grnet.aquarium.message.avro.gen._WorkingUserState.Builder newBuilder(gr.grnet.aquarium.message.avro.gen._WorkingUserState other) {
-    return new gr.grnet.aquarium.message.avro.gen._WorkingUserState.Builder(other);
+  /** Creates a new WorkingUserStateMsg RecordBuilder by copying an existing WorkingUserStateMsg instance */
+  public static gr.grnet.aquarium.message.avro.gen.WorkingUserStateMsg.Builder newBuilder(gr.grnet.aquarium.message.avro.gen.WorkingUserStateMsg other) {
+    return new gr.grnet.aquarium.message.avro.gen.WorkingUserStateMsg.Builder(other);
   }
   
   /**
-   * RecordBuilder for _WorkingUserState instances.
+   * RecordBuilder for WorkingUserStateMsg instances.
    */
-  public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase<_WorkingUserState>
-    implements org.apache.avro.data.RecordBuilder<_WorkingUserState> {
+  public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase<WorkingUserStateMsg>
+    implements org.apache.avro.data.RecordBuilder<WorkingUserStateMsg> {
 
     private java.lang.CharSequence userID;
     private java.lang.CharSequence parentUserStateIDInStore;
-    private java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._ResourceType> resourceTypesMap;
-    private java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._WorkingResourcesChargingState> workingStateOfResources;
+    private java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.ResourceTypeMsg> resourceTypesMap;
+    private java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.WorkingResourcesChargingStateMsg> workingStateOfResources;
     private double totalCredits;
-    private gr.grnet.aquarium.message.avro.gen._WorkingAgreementHistory workingAgreementHistory;
+    private gr.grnet.aquarium.message.avro.gen.WorkingAgreementHistoryMsg workingAgreementHistory;
     private long latestUpdateMillis;
     private long latestResourceEventOccurredMillis;
     private long billingPeriodOutOfSyncResourceEventsCounter;
-    private java.util.List<gr.grnet.aquarium.message.avro.gen._WalletEntry> walletEntries;
+    private java.util.List<gr.grnet.aquarium.message.avro.gen.WalletEntryMsg> walletEntries;
 
     /** Creates a new Builder */
     private Builder() {
-      super(gr.grnet.aquarium.message.avro.gen._WorkingUserState.SCHEMA$);
+      super(gr.grnet.aquarium.message.avro.gen.WorkingUserStateMsg.SCHEMA$);
     }
     
     /** Creates a Builder by copying an existing Builder */
-    private Builder(gr.grnet.aquarium.message.avro.gen._WorkingUserState.Builder other) {
+    private Builder(gr.grnet.aquarium.message.avro.gen.WorkingUserStateMsg.Builder other) {
       super(other);
     }
     
-    /** Creates a Builder by copying an existing _WorkingUserState instance */
-    private Builder(gr.grnet.aquarium.message.avro.gen._WorkingUserState other) {
-            super(gr.grnet.aquarium.message.avro.gen._WorkingUserState.SCHEMA$);
+    /** Creates a Builder by copying an existing WorkingUserStateMsg instance */
+    private Builder(gr.grnet.aquarium.message.avro.gen.WorkingUserStateMsg other) {
+            super(gr.grnet.aquarium.message.avro.gen.WorkingUserStateMsg.SCHEMA$);
       if (isValidValue(fields()[0], other.userID)) {
         this.userID = (java.lang.CharSequence) data().deepCopy(fields()[0].schema(), other.userID);
         fieldSetFlags()[0] = true;
@@ -256,11 +256,11 @@ public class _WorkingUserState extends org.apache.avro.specific.SpecificRecordBa
         fieldSetFlags()[1] = true;
       }
       if (isValidValue(fields()[2], other.resourceTypesMap)) {
-        this.resourceTypesMap = (java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._ResourceType>) data().deepCopy(fields()[2].schema(), other.resourceTypesMap);
+        this.resourceTypesMap = (java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.ResourceTypeMsg>) data().deepCopy(fields()[2].schema(), other.resourceTypesMap);
         fieldSetFlags()[2] = true;
       }
       if (isValidValue(fields()[3], other.workingStateOfResources)) {
-        this.workingStateOfResources = (java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._WorkingResourcesChargingState>) data().deepCopy(fields()[3].schema(), other.workingStateOfResources);
+        this.workingStateOfResources = (java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.WorkingResourcesChargingStateMsg>) data().deepCopy(fields()[3].schema(), other.workingStateOfResources);
         fieldSetFlags()[3] = true;
       }
       if (isValidValue(fields()[4], other.totalCredits)) {
@@ -268,7 +268,7 @@ public class _WorkingUserState extends org.apache.avro.specific.SpecificRecordBa
         fieldSetFlags()[4] = true;
       }
       if (isValidValue(fields()[5], other.workingAgreementHistory)) {
-        this.workingAgreementHistory = (gr.grnet.aquarium.message.avro.gen._WorkingAgreementHistory) data().deepCopy(fields()[5].schema(), other.workingAgreementHistory);
+        this.workingAgreementHistory = (gr.grnet.aquarium.message.avro.gen.WorkingAgreementHistoryMsg) data().deepCopy(fields()[5].schema(), other.workingAgreementHistory);
         fieldSetFlags()[5] = true;
       }
       if (isValidValue(fields()[6], other.latestUpdateMillis)) {
@@ -284,7 +284,7 @@ public class _WorkingUserState extends org.apache.avro.specific.SpecificRecordBa
         fieldSetFlags()[8] = true;
       }
       if (isValidValue(fields()[9], other.walletEntries)) {
-        this.walletEntries = (java.util.List<gr.grnet.aquarium.message.avro.gen._WalletEntry>) data().deepCopy(fields()[9].schema(), other.walletEntries);
+        this.walletEntries = (java.util.List<gr.grnet.aquarium.message.avro.gen.WalletEntryMsg>) data().deepCopy(fields()[9].schema(), other.walletEntries);
         fieldSetFlags()[9] = true;
       }
     }
@@ -295,7 +295,7 @@ public class _WorkingUserState extends org.apache.avro.specific.SpecificRecordBa
     }
     
     /** Sets the value of the 'userID' field */
-    public gr.grnet.aquarium.message.avro.gen._WorkingUserState.Builder setUserID(java.lang.CharSequence value) {
+    public gr.grnet.aquarium.message.avro.gen.WorkingUserStateMsg.Builder setUserID(java.lang.CharSequence value) {
       validate(fields()[0], value);
       this.userID = value;
       fieldSetFlags()[0] = true;
@@ -308,7 +308,7 @@ public class _WorkingUserState extends org.apache.avro.specific.SpecificRecordBa
     }
     
     /** Clears the value of the 'userID' field */
-    public gr.grnet.aquarium.message.avro.gen._WorkingUserState.Builder clearUserID() {
+    public gr.grnet.aquarium.message.avro.gen.WorkingUserStateMsg.Builder clearUserID() {
       userID = null;
       fieldSetFlags()[0] = false;
       return this;
@@ -320,7 +320,7 @@ public class _WorkingUserState extends org.apache.avro.specific.SpecificRecordBa
     }
     
     /** Sets the value of the 'parentUserStateIDInStore' field */
-    public gr.grnet.aquarium.message.avro.gen._WorkingUserState.Builder setParentUserStateIDInStore(java.lang.CharSequence value) {
+    public gr.grnet.aquarium.message.avro.gen.WorkingUserStateMsg.Builder setParentUserStateIDInStore(java.lang.CharSequence value) {
       validate(fields()[1], value);
       this.parentUserStateIDInStore = value;
       fieldSetFlags()[1] = true;
@@ -333,19 +333,19 @@ public class _WorkingUserState extends org.apache.avro.specific.SpecificRecordBa
     }
     
     /** Clears the value of the 'parentUserStateIDInStore' field */
-    public gr.grnet.aquarium.message.avro.gen._WorkingUserState.Builder clearParentUserStateIDInStore() {
+    public gr.grnet.aquarium.message.avro.gen.WorkingUserStateMsg.Builder clearParentUserStateIDInStore() {
       parentUserStateIDInStore = null;
       fieldSetFlags()[1] = false;
       return this;
     }
 
     /** Gets the value of the 'resourceTypesMap' field */
-    public java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._ResourceType> getResourceTypesMap() {
+    public java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.ResourceTypeMsg> getResourceTypesMap() {
       return resourceTypesMap;
     }
     
     /** Sets the value of the 'resourceTypesMap' field */
-    public gr.grnet.aquarium.message.avro.gen._WorkingUserState.Builder setResourceTypesMap(java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._ResourceType> value) {
+    public gr.grnet.aquarium.message.avro.gen.WorkingUserStateMsg.Builder setResourceTypesMap(java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.ResourceTypeMsg> value) {
       validate(fields()[2], value);
       this.resourceTypesMap = value;
       fieldSetFlags()[2] = true;
@@ -358,19 +358,19 @@ public class _WorkingUserState extends org.apache.avro.specific.SpecificRecordBa
     }
     
     /** Clears the value of the 'resourceTypesMap' field */
-    public gr.grnet.aquarium.message.avro.gen._WorkingUserState.Builder clearResourceTypesMap() {
+    public gr.grnet.aquarium.message.avro.gen.WorkingUserStateMsg.Builder clearResourceTypesMap() {
       resourceTypesMap = null;
       fieldSetFlags()[2] = false;
       return this;
     }
 
     /** Gets the value of the 'workingStateOfResources' field */
-    public java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._WorkingResourcesChargingState> getWorkingStateOfResources() {
+    public java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.WorkingResourcesChargingStateMsg> getWorkingStateOfResources() {
       return workingStateOfResources;
     }
     
     /** Sets the value of the 'workingStateOfResources' field */
-    public gr.grnet.aquarium.message.avro.gen._WorkingUserState.Builder setWorkingStateOfResources(java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._WorkingResourcesChargingState> value) {
+    public gr.grnet.aquarium.message.avro.gen.WorkingUserStateMsg.Builder setWorkingStateOfResources(java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.WorkingResourcesChargingStateMsg> value) {
       validate(fields()[3], value);
       this.workingStateOfResources = value;
       fieldSetFlags()[3] = true;
@@ -383,7 +383,7 @@ public class _WorkingUserState extends org.apache.avro.specific.SpecificRecordBa
     }
     
     /** Clears the value of the 'workingStateOfResources' field */
-    public gr.grnet.aquarium.message.avro.gen._WorkingUserState.Builder clearWorkingStateOfResources() {
+    public gr.grnet.aquarium.message.avro.gen.WorkingUserStateMsg.Builder clearWorkingStateOfResources() {
       workingStateOfResources = null;
       fieldSetFlags()[3] = false;
       return this;
@@ -395,7 +395,7 @@ public class _WorkingUserState extends org.apache.avro.specific.SpecificRecordBa
     }
     
     /** Sets the value of the 'totalCredits' field */
-    public gr.grnet.aquarium.message.avro.gen._WorkingUserState.Builder setTotalCredits(double value) {
+    public gr.grnet.aquarium.message.avro.gen.WorkingUserStateMsg.Builder setTotalCredits(double value) {
       validate(fields()[4], value);
       this.totalCredits = value;
       fieldSetFlags()[4] = true;
@@ -408,18 +408,18 @@ public class _WorkingUserState extends org.apache.avro.specific.SpecificRecordBa
     }
     
     /** Clears the value of the 'totalCredits' field */
-    public gr.grnet.aquarium.message.avro.gen._WorkingUserState.Builder clearTotalCredits() {
+    public gr.grnet.aquarium.message.avro.gen.WorkingUserStateMsg.Builder clearTotalCredits() {
       fieldSetFlags()[4] = false;
       return this;
     }
 
     /** Gets the value of the 'workingAgreementHistory' field */
-    public gr.grnet.aquarium.message.avro.gen._WorkingAgreementHistory getWorkingAgreementHistory() {
+    public gr.grnet.aquarium.message.avro.gen.WorkingAgreementHistoryMsg getWorkingAgreementHistory() {
       return workingAgreementHistory;
     }
     
     /** Sets the value of the 'workingAgreementHistory' field */
-    public gr.grnet.aquarium.message.avro.gen._WorkingUserState.Builder setWorkingAgreementHistory(gr.grnet.aquarium.message.avro.gen._WorkingAgreementHistory value) {
+    public gr.grnet.aquarium.message.avro.gen.WorkingUserStateMsg.Builder setWorkingAgreementHistory(gr.grnet.aquarium.message.avro.gen.WorkingAgreementHistoryMsg value) {
       validate(fields()[5], value);
       this.workingAgreementHistory = value;
       fieldSetFlags()[5] = true;
@@ -432,7 +432,7 @@ public class _WorkingUserState extends org.apache.avro.specific.SpecificRecordBa
     }
     
     /** Clears the value of the 'workingAgreementHistory' field */
-    public gr.grnet.aquarium.message.avro.gen._WorkingUserState.Builder clearWorkingAgreementHistory() {
+    public gr.grnet.aquarium.message.avro.gen.WorkingUserStateMsg.Builder clearWorkingAgreementHistory() {
       workingAgreementHistory = null;
       fieldSetFlags()[5] = false;
       return this;
@@ -444,7 +444,7 @@ public class _WorkingUserState extends org.apache.avro.specific.SpecificRecordBa
     }
     
     /** Sets the value of the 'latestUpdateMillis' field */
-    public gr.grnet.aquarium.message.avro.gen._WorkingUserState.Builder setLatestUpdateMillis(long value) {
+    public gr.grnet.aquarium.message.avro.gen.WorkingUserStateMsg.Builder setLatestUpdateMillis(long value) {
       validate(fields()[6], value);
       this.latestUpdateMillis = value;
       fieldSetFlags()[6] = true;
@@ -457,7 +457,7 @@ public class _WorkingUserState extends org.apache.avro.specific.SpecificRecordBa
     }
     
     /** Clears the value of the 'latestUpdateMillis' field */
-    public gr.grnet.aquarium.message.avro.gen._WorkingUserState.Builder clearLatestUpdateMillis() {
+    public gr.grnet.aquarium.message.avro.gen.WorkingUserStateMsg.Builder clearLatestUpdateMillis() {
       fieldSetFlags()[6] = false;
       return this;
     }
@@ -468,7 +468,7 @@ public class _WorkingUserState extends org.apache.avro.specific.SpecificRecordBa
     }
     
     /** Sets the value of the 'latestResourceEventOccurredMillis' field */
-    public gr.grnet.aquarium.message.avro.gen._WorkingUserState.Builder setLatestResourceEventOccurredMillis(long value) {
+    public gr.grnet.aquarium.message.avro.gen.WorkingUserStateMsg.Builder setLatestResourceEventOccurredMillis(long value) {
       validate(fields()[7], value);
       this.latestResourceEventOccurredMillis = value;
       fieldSetFlags()[7] = true;
@@ -481,7 +481,7 @@ public class _WorkingUserState extends org.apache.avro.specific.SpecificRecordBa
     }
     
     /** Clears the value of the 'latestResourceEventOccurredMillis' field */
-    public gr.grnet.aquarium.message.avro.gen._WorkingUserState.Builder clearLatestResourceEventOccurredMillis() {
+    public gr.grnet.aquarium.message.avro.gen.WorkingUserStateMsg.Builder clearLatestResourceEventOccurredMillis() {
       fieldSetFlags()[7] = false;
       return this;
     }
@@ -492,7 +492,7 @@ public class _WorkingUserState extends org.apache.avro.specific.SpecificRecordBa
     }
     
     /** Sets the value of the 'billingPeriodOutOfSyncResourceEventsCounter' field */
-    public gr.grnet.aquarium.message.avro.gen._WorkingUserState.Builder setBillingPeriodOutOfSyncResourceEventsCounter(long value) {
+    public gr.grnet.aquarium.message.avro.gen.WorkingUserStateMsg.Builder setBillingPeriodOutOfSyncResourceEventsCounter(long value) {
       validate(fields()[8], value);
       this.billingPeriodOutOfSyncResourceEventsCounter = value;
       fieldSetFlags()[8] = true;
@@ -505,18 +505,18 @@ public class _WorkingUserState extends org.apache.avro.specific.SpecificRecordBa
     }
     
     /** Clears the value of the 'billingPeriodOutOfSyncResourceEventsCounter' field */
-    public gr.grnet.aquarium.message.avro.gen._WorkingUserState.Builder clearBillingPeriodOutOfSyncResourceEventsCounter() {
+    public gr.grnet.aquarium.message.avro.gen.WorkingUserStateMsg.Builder clearBillingPeriodOutOfSyncResourceEventsCounter() {
       fieldSetFlags()[8] = false;
       return this;
     }
 
     /** Gets the value of the 'walletEntries' field */
-    public java.util.List<gr.grnet.aquarium.message.avro.gen._WalletEntry> getWalletEntries() {
+    public java.util.List<gr.grnet.aquarium.message.avro.gen.WalletEntryMsg> getWalletEntries() {
       return walletEntries;
     }
     
     /** Sets the value of the 'walletEntries' field */
-    public gr.grnet.aquarium.message.avro.gen._WorkingUserState.Builder setWalletEntries(java.util.List<gr.grnet.aquarium.message.avro.gen._WalletEntry> value) {
+    public gr.grnet.aquarium.message.avro.gen.WorkingUserStateMsg.Builder setWalletEntries(java.util.List<gr.grnet.aquarium.message.avro.gen.WalletEntryMsg> value) {
       validate(fields()[9], value);
       this.walletEntries = value;
       fieldSetFlags()[9] = true;
@@ -529,26 +529,26 @@ public class _WorkingUserState extends org.apache.avro.specific.SpecificRecordBa
     }
     
     /** Clears the value of the 'walletEntries' field */
-    public gr.grnet.aquarium.message.avro.gen._WorkingUserState.Builder clearWalletEntries() {
+    public gr.grnet.aquarium.message.avro.gen.WorkingUserStateMsg.Builder clearWalletEntries() {
       walletEntries = null;
       fieldSetFlags()[9] = false;
       return this;
     }
 
     @Override
-    public _WorkingUserState build() {
+    public WorkingUserStateMsg build() {
       try {
-        _WorkingUserState record = new _WorkingUserState();
+        WorkingUserStateMsg record = new WorkingUserStateMsg();
         record.userID = fieldSetFlags()[0] ? this.userID : (java.lang.CharSequence) defaultValue(fields()[0]);
         record.parentUserStateIDInStore = fieldSetFlags()[1] ? this.parentUserStateIDInStore : (java.lang.CharSequence) defaultValue(fields()[1]);
-        record.resourceTypesMap = fieldSetFlags()[2] ? this.resourceTypesMap : (java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._ResourceType>) defaultValue(fields()[2]);
-        record.workingStateOfResources = fieldSetFlags()[3] ? this.workingStateOfResources : (java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._WorkingResourcesChargingState>) defaultValue(fields()[3]);
+        record.resourceTypesMap = fieldSetFlags()[2] ? this.resourceTypesMap : (java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.ResourceTypeMsg>) defaultValue(fields()[2]);
+        record.workingStateOfResources = fieldSetFlags()[3] ? this.workingStateOfResources : (java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen.WorkingResourcesChargingStateMsg>) defaultValue(fields()[3]);
         record.totalCredits = fieldSetFlags()[4] ? this.totalCredits : (java.lang.Double) defaultValue(fields()[4]);
-        record.workingAgreementHistory = fieldSetFlags()[5] ? this.workingAgreementHistory : (gr.grnet.aquarium.message.avro.gen._WorkingAgreementHistory) defaultValue(fields()[5]);
+        record.workingAgreementHistory = fieldSetFlags()[5] ? this.workingAgreementHistory : (gr.grnet.aquarium.message.avro.gen.WorkingAgreementHistoryMsg) defaultValue(fields()[5]);
         record.latestUpdateMillis = fieldSetFlags()[6] ? this.latestUpdateMillis : (java.lang.Long) defaultValue(fields()[6]);
         record.latestResourceEventOccurredMillis = fieldSetFlags()[7] ? this.latestResourceEventOccurredMillis : (java.lang.Long) defaultValue(fields()[7]);
         record.billingPeriodOutOfSyncResourceEventsCounter = fieldSetFlags()[8] ? this.billingPeriodOutOfSyncResourceEventsCounter : (java.lang.Long) defaultValue(fields()[8]);
-        record.walletEntries = fieldSetFlags()[9] ? this.walletEntries : (java.util.List<gr.grnet.aquarium.message.avro.gen._WalletEntry>) defaultValue(fields()[9]);
+        record.walletEntries = fieldSetFlags()[9] ? this.walletEntries : (java.util.List<gr.grnet.aquarium.message.avro.gen.WalletEntryMsg>) defaultValue(fields()[9]);
         return record;
       } catch (Exception e) {
         throw new org.apache.avro.AvroRuntimeException(e);
diff --git a/src/main/java/gr/grnet/aquarium/message/avro/gen/_EffectivePriceTable.java b/src/main/java/gr/grnet/aquarium/message/avro/gen/_EffectivePriceTable.java
deleted file mode 100644 (file)
index d44c3cc..0000000
+++ /dev/null
@@ -1,121 +0,0 @@
-/**
- * Autogenerated by Avro
- * 
- * DO NOT EDIT DIRECTLY
- */
-package gr.grnet.aquarium.message.avro.gen;  
-@SuppressWarnings("all")
-public class _EffectivePriceTable extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
-  public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"_EffectivePriceTable\",\"namespace\":\"gr.grnet.aquarium.message.avro.gen\",\"fields\":[{\"name\":\"priceOverrides\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"_EffectiveUnitPrice\",\"fields\":[{\"name\":\"unitPrice\",\"type\":\"double\"},{\"name\":\"when\",\"type\":[{\"type\":\"record\",\"name\":\"_CronSpecTuple\",\"fields\":[{\"name\":\"a\",\"type\":\"string\"},{\"name\":\"b\",\"type\":\"string\"}]},\"null\"]}]}}}]}");
-  @Deprecated public java.util.List<gr.grnet.aquarium.message.avro.gen._EffectiveUnitPrice> priceOverrides;
-  public org.apache.avro.Schema getSchema() { return SCHEMA$; }
-  // Used by DatumWriter.  Applications should not call. 
-  public java.lang.Object get(int field$) {
-    switch (field$) {
-    case 0: return priceOverrides;
-    default: throw new org.apache.avro.AvroRuntimeException("Bad index");
-    }
-  }
-  // Used by DatumReader.  Applications should not call. 
-  @SuppressWarnings(value="unchecked")
-  public void put(int field$, java.lang.Object value$) {
-    switch (field$) {
-    case 0: priceOverrides = (java.util.List<gr.grnet.aquarium.message.avro.gen._EffectiveUnitPrice>)value$; break;
-    default: throw new org.apache.avro.AvroRuntimeException("Bad index");
-    }
-  }
-
-  /**
-   * Gets the value of the 'priceOverrides' field.
-   */
-  public java.util.List<gr.grnet.aquarium.message.avro.gen._EffectiveUnitPrice> getPriceOverrides() {
-    return priceOverrides;
-  }
-
-  /**
-   * Sets the value of the 'priceOverrides' field.
-   * @param value the value to set.
-   */
-  public void setPriceOverrides(java.util.List<gr.grnet.aquarium.message.avro.gen._EffectiveUnitPrice> value) {
-    this.priceOverrides = value;
-  }
-
-  /** Creates a new _EffectivePriceTable RecordBuilder */
-  public static gr.grnet.aquarium.message.avro.gen._EffectivePriceTable.Builder newBuilder() {
-    return new gr.grnet.aquarium.message.avro.gen._EffectivePriceTable.Builder();
-  }
-  
-  /** Creates a new _EffectivePriceTable RecordBuilder by copying an existing Builder */
-  public static gr.grnet.aquarium.message.avro.gen._EffectivePriceTable.Builder newBuilder(gr.grnet.aquarium.message.avro.gen._EffectivePriceTable.Builder other) {
-    return new gr.grnet.aquarium.message.avro.gen._EffectivePriceTable.Builder(other);
-  }
-  
-  /** Creates a new _EffectivePriceTable RecordBuilder by copying an existing _EffectivePriceTable instance */
-  public static gr.grnet.aquarium.message.avro.gen._EffectivePriceTable.Builder newBuilder(gr.grnet.aquarium.message.avro.gen._EffectivePriceTable other) {
-    return new gr.grnet.aquarium.message.avro.gen._EffectivePriceTable.Builder(other);
-  }
-  
-  /**
-   * RecordBuilder for _EffectivePriceTable instances.
-   */
-  public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase<_EffectivePriceTable>
-    implements org.apache.avro.data.RecordBuilder<_EffectivePriceTable> {
-
-    private java.util.List<gr.grnet.aquarium.message.avro.gen._EffectiveUnitPrice> priceOverrides;
-
-    /** Creates a new Builder */
-    private Builder() {
-      super(gr.grnet.aquarium.message.avro.gen._EffectivePriceTable.SCHEMA$);
-    }
-    
-    /** Creates a Builder by copying an existing Builder */
-    private Builder(gr.grnet.aquarium.message.avro.gen._EffectivePriceTable.Builder other) {
-      super(other);
-    }
-    
-    /** Creates a Builder by copying an existing _EffectivePriceTable instance */
-    private Builder(gr.grnet.aquarium.message.avro.gen._EffectivePriceTable other) {
-            super(gr.grnet.aquarium.message.avro.gen._EffectivePriceTable.SCHEMA$);
-      if (isValidValue(fields()[0], other.priceOverrides)) {
-        this.priceOverrides = (java.util.List<gr.grnet.aquarium.message.avro.gen._EffectiveUnitPrice>) data().deepCopy(fields()[0].schema(), other.priceOverrides);
-        fieldSetFlags()[0] = true;
-      }
-    }
-
-    /** Gets the value of the 'priceOverrides' field */
-    public java.util.List<gr.grnet.aquarium.message.avro.gen._EffectiveUnitPrice> getPriceOverrides() {
-      return priceOverrides;
-    }
-    
-    /** Sets the value of the 'priceOverrides' field */
-    public gr.grnet.aquarium.message.avro.gen._EffectivePriceTable.Builder setPriceOverrides(java.util.List<gr.grnet.aquarium.message.avro.gen._EffectiveUnitPrice> value) {
-      validate(fields()[0], value);
-      this.priceOverrides = value;
-      fieldSetFlags()[0] = true;
-      return this; 
-    }
-    
-    /** Checks whether the 'priceOverrides' field has been set */
-    public boolean hasPriceOverrides() {
-      return fieldSetFlags()[0];
-    }
-    
-    /** Clears the value of the 'priceOverrides' field */
-    public gr.grnet.aquarium.message.avro.gen._EffectivePriceTable.Builder clearPriceOverrides() {
-      priceOverrides = null;
-      fieldSetFlags()[0] = false;
-      return this;
-    }
-
-    @Override
-    public _EffectivePriceTable build() {
-      try {
-        _EffectivePriceTable record = new _EffectivePriceTable();
-        record.priceOverrides = fieldSetFlags()[0] ? this.priceOverrides : (java.util.List<gr.grnet.aquarium.message.avro.gen._EffectiveUnitPrice>) defaultValue(fields()[0]);
-        return record;
-      } catch (Exception e) {
-        throw new org.apache.avro.AvroRuntimeException(e);
-      }
-    }
-  }
-}
diff --git a/src/main/java/gr/grnet/aquarium/message/avro/gen/_FullPriceTable.java b/src/main/java/gr/grnet/aquarium/message/avro/gen/_FullPriceTable.java
deleted file mode 100644 (file)
index d699a0b..0000000
+++ /dev/null
@@ -1,121 +0,0 @@
-/**
- * Autogenerated by Avro
- * 
- * DO NOT EDIT DIRECTLY
- */
-package gr.grnet.aquarium.message.avro.gen;  
-@SuppressWarnings("all")
-public class _FullPriceTable extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
-  public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"_FullPriceTable\",\"namespace\":\"gr.grnet.aquarium.message.avro.gen\",\"fields\":[{\"name\":\"perResource\",\"type\":{\"type\":\"map\",\"values\":{\"type\":\"map\",\"values\":{\"type\":\"record\",\"name\":\"_SelectorValue\",\"fields\":[{\"name\":\"selectorValue\",\"type\":[{\"type\":\"record\",\"name\":\"_EffectivePriceTable\",\"fields\":[{\"name\":\"priceOverrides\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"_EffectiveUnitPrice\",\"fields\":[{\"name\":\"unitPrice\",\"type\":\"double\"},{\"name\":\"when\",\"type\":[{\"type\":\"record\",\"name\":\"_CronSpecTuple\",\"fields\":[{\"name\":\"a\",\"type\":\"string\"},{\"name\":\"b\",\"type\":\"string\"}]},\"null\"]}]}}}]},{\"type\":\"map\",\"values\":\"_SelectorValue\"}]}]}}}}]}");
-  @Deprecated public java.util.Map<java.lang.CharSequence,java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._SelectorValue>> perResource;
-  public org.apache.avro.Schema getSchema() { return SCHEMA$; }
-  // Used by DatumWriter.  Applications should not call. 
-  public java.lang.Object get(int field$) {
-    switch (field$) {
-    case 0: return perResource;
-    default: throw new org.apache.avro.AvroRuntimeException("Bad index");
-    }
-  }
-  // Used by DatumReader.  Applications should not call. 
-  @SuppressWarnings(value="unchecked")
-  public void put(int field$, java.lang.Object value$) {
-    switch (field$) {
-    case 0: perResource = (java.util.Map<java.lang.CharSequence,java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._SelectorValue>>)value$; break;
-    default: throw new org.apache.avro.AvroRuntimeException("Bad index");
-    }
-  }
-
-  /**
-   * Gets the value of the 'perResource' field.
-   */
-  public java.util.Map<java.lang.CharSequence,java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._SelectorValue>> getPerResource() {
-    return perResource;
-  }
-
-  /**
-   * Sets the value of the 'perResource' field.
-   * @param value the value to set.
-   */
-  public void setPerResource(java.util.Map<java.lang.CharSequence,java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._SelectorValue>> value) {
-    this.perResource = value;
-  }
-
-  /** Creates a new _FullPriceTable RecordBuilder */
-  public static gr.grnet.aquarium.message.avro.gen._FullPriceTable.Builder newBuilder() {
-    return new gr.grnet.aquarium.message.avro.gen._FullPriceTable.Builder();
-  }
-  
-  /** Creates a new _FullPriceTable RecordBuilder by copying an existing Builder */
-  public static gr.grnet.aquarium.message.avro.gen._FullPriceTable.Builder newBuilder(gr.grnet.aquarium.message.avro.gen._FullPriceTable.Builder other) {
-    return new gr.grnet.aquarium.message.avro.gen._FullPriceTable.Builder(other);
-  }
-  
-  /** Creates a new _FullPriceTable RecordBuilder by copying an existing _FullPriceTable instance */
-  public static gr.grnet.aquarium.message.avro.gen._FullPriceTable.Builder newBuilder(gr.grnet.aquarium.message.avro.gen._FullPriceTable other) {
-    return new gr.grnet.aquarium.message.avro.gen._FullPriceTable.Builder(other);
-  }
-  
-  /**
-   * RecordBuilder for _FullPriceTable instances.
-   */
-  public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase<_FullPriceTable>
-    implements org.apache.avro.data.RecordBuilder<_FullPriceTable> {
-
-    private java.util.Map<java.lang.CharSequence,java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._SelectorValue>> perResource;
-
-    /** Creates a new Builder */
-    private Builder() {
-      super(gr.grnet.aquarium.message.avro.gen._FullPriceTable.SCHEMA$);
-    }
-    
-    /** Creates a Builder by copying an existing Builder */
-    private Builder(gr.grnet.aquarium.message.avro.gen._FullPriceTable.Builder other) {
-      super(other);
-    }
-    
-    /** Creates a Builder by copying an existing _FullPriceTable instance */
-    private Builder(gr.grnet.aquarium.message.avro.gen._FullPriceTable other) {
-            super(gr.grnet.aquarium.message.avro.gen._FullPriceTable.SCHEMA$);
-      if (isValidValue(fields()[0], other.perResource)) {
-        this.perResource = (java.util.Map<java.lang.CharSequence,java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._SelectorValue>>) data().deepCopy(fields()[0].schema(), other.perResource);
-        fieldSetFlags()[0] = true;
-      }
-    }
-
-    /** Gets the value of the 'perResource' field */
-    public java.util.Map<java.lang.CharSequence,java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._SelectorValue>> getPerResource() {
-      return perResource;
-    }
-    
-    /** Sets the value of the 'perResource' field */
-    public gr.grnet.aquarium.message.avro.gen._FullPriceTable.Builder setPerResource(java.util.Map<java.lang.CharSequence,java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._SelectorValue>> value) {
-      validate(fields()[0], value);
-      this.perResource = value;
-      fieldSetFlags()[0] = true;
-      return this; 
-    }
-    
-    /** Checks whether the 'perResource' field has been set */
-    public boolean hasPerResource() {
-      return fieldSetFlags()[0];
-    }
-    
-    /** Clears the value of the 'perResource' field */
-    public gr.grnet.aquarium.message.avro.gen._FullPriceTable.Builder clearPerResource() {
-      perResource = null;
-      fieldSetFlags()[0] = false;
-      return this;
-    }
-
-    @Override
-    public _FullPriceTable build() {
-      try {
-        _FullPriceTable record = new _FullPriceTable();
-        record.perResource = fieldSetFlags()[0] ? this.perResource : (java.util.Map<java.lang.CharSequence,java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._SelectorValue>>) defaultValue(fields()[0]);
-        return record;
-      } catch (Exception e) {
-        throw new org.apache.avro.AvroRuntimeException(e);
-      }
-    }
-  }
-}
diff --git a/src/main/java/gr/grnet/aquarium/message/avro/gen/_WorkingAgreementHistory.java b/src/main/java/gr/grnet/aquarium/message/avro/gen/_WorkingAgreementHistory.java
deleted file mode 100644 (file)
index a6d34d7..0000000
+++ /dev/null
@@ -1,121 +0,0 @@
-/**
- * Autogenerated by Avro
- * 
- * DO NOT EDIT DIRECTLY
- */
-package gr.grnet.aquarium.message.avro.gen;  
-@SuppressWarnings("all")
-public class _WorkingAgreementHistory extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
-  public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"_WorkingAgreementHistory\",\"namespace\":\"gr.grnet.aquarium.message.avro.gen\",\"fields\":[{\"name\":\"agreements\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"_UserAgreement\",\"fields\":[{\"name\":\"id\",\"type\":\"string\"},{\"name\":\"relatedIMEventID\",\"type\":[\"string\",\"null\"]},{\"name\":\"validFromMillis\",\"type\":\"long\"},{\"name\":\"validToMillis\",\"type\":\"long\"},{\"name\":\"role\",\"type\":\"string\"},{\"name\":\"fullPriceTableRef\",\"type\":[{\"type\":\"record\",\"name\":\"_FullPriceTable\",\"fields\":[{\"name\":\"perResource\",\"type\":{\"type\":\"map\",\"values\":{\"type\":\"map\",\"values\":{\"type\":\"record\",\"name\":\"_SelectorValue\",\"fields\":[{\"name\":\"selectorValue\",\"type\":[{\"type\":\"record\",\"name\":\"_EffectivePriceTable\",\"fields\":[{\"name\":\"priceOverrides\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"_EffectiveUnitPrice\",\"fields\":[{\"name\":\"unitPrice\",\"type\":\"double\"},{\"name\":\"when\",\"type\":[{\"type\":\"record\",\"name\":\"_CronSpecTuple\",\"fields\":[{\"name\":\"a\",\"type\":\"string\"},{\"name\":\"b\",\"type\":\"string\"}]},\"null\"]}]}}}]},{\"type\":\"map\",\"values\":\"_SelectorValue\"}]}]}}}}]},\"null\"]}]}}}]}");
-  @Deprecated public java.util.List<gr.grnet.aquarium.message.avro.gen._UserAgreement> agreements;
-  public org.apache.avro.Schema getSchema() { return SCHEMA$; }
-  // Used by DatumWriter.  Applications should not call. 
-  public java.lang.Object get(int field$) {
-    switch (field$) {
-    case 0: return agreements;
-    default: throw new org.apache.avro.AvroRuntimeException("Bad index");
-    }
-  }
-  // Used by DatumReader.  Applications should not call. 
-  @SuppressWarnings(value="unchecked")
-  public void put(int field$, java.lang.Object value$) {
-    switch (field$) {
-    case 0: agreements = (java.util.List<gr.grnet.aquarium.message.avro.gen._UserAgreement>)value$; break;
-    default: throw new org.apache.avro.AvroRuntimeException("Bad index");
-    }
-  }
-
-  /**
-   * Gets the value of the 'agreements' field.
-   */
-  public java.util.List<gr.grnet.aquarium.message.avro.gen._UserAgreement> getAgreements() {
-    return agreements;
-  }
-
-  /**
-   * Sets the value of the 'agreements' field.
-   * @param value the value to set.
-   */
-  public void setAgreements(java.util.List<gr.grnet.aquarium.message.avro.gen._UserAgreement> value) {
-    this.agreements = value;
-  }
-
-  /** Creates a new _WorkingAgreementHistory RecordBuilder */
-  public static gr.grnet.aquarium.message.avro.gen._WorkingAgreementHistory.Builder newBuilder() {
-    return new gr.grnet.aquarium.message.avro.gen._WorkingAgreementHistory.Builder();
-  }
-  
-  /** Creates a new _WorkingAgreementHistory RecordBuilder by copying an existing Builder */
-  public static gr.grnet.aquarium.message.avro.gen._WorkingAgreementHistory.Builder newBuilder(gr.grnet.aquarium.message.avro.gen._WorkingAgreementHistory.Builder other) {
-    return new gr.grnet.aquarium.message.avro.gen._WorkingAgreementHistory.Builder(other);
-  }
-  
-  /** Creates a new _WorkingAgreementHistory RecordBuilder by copying an existing _WorkingAgreementHistory instance */
-  public static gr.grnet.aquarium.message.avro.gen._WorkingAgreementHistory.Builder newBuilder(gr.grnet.aquarium.message.avro.gen._WorkingAgreementHistory other) {
-    return new gr.grnet.aquarium.message.avro.gen._WorkingAgreementHistory.Builder(other);
-  }
-  
-  /**
-   * RecordBuilder for _WorkingAgreementHistory instances.
-   */
-  public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase<_WorkingAgreementHistory>
-    implements org.apache.avro.data.RecordBuilder<_WorkingAgreementHistory> {
-
-    private java.util.List<gr.grnet.aquarium.message.avro.gen._UserAgreement> agreements;
-
-    /** Creates a new Builder */
-    private Builder() {
-      super(gr.grnet.aquarium.message.avro.gen._WorkingAgreementHistory.SCHEMA$);
-    }
-    
-    /** Creates a Builder by copying an existing Builder */
-    private Builder(gr.grnet.aquarium.message.avro.gen._WorkingAgreementHistory.Builder other) {
-      super(other);
-    }
-    
-    /** Creates a Builder by copying an existing _WorkingAgreementHistory instance */
-    private Builder(gr.grnet.aquarium.message.avro.gen._WorkingAgreementHistory other) {
-            super(gr.grnet.aquarium.message.avro.gen._WorkingAgreementHistory.SCHEMA$);
-      if (isValidValue(fields()[0], other.agreements)) {
-        this.agreements = (java.util.List<gr.grnet.aquarium.message.avro.gen._UserAgreement>) data().deepCopy(fields()[0].schema(), other.agreements);
-        fieldSetFlags()[0] = true;
-      }
-    }
-
-    /** Gets the value of the 'agreements' field */
-    public java.util.List<gr.grnet.aquarium.message.avro.gen._UserAgreement> getAgreements() {
-      return agreements;
-    }
-    
-    /** Sets the value of the 'agreements' field */
-    public gr.grnet.aquarium.message.avro.gen._WorkingAgreementHistory.Builder setAgreements(java.util.List<gr.grnet.aquarium.message.avro.gen._UserAgreement> value) {
-      validate(fields()[0], value);
-      this.agreements = value;
-      fieldSetFlags()[0] = true;
-      return this; 
-    }
-    
-    /** Checks whether the 'agreements' field has been set */
-    public boolean hasAgreements() {
-      return fieldSetFlags()[0];
-    }
-    
-    /** Clears the value of the 'agreements' field */
-    public gr.grnet.aquarium.message.avro.gen._WorkingAgreementHistory.Builder clearAgreements() {
-      agreements = null;
-      fieldSetFlags()[0] = false;
-      return this;
-    }
-
-    @Override
-    public _WorkingAgreementHistory build() {
-      try {
-        _WorkingAgreementHistory record = new _WorkingAgreementHistory();
-        record.agreements = fieldSetFlags()[0] ? this.agreements : (java.util.List<gr.grnet.aquarium.message.avro.gen._UserAgreement>) defaultValue(fields()[0]);
-        return record;
-      } catch (Exception e) {
-        throw new org.apache.avro.AvroRuntimeException(e);
-      }
-    }
-  }
-}
diff --git a/src/main/java/gr/grnet/aquarium/message/avro/gen/_WorkingResourcesChargingState.java b/src/main/java/gr/grnet/aquarium/message/avro/gen/_WorkingResourcesChargingState.java
deleted file mode 100644 (file)
index e78b48f..0000000
+++ /dev/null
@@ -1,170 +0,0 @@
-/**
- * Autogenerated by Avro
- * 
- * DO NOT EDIT DIRECTLY
- */
-package gr.grnet.aquarium.message.avro.gen;  
-@SuppressWarnings("all")
-public class _WorkingResourcesChargingState extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
-  public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"_WorkingResourcesChargingState\",\"namespace\":\"gr.grnet.aquarium.message.avro.gen\",\"fields\":[{\"name\":\"details\",\"type\":{\"type\":\"map\",\"values\":{\"type\":\"record\",\"name\":\"_AnyValue\",\"fields\":[{\"name\":\"anyValue\",\"type\":[\"null\",\"int\",\"long\",\"boolean\",\"double\",\"bytes\",\"string\"]}]}}},{\"name\":\"stateOfResourceInstance\",\"type\":{\"type\":\"map\",\"values\":{\"type\":\"record\",\"name\":\"_WorkingResourceInstanceChargingState\",\"fields\":[{\"name\":\"details\",\"type\":{\"type\":\"map\",\"values\":\"_AnyValue\"}},{\"name\":\"previousEvents\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"_ResourceEvent\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"aliases\":[\"originalID\",\"ID\"]},{\"name\":\"idInStore\",\"type\":\"string\"},{\"name\":\"occurredMillis\",\"type\":\"long\"},{\"name\":\"receivedMillis\",\"type\":\"long\",\"default\":0},{\"name\":\"userID\",\"type\":\"string\"},{\"name\":\"clientID\",\"type\":\"string\"},{\"name\":\"eventVersion\",\"type\":\"string\",\"default\":\"1.0\"},{\"name\":\"resource\",\"type\":\"string\",\"aliases\":[\"resourceType\"]},{\"name\":\"instanceID\",\"type\":\"string\"},{\"name\":\"value\",\"type\":\"string\"},{\"name\":\"details\",\"type\":{\"type\":\"map\",\"values\":\"_AnyValue\"}}]}}},{\"name\":\"implicitlyIssuedStartEvents\",\"type\":{\"type\":\"array\",\"items\":\"_ResourceEvent\"}},{\"name\":\"accumulatingAmount\",\"type\":\"double\"},{\"name\":\"oldAccumulatingAmount\",\"type\":\"double\"},{\"name\":\"previousValue\",\"type\":\"double\"},{\"name\":\"currentValue\",\"type\":\"double\"}]}}}]}");
-  @Deprecated public java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._AnyValue> details;
-  @Deprecated public java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._WorkingResourceInstanceChargingState> stateOfResourceInstance;
-  public org.apache.avro.Schema getSchema() { return SCHEMA$; }
-  // Used by DatumWriter.  Applications should not call. 
-  public java.lang.Object get(int field$) {
-    switch (field$) {
-    case 0: return details;
-    case 1: return stateOfResourceInstance;
-    default: throw new org.apache.avro.AvroRuntimeException("Bad index");
-    }
-  }
-  // Used by DatumReader.  Applications should not call. 
-  @SuppressWarnings(value="unchecked")
-  public void put(int field$, java.lang.Object value$) {
-    switch (field$) {
-    case 0: details = (java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._AnyValue>)value$; break;
-    case 1: stateOfResourceInstance = (java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._WorkingResourceInstanceChargingState>)value$; break;
-    default: throw new org.apache.avro.AvroRuntimeException("Bad index");
-    }
-  }
-
-  /**
-   * Gets the value of the 'details' field.
-   */
-  public java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._AnyValue> getDetails() {
-    return details;
-  }
-
-  /**
-   * Sets the value of the 'details' field.
-   * @param value the value to set.
-   */
-  public void setDetails(java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._AnyValue> value) {
-    this.details = value;
-  }
-
-  /**
-   * Gets the value of the 'stateOfResourceInstance' field.
-   */
-  public java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._WorkingResourceInstanceChargingState> getStateOfResourceInstance() {
-    return stateOfResourceInstance;
-  }
-
-  /**
-   * Sets the value of the 'stateOfResourceInstance' field.
-   * @param value the value to set.
-   */
-  public void setStateOfResourceInstance(java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._WorkingResourceInstanceChargingState> value) {
-    this.stateOfResourceInstance = value;
-  }
-
-  /** Creates a new _WorkingResourcesChargingState RecordBuilder */
-  public static gr.grnet.aquarium.message.avro.gen._WorkingResourcesChargingState.Builder newBuilder() {
-    return new gr.grnet.aquarium.message.avro.gen._WorkingResourcesChargingState.Builder();
-  }
-  
-  /** Creates a new _WorkingResourcesChargingState RecordBuilder by copying an existing Builder */
-  public static gr.grnet.aquarium.message.avro.gen._WorkingResourcesChargingState.Builder newBuilder(gr.grnet.aquarium.message.avro.gen._WorkingResourcesChargingState.Builder other) {
-    return new gr.grnet.aquarium.message.avro.gen._WorkingResourcesChargingState.Builder(other);
-  }
-  
-  /** Creates a new _WorkingResourcesChargingState RecordBuilder by copying an existing _WorkingResourcesChargingState instance */
-  public static gr.grnet.aquarium.message.avro.gen._WorkingResourcesChargingState.Builder newBuilder(gr.grnet.aquarium.message.avro.gen._WorkingResourcesChargingState other) {
-    return new gr.grnet.aquarium.message.avro.gen._WorkingResourcesChargingState.Builder(other);
-  }
-  
-  /**
-   * RecordBuilder for _WorkingResourcesChargingState instances.
-   */
-  public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase<_WorkingResourcesChargingState>
-    implements org.apache.avro.data.RecordBuilder<_WorkingResourcesChargingState> {
-
-    private java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._AnyValue> details;
-    private java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._WorkingResourceInstanceChargingState> stateOfResourceInstance;
-
-    /** Creates a new Builder */
-    private Builder() {
-      super(gr.grnet.aquarium.message.avro.gen._WorkingResourcesChargingState.SCHEMA$);
-    }
-    
-    /** Creates a Builder by copying an existing Builder */
-    private Builder(gr.grnet.aquarium.message.avro.gen._WorkingResourcesChargingState.Builder other) {
-      super(other);
-    }
-    
-    /** Creates a Builder by copying an existing _WorkingResourcesChargingState instance */
-    private Builder(gr.grnet.aquarium.message.avro.gen._WorkingResourcesChargingState other) {
-            super(gr.grnet.aquarium.message.avro.gen._WorkingResourcesChargingState.SCHEMA$);
-      if (isValidValue(fields()[0], other.details)) {
-        this.details = (java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._AnyValue>) data().deepCopy(fields()[0].schema(), other.details);
-        fieldSetFlags()[0] = true;
-      }
-      if (isValidValue(fields()[1], other.stateOfResourceInstance)) {
-        this.stateOfResourceInstance = (java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._WorkingResourceInstanceChargingState>) data().deepCopy(fields()[1].schema(), other.stateOfResourceInstance);
-        fieldSetFlags()[1] = true;
-      }
-    }
-
-    /** Gets the value of the 'details' field */
-    public java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._AnyValue> getDetails() {
-      return details;
-    }
-    
-    /** Sets the value of the 'details' field */
-    public gr.grnet.aquarium.message.avro.gen._WorkingResourcesChargingState.Builder setDetails(java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._AnyValue> value) {
-      validate(fields()[0], value);
-      this.details = value;
-      fieldSetFlags()[0] = true;
-      return this; 
-    }
-    
-    /** Checks whether the 'details' field has been set */
-    public boolean hasDetails() {
-      return fieldSetFlags()[0];
-    }
-    
-    /** Clears the value of the 'details' field */
-    public gr.grnet.aquarium.message.avro.gen._WorkingResourcesChargingState.Builder clearDetails() {
-      details = null;
-      fieldSetFlags()[0] = false;
-      return this;
-    }
-
-    /** Gets the value of the 'stateOfResourceInstance' field */
-    public java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._WorkingResourceInstanceChargingState> getStateOfResourceInstance() {
-      return stateOfResourceInstance;
-    }
-    
-    /** Sets the value of the 'stateOfResourceInstance' field */
-    public gr.grnet.aquarium.message.avro.gen._WorkingResourcesChargingState.Builder setStateOfResourceInstance(java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._WorkingResourceInstanceChargingState> value) {
-      validate(fields()[1], value);
-      this.stateOfResourceInstance = value;
-      fieldSetFlags()[1] = true;
-      return this; 
-    }
-    
-    /** Checks whether the 'stateOfResourceInstance' field has been set */
-    public boolean hasStateOfResourceInstance() {
-      return fieldSetFlags()[1];
-    }
-    
-    /** Clears the value of the 'stateOfResourceInstance' field */
-    public gr.grnet.aquarium.message.avro.gen._WorkingResourcesChargingState.Builder clearStateOfResourceInstance() {
-      stateOfResourceInstance = null;
-      fieldSetFlags()[1] = false;
-      return this;
-    }
-
-    @Override
-    public _WorkingResourcesChargingState build() {
-      try {
-        _WorkingResourcesChargingState record = new _WorkingResourcesChargingState();
-        record.details = fieldSetFlags()[0] ? this.details : (java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._AnyValue>) defaultValue(fields()[0]);
-        record.stateOfResourceInstance = fieldSetFlags()[1] ? this.stateOfResourceInstance : (java.util.Map<java.lang.CharSequence,gr.grnet.aquarium.message.avro.gen._WorkingResourceInstanceChargingState>) defaultValue(fields()[1]);
-        return record;
-      } catch (Exception e) {
-        throw new org.apache.avro.AvroRuntimeException(e);
-      }
-    }
-  }
-}
index 9714773..4574b87 100644 (file)
@@ -44,6 +44,7 @@ import org.apache.avro.specific.{SpecificDatumWriter, SpecificRecord}
 
 
 /**
+ * Provides helper methods for generic Avro-related facilities.
  *
  * @author Christos KK Loverdos <loverdos@gmail.com>
  */
diff --git a/src/main/scala/gr/grnet/aquarium/message/avro/FullPriceTableHelpers.scala b/src/main/scala/gr/grnet/aquarium/message/avro/FullPriceTableHelpers.scala
deleted file mode 100644 (file)
index ef672ea..0000000
+++ /dev/null
@@ -1,184 +0,0 @@
-/*
- * Copyright 2011-2012 GRNET S.A. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or
- * without modification, are permitted provided that the following
- * conditions are met:
- *
- *   1. Redistributions of source code must retain the above
- *      copyright notice, this list of conditions and the following
- *      disclaimer.
- *
- *   2. Redistributions in binary form must reproduce the above
- *      copyright notice, this list of conditions and the following
- *      disclaimer in the documentation and/or other materials
- *      provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY GRNET S.A. ``AS IS'' AND ANY EXPRESS
- * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GRNET S.A OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- * The views and conclusions contained in the software and
- * documentation are those of the authors and should not be
- * interpreted as representing official policies, either expressed
- * or implied, of GRNET S.A.
- */
-
-package gr.grnet.aquarium.message.avro
-
-import gr.grnet.aquarium.message.avro.gen.{_EffectivePriceTable, _FullPriceTable}
-import gr.grnet.aquarium.AquariumInternalError
-import gr.grnet.aquarium.util.shortNameOfType
-import gr.grnet.aquarium.util.LogHelpers.Debug
-import org.slf4j.Logger
-import scala.annotation.tailrec
-import java.{util ⇒ ju}
-
-/**
- *
- * @author Christos KK Loverdos <loverdos@gmail.com>
- */
-object FullPriceTableHelpers {
-  final val DefaultSelectorKey = "default"
-
-  def effectivePriceTableOfSelectorForResource(
-      fullPriceTable: _FullPriceTable,
-      selectorPath: List[CharSequence],
-      resource: String,
-      logger: Logger
-  ): _EffectivePriceTable = {
-
-      // Most of the code is for exceptional cases, which we identify in detail.
-      @tailrec
-      def find(
-          partialSelectorPath: List[CharSequence],
-          partialSelectorData: Any
-      ): _EffectivePriceTable = {
-
-        Debug(logger, "find: ")
-        Debug(logger, "  partialSelectorPath = %s", partialSelectorPath.mkString("/"))
-        Debug(logger, "  partialSelectorData = %s", partialSelectorData)
-
-        partialSelectorPath match {
-          case selector :: Nil ⇒
-            // One selector, meaning that the selectorData must be a Map[String, EffectivePriceTable]
-            partialSelectorData match {
-              case selectorMap: ju.Map[_,_] ⇒
-                // The selectorData is a map indeed
-                selectorMap.asInstanceOf[ju.Map[String, _]].get(selector) match {
-                  case null ⇒
-                    // The selectorData is a map but it does nto contain the selector
-                    throw new AquariumInternalError(
-                      "[AQU-SEL-002] Cannot select path %s for resource %s. Nothing found at partial selector path %s".format(
-                        selectorPath.mkString("/"),
-                        resource,
-                        partialSelectorPath.mkString("/")
-                      )
-                    )
-
-                  case selected: _EffectivePriceTable ⇒
-                    // Yes, it is a map of the right type (OK, we assume keys are always Strings)
-                    // (we only check the value type)
-                    selected
-
-                  case badSelected ⇒
-                    // The selectorData is a map but the value is not of the required type
-                    throw new AquariumInternalError(
-                      "[AQU-SEL-001] Cannot select path %s for resource %s. Found %s instead of an %s at partial selector path %s".format(
-                        selectorPath.mkString("/"),
-                        resource,
-                        badSelected,
-                        shortNameOfType[_EffectivePriceTable],
-                        partialSelectorPath.mkString("/")
-                      )
-                    )
-                }
-
-
-              case badData ⇒
-                // The selectorData is not a map. So we have just one final selector but no map to select from.
-                throw new AquariumInternalError(
-                  "[AQU-SEL-003] Cannot select path %s for resource %s. Found %s instead of a Map at partial selector path %s".format(
-                    selectorPath.mkString("/"),
-                    resource,
-                    badData,
-                    partialSelectorPath.mkString("/")
-                  )
-                )
-            }
-
-          case selector :: selectorTail ⇒
-            // More than one selector in the path, meaning that the selectorData must be a Map[String, Map[String, _]]
-            partialSelectorData match {
-              case selectorMap: ju.Map[_,_] ⇒
-               // The selectorData is a map indeed
-                selectorMap.asInstanceOf[ju.Map[String,_]].get(selector) match {
-                  case null ⇒
-                    // The selectorData is a map but it does not contain the selector
-                    throw new AquariumInternalError(
-                      "[AQU-SEL-005] Cannot select path %s for resource %s. Nothing found at partial selector path %s".format(
-                        selectorPath.mkString("/"),
-                        resource,
-                        partialSelectorPath.mkString("/")
-                      )
-                    )
-
-                  case furtherSelectorMap: ju.Map[_,_] ⇒
-                    // The selectorData is a map and we found the respective value for the selector to be a map.
-                    find(selectorTail, furtherSelectorMap)
-
-                  case furtherBad ⇒
-                    // The selectorData is a map but the respective value is not a map, so that
-                    // the selectorTail path cannot be used.
-                    throw new AquariumInternalError(
-                      "[AQU-SEL-004] Cannot select path %s for resource %s. Found %s instead of a Map at partial selector path %s".format(
-                        selectorPath.mkString("/"),
-                        resource,
-                        furtherBad,
-                        partialSelectorPath.mkString("/")
-                       )
-                    )
-                }
-
-              case badData ⇒
-                // The selectorData is not a Map. So we have more than one selectors but no map to select from.
-                throw new AquariumInternalError(
-                  "[AQU-SEL-006] Cannot select path %s for resource %s. Found %s instead of a Map at partial selector path %s".format(
-                    selectorPath.mkString("/"),
-                    resource,
-                    badData,
-                    partialSelectorPath.mkString("/")
-                  )
-                )
-            }
-
-          case Nil ⇒
-            throw new AquariumInternalError(
-              "[AQU-SEL-007] No selector path for resource %s".format(resource)
-            )
-
-        }
-      }
-
-      Debug(logger, "effectivePriceTableOfSelectorForResource:")
-      Debug(logger, "  selectorPath = %s", selectorPath.mkString("/"))
-
-      val selectorData = fullPriceTable.getPerResource().get(resource)
-      if(selectorData eq null) {
-        throw new AquariumInternalError("Unknown resource type '%s'", resource)
-      }
-
-      Debug(logger, "  selectorData = %s", selectorData)
-      find(selectorPath, selectorData)
-  }
-
-}
index 17e4dd1..9be9612 100644 (file)
@@ -44,74 +44,66 @@ import scala.collection.JavaConverters.seqAsJavaListConverter
  * @author Christos KK Loverdos <loverdos@gmail.com>
  */
 object MessageFactory {
-  def newEffectiveUnitPrice(unitPrice: Double, whenOpt: Option[_CronSpecTuple] = None) = {
-    _EffectiveUnitPrice.newBuilder().
+  def newEffectiveUnitPriceMsg(unitPrice: Double, whenOpt: Option[CronSpecTupleMsg] = None) = {
+    EffectiveUnitPriceMsg.newBuilder().
       setUnitPrice(unitPrice).
       setWhen(whenOpt.getOrElse(null)).
     build()
   }
 
-  def newEffectivePriceTable(priceOverrides: _EffectiveUnitPrice*) = {
-    _EffectivePriceTable.newBuilder().
+  def newEffectivePriceTableMsg(priceOverrides: EffectiveUnitPriceMsg*) = {
+    EffectivePriceTableMsg.newBuilder().
       setPriceOverrides(priceOverrides.asJava).
     build()
   }
 
-  def newSelectorValue(ept: _EffectivePriceTable): _SelectorValue = {
-    _SelectorValue.newBuilder().
+  def newSelectorValueMsg(ept: EffectivePriceTableMsg): SelectorValueMsg = {
+    SelectorValueMsg.newBuilder().
       setSelectorValue(ept).
     build()
   }
 
-  def newSelectorValue(map: Map[CharSequence, _SelectorValue]): _SelectorValue = {
-    _SelectorValue.newBuilder().
+  def newSelectorValueMsg(map: Map[CharSequence, SelectorValueMsg]): SelectorValueMsg = {
+    SelectorValueMsg.newBuilder().
       setSelectorValue(map.asJava).
     build()
   }
 
-  def newSelectorValue(pairs: (CharSequence, _SelectorValue)*): _SelectorValue = {
-    _SelectorValue.newBuilder().
+  def newSelectorValueMsg(pairs: (CharSequence, SelectorValueMsg)*): SelectorValueMsg = {
+    SelectorValueMsg.newBuilder().
       setSelectorValue(Map(pairs:_*).asJava).
     build()
   }
 
-//  def newFullPriceTable(perResource: Map[CharSequence, Map[CharSequence, _SelectorValue]]) = {
-//    _FullPriceTable.newBuilder().
-//      setPerResource(
-//        (for((k, v) ← perResource) yield (k, v.asJava)).asJava
-//      ).
-//    build()
-//  }
-
-  def newFullPriceTable(perResource: (CharSequence, Map[CharSequence, _SelectorValue])*) = {
-    _FullPriceTable.newBuilder().
+  def newFullPriceTableMsg(perResource: (CharSequence, Map[CharSequence, SelectorValueMsg])*) = {
+    FullPriceTableMsg.newBuilder().
       setPerResource(
         Map((for((k, v) ← perResource) yield (k, v.asJava)):_*).asJava
       ).
     build()
   }
 
-  def newRoleMapping(map: Map[CharSequence, _FullPriceTable]): java.util.Map[CharSequence, _FullPriceTable] = {
+  def newRoleMappingMsg(map: Map[CharSequence, FullPriceTableMsg]): java.util.Map[CharSequence, FullPriceTableMsg] = {
     map.asJava
   }
 
-  def newRoleMapping(pairs: (CharSequence, _FullPriceTable)*): java.util.Map[CharSequence, _FullPriceTable] = {
+  def newRoleMappingMsg(pairs: (CharSequence, FullPriceTableMsg)*): java.util.Map[CharSequence, FullPriceTableMsg] = {
     Map(pairs:_*).asJava
   }
 
-  def newResourceType(name: CharSequence, unit: CharSequence, chargingBehavior: CharSequence) = {
-    _ResourceType.newBuilder().
+  def newResourceTypeMsg(name: CharSequence, unit: CharSequence, chargingBehavior: CharSequence) = {
+    ResourceTypeMsg.newBuilder().
       setName(name).
       setUnit(unit).
       setChargingBehaviorClass(chargingBehavior).
     build()
   }
 
-  def newResourceTypes(rts: _ResourceType*) = {
+  def newResourceTypeMsgs(rts: ResourceTypeMsg*) = {
     rts.asJava
   }
 
-  def newChargingBehaviors(cbs: CharSequence*) = {
+  def newChargingBehaviorMsgs(cbs: CharSequence*) = {
     cbs.asJava
   }
 }
@@ -45,11 +45,11 @@ import gr.grnet.aquarium.message.avro.AvroHelpers
  *
  * @author Christos KK Loverdos <loverdos@gmail.com>
  */
-class PolicyTest {
+class PolicyMsgTest {
   @Test
   def testOne() {
-    val policyConf = _Policy.newBuilder().
-      setChargingBehaviors(newChargingBehaviors(
+    val policyConf = PolicyMsg.newBuilder().
+      setChargingBehaviors(newChargingBehaviorMsgs(
       nameOfClass[gr.grnet.aquarium.charging.VMChargingBehavior],
       nameOfClass[gr.grnet.aquarium.charging.ContinuousChargingBehavior],
       nameOfClass[gr.grnet.aquarium.charging.OnceChargingBehavior])
@@ -58,25 +58,25 @@ class PolicyTest {
       setParentID("").
       setValidFromMillis(0L).
       setValidToMillis(Long.MaxValue).
-      setResourceTypes(newResourceTypes(
-      newResourceType("diskspace", "MB/Hr", nameOfClass[gr.grnet.aquarium.charging.ContinuousChargingBehavior]),
-      newResourceType("vmtime", "Hr", nameOfClass[gr.grnet.aquarium.charging.VMChargingBehavior]),
-      newResourceType("addcredits", "Credits", nameOfClass[gr.grnet.aquarium.charging.OnceChargingBehavior]))
+      setResourceTypes(newResourceTypeMsgs(
+      newResourceTypeMsg("diskspace", "MB/Hr", nameOfClass[gr.grnet.aquarium.charging.ContinuousChargingBehavior]),
+      newResourceTypeMsg("vmtime", "Hr", nameOfClass[gr.grnet.aquarium.charging.VMChargingBehavior]),
+      newResourceTypeMsg("addcredits", "Credits", nameOfClass[gr.grnet.aquarium.charging.OnceChargingBehavior]))
     ).
-      setRoleMapping(newRoleMapping(
-      "default" -> newFullPriceTable(
+      setRoleMapping(newRoleMappingMsg(
+      "default" -> newFullPriceTableMsg(
         "diskspace" -> Map(
-          "default" -> newSelectorValue(newEffectivePriceTable(newEffectiveUnitPrice(0.01)))
+          "default" -> newSelectorValueMsg(newEffectivePriceTableMsg(newEffectiveUnitPriceMsg(0.01)))
         ),
 
         "vmtime" -> Map(
           VMChargingBehavior.Selectors.Power.powerOff ->
-            newSelectorValue(newEffectivePriceTable(newEffectiveUnitPrice(0.001))),
+            newSelectorValueMsg(newEffectivePriceTableMsg(newEffectiveUnitPriceMsg(0.001))),
           VMChargingBehavior.Selectors.Power.powerOn ->
-            newSelectorValue(newEffectivePriceTable(newEffectiveUnitPrice(0.01)))
+            newSelectorValueMsg(newEffectivePriceTableMsg(newEffectiveUnitPriceMsg(0.01)))
         ),
         "addcredits" -> Map(
-          "default" -> newSelectorValue(newEffectivePriceTable(newEffectiveUnitPrice(-1.0)))
+          "default" -> newSelectorValueMsg(newEffectivePriceTableMsg(newEffectiveUnitPriceMsg(-1.0)))
         )
       )
     )).
@@ -46,17 +46,17 @@ import org.codehaus.jackson.{JsonEncoding, JsonFactory}
  *
  * @author Christos KK Loverdos <loverdos@gmail.com>
  */
-class ResourceEventTest {
+class ResourceEventMsgTest {
   @Test
   def testJSONSchema() {
-    val rcEvent = new _ResourceEvent()
+    val rcEvent = new ResourceEventMsg()
     val schema = rcEvent.getSchema
     val generatedPrettySchema = schema.toString(true)
     val goodJSONSchema =
       """{
         |  "type" : "record",
-        |  "name" : "_ResourceEvent",
-        |  "namespace" : "gr.grnet.aquarium.message.avro",
+        |  "name" : "ResourceEventMsg",
+        |  "namespace" : "gr.grnet.aquarium.message.avro.gen",
         |  "fields" : [ {
         |    "name" : "id",
         |    "type" : "string",
@@ -97,7 +97,7 @@ class ResourceEventTest {
         |      "type" : "map",
         |      "values" : {
         |        "type" : "record",
-        |        "name" : "_AnyValue",
+        |        "name" : "AnyValueMsg",
         |        "fields" : [ {
         |          "name" : "anyValue",
         |          "type" : [ "null", "int", "long", "boolean", "double", "bytes", "string" ]
@@ -112,7 +112,7 @@ class ResourceEventTest {
 
   @Test
   def testJSONObjectOutput() {
-    val rcEvent = _ResourceEvent.newBuilder().
+    val rcEvent = ResourceEventMsg.newBuilder().
       setId("id-1").
       setClientID("client-1").
       setResource("diskspace").
@@ -121,7 +121,7 @@ class ResourceEventTest {
       setOccurredMillis(1000L).
       setUserID("foouser").
       setValue("123.32").
-      setDetails(new util.HashMap[CharSequence, _AnyValue]()).
+      setDetails(new util.HashMap[CharSequence, AnyValueMsg]()).
       build()
 
     val schema = rcEvent.getSchema
@@ -131,7 +131,7 @@ class ResourceEventTest {
       createJsonGenerator(out, JsonEncoding.UTF8).
       useDefaultPrettyPrinter()
     encoder.configure(jsonGenerator)
-    val writer = new SpecificDatumWriter[_ResourceEvent](schema)
+    val writer = new SpecificDatumWriter[ResourceEventMsg](schema)
 
     writer.write(rcEvent, encoder)