From 58b31d92b6d73685fa71be71bb07d137a2019740 Mon Sep 17 00:00:00 2001 From: Pavol Mederly Date: Wed, 16 Jul 2014 23:55:53 +0200 Subject: [PATCH] Reducing accidental use of "object" element name. --- .../midpoint/prism/parser/XNodeProcessor.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/infra/prism/src/main/java/com/evolveum/midpoint/prism/parser/XNodeProcessor.java b/infra/prism/src/main/java/com/evolveum/midpoint/prism/parser/XNodeProcessor.java index e41be4c35c6..e31edd62a86 100644 --- a/infra/prism/src/main/java/com/evolveum/midpoint/prism/parser/XNodeProcessor.java +++ b/infra/prism/src/main/java/com/evolveum/midpoint/prism/parser/XNodeProcessor.java @@ -69,7 +69,9 @@ public class XNodeProcessor { - private PrismContext prismContext; + public static final String ARTIFICIAL_OBJECT_NAME = "anObject"; + + private PrismContext prismContext; public XNodeProcessor() { } @@ -135,7 +137,13 @@ public PrismObject parseObject(MapXNode xmap) throws S } private PrismObject parseObject(MapXNode xnode, PrismObjectDefinition objectDefinition) throws SchemaException { - return parseObject(xnode, new QName(null, "object"), objectDefinition); + QName elementName; + if (objectDefinition != null) { + elementName = objectDefinition.getName(); + } else { + elementName = new QName(null, ARTIFICIAL_OBJECT_NAME); + } + return parseObject(xnode, elementName, objectDefinition); } private PrismObject parseObject(XNode xnode, QName elementName, PrismObjectDefinition objectDefinition) throws SchemaException { @@ -978,7 +986,7 @@ private QName getElementName(XNode node, ItemDefinition itemDefinition) { } else if (itemDefinition != null) { return itemDefinition.getName(); } else { - return new QName(null, "object"); + throw new IllegalStateException("Couldn't determine element name - neither from XNode nor from itemDefinition"); } }