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

sgoeschl pushed a commit to branch FREEMARKER-146
in repository https://gitbox.apache.org/repos/asf/freemarker-generator.git


The following commit(s) were added to refs/heads/FREEMARKER-146 by this push:
     new 5295d43  FREEMARKER-146 Cleanly separate example templates and data 
from user-supplied content
5295d43 is described below

commit 5295d43f675994facfbe589fcead581034dbcf7f
Author: Siegfried Goeschl <[email protected]>
AuthorDate: Thu Jun 18 17:19:05 2020 +0200

    FREEMARKER-146 Cleanly separate example templates and data from 
user-supplied content
---
 freemarker-generator-cli/templates/csv/csv/transform.ftl    |  2 +-
 freemarker-generator-cli/templates/csv/html/transform.ftl   | 12 +++++++++---
 freemarker-generator-cli/templates/csv/md/transform.ftl     | 10 ++++++++--
 freemarker-generator-cli/templates/excel/csv/transform.ftl  | 11 ++++++++---
 freemarker-generator-cli/templates/excel/html/transform.ftl |  1 +
 5 files changed, 27 insertions(+), 9 deletions(-)

diff --git a/freemarker-generator-cli/templates/csv/csv/transform.ftl 
b/freemarker-generator-cli/templates/csv/csv/transform.ftl
index 05d60af..33988e1 100644
--- a/freemarker-generator-cli/templates/csv/csv/transform.ftl
+++ b/freemarker-generator-cli/templates/csv/csv/transform.ftl
@@ -29,7 +29,7 @@
 </#compress>
 
 <#function createCsvParser dataSource>
-    <#assign initialCvsInFormat = CSVTool.formats[CSV_IN_FORMAT!"DEFAULT"]>
+    <#assign initialCvsInFormat = 
CSVTool.formats[CSV_IN_FORMAT!"DEFAULT"].withHeader()>
     <#assign csvInDelimiter = 
CSVTool.toDelimiter(CSV_IN_DELIMITER!initialCvsInFormat.getDelimiter())>
     <#assign cvsInFormat = initialCvsInFormat.withDelimiter(csvInDelimiter)>
     <#return CSVTool.parse(dataSource, cvsInFormat)>
diff --git a/freemarker-generator-cli/templates/csv/html/transform.ftl 
b/freemarker-generator-cli/templates/csv/html/transform.ftl
index 65eb4f1..d5b5515 100644
--- a/freemarker-generator-cli/templates/csv/html/transform.ftl
+++ b/freemarker-generator-cli/templates/csv/html/transform.ftl
@@ -17,8 +17,7 @@
 -->
 <#assign dataSource = DataSources.get(0)>
 <#assign name = dataSource.name>
-<#assign cvsFormat = CSVTool.formats["DEFAULT"].withHeader()>
-<#assign csvParser = CSVTool.parse(dataSource, cvsFormat)>
+<#assign csvParser = createCsvParser(DataSources.get(0))>
 <#assign csvHeaders = csvParser.getHeaderNames()>
 <#--------------------------------------------------------------------------->
 <!DOCTYPE html>
@@ -53,4 +52,11 @@
             <th>${field}</th>
         </#list>
     </tr>
-</#macro>
\ No newline at end of file
+</#macro>
+<#--------------------------------------------------------------------------->
+<#function createCsvParser dataSource>
+    <#assign initialCvsInFormat = 
CSVTool.formats[CSV_IN_FORMAT!"DEFAULT"].withHeader()>
+    <#assign csvInDelimiter = 
CSVTool.toDelimiter(CSV_IN_DELIMITER!initialCvsInFormat.getDelimiter())>
+    <#assign cvsInFormat = initialCvsInFormat.withDelimiter(csvInDelimiter)>
+    <#return CSVTool.parse(dataSource, cvsInFormat)>
+</#function>
\ No newline at end of file
diff --git a/freemarker-generator-cli/templates/csv/md/transform.ftl 
b/freemarker-generator-cli/templates/csv/md/transform.ftl
index fca0bc5..303552c 100644
--- a/freemarker-generator-cli/templates/csv/md/transform.ftl
+++ b/freemarker-generator-cli/templates/csv/md/transform.ftl
@@ -15,8 +15,7 @@
   specific language governing permissions and limitations
   under the License.
 -->
