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 177b40d  Support new core style.
177b40d is described below

commit 177b40db8de18136ec2c98b63571f331fd9b32bf
Author: Wu Sheng <[email protected]>
AuthorDate: Thu Sep 13 12:47:17 2018 +0800

    Support new core style.
---
 .../oal/tool/parser/SourceColumnsFactory.java      | 29 +++++++++-------------
 .../code-templates/IndicatorImplementor.ftl        | 27 ++++++++++++++++++--
 2 files changed, 37 insertions(+), 19 deletions(-)

diff --git 
a/oal-parser/src/main/java/org/apache/skywalking/oal/tool/parser/SourceColumnsFactory.java
 
b/oal-parser/src/main/java/org/apache/skywalking/oal/tool/parser/SourceColumnsFactory.java
index f0312d5..450c211 100644
--- 
a/oal-parser/src/main/java/org/apache/skywalking/oal/tool/parser/SourceColumnsFactory.java
+++ 
b/oal-parser/src/main/java/org/apache/skywalking/oal/tool/parser/SourceColumnsFactory.java
@@ -30,13 +30,13 @@ public class SourceColumnsFactory {
             case "Service":
                 columnList = new LinkedList<>();
                 // Service id;
-                idColumn = new SourceColumn("id", "id", int.class, true);
+                idColumn = new SourceColumn("entityId", "entity_id", 
String.class, true);
                 columnList.add(idColumn);
                 return columnList;
             case "ServiceInstance":
                 columnList = new LinkedList<>();
                 // Service instance id;
-                idColumn = new SourceColumn("id", "id", int.class, true);
+                idColumn = new SourceColumn("entityId", "entity_id", 
String.class, true);
                 columnList.add(idColumn);
                 SourceColumn serviceIdColumn = new SourceColumn("serviceId", 
"service_id", int.class, false);
                 columnList.add(serviceIdColumn);
@@ -44,7 +44,7 @@ public class SourceColumnsFactory {
             case "Endpoint":
                 columnList = new LinkedList<>();
                 // Endpoint id;
-                idColumn = new SourceColumn("id", "id", int.class, true);
+                idColumn = new SourceColumn("entityId", "entity_id", 
String.class, true);
                 columnList.add(idColumn);
                 serviceIdColumn = new SourceColumn("serviceId", "service_id", 
int.class, false);
                 columnList.add(serviceIdColumn);
@@ -57,42 +57,37 @@ public class SourceColumnsFactory {
             case "ServiceInstanceJVMGC":
                 columnList = new LinkedList<>();
                 // Service instance id;
-                idColumn = new SourceColumn("id", "id", int.class, true);
+                idColumn = new SourceColumn("entityId", "entity_id", 
String.class, true);
                 columnList.add(idColumn);
                 serviceInstanceIdColumn = new 
SourceColumn("serviceInstanceId", "service_instance_id", int.class, false);
                 columnList.add(serviceInstanceIdColumn);
                 return columnList;
             case "ServiceRelation":
                 columnList = new LinkedList<>();
-                SourceColumn sourceService = new 
SourceColumn("sourceServiceId", "source_service_id", int.class, true);
+                SourceColumn sourceService = new SourceColumn("entityId", 
"source_service_id", String.class, true);
                 columnList.add(sourceService);
-                SourceColumn destService = new SourceColumn("destServiceId", 
"dest_service_id", int.class, true);
-                columnList.add(destService);
                 return columnList;
             case "ServiceInstanceRelation":
                 columnList = new LinkedList<>();
+                sourceService = new SourceColumn("entityId", "entity_id", 
String.class, true);
+                columnList.add(sourceService);
                 sourceService = new SourceColumn("sourceServiceId", 
"source_service_id", int.class, false);
                 columnList.add(sourceService);
-                destService = new SourceColumn("destServiceId", 
"dest_service_id", int.class, false);
+                SourceColumn destService = new SourceColumn("destServiceId", 
"destServiceId", int.class, false);
                 columnList.add(destService);
-                SourceColumn sourceServiceInstance = new 
SourceColumn("sourceServiceInstanceId", "source_service_instance_id", 
int.class, true);
-                columnList.add(sourceServiceInstance);
-                SourceColumn destServiceInstance = new 
SourceColumn("destServiceInstanceId", "dest_service_instance_id", int.class, 
true);
-                columnList.add(destServiceInstance);
+
                 return columnList;
             case "EndpointRelation":
                 columnList = new LinkedList<>();
-                SourceColumn sourceEndpointColumn = new 
SourceColumn("endpointId", "endpoint_id", int.class, true);
+                SourceColumn sourceEndpointColumn = new 
SourceColumn("entityId", "entity_id", String.class, true);
                 columnList.add(sourceEndpointColumn);
-                SourceColumn childEndpointColumne = new 
SourceColumn("childEndpointId", "child_endpoint_id", int.class, true);
-                columnList.add(childEndpointColumne);
                 sourceService = new SourceColumn("serviceId", "service_id", 
int.class, false);
                 columnList.add(sourceService);
                 destService = new SourceColumn("childServiceId", 
"child_service_id", int.class, false);
                 columnList.add(destService);
-                sourceServiceInstance = new SourceColumn("serviceInstanceId", 
"service_instance_id", int.class, false);
+                SourceColumn sourceServiceInstance = new 
SourceColumn("serviceInstanceId", "service_instance_id", int.class, false);
                 columnList.add(sourceServiceInstance);
-                destServiceInstance = new 
SourceColumn("childServiceInstanceId", "child_service_instance_id", int.class, 
false);
+                SourceColumn destServiceInstance = new 
SourceColumn("childServiceInstanceId", "child_service_instance_id", int.class, 
false);
                 columnList.add(destServiceInstance);
                 return columnList;
             default:
diff --git 
a/oal-parser/src/main/resources/code-templates/IndicatorImplementor.ftl 
b/oal-parser/src/main/resources/code-templates/IndicatorImplementor.ftl
index 288de69..6576b3a 100644
--- a/oal-parser/src/main/resources/code-templates/IndicatorImplementor.ftl
+++ b/oal-parser/src/main/resources/code-templates/IndicatorImplementor.ftl
@@ -56,7 +56,11 @@ public class ${metricName}Indicator extends 
${indicatorClassName} implements Ala
         String splitJointId = String.valueOf(getTimeBucket());
 <#list fieldsFromSource as sourceField>
     <#if sourceField.isID()>
+        <#if sourceField.getTypeName() == "String">
+        splitJointId += Const.ID_SPLIT + ${sourceField.fieldName};
+        <#else>
         splitJointId += Const.ID_SPLIT + 
String.valueOf(${sourceField.fieldName});
+        </#if>
     </#if>
 </#list>
         return splitJointId;
@@ -66,13 +70,32 @@ public class ${metricName}Indicator extends 
${indicatorClassName} implements Ala
         int result = 17;
 <#list fieldsFromSource as sourceField>
     <#if sourceField.isID()>
-        result = 31 * result + ${sourceField.fieldName};
+        <#if sourceField.getTypeName() == "String">
+        result = 31 * result + ${sourceField.fieldName}.hashCode();
+        <#else>
+        result += Const.ID_SPLIT + ${sourceField.fieldName};
+        </#if>
     </#if>
 </#list>
         result = 31 * result + (int)getTimeBucket();
         return result;
     }
 
+
+    @Override public int remoteHashCode() {
+        int result = 17;
+<#list fieldsFromSource as sourceField>
+    <#if sourceField.isID()>
+        <#if sourceField.getTypeName() == "String">
+        result = 31 * result + ${sourceField.fieldName}.hashCode();
+        <#else>
+        result += Const.ID_SPLIT + ${sourceField.fieldName};
+        </#if>
+    </#if>
+</#list>
+        return result;
+    }
+
     @Override public boolean equals(Object obj) {
         if (this == obj)
             return true;
@@ -146,7 +169,7 @@ public class ${metricName}Indicator extends 
${indicatorClassName} implements Ala
     }
 
     @Override public AlarmMeta getAlarmMeta() {
-        return new AlarmMeta("${varName}", Scope.${sourceName}<#if 
(fieldsFromSource?size>0) >, <#list fieldsFromSource as 
field>${field.fieldName}<#if field_has_next>, </#if></#list></#if>);
+        return new AlarmMeta("${varName}", Scope.${sourceName}<#if 
(fieldsFromSource?size>0) ><#list fieldsFromSource as field><#if field.isID()>, 
${field.fieldName}</#if></#list></#if>);
     }
 
     @Override

Reply via email to