Of course we should use the same convention everywhere. Choosing the sane variant of camel case (i.e., yaml, and not YAML) is a pretty obvious choice. Also, it's freemarker in that convention, not freeMarker, since it's one word. (Yeah, it's quite a bad product name for a few reasons... but we can't change history.)
On Wed, Jul 8, 2020 at 7:41 PM Siegfried Goeschl < [email protected]> wrote: > Hi Daniel, > > Aligned the naming but for the tools it is probably over the top ... > > We currently have > > - csv > - dataframe > - excel > - exec > - freemarker > - grok > - gson > - jsonpath > - jsoup > - properties > - system > - uuid > - xml > - yaml > > Which would change to > > - csv > - dataFrame > - excel > - exec > - freeMarker > - grok > - gson > - jsonPath > - jsoup > - properties > - system > - uuid > - xml > - yaml > > or > > - CSV > - dataFrame > - excel > - exec > - freeMarker > - grok > - gson > - jsonPath > - jsoup > - properties > - system > - UUID > - XML > - YAML > > Thanks in advance, > > Siegfried Goeschl > > > > > On 08.07.2020, at 10:44, Daniel Dekany <[email protected]> wrote: > > > > As in plain English it's rather "data source" than "datasource", thus the > > variable name should stay "dataSource". Whether one aesthetically likes > it > > or not, that's the convention in Java circles. For same reason it should > be > > tools.dataFrame (instead of tools.dataframe), and dataSource.mimeType > > (instead of dataSource.mimetype). (Actually, if we follow the incorrect > > variant of camel case that Java officially uses, then it's > > dataSource.MIMEType, but that's too much even for me... :) and most > > importantly, people use both the official and correct camel case with > Java > > API-s, so it won't surprise.) > > > > BTW, for some reason I don't know, traditionally, FTL uses snake-case > (like > > s?upper_case), and then some all-lower-case (like <#elseif x>). So that's > > unfortunate, as the variables it will see, and the Java API-s templates > > call, certainly use camel case. But for a good while, you can also opt > for > > camel case in FTL, and write things like s?upperCase, <#elseIf x>, etc. > No > > configuration needed, and it's enforced that the whole template uses the > > same convention consistently, for the FTL parts. > > > > > > On Wed, Jul 8, 2020 at 7:42 AM Siegfried Goeschl < > > [email protected]> wrote: > > > >> HI folks, > >> > >> I'm using now a map for the tools, e.g. > >> > >> FreeMarker CLI Tools > >> > >> > ------------------------------------------------------------------------------ > >> <#list tools?keys?sort as name> > >> - ${name?right_pad(20)} : ${tools[name]} > >> </#list> > >> > >> FreeMarker CLI Tools > >> > >> > ------------------------------------------------------------------------------ > >> - csv : Process CSV files using Apache Commons CSV (see > >> https://commons.apache.org/proper/commons-csv/) > >> - dataframe : Bridge to [nRo/DataFrame]( > >> https://github.com/nRo/DataFrame) > >> - excel : Process Excels files (XLS, XLSX) using Apache > POI > >> (see https://poi.apache.org) > >> - exec : Execute command line tools using Apache Commons > >> Exec (see https://commons.apache.org/proper/commons-exec/) > >> - freemarker : Expose advanced Apache FreeMarker classes > >> - grok : Process text files using Grok expressions (see > >> https://github.com/thekrakken/java-grok) > >> - gson : Process JSON files using GSON (see > >> https://github.com/google/gson) > >> - jsonpath : Process JSON files using Java JSON Path (see > >> https://github.com/json-path/JsonPath) > >> - jsoup : Process HTML files using Jsoup (see > >> https://jsoup.org) > >> - properties : Process JDK properties files > >> - system : Expose System-related utility methods > >> - uuid : Create UUIDs > >> - xml : Process XML files using Apache FreeMarker (see > >> https://freemarker.apache.org/docs/xgui.html) > >> - yaml : Process YAML files using SnakeYAML(see > >> https://bitbucket.org/asomov/snakeyaml/wiki/Home) > >> > >> > >> And also renamed "DataSources" to "dataSources" > >> > >> FreeMarker CLI DataSources > >> > >> > ------------------------------------------------------------------------------ > >> <#list dataSources.list as dataSource> > >> [#${dataSource?counter}]: name=${dataSource.name}, > >> group=${dataSource.group}, mimeType=${dataSource.mimetype}, > >> charset=${dataSource.charset}, length=${dataSource.length} Bytes > >> URI : ${dataSource.uri} > >> </#list> > >> FreeMarker CLI DataSources > >> > >> > ------------------------------------------------------------------------------ > >> [#1]: name=github-users.json, group=default, mimeType=application/json, > >> charset=UTF-8, length=7,168 Bytes > >> URI : > >> > file:/Users/sgoeschl/work/github/apache/freemarker-generator/freemarker-generator-cli/examples/data/json/github-users.json > >> [#2]: name=contract.csv, group=default, mimeType=text/csv, > charset=UTF-8, > >> length=6,328 Bytes > >> URI : > >> > file:/Users/sgoeschl/work/github/apache/freemarker-generator/freemarker-generator-cli/examples/data/csv/contract.csv > >> [#3]: name=foo, group=bar, mimeType=text/csv, charset=UTF-8, > length=6,328 > >> Bytes > >> URI : > >> > file:/Users/sgoeschl/work/github/apache/freemarker-generator/freemarker-generator-cli/examples/data/csv/contract.csv > >> > >> Shall we stick to the "dataSources" or rename to "datasources"? I hate > >> this camel-case but would to like to settle my doubts > >> > >> Thanks in advance, > >> > >> Siegfried Goeschl > >> > >> > > > > -- > > Best regards, > > Daniel Dekany > > -- Best regards, Daniel Dekany
