BUG-692: Rename mappedChildren to children
[yangtools.git] / yang / yang-data-impl / src / main / java / org / opendaylight / yangtools / yang / data / impl / schema / builder / impl / ImmutableMapEntryNodeSchemaAwareBuilder.java
index 44959104390f0eaf8eca1a921d1503439b281b60..aab21ebc3b0c04f983827de62cd47a2e2c48ce25 100644 (file)
@@ -14,7 +14,7 @@ import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier;
 import org.opendaylight.yangtools.yang.data.api.schema.DataContainerChild;
 import org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode;
-import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.DataContainerNodeBuilder;
+import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.DataContainerNodeAttrBuilder;
 import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.valid.DataNodeContainerValidator;
 import org.opendaylight.yangtools.yang.model.api.ListSchemaNode;
 
@@ -26,18 +26,18 @@ public final class ImmutableMapEntryNodeSchemaAwareBuilder extends ImmutableMapE
     private final ListSchemaNode schema;
     private final DataNodeContainerValidator validator;
 
-    protected ImmutableMapEntryNodeSchemaAwareBuilder(ListSchemaNode schema) {
-        this.schema = schema;
+    protected ImmutableMapEntryNodeSchemaAwareBuilder(final ListSchemaNode schema) {
+        this.schema = Preconditions.checkNotNull(schema);
         this.validator = new DataNodeContainerValidator(schema);
     }
 
     @Override
-    public ImmutableMapEntryNodeBuilder withNodeIdentifier(InstanceIdentifier.NodeIdentifierWithPredicates nodeIdentifier) {
+    public ImmutableMapEntryNodeBuilder withNodeIdentifier(final InstanceIdentifier.NodeIdentifierWithPredicates nodeIdentifier) {
         throw new UnsupportedOperationException("Node identifier created from schema");
     }
 
     @Override
-    public DataContainerNodeBuilder<InstanceIdentifier.NodeIdentifierWithPredicates, MapEntryNode> withChild(DataContainerChild<?, ?> child) {
+    public DataContainerNodeAttrBuilder<InstanceIdentifier.NodeIdentifierWithPredicates, MapEntryNode> withChild(final DataContainerChild<?, ?> child) {
         validator.validateChild(child.getIdentifier());
         return super.withChild(child);
     }
@@ -60,18 +60,19 @@ public final class ImmutableMapEntryNodeSchemaAwareBuilder extends ImmutableMapE
             keys = childrenQNamesToPaths.keySet();
         }
 
-        Map<QName, Object> keysToValues = Maps.newHashMap();
-        for (QName key : keys) {
+        final Map<QName, Object> keysToValues = Maps.newHashMap();
+        for (final QName key : keys) {
             // TODO two maps ? find better solution
-            DataContainerChild<?, ?> valueForKey = value.get(childrenQNamesToPaths.get(key));
+            final DataContainerChild<?, ?> valueForKey = getChild(childrenQNamesToPaths.get(key));
             Preconditions.checkState(valueForKey != null, "Key value: %s cannot be empty for: %s", key, schema.getQName());
             keysToValues.put(key, valueForKey.getValue());
         }
 
+
         return new InstanceIdentifier.NodeIdentifierWithPredicates(schema.getQName(), keysToValues);
     }
 
-    public static ImmutableMapEntryNodeSchemaAwareBuilder create(ListSchemaNode schema) {
+    public static DataContainerNodeAttrBuilder<InstanceIdentifier.NodeIdentifierWithPredicates, MapEntryNode> create(final ListSchemaNode schema) {
         return new ImmutableMapEntryNodeSchemaAwareBuilder(schema);
     }