You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "Gallyam Biktashev (Jira)" <ji...@apache.org> on 2021/05/06 08:10:00 UTC
[jira] [Updated] (GROOVY-10073) Unable to use custom string
representation in GString template
[ https://issues.apache.org/jira/browse/GROOVY-10073?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gallyam Biktashev updated GROOVY-10073:
---------------------------------------
Description:
I have a class
{code:java}
class JsonListAdapter implements List {
private final List<Object> adaptee;
private final JsonNode node;
public JsonListAdapter(List<Object> adaptee, JsonNode node) {
this.adaptee = adaptee;
this.node = node;
}
// methods here
@Override
public String toString() {
return node.toString();
}
}
{code}
I'm expecting that it will work like
{code:java}
var json = "[\"v1\",\"v2\"]";
var node = parseJson(json);
var list = toList(node);
var result = gStringTemplateService.render("${variable}", Map.of("variable", new JsonListAdapter(list, node)));
// both assertions fail for now
Assertions.assertNotEquals("[v1, v2]", result);
Assertions.assertEquals(json, result);
{code}
was:
I have a class
{code:java}
class JsonListAdapter {
private final List<Object> adaptee;
private final JsonNode node;
public JsonListAdapter(List<Object> adaptee, JsonNode node) {
this.adaptee = adaptee;
this.node = node;
}
// methods here
@Override
public String toString() {
return node.toString();
}
}
{code}
I'm expecting that it will work like
{code:java}
var json = "[\"v1\",\"v2\"]";
var node = parseJson(json);
var list = toList(node);
var result = gStringTemplateService.render("${variable}", Map.of("variable", new JsonListAdapter(list, node)));
// both assertions fail for now
Assertions.assertNotEquals("[v1, v2]", result);
Assertions.assertEquals(json, result);
{code}
> Unable to use custom string representation in GString template
> --------------------------------------------------------------
>
> Key: GROOVY-10073
> URL: https://issues.apache.org/jira/browse/GROOVY-10073
> Project: Groovy
> Issue Type: Bug
> Components: Templating
> Affects Versions: 2.5.14
> Reporter: Gallyam Biktashev
> Priority: Major
>
> I have a class
> {code:java}
> class JsonListAdapter implements List {
> private final List<Object> adaptee;
> private final JsonNode node;
> public JsonListAdapter(List<Object> adaptee, JsonNode node) {
> this.adaptee = adaptee;
> this.node = node;
> }
> // methods here
> @Override
> public String toString() {
> return node.toString();
> }
> }
> {code}
> I'm expecting that it will work like
> {code:java}
> var json = "[\"v1\",\"v2\"]";
> var node = parseJson(json);
> var list = toList(node);
> var result = gStringTemplateService.render("${variable}", Map.of("variable", new JsonListAdapter(list, node)));
> // both assertions fail for now
> Assertions.assertNotEquals("[v1, v2]", result);
> Assertions.assertEquals(json, result);
> {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)