NIFI-12669 Fix EvaluateXQuery processor which incorrectly encodes result attributes in certain case

Signed-off-by: Matt Burgess <mattyb149@apache.org>

This closes #8826
This commit is contained in:
Jim Steinebrey 2024-05-07 16:55:01 -04:00 committed by Matt Burgess
parent 7aaa5b4224
commit e6a90eb1e8
3 changed files with 4 additions and 4 deletions

View File

@ -368,7 +368,7 @@ public class EvaluateXQuery extends AbstractProcessor {
private String formatItem(XdmItem item, ProcessContext context) throws IOException {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
writeFormattedItem(item, context, baos);
return baos.toString();
return baos.toString(StandardCharsets.UTF_8);
}
void writeFormattedItem(XdmItem item, ProcessContext context, OutputStream out) throws IOException {

View File

@ -198,7 +198,7 @@ public class TestEvaluateXQuery {
"<?xml version=\"1.0\" encoding=\"UTF-8\"?><fruit xmlns:ns=\"http://namespace/1\"><name>banana</name><color>yellow</color></fruit>",
"<?xml version=\"1.0\" encoding=\"UTF-8\"?><fruit xmlns:ns=\"http://namespace/1\" taste=\"sweet\"><name>orange</name><color>orange</color></fruit>",
"<?xml version=\"1.0\" encoding=\"UTF-8\"?><fruit xmlns:ns=\"http://namespace/1\"><name>blueberry</name><color>blue</color></fruit>",
"<?xml version=\"1.0\" encoding=\"UTF-8\"?><fruit xmlns:ns=\"http://namespace/1\" taste=\"tart\"><name>raspberry</name><color>red</color></fruit>",
"<?xml version=\"1.0\" encoding=\"UTF-8\"?><fruit xmlns:ns=\"http://namespace/1\" taste=\"ÄÖÜäöüßéèóò\"><name>raspberry</name><color>red</color></fruit>",
"<?xml version=\"1.0\" encoding=\"UTF-8\"?><fruit xmlns:ns=\"http://namespace/1\"><name>none</name><color/></fruit>"));
/* XML all matches wrapped (one result)*/
@ -210,7 +210,7 @@ public class TestEvaluateXQuery {
+ "<fruit xmlns:ns=\"http://namespace/1\"><name>banana</name><color>yellow</color></fruit>"
+ "<fruit xmlns:ns=\"http://namespace/1\" taste=\"sweet\"><name>orange</name><color>orange</color></fruit>"
+ "<fruit xmlns:ns=\"http://namespace/1\"><name>blueberry</name><color>blue</color></fruit>"
+ "<fruit xmlns:ns=\"http://namespace/1\" taste=\"tart\"><name>raspberry</name><color>red</color></fruit>"
+ "<fruit xmlns:ns=\"http://namespace/1\" taste=\"ÄÖÜäöüßéèóò\"><name>raspberry</name><color>red</color></fruit>"
+ "<fruit xmlns:ns=\"http://namespace/1\"><name>none</name><color/></fruit>"
+ "</wrap>"));

View File

@ -36,7 +36,7 @@
<name>blueberry</name>
<color>blue</color>
</fruit>
<fruit taste="tart">
<fruit taste="ÄÖÜäöüßéèóò">
<name>raspberry</name>
<color>red</color>
</fruit>