throw new IllegalArgumentException("Supplied node is not data node container.");
}
- private def static checkConfigurational(DataSchemaNode node, boolean config) {
- if (config) {
- checkArgument(node.configuration, "Supplied composite node is not configurational.");
- }
- }
-
private static dispatch def Iterable<? extends Node<?>> mergeMultiple(LeafSchemaNode node, List<Node<?>> original,
List<Node<?>> modified, boolean configurational) {
checkArgument(original.size === 1);
if(node.keyDefinition === null || node.keyDefinition.empty) {
return modified;
- }
+ }
val originalMap = (original as List).toIndexMap(node.keyDefinition);
val modifiedMap = (modified as List).toIndexMap(node.keyDefinition);
if(originalEntry != null) {
originalMap.remove(entry.key);
mergedNodes.add(merge(node,originalEntry,entry.value,configurational));
-
+ } else {
+ mergedNodes.add(entry.value);
}
}
mergedNodes.addAll(originalMap.values);