From 41b20087891c366ebd1aa42f9532006baa309e97 Mon Sep 17 00:00:00 2001 From: HÃ¥kon Hallingstad Date: Tue, 11 Jan 2022 13:42:43 +0100 Subject: Use - to ignore newline after directive --- .../hosted/node/admin/task/util/template/Template.java | 14 +++++++------- .../vespa/hosted/node/admin/task/util/template/Token.java | 2 +- .../node/admin/task/util/template/TemplateFileTest.java | 8 ++++---- node-admin/src/test/resources/template1.tmp | 8 ++++---- node-admin/src/test/resources/template2.tmp | 8 ++++---- node-admin/src/test/resources/template3.tmp | 4 ++-- 6 files changed, 22 insertions(+), 22 deletions(-) (limited to 'node-admin/src') diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/template/Template.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/template/Template.java index a3ffcf46bdf..b7cd2f80ad6 100644 --- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/template/Template.java +++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/template/Template.java @@ -10,14 +10,14 @@ package com.yahoo.vespa.hosted.node.admin.task.util.template; * template: section* * section: literal | variable | subform * literal: plain text not containing %{ - * variable: %{=identifier} - * if: %{if [!]identifier}template[%{else}template]%{end} - * subform: %{form identifier}template%{end} - * identifier: a valid Java identifier + * variable: %{=id} + * if: %{if [!]id}template[%{else}template]%{end} + * subform: %{form id}template%{end} + * id: a valid Java identifier * * - *

If the directive's end delimiter (}) is preceded by a "|" char, then any newline (\n) - * following the end delimiter is removed.

+ *

If the directive's end delimiter (}) is preceded by a "-" char, then any newline (\n) + * immediately following the end delimiter is removed.

* *

To use the template, Instantiate it to get a form ({@link #instantiate()}), fill it (e.g. * {@link Form#set(String, String) Form.set()}), and render the String ({@link Form#render()}).

@@ -27,7 +27,6 @@ package com.yahoo.vespa.hosted.node.admin.task.util.template; * either direct or indirect variable sections.

* * @see Form - * @see TemplateParser * @see TemplateFile * @author hakonhall */ @@ -45,4 +44,5 @@ public class Template { } public Form instantiate() { return form.copy(); } + } diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/template/Token.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/template/Token.java index 138f00ef056..a83dab72025 100644 --- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/template/Token.java +++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/template/Token.java @@ -11,7 +11,7 @@ import java.util.Optional; */ class Token { static final char NEGATE_CHAR = '!'; - static final char REMOVE_NEWLINE_CHAR = '|'; + static final char REMOVE_NEWLINE_CHAR = '-'; static final char VARIABLE_DIRECTIVE_CHAR = '='; static Optional skipId(Cursor cursor) { diff --git a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/task/util/template/TemplateFileTest.java b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/task/util/template/TemplateFileTest.java index 121d4fd8d25..2f4b108dee7 100644 --- a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/task/util/template/TemplateFileTest.java +++ b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/task/util/template/TemplateFileTest.java @@ -71,8 +71,8 @@ class TemplateFileTest { void verifyNewlineRemoval() { Form form = makeForm("a%{form a}\n" + "b%{end}\n" + - "c%{form c|}\n" + - "d%{end|}\n" + + "c%{form c-}\n" + + "d%{end-}\n" + "e\n"); form.add("a"); form.add("c"); @@ -92,11 +92,11 @@ class TemplateFileTest { @Test void verifyComplexIfSection() { - Template template = Template.from("%{if cond|}\n" + + Template template = Template.from("%{if cond-}\n" + "var: %{=varname}\n" + "if: %{if !inner}inner is false%{end}\n" + "subform: %{form formname}subform%{end}\n" + - "%{end|}\n"); + "%{end-}\n"); assertEquals("", template.instantiate().set("cond", false).render()); diff --git a/node-admin/src/test/resources/template1.tmp b/node-admin/src/test/resources/template1.tmp index 99df2a71f4d..289dc00b0bb 100644 --- a/node-admin/src/test/resources/template1.tmp +++ b/node-admin/src/test/resources/template1.tmp @@ -1,10 +1,10 @@ variable section '%{=varname}' -%{form formname|} +%{form formname-} same variable section '%{=varname}' different variable section '%{=varname2}' -%{form innerformname|} +%{form innerformname-} inner form text -%{end|} +%{end-} between ends -%{end|} +%{end-} end of text diff --git a/node-admin/src/test/resources/template2.tmp b/node-admin/src/test/resources/template2.tmp index d4b387cc653..cdf392171ce 100644 --- a/node-admin/src/test/resources/template2.tmp +++ b/node-admin/src/test/resources/template2.tmp @@ -1,4 +1,4 @@ -%{form formA|}body A -%{form formB|}body B -%{end|} -%{end|} +%{form formA-}body A +%{form formB-}body B +%{end-} +%{end-} diff --git a/node-admin/src/test/resources/template3.tmp b/node-admin/src/test/resources/template3.tmp index f0f08558220..fc971bc4ba3 100644 --- a/node-admin/src/test/resources/template3.tmp +++ b/node-admin/src/test/resources/template3.tmp @@ -1,6 +1,6 @@ %{=varname} %{=varname} -%{form l|} +%{form l-} inner %{=varname} %{=innerVarSetAtTop} -%{end|} +%{end-} -- cgit v1.2.3