This is an automated email from the ASF dual-hosted git repository.

duanzhengqiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git


The following commit(s) were added to refs/heads/master by this push:
     new c64ac90  Refactor ExampleGenerateEngine.generateJavaClasses and 
generateResourcesFile (#14933)
c64ac90 is described below

commit c64ac909dfb14915db266865bc0f9c09144bf948
Author: Liang Zhang <[email protected]>
AuthorDate: Thu Jan 20 11:34:27 2022 +0800

    Refactor ExampleGenerateEngine.generateJavaClasses and 
generateResourcesFile (#14933)
    
    * Inline ExampleGenerateEngine.javaClassTemplateMap and resourceTemplateMap
    
    * Use entry instead of keySet
    
    * Refactor ExampleGenerateEngine.generateJavaClasses and 
generateResourcesFile
---
 .../example/generator/ExampleGenerateEngine.java   | 38 ++++++----------------
 1 file changed, 10 insertions(+), 28 deletions(-)

diff --git 
a/examples/shardingsphere-sample/shardingsphere-example-generator/src/main/java/org/apache/shardingsphere/example/generator/ExampleGenerateEngine.java
 
b/examples/shardingsphere-sample/shardingsphere-example-generator/src/main/java/org/apache/shardingsphere/example/generator/ExampleGenerateEngine.java
index 63714ac..46b29cf 100644
--- 
a/examples/shardingsphere-sample/shardingsphere-example-generator/src/main/java/org/apache/shardingsphere/example/generator/ExampleGenerateEngine.java
+++ 
b/examples/shardingsphere-sample/shardingsphere-example-generator/src/main/java/org/apache/shardingsphere/example/generator/ExampleGenerateEngine.java
@@ -26,10 +26,10 @@ import java.io.File;
 import java.io.FileWriter;
 import java.io.IOException;
 import java.io.InputStream;
-import java.io.StringReader;
 import java.io.StringWriter;
 import java.io.Writer;
 import java.util.Map;
+import java.util.Map.Entry;
 import java.util.Objects;
 
 /**
@@ -62,10 +62,6 @@ public final class ExampleGenerateEngine {
     
     private static final String RESOURCES_PATH = "resources";
     
-    private static Map<String, String> javaClassTemplateMap;
-    
-    private static Map<String, String> resourceTemplateMap;
-    
     static {
         try {
             TEMPLATE_CONFIG.setDirectoryForTemplateLoading(new 
File(Objects.requireNonNull(ExampleGenerateEngine.class.getClassLoader().getResource("template")).getFile()));
@@ -86,35 +82,21 @@ public final class ExampleGenerateEngine {
     public static void main(final String[] args) throws IOException, 
TemplateException {
         try (InputStream input = 
ExampleGenerateEngine.class.getResourceAsStream(DATA_MODEL_PATH)) {
             Map<String, String> dataModel = new Yaml().loadAs(input, 
Map.class);
-            fillTemplateMap(dataModel);
-            generateJavaClasses(dataModel);
-            generateResourcesFile(dataModel);
-        }
-    }
-    
-    private static void fillTemplateMap(final Map<String, String> dataModel) {
-        javaClassTemplateMap = 
ExampleTemplateFactory.getJavaClassTemplateMap(dataModel);
-        resourceTemplateMap = 
ExampleTemplateFactory.getResourceTemplateMap(dataModel);
-    }
-    
-    private static void generateJavaClasses(final Map<String, String> 
dataModel) throws IOException, TemplateException {
-        String outputPath = processString(dataModel, OUTPUT_PATH + 
JAVA_CLASS_PATH);
-        for (String each : javaClassTemplateMap.keySet()) {
-            processFile(dataModel, each, outputPath + "/" + 
javaClassTemplateMap.get(each));
+            generateFile(dataModel, 
ExampleTemplateFactory.getJavaClassTemplateMap(dataModel), JAVA_CLASS_PATH);
+            generateFile(dataModel, 
ExampleTemplateFactory.getResourceTemplateMap(dataModel), RESOURCES_PATH);
         }
     }
     
-    private static void generateResourcesFile(final Map<String, String> 
dataModel) throws IOException, TemplateException {
-        String outputPath = processString(dataModel, OUTPUT_PATH + 
RESOURCES_PATH);
-        for (String each : resourceTemplateMap.keySet()) {
-            processFile(dataModel, each, outputPath + "/" + 
resourceTemplateMap.get(each));
+    private static void generateFile(final Map<String, String> dataModel, 
final Map<String, String> templateMap, final String outputRelativePath) throws 
IOException, TemplateException {
+        String outputPath = generatePath(dataModel, OUTPUT_PATH + 
outputRelativePath);
+        for (Entry<String, String> entry : templateMap.entrySet()) {
+            processFile(dataModel, entry.getKey(), outputPath + "/" + 
entry.getValue());
         }
     }
     
-    private static String processString(final Object model, final String 
templateString) throws IOException, TemplateException {
-        try (StringWriter result = new StringWriter();
-             StringReader reader = new StringReader(templateString)) {
-            new Template("string", reader, TEMPLATE_CONFIG).process(model, 
result);
+    private static String generatePath(final Object model, final String 
relativePath) throws IOException, TemplateException {
+        try (StringWriter result = new StringWriter()) {
+            new Template("path", relativePath, TEMPLATE_CONFIG).process(model, 
result);
             return result.toString();
         }
     }

Reply via email to