You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by wu...@apache.org on 2018/10/22 18:37:57 UTC
[incubator-skywalking-oal-tool] branch master updated: Add copyFrom
method for complex data type. (#11)
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 62b69aa Add copyFrom method for complex data type. (#11)
62b69aa is described below
commit 62b69aa3e5abdef3ec7f6d1d458f9304c9a5aa87
Author: 彭勇升 pengys <80...@qq.com>
AuthorDate: Mon Oct 22 20:20:57 2018 +0800
Add copyFrom method for complex data type. (#11)
---
.../code-templates/IndicatorImplementor.ftl | 51 ++++++++++++++++++----
.../IndicatorImplementorExpected.java | 6 +--
2 files changed, 45 insertions(+), 12 deletions(-)
diff --git a/oal-parser/src/main/resources/code-templates/IndicatorImplementor.ftl b/oal-parser/src/main/resources/code-templates/IndicatorImplementor.ftl
index 6f8240e..3245422 100644
--- a/oal-parser/src/main/resources/code-templates/IndicatorImplementor.ftl
+++ b/oal-parser/src/main/resources/code-templates/IndicatorImplementor.ftl
@@ -178,15 +178,26 @@ public class ${metricName}Indicator extends ${indicatorClassName} implements Ala
@Override
public Indicator toHour() {
${metricName}Indicator indicator = new ${metricName}Indicator();
- indicator.setTimeBucket(toTimeBucketInHour());
<#list fieldsFromSource as field>
- <#if field.columnName != "time_bucket">
+ <#if field.columnName == "time_bucket">
+ indicator.setTimeBucket(toTimeBucketInHour());
+ <#elseif field.typeName == "java.lang.String" || field.typeName == "long" || field.typeName == "int" || field.typeName == "double" || field.typeName == "float">
indicator.${field.fieldSetter}(this.${field.fieldGetter}());
+ <#else>
+ ${field.typeName} newValue = new ${field.typeName}();
+ newValue.copyFrom(this.${field.fieldGetter}());
+ indicator.${field.fieldSetter}(newValue);
</#if>
</#list>
<#list persistentFields as field>
- <#if field.columnName != "time_bucket">
+ <#if field.columnName == "time_bucket">
+ indicator.setTimeBucket(toTimeBucketInHour());
+ <#elseif field.typeName == "java.lang.String" || field.typeName == "long" || field.typeName == "int" || field.typeName == "double" || field.typeName == "float">
indicator.${field.fieldSetter}(this.${field.fieldGetter}());
+ <#else>
+ ${field.typeName} newValue = new ${field.typeName}();
+ newValue.copyFrom(this.${field.fieldGetter}());
+ indicator.${field.fieldSetter}(newValue);
</#if>
</#list>
return indicator;
@@ -195,15 +206,26 @@ public class ${metricName}Indicator extends ${indicatorClassName} implements Ala
@Override
public Indicator toDay() {
${metricName}Indicator indicator = new ${metricName}Indicator();
- indicator.setTimeBucket(toTimeBucketInDay());
<#list fieldsFromSource as field>
- <#if field.columnName != "time_bucket">
+ <#if field.columnName == "time_bucket">
+ indicator.setTimeBucket(toTimeBucketInDay());
+ <#elseif field.typeName == "java.lang.String" || field.typeName == "long" || field.typeName == "int" || field.typeName == "double" || field.typeName == "float">
indicator.${field.fieldSetter}(this.${field.fieldGetter}());
+ <#else>
+ ${field.typeName} newValue = new ${field.typeName}();
+ newValue.copyFrom(this.${field.fieldGetter}());
+ indicator.${field.fieldSetter}(newValue);
</#if>
</#list>
<#list persistentFields as field>
- <#if field.columnName != "time_bucket">
+ <#if field.columnName == "time_bucket">
+ indicator.setTimeBucket(toTimeBucketInDay());
+ <#elseif field.typeName == "java.lang.String" || field.typeName == "long" || field.typeName == "int" || field.typeName == "double" || field.typeName == "float">
indicator.${field.fieldSetter}(this.${field.fieldGetter}());
+ <#else>
+ ${field.typeName} newValue = new ${field.typeName}();
+ newValue.copyFrom(this.${field.fieldGetter}());
+ indicator.${field.fieldSetter}(newValue);
</#if>
</#list>
return indicator;
@@ -212,15 +234,26 @@ public class ${metricName}Indicator extends ${indicatorClassName} implements Ala
@Override
public Indicator toMonth() {
${metricName}Indicator indicator = new ${metricName}Indicator();
- indicator.setTimeBucket(toTimeBucketInMonth());
<#list fieldsFromSource as field>
- <#if field.columnName != "time_bucket">
+ <#if field.columnName == "time_bucket">
+ indicator.setTimeBucket(toTimeBucketInMonth());
+ <#elseif field.typeName == "java.lang.String" || field.typeName == "long" || field.typeName == "int" || field.typeName == "double" || field.typeName == "float">
indicator.${field.fieldSetter}(this.${field.fieldGetter}());
+ <#else>
+ ${field.typeName} newValue = new ${field.typeName}();
+ newValue.copyFrom(this.${field.fieldGetter}());
+ indicator.${field.fieldSetter}(newValue);
</#if>
</#list>
<#list persistentFields as field>
- <#if field.columnName != "time_bucket">
+ <#if field.columnName == "time_bucket">
+ indicator.setTimeBucket(toTimeBucketInMonth());
+ <#elseif field.typeName == "java.lang.String" || field.typeName == "long" || field.typeName == "int" || field.typeName == "double" || field.typeName == "float">
indicator.${field.fieldSetter}(this.${field.fieldGetter}());
+ <#else>
+ ${field.typeName} newValue = new ${field.typeName}();
+ newValue.copyFrom(this.${field.fieldGetter}());
+ indicator.${field.fieldSetter}(newValue);
</#if>
</#list>
return indicator;
diff --git a/oal-parser/src/test/resources/expectedFiles/IndicatorImplementorExpected.java b/oal-parser/src/test/resources/expectedFiles/IndicatorImplementorExpected.java
index 76cf7c7..b4554c4 100644
--- a/oal-parser/src/test/resources/expectedFiles/IndicatorImplementorExpected.java
+++ b/oal-parser/src/test/resources/expectedFiles/IndicatorImplementorExpected.java
@@ -116,11 +116,11 @@ public class ServiceAvgIndicator extends LongAvgIndicator implements AlarmSuppor
@Override
public Indicator toHour() {
ServiceAvgIndicator indicator = new ServiceAvgIndicator();
- indicator.setTimeBucket(toTimeBucketInHour());
indicator.setEntityId(this.getEntityId());
indicator.setSummation(this.getSummation());
indicator.setCount(this.getCount());
indicator.setValue(this.getValue());
+ indicator.setTimeBucket(toTimeBucketInHour());
indicator.setStringField(this.getStringField());
return indicator;
}
@@ -128,11 +128,11 @@ public class ServiceAvgIndicator extends LongAvgIndicator implements AlarmSuppor
@Override
public Indicator toDay() {
ServiceAvgIndicator indicator = new ServiceAvgIndicator();
- indicator.setTimeBucket(toTimeBucketInDay());
indicator.setEntityId(this.getEntityId());
indicator.setSummation(this.getSummation());
indicator.setCount(this.getCount());
indicator.setValue(this.getValue());
+ indicator.setTimeBucket(toTimeBucketInDay());
indicator.setStringField(this.getStringField());
return indicator;
}
@@ -140,11 +140,11 @@ public class ServiceAvgIndicator extends LongAvgIndicator implements AlarmSuppor
@Override
public Indicator toMonth() {
ServiceAvgIndicator indicator = new ServiceAvgIndicator();
- indicator.setTimeBucket(toTimeBucketInMonth());
indicator.setEntityId(this.getEntityId());
indicator.setSummation(this.getSummation());
indicator.setCount(this.getCount());
indicator.setValue(this.getValue());
+ indicator.setTimeBucket(toTimeBucketInMonth());
indicator.setStringField(this.getStringField());
return indicator;
}