-<#assign cvsFormat = CSVTool.formats["DEFAULT"].withHeader()>
-<#assign csvParser = CSVTool.parse(DataSources.get(0), cvsFormat)>
+<#assign csvParser = createCsvParser(DataSources.get(0))>
 <#assign csvHeaders = csvParser.getHeaderMap()?keys>
 <#assign csvRecords = csvParser.records>
 <#--------------------------------------------------------------------------->
@@ -35,3 +34,10 @@
     | ${column.iterator()?join(" | ", "")} |
     </#list>
 </#macro>
+<#--------------------------------------------------------------------------->
+<#function createCsvParser dataSource>
+    <#assign initialCvsInFormat = 
CSVTool.formats[CSV_IN_FORMAT!"DEFAULT"].withHeader()>
+    <#assign csvInDelimiter = 
CSVTool.toDelimiter(CSV_IN_DELIMITER!initialCvsInFormat.getDelimiter())>
+    <#assign cvsInFormat = initialCvsInFormat.withDelimiter(csvInDelimiter)>
+    <#return CSVTool.parse(dataSource, cvsInFormat)>
+</#function>
\ No newline at end of file
diff --git a/freemarker-generator-cli/templates/excel/csv/transform.ftl 
b/freemarker-generator-cli/templates/excel/csv/transform.ftl
index 2455c49..babec81 100644
--- a/freemarker-generator-cli/templates/excel/csv/transform.ftl
+++ b/freemarker-generator-cli/templates/excel/csv/transform.ftl
@@ -15,17 +15,22 @@
   specific language governing permissions and limitations
   under the License.
 -->
-<#assign format = CVS_IN_FORMAT!"DEFAULT">
 <#-- Parse the first data source & sheet of the Excel document -->
 <#assign workbook = ExcelTool.parse(DataSources.get(0))>
 <#assign sheet = ExcelTool.getSheets(workbook)[0]>
 <#assign records = ExcelTool.toTable(sheet)>
 <#-- Setup CSVPrinter  -->
-<#assign cvsFormat = CSVTool.formats[format]>
-<#assign csvPrinter = CSVTool.printer(cvsFormat, SystemTool.writer)>
+<#assign csvPrinter = createCsvPrinter()>
 <#-- Print each line of the Excel as CSV record -->
 <#compress>
     <#list records as record>
         ${csvPrinter.printRecord(record)}
     </#list>
 </#compress>
+<#--------------------------------------------------------------------------->
+<#function createCsvPrinter>
+    <#assign initialCvsOutFormat = CSVTool.formats[CSV_OUT_FORMAT!"DEFAULT"]>
+    <#assign csvOutDelimiter = 
CSVTool.toDelimiter(CSV_OUT_DELIMITER!initialCvsOutFormat.getDelimiter())>
+    <#assign cvsOutFormat = initialCvsOutFormat.withDelimiter(csvOutDelimiter)>
+    <#return CSVTool.printer(cvsOutFormat, SystemTool.writer)>
+</#function>
diff --git a/freemarker-generator-cli/templates/excel/html/transform.ftl 
b/freemarker-generator-cli/templates/excel/html/transform.ftl
index 68ccc42..58ace89 100644
--- a/freemarker-generator-cli/templates/excel/html/transform.ftl
+++ b/freemarker-generator-cli/templates/excel/html/transform.ftl
@@ -81,3 +81,4 @@
         </#list>
     </table>
 </#macro>
+

Reply via email to