Support new toDay/Hour/Month methods in code generation.
diff --git a/oal-parser/src/main/resources/code-templates/IndicatorImplementor.ftl b/oal-parser/src/main/resources/code-templates/IndicatorImplementor.ftl
index b88024c..2b2d841 100644
--- a/oal-parser/src/main/resources/code-templates/IndicatorImplementor.ftl
+++ b/oal-parser/src/main/resources/code-templates/IndicatorImplementor.ftl
@@ -149,6 +149,45 @@
         return new AlarmMeta("${varName}", Scope.${sourceName}<#if (fieldsFromSource?size>0) >, <#list fieldsFromSource as field>${field.fieldName}<#if field_has_next>, </#if></#list></#if>);
     }
 
+    @Override
+    public Indicator toHour() {
+        ${metricName}Indicator indicator = new ${metricName}Indicator();
+        indicator.setTimeBucket(toTimeBucketInHour());
+<#list fieldsFromSource as field>
+        indicator.${field.fieldSetter}(this.${field.fieldGetter}());
+</#list>
+<#list persistentFields as field>
+        indicator.${field.fieldSetter}(this.${field.fieldGetter}());
+</#list>
+        return indicator;
+    }
+
+    @Override
+    public Indicator toDay() {
+        ${metricName}Indicator indicator = new ${metricName}Indicator();
+        indicator.setTimeBucket(toTimeBucketInDay());
+<#list fieldsFromSource as field>
+        indicator.${field.fieldSetter}(this.${field.fieldGetter}());
+</#list>
+<#list persistentFields as field>
+        indicator.${field.fieldSetter}(this.${field.fieldGetter}());
+</#list>
+        return indicator;
+    }
+
+    @Override
+    public Indicator toMonth() {
+        ${metricName}Indicator indicator = new ${metricName}Indicator();
+        indicator.setTimeBucket(toTimeBucketInMonth());
+<#list fieldsFromSource as field>
+        indicator.${field.fieldSetter}(this.${field.fieldGetter}());
+</#list>
+<#list persistentFields as field>
+        indicator.${field.fieldSetter}(this.${field.fieldGetter}());
+</#list>
+        return indicator;
+    }
+
     public static class Builder implements StorageBuilder<${metricName}Indicator> {
 
         @Override public Map<String, Object> data2Map(${metricName}Indicator storageData) {
diff --git a/oal-parser/src/test/resources/expectedFiles/IndicatorImplementorExpected.java b/oal-parser/src/test/resources/expectedFiles/IndicatorImplementorExpected.java
index f9fc4a6..be6ec2c 100644
--- a/oal-parser/src/test/resources/expectedFiles/IndicatorImplementorExpected.java
+++ b/oal-parser/src/test/resources/expectedFiles/IndicatorImplementorExpected.java
@@ -107,6 +107,45 @@
         return new AlarmMeta("generate_indicator", Scope.Service, id);
     }
 
+    @Override
+    public Indicator toHour() {
+        ServiceAvgIndicator indicator = new ServiceAvgIndicator();
+        indicator.setTimeBucket(toTimeBucketInHour());
+        indicator.setId(this.getId());
+        indicator.setSummation(this.getSummation());
+        indicator.setCount(this.getCount());
+        indicator.setValue(this.getValue());
+        indicator.setTimeBucket(this.getTimeBucket());
+        indicator.setStringField(this.getStringField());
+        return indicator;
+    }
+
+    @Override
+    public Indicator toDay() {
+        ServiceAvgIndicator indicator = new ServiceAvgIndicator();
+        indicator.setTimeBucket(toTimeBucketInDay());
+        indicator.setId(this.getId());
+        indicator.setSummation(this.getSummation());
+        indicator.setCount(this.getCount());
+        indicator.setValue(this.getValue());
+        indicator.setTimeBucket(this.getTimeBucket());
+        indicator.setStringField(this.getStringField());
+        return indicator;
+    }
+
+    @Override
+    public Indicator toMonth() {
+        ServiceAvgIndicator indicator = new ServiceAvgIndicator();
+        indicator.setTimeBucket(toTimeBucketInMonth());
+        indicator.setId(this.getId());
+        indicator.setSummation(this.getSummation());
+        indicator.setCount(this.getCount());
+        indicator.setValue(this.getValue());
+        indicator.setTimeBucket(this.getTimeBucket());
+        indicator.setStringField(this.getStringField());
+        return indicator;
+    }
+
     public static class Builder implements StorageBuilder<ServiceAvgIndicator> {
 
         @Override public Map<String, Object> data2Map(ServiceAvgIndicator storageData) {