X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=yang%2Fyang-parser-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fparser%2Fstmt%2Frfc6020%2Feffective%2FAbstractEffectiveDocumentedDataNodeContainer.java;h=de640644cd12bd69efca2c3df6e8b17f41d9a3b4;hb=c652590993b1e4660d5d557868665dbfa634ed27;hp=5056929b80d9be52ac22ef0ccadca86a593a434a;hpb=30c67c4d780e897d972d60bb79d546b512516f90;p=yangtools.git
diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/AbstractEffectiveDocumentedDataNodeContainer.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/AbstractEffectiveDocumentedDataNodeContainer.java
index 5056929b80..de640644cd 100644
--- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/AbstractEffectiveDocumentedDataNodeContainer.java
+++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/AbstractEffectiveDocumentedDataNodeContainer.java
@@ -1,4 +1,4 @@
-/**
+/*
* Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved.
*
* This program and the accompanying materials are made available under the
@@ -7,18 +7,13 @@
*/
package org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective;
-import org.opendaylight.yangtools.yang.model.util.ExtendedType;
-
-import java.util.LinkedHashSet;
-import java.util.LinkedHashMap;
-import com.google.common.collect.ImmutableSet;
import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.ImmutableSet;
import java.util.Collection;
import java.util.HashSet;
+import java.util.LinkedHashMap;
+import java.util.LinkedHashSet;
import java.util.Map;
-import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
-import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
-import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
import java.util.Set;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.model.api.DataNodeContainer;
@@ -26,16 +21,19 @@ import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
import org.opendaylight.yangtools.yang.model.api.GroupingDefinition;
import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
import org.opendaylight.yangtools.yang.model.api.UsesNode;
+import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
+import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
+import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
-public abstract class AbstractEffectiveDocumentedDataNodeContainer>
+abstract class AbstractEffectiveDocumentedDataNodeContainer>
extends AbstractEffectiveDocumentedNode implements
DataNodeContainer {
- private final ImmutableMap childNodes;
- private final ImmutableSet groupings;
- private final ImmutableSet uses;
- private final ImmutableSet> typeDefinitions;
- private final ImmutableSet publicChildNodes;
+ private final Map childNodes;
+ private final Set groupings;
+ private final Set uses;
+ private final Set> typeDefinitions;
+ private final Set publicChildNodes;
protected AbstractEffectiveDocumentedDataNodeContainer(
final StmtContext ctx) {
@@ -51,10 +49,9 @@ public abstract class AbstractEffectiveDocumentedDataNodeContainer effectiveStatement : effectiveSubstatements) {
if (effectiveStatement instanceof DataSchemaNode) {
- DataSchemaNode dataSchemaNode = (DataSchemaNode) effectiveStatement;
+ final DataSchemaNode dataSchemaNode = (DataSchemaNode) effectiveStatement;
if (!mutableChildNodes.containsKey(dataSchemaNode.getQName())) {
- mutableChildNodes.put(dataSchemaNode.getQName(),
- dataSchemaNode);
+ mutableChildNodes.put(dataSchemaNode.getQName(), dataSchemaNode);
mutablePublicChildNodes.add(dataSchemaNode);
} else {
throw EffectiveStmtUtils.createNameCollisionSourceException(ctx, effectiveStatement);
@@ -70,9 +67,9 @@ public abstract class AbstractEffectiveDocumentedDataNodeContainer type = typeDef.getTypeDefinition();
+ if (!mutableTypeDefinitions.contains(type)) {
+ mutableTypeDefinitions.add(type);
} else {
throw EffectiveStmtUtils.createNameCollisionSourceException(ctx, effectiveStatement);
}