diff --git a/metamorph/src/main/java/org/metafacture/metamorph/Metamorph.java b/metamorph/src/main/java/org/metafacture/metamorph/Metamorph.java index 43dd9a175..e38b9d052 100644 --- a/metamorph/src/main/java/org/metafacture/metamorph/Metamorph.java +++ b/metamorph/src/main/java/org/metafacture/metamorph/Metamorph.java @@ -338,11 +338,11 @@ else if (fallbackReceiver != null) { elseNestedEntityStarted = true; } - send(currentLiteralName, value, fallbackReceiver); + send(escapeFeedbackChar(currentLiteralName), value, fallbackReceiver); } } else { - send(path, value, fallbackReceiver); + send(escapeFeedbackChar(path), value, fallbackReceiver); } } } @@ -363,6 +363,14 @@ private void send(final String path, final String value, final List", i -> { i.startRecord("1"); + i.literal("@id", "123"); i.literal("Shikotan", "Aekap"); i.startEntity("Germany"); i.literal("Langeoog", "Moin"); @@ -113,18 +114,21 @@ private void testElseData(final String elseKeyword) { i.literal("Borkum", "Tach"); i.endEntity(); i.startEntity("Germany"); + i.literal("@foo", "bar"); i.literal("Baltrum", "Moin Moin"); i.endEntity(); i.endRecord(); }, o -> { o.get().startRecord("1"); + o.get().literal("@id", "123"); o.get().literal("Shikotan", "Aekap"); o.get().literal("Germany.Langeoog", "Moin"); o.get().startEntity("Germany"); o.get().literal("Hawaii", "Aloha"); o.get().literal("Germany.Borkum", "Tach"); o.get().endEntity(); + o.get().literal("Germany.@foo", "bar"); o.get().literal("Germany.Baltrum", "Moin Moin"); o.get().endRecord(); } @@ -223,8 +227,10 @@ public void shouldHandleUnmatchedLiteralsAndEntitiesInElseNestedSource() { "", i -> { i.startRecord("1"); + i.literal("@id", "123"); i.literal("Shikotan", "Aekap"); i.startEntity("Germany"); + i.literal("@foo", "bar"); i.literal("Langeoog", "Moin"); i.literal("Baltrum", "Moin Moin"); i.endEntity(); @@ -235,8 +241,10 @@ public void shouldHandleUnmatchedLiteralsAndEntitiesInElseNestedSource() { }, o -> { o.get().startRecord("1"); + o.get().literal("@id", "123"); o.get().literal("Shikotan", "Aekap"); o.get().startEntity("Germany"); + o.get().literal("@foo", "bar"); o.get().literal("Langeoog", "Moin"); o.get().literal("Baltrum", "Moin Moin"); o.get().endEntity();