This is an automated email from the ASF dual-hosted git repository.
wusheng pushed a commit to branch master
in repository
https://gitbox.apache.org/repos/asf/incubator-skywalking-oal-tool.git
The following commit(s) were added to refs/heads/master by this push:
new 5275de8 Support new toDay/Hour/Month methods in code generation.
5275de8 is described below
commit 5275de862ac51d24774f9b767d112a1b0717fbbe
Author: Wu Sheng <[email protected]>
AuthorDate: Wed Sep 12 15:13:58 2018 +0800
Support new toDay/Hour/Month methods in code generation.
---
.../code-templates/IndicatorImplementor.ftl | 39 ++++++++++++++++++++++
.../IndicatorImplementorExpected.java | 39 ++++++++++++++++++++++
2 files changed, 78 insertions(+)
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 @@ public class ${metricName}Indicator extends
${indicatorClassName} implements Ala
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 @@ public class ServiceAvgIndicator extends LongAvgIndicator
implements AlarmSuppor
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) {