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) {