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 d516bdc Generate service dispatcher and add tableName. d516bdc is described below commit d516bdc156d307e9f1a56190c7b4d1f22273217b Author: Wu Sheng <wu.sh...@foxmail.com> AuthorDate: Mon Aug 6 11:46:59 2018 +0800 Generate service dispatcher and add tableName. --- .../apache/skywalking/oal/tool/output/FileGenerator.java | 13 +++++++++++++ .../apache/skywalking/oal/tool/parser/AnalysisResult.java | 2 ++ .../org/apache/skywalking/oal/tool/parser/OALListener.java | 5 +++-- .../main/resources/code-templates/IndicatorImplementor.ftl | 2 +- .../skywalking/oal/tool/output/FileGeneratorTest.java | 1 + .../expectedFiles/IndicatorImplementorExpected.java | 2 +- oal-parser/src/test/resources/oal_test.oal | 2 +- 7 files changed, 22 insertions(+), 5 deletions(-) diff --git a/oal-parser/src/main/java/org/apache/skywalking/oal/tool/output/FileGenerator.java b/oal-parser/src/main/java/org/apache/skywalking/oal/tool/output/FileGenerator.java index f7590a4..538a7f9 100644 --- a/oal-parser/src/main/java/org/apache/skywalking/oal/tool/output/FileGenerator.java +++ b/oal-parser/src/main/java/org/apache/skywalking/oal/tool/output/FileGenerator.java @@ -47,10 +47,23 @@ public class FileGenerator { public void generate() throws IOException, TemplateException { for (AnalysisResult result : results) { generate(result, "AggregateWorker.java", (writer) -> generateAggregateWorker(result, writer)); + generate(result, "Indicator.java", (writer) -> generateIndicatorImplementor(result, writer)); + generate(result, "PersistentWorker.java", (writer) -> generatePersistentWorker(result, writer)); + generate(result, "RemoteWorker.java", (writer) -> generateRemoteWorker(result, writer)); } + File file = new File(outputPath, "generated/service/ServiceDispatcher.java"); + if (!file.exists()) { + if (!file.getParentFile().exists()) { + file.getParentFile().mkdirs(); + } + file.createNewFile(); + } + this.generateServiceDispatcher(new FileWriter(file)); } + + private void generate(AnalysisResult result, String fileSuffix, WriteWrapper writeWrapper) throws IOException, TemplateException { File file = new File(outputPath, buildSubFolderName(result, fileSuffix)); diff --git a/oal-parser/src/main/java/org/apache/skywalking/oal/tool/parser/AnalysisResult.java b/oal-parser/src/main/java/org/apache/skywalking/oal/tool/parser/AnalysisResult.java index 69ac3c4..f800eed 100644 --- a/oal-parser/src/main/java/org/apache/skywalking/oal/tool/parser/AnalysisResult.java +++ b/oal-parser/src/main/java/org/apache/skywalking/oal/tool/parser/AnalysisResult.java @@ -30,6 +30,8 @@ import org.apache.skywalking.oap.server.core.remote.selector.Selector; public class AnalysisResult { private String metricName; + private String tableName; + private String packageName; private String sourceName; diff --git a/oal-parser/src/main/java/org/apache/skywalking/oal/tool/parser/OALListener.java b/oal-parser/src/main/java/org/apache/skywalking/oal/tool/parser/OALListener.java index 3d73b3f..b577954 100644 --- a/oal-parser/src/main/java/org/apache/skywalking/oal/tool/parser/OALListener.java +++ b/oal-parser/src/main/java/org/apache/skywalking/oal/tool/parser/OALListener.java @@ -56,14 +56,15 @@ public class OALListener extends OALParserBaseListener { } @Override public void exitVariable(OALParser.VariableContext ctx) { - current.setMetricName(nameFormat(ctx.getText())); + current.setMetricName(metricNameFormat(ctx.getText())); + current.setTableName(ctx.getText().toLowerCase()); } @Override public void enterFunctionName(OALParser.FunctionNameContext ctx) { current.setAggregationFunctionName(ctx.getText()); } - private String nameFormat(String source) { + private String metricNameFormat(String source) { source = firstLetterUpper(source); int idx; while ((idx = source.indexOf("_")) > -1) { diff --git a/oal-parser/src/main/resources/code-templates/IndicatorImplementor.ftl b/oal-parser/src/main/resources/code-templates/IndicatorImplementor.ftl index 714efb8..e095e1d 100644 --- a/oal-parser/src/main/resources/code-templates/IndicatorImplementor.ftl +++ b/oal-parser/src/main/resources/code-templates/IndicatorImplementor.ftl @@ -37,7 +37,7 @@ public class ${metricName}Indicator extends ${indicatorClassName} { </#list> @Override public String name() { - return ${metricName}; + return "${tableName}"; } @Override public String id() { diff --git a/oal-parser/src/test/java/org/apache/skywalking/oal/tool/output/FileGeneratorTest.java b/oal-parser/src/test/java/org/apache/skywalking/oal/tool/output/FileGeneratorTest.java index 9cd522b..b8d04d9 100644 --- a/oal-parser/src/test/java/org/apache/skywalking/oal/tool/output/FileGeneratorTest.java +++ b/oal-parser/src/test/java/org/apache/skywalking/oal/tool/output/FileGeneratorTest.java @@ -37,6 +37,7 @@ public class FileGeneratorTest { AnalysisResult result = new AnalysisResult(); result.setSourceName("Service"); result.setPackageName("service.serviceavg"); + result.setTableName("service_avg"); result.setSourceAttribute("latency"); result.setMetricName("ServiceAvg"); result.setAggregationFunctionName("avg"); diff --git a/oal-parser/src/test/resources/expectedFiles/IndicatorImplementorExpected.java b/oal-parser/src/test/resources/expectedFiles/IndicatorImplementorExpected.java index 6e80661..37b2323 100644 --- a/oal-parser/src/test/resources/expectedFiles/IndicatorImplementorExpected.java +++ b/oal-parser/src/test/resources/expectedFiles/IndicatorImplementorExpected.java @@ -37,7 +37,7 @@ public class ServiceAvgIndicator extends AvgIndicator { @Setter @Getter @Column(columnName = "serviceInstanceId") private int serviceInstanceId; @Override public String name() { - return ServiceAvg; + return "service_avg"; } @Override public String id() { diff --git a/oal-parser/src/test/resources/oal_test.oal b/oal-parser/src/test/resources/oal_test.oal index 53d727a..564cffc 100644 --- a/oal-parser/src/test/resources/oal_test.oal +++ b/oal-parser/src/test/resources/oal_test.oal @@ -16,4 +16,4 @@ * */ -ServiceAvg = from(Service.latency).avg(); \ No newline at end of file +Service_Avg = from(Service.latency).avg(); \ No newline at end of file