Skip to content

Commit 8c2c38f

Browse files
Adapt to API changes in EFX Toolkit
1 parent 7e27ef8 commit 8c2c38f

2 files changed

Lines changed: 36 additions & 20 deletions

File tree

Lines changed: 30 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,31 @@
11
package eu.europa.ted.eforms.sdk.analysis.efx.mock;
22

3-
import java.util.LinkedHashSet;
43
import java.util.List;
54
import java.util.Set;
65
import java.util.stream.Collectors;
76
import org.apache.commons.lang3.StringUtils;
87
import org.apache.commons.lang3.tuple.Pair;
98
import eu.europa.ted.efx.interfaces.MarkupGenerator;
10-
import eu.europa.ted.efx.model.Expression;
11-
import eu.europa.ted.efx.model.Expression.PathExpression;
12-
import eu.europa.ted.efx.model.Expression.StringExpression;
13-
import eu.europa.ted.efx.model.Markup;
9+
import eu.europa.ted.efx.model.expressions.Expression;
10+
import eu.europa.ted.efx.model.expressions.path.PathExpression;
11+
import eu.europa.ted.efx.model.expressions.scalar.NumericExpression;
12+
import eu.europa.ted.efx.model.expressions.scalar.StringExpression;
13+
import eu.europa.ted.efx.model.templates.Markup;
1414

1515
public class MarkupGeneratorMock implements MarkupGenerator {
1616
@Override
1717
public Markup renderVariableExpression(Expression valueReference) {
18-
return new Markup(String.format("eval(%s)", valueReference.script));
18+
return new Markup(String.format("eval(%s)", valueReference.getScript()));
1919
}
2020

2121
@Override
2222
public Markup renderLabelFromKey(StringExpression key) {
23-
return new Markup(String.format("label(%s)", key.script));
23+
return new Markup(String.format("label(%s)", key.getScript()));
2424
}
2525

2626
@Override
2727
public Markup renderLabelFromExpression(Expression expression) {
28-
return new Markup(String.format("label(%s)", expression.script));
28+
return new Markup(String.format("label(%s)", expression.getScript()));
2929
}
3030

3131
@Override
@@ -34,10 +34,6 @@ public Markup renderFreeText(String freeText) {
3434
}
3535

3636
@Override
37-
public Markup composeFragmentDefinition(String name, String number, Markup content) {
38-
return this.composeFragmentDefinition(name, number, content, new LinkedHashSet<>());
39-
}
40-
4137
public Markup composeFragmentDefinition(String name, String number, Markup content,
4238
Set<String> parameters) {
4339
if (StringUtils.isBlank(number)) {
@@ -49,13 +45,9 @@ public Markup composeFragmentDefinition(String name, String number, Markup conte
4945
}
5046

5147
@Override
52-
public Markup renderFragmentInvocation(String name, PathExpression context) {
53-
return this.renderFragmentInvocation(name, context, new LinkedHashSet<>());
54-
}
55-
5648
public Markup renderFragmentInvocation(String name, PathExpression context,
5749
Set<Pair<String, String>> variables) {
58-
return new Markup(String.format("for-each(%s).call(%s(%s))", context.script, name,
50+
return new Markup(String.format("for-each(%s).call(%s(%s))", context.getScript(), name,
5951
variables.stream()
6052
.map(v -> String.format("%s:%s", v.getLeft(), v.getRight()))
6153
.collect(Collectors.joining(", "))));
@@ -67,4 +59,25 @@ public Markup composeOutputFile(List<Markup> body, List<Markup> templates) {
6759
templates.stream().map(t -> t.script).collect(Collectors.joining("\n")),
6860
body.stream().map(t -> t.script).collect(Collectors.joining("\n"))));
6961
}
62+
63+
@Override
64+
public Markup renderLabelFromKey(StringExpression key, NumericExpression quantity) {
65+
if (quantity.isEmpty()) {
66+
return new Markup(String.format("label(%s)", key.getScript()));
67+
}
68+
return new Markup(String.format("label(%s, %s)", key.getScript(), quantity.getScript()));
69+
}
70+
71+
@Override
72+
public Markup renderLabelFromExpression(Expression expression, NumericExpression quantity) {
73+
if (quantity.isEmpty()) {
74+
return new Markup(String.format("label(%s)", expression.getScript()));
75+
}
76+
return new Markup(String.format("label(%s, %s)", expression.getScript(), quantity.getScript()));
77+
}
78+
79+
@Override
80+
public Markup renderLineBreak() {
81+
return new Markup("<line-break>");
82+
}
7083
}

src/main/java/eu/europa/ted/eforms/sdk/analysis/validator/EfxValidator.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
import eu.europa.ted.efx.interfaces.ScriptGenerator;
3636
import eu.europa.ted.efx.interfaces.SymbolResolver;
3737
import eu.europa.ted.efx.interfaces.TranslatorDependencyFactory;
38+
import eu.europa.ted.efx.interfaces.TranslatorOptions;
3839

3940
/**
4041
* Validates EFX expressions and templates
@@ -144,16 +145,18 @@ public SymbolResolver createSymbolResolver(final String sdkVersion) {
144145
}
145146

146147
@Override
147-
public ScriptGenerator createScriptGenerator(final String sdkVersion) {
148+
public ScriptGenerator createScriptGenerator(final String sdkVersion,
149+
final TranslatorOptions options) {
148150
try {
149-
return ComponentFactory.getScriptGenerator(sdkVersion);
151+
return ComponentFactory.getScriptGenerator(sdkVersion, options);
150152
} catch (InstantiationException e) {
151153
throw new RuntimeException(e.getMessage(), e);
152154
}
153155
}
154156

155157
@Override
156-
public MarkupGenerator createMarkupGenerator(final String sdkVersion) {
158+
public MarkupGenerator createMarkupGenerator(final String sdkVersion,
159+
final TranslatorOptions options) {
157160
return new MarkupGeneratorMock();
158161
}
159162

0 commit comments

Comments
 (0)