diff --git a/oal-parser/src/test/resources/expectedFiles/IndicatorImplementorExpected.java b/oal-parser/src/test/resources/expectedFiles/IndicatorImplementorExpected.java
index d599e3b..323ea61 100644
--- a/oal-parser/src/test/resources/expectedFiles/IndicatorImplementorExpected.java
+++ b/oal-parser/src/test/resources/expectedFiles/IndicatorImplementorExpected.java
@@ -50,7 +50,6 @@
         return result;
     }
 
-
     @Override public boolean equals(Object obj) {
         if (this == obj)
             return true;
@@ -68,7 +67,6 @@
         return true;
     }
 
-
     @Override public RemoteData.Builder serialize() {
         RemoteData.Builder remoteBuilder = RemoteData.newBuilder();
 
@@ -108,11 +106,11 @@
 
         @Override public ServiceAvgIndicator map2Data(Map<String, Object> dbMap) {
             ServiceAvgIndicator indicator = new ServiceAvgIndicator();
-            indicator.setId((int)dbMap.get("id"));
-            indicator.setSummation((long)dbMap.get("summation"));
-            indicator.setCount((int)dbMap.get("count"));
-            indicator.setValue((long)dbMap.get("value"));
-            indicator.setTimeBucket((long)dbMap.get("time_bucket"));
+            indicator.setId(((Number)dbMap.get("id")).intValue());
+            indicator.setSummation(((Number)dbMap.get("summation")).longValue());
+            indicator.setCount(((Number)dbMap.get("count")).intValue());
+            indicator.setValue(((Number)dbMap.get("value")).longValue());
+            indicator.setTimeBucket(((Number)dbMap.get("time_bucket")).longValue());
             return indicator;
         }
     }
diff --git a/oal-parser/src/test/resources/expectedFiles/ServiceDispatcherExpected.java b/oal-parser/src/test/resources/expectedFiles/ServiceDispatcherExpected.java
index 32fe003..da7013b 100644
--- a/oal-parser/src/test/resources/expectedFiles/ServiceDispatcherExpected.java
+++ b/oal-parser/src/test/resources/expectedFiles/ServiceDispatcherExpected.java
@@ -28,6 +28,7 @@
  * @author Observability Analysis Language code generator
  */
 public class ServiceDispatcher implements SourceDispatcher<Service> {
+
     @Override public void dispatch(Service source) {
         doServiceAvg(source);
     }
