From 3732594ea24d5f39f742631e0a38e3f917f3658a Mon Sep 17 00:00:00 2001 From: Tomas Olvecky Date: Tue, 1 Jul 2014 13:08:57 +0200 Subject: [PATCH] Bug 1131 - yang-parser-impl cleanup Fix small bugs (equals comparing incompatible types), null checks etc. Fix import ordering. Change-Id: I8c9f37e98542c63192ca8572edfd0de3643691cf Signed-off-by: Tomas Olvecky --- .../yang/parser/builder/api/Builder.java | 1 - .../builder/api/ConstraintsBuilder.java | 1 - .../parser/builder/api/GroupingBuilder.java | 1 - .../parser/builder/api/RefineBuilder.java | 1 - .../builder/api/TypeDefinitionBuilder.java | 1 - .../parser/builder/api/UsesNodeBuilder.java | 1 - .../parser/builder/impl/AnyXmlBuilder.java | 10 +- .../impl/AugmentationSchemaBuilderImpl.java | 21 ++- .../parser/builder/impl/BuilderUtils.java | 13 +- .../parser/builder/impl/ChoiceBuilder.java | 10 +- .../builder/impl/ChoiceCaseBuilder.java | 8 +- .../builder/impl/ConstraintsBuilderImpl.java | 20 ++- .../impl/ContainerSchemaNodeBuilder.java | 8 +- .../yang/parser/builder/impl/CopyUtils.java | 3 +- .../parser/builder/impl/DeviationBuilder.java | 10 +- .../builder/impl/ExtensionBuilderImpl.java | 16 +- .../parser/builder/impl/FeatureBuilder.java | 8 +- .../builder/impl/GroupingBuilderImpl.java | 8 +- .../parser/builder/impl/GroupingUtils.java | 9 +- .../impl/IdentitySchemaNodeBuilder.java | 12 +- .../builder/impl/IdentityrefTypeBuilder.java | 4 +- .../impl/LeafListSchemaNodeBuilder.java | 6 +- .../builder/impl/LeafSchemaNodeBuilder.java | 10 +- .../builder/impl/ListSchemaNodeBuilder.java | 8 +- .../parser/builder/impl/ModuleBuilder.java | 13 +- .../builder/impl/ModuleIdentifierImpl.java | 7 +- .../yang/parser/builder/impl/ModuleImpl.java | 12 +- .../builder/impl/NotificationBuilder.java | 10 +- .../yang/parser/builder/impl/RefineUtils.java | 8 +- .../builder/impl/RpcDefinitionBuilder.java | 8 +- .../impl/TypeDefinitionBuilderImpl.java | 19 +-- .../yang/parser/builder/impl/TypeUtils.java | 25 ++- .../parser/builder/impl/UnionTypeBuilder.java | 5 +- .../impl/UnknownSchemaNodeBuilderImpl.java | 4 +- .../builder/impl/UsesNodeBuilderImpl.java | 8 +- .../parser/builder/util/AbstractBuilder.java | 10 +- .../AbstractDocumentedDataNodeContainer.java | 2 +- ...actDocumentedDataNodeContainerBuilder.java | 4 +- .../builder/util/AbstractDocumentedNode.java | 5 +- .../util/AbstractSchemaNodeBuilder.java | 3 +- .../util/AbstractTypeAwareBuilder.java | 2 +- .../yang/parser/builder/util/Comparators.java | 1 - .../yang/parser/impl/BasicValidations.java | 38 +++-- .../yang/parser/impl/GroupingSort.java | 8 +- .../yang/parser/impl/ParserListenerUtils.java | 14 +- .../yang/parser/impl/SchemaContextImpl.java | 31 ++-- .../yang/parser/impl/ValidationUtil.java | 5 +- .../yang/parser/impl/YangErrorListener.java | 1 - .../YangModelBasicValidationListener.java | 8 +- .../parser/impl/YangModelBasicValidator.java | 1 - .../yang/parser/impl/YangParserImpl.java | 26 ++- .../parser/impl/YangParserListenerImpl.java | 34 ++-- .../impl/util/YangModelDependencyInfo.java | 12 +- .../impl/util/YangSourceContextResolver.java | 8 +- .../YangSourceFromCapabilitiesResolver.java | 4 +- .../YangSourceFromDependencyInfoResolver.java | 6 +- .../parser/util/ModuleDependencySort.java | 151 +++++++++++------- .../yang/parser/util/TopologicalSort.java | 5 +- .../yang/parser/util/TypeConstraints.java | 1 - .../yang/parser/impl/AugmentTest.java | 1 - .../yang/parser/impl/Bug394Test.java | 1 - .../yang/parser/impl/TwoRevisionsTest.java | 7 +- .../impl/YangModelValidationListTest.java | 1 - .../impl/YangModelValidationModuleTest.java | 5 +- .../YangModelValidationSubModuleTest.java | 1 - .../parser/impl/YangModelValidationTest.java | 11 +- .../parser/impl/YangParserNegativeTest.java | 1 - .../parser/impl/YangParserSimpleTest.java | 1 - .../yang/parser/impl/YangParserTest.java | 1 - .../util/YangModelDependencyInfoTest.java | 4 +- .../parser/util/ModuleDependencySortTest.java | 8 +- .../yang/parser/util/RefineHolderTest.java | 1 - .../yang/parser/util/TopologicalSortTest.java | 4 +- 73 files changed, 345 insertions(+), 391 deletions(-) diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/api/Builder.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/api/Builder.java index 0bc48108f7..5270396c57 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/api/Builder.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/api/Builder.java @@ -8,7 +8,6 @@ package org.opendaylight.yangtools.yang.parser.builder.api; import java.util.List; - import org.opendaylight.yangtools.concepts.Mutable; /** diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/api/ConstraintsBuilder.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/api/ConstraintsBuilder.java index 2d3649681b..196b49deb2 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/api/ConstraintsBuilder.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/api/ConstraintsBuilder.java @@ -7,7 +7,6 @@ package org.opendaylight.yangtools.yang.parser.builder.api; import java.util.Set; - import org.opendaylight.yangtools.concepts.Builder; import org.opendaylight.yangtools.yang.model.api.ConstraintDefinition; import org.opendaylight.yangtools.yang.model.api.MustDefinition; diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/api/GroupingBuilder.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/api/GroupingBuilder.java index 61e455cc1f..ab37edb3fb 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/api/GroupingBuilder.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/api/GroupingBuilder.java @@ -8,7 +8,6 @@ package org.opendaylight.yangtools.yang.parser.builder.api; import java.util.Set; - import org.opendaylight.yangtools.yang.model.api.GroupingDefinition; /** diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/api/RefineBuilder.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/api/RefineBuilder.java index 83aa38348d..183f9fd05c 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/api/RefineBuilder.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/api/RefineBuilder.java @@ -7,7 +7,6 @@ package org.opendaylight.yangtools.yang.parser.builder.api; import java.util.List; - import org.opendaylight.yangtools.yang.model.api.MustDefinition; /** diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/api/TypeDefinitionBuilder.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/api/TypeDefinitionBuilder.java index b98f15c69a..e547d440fa 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/api/TypeDefinitionBuilder.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/api/TypeDefinitionBuilder.java @@ -7,7 +7,6 @@ package org.opendaylight.yangtools.yang.parser.builder.api; import java.util.List; - import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.TypeDefinition; import org.opendaylight.yangtools.yang.model.api.type.LengthConstraint; diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/api/UsesNodeBuilder.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/api/UsesNodeBuilder.java index 3576995cba..f24e1695d8 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/api/UsesNodeBuilder.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/api/UsesNodeBuilder.java @@ -9,7 +9,6 @@ package org.opendaylight.yangtools.yang.parser.builder.api; import java.util.List; import java.util.Set; - import org.opendaylight.yangtools.yang.model.api.GroupingDefinition; import org.opendaylight.yangtools.yang.model.api.SchemaPath; import org.opendaylight.yangtools.yang.model.api.UsesNode; diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/AnyXmlBuilder.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/AnyXmlBuilder.java index f69b4f8810..e5762d8c27 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/AnyXmlBuilder.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/AnyXmlBuilder.java @@ -7,21 +7,19 @@ */ package org.opendaylight.yangtools.yang.parser.builder.impl; +import com.google.common.collect.ImmutableList; import java.util.List; - import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.AnyXmlSchemaNode; import org.opendaylight.yangtools.yang.model.api.ConstraintDefinition; import org.opendaylight.yangtools.yang.model.api.SchemaPath; import org.opendaylight.yangtools.yang.model.api.Status; import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode; -import org.opendaylight.yangtools.yang.parser.builder.api.DataSchemaNodeBuilder; import org.opendaylight.yangtools.yang.parser.builder.api.ConstraintsBuilder; +import org.opendaylight.yangtools.yang.parser.builder.api.DataSchemaNodeBuilder; import org.opendaylight.yangtools.yang.parser.builder.api.UnknownSchemaNodeBuilder; import org.opendaylight.yangtools.yang.parser.builder.util.AbstractSchemaNodeBuilder; -import com.google.common.collect.ImmutableList; - public final class AnyXmlBuilder extends AbstractSchemaNodeBuilder implements DataSchemaNodeBuilder { private AnyXmlSchemaNodeImpl instance; @@ -264,8 +262,8 @@ public final class AnyXmlBuilder extends AbstractSchemaNodeBuilder implements Da public String toString() { StringBuilder sb = new StringBuilder(AnyXmlSchemaNodeImpl.class.getSimpleName()); sb.append("["); - sb.append("qname=" + qname); - sb.append(", path=" + path); + sb.append("qname=").append(qname); + sb.append(", path=").append(path); sb.append("]"); return sb.toString(); } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/AugmentationSchemaBuilderImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/AugmentationSchemaBuilderImpl.java index 91708c00da..232f4578bd 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/AugmentationSchemaBuilderImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/AugmentationSchemaBuilderImpl.java @@ -7,12 +7,15 @@ */ package org.opendaylight.yangtools.yang.parser.builder.impl; +import static com.google.common.base.Preconditions.checkNotNull; + +import com.google.common.base.Optional; +import com.google.common.collect.ImmutableList; import java.net.URI; import java.util.ArrayList; import java.util.Date; import java.util.Iterator; import java.util.List; - import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.QNameModule; import org.opendaylight.yangtools.yang.model.api.AugmentationSchema; @@ -28,9 +31,6 @@ import org.opendaylight.yangtools.yang.parser.builder.api.UsesNodeBuilder; import org.opendaylight.yangtools.yang.parser.builder.util.AbstractDocumentedDataNodeContainer; import org.opendaylight.yangtools.yang.parser.builder.util.AbstractDocumentedDataNodeContainerBuilder; -import com.google.common.base.Optional; -import com.google.common.collect.ImmutableList; - public final class AugmentationSchemaBuilderImpl extends AbstractDocumentedDataNodeContainerBuilder implements AugmentationSchemaBuilder { private final int order; @@ -192,11 +192,7 @@ public final class AugmentationSchemaBuilderImpl extends AbstractDocumentedDataN } else if (!whenCondition.equals(other.whenCondition)) { return false; } - if (other.getChildNodeBuilders() == null) { - if (other.getChildNodeBuilders() != null) { - return false; - } - } else if (!getChildNodeBuilders().equals(other.getChildNodeBuilders())) { + if (!getChildNodeBuilders().equals(other.getChildNodeBuilders())) { return false; } return true; @@ -268,7 +264,7 @@ public final class AugmentationSchemaBuilderImpl extends AbstractDocumentedDataN int result = 1; result = prime * result + ((targetPath == null) ? 0 : targetPath.hashCode()); result = prime * result + ((whenCondition == null) ? 0 : whenCondition.hashCode()); - result = getChildNodes().hashCode(); + result = prime * result + getChildNodes().hashCode(); return result; } @@ -308,14 +304,15 @@ public final class AugmentationSchemaBuilderImpl extends AbstractDocumentedDataN public String toString() { StringBuilder sb = new StringBuilder(AugmentationSchemaImpl.class.getSimpleName()); sb.append("["); - sb.append("targetPath=" + targetPath); - sb.append(", when=" + whenCondition); + sb.append("targetPath=").append(targetPath); + sb.append(", when=").append(whenCondition); sb.append("]"); return sb.toString(); } @Override public int compareTo(final AugmentationSchemaImpl o) { + checkNotNull(o); Iterator thisIt = this.targetPath.getPathFromRoot().iterator(); Iterator otherIt = o.getTargetPath().getPathFromRoot().iterator(); while (thisIt.hasNext()) { diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/BuilderUtils.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/BuilderUtils.java index 082ff69538..5ca8f83120 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/BuilderUtils.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/BuilderUtils.java @@ -132,7 +132,7 @@ public final class BuilderUtils { * prefix associated with import * @return ModuleImport based on given prefix */ - public static ModuleImport getModuleImport(final ModuleBuilder builder, final String prefix) { + private static ModuleImport getModuleImport(final ModuleBuilder builder, final String prefix) { for (ModuleImport mi : builder.getModuleImports()) { if (mi.getPrefix().equals(prefix)) { return mi; @@ -157,8 +157,8 @@ public final class BuilderUtils { */ public static ModuleBuilder findModuleFromBuilders(final Map> modules, final ModuleBuilder module, final String prefix, final int line) { - ModuleBuilder dependentModule = null; - Date dependentModuleRevision = null; + ModuleBuilder dependentModule; + Date dependentModuleRevision; if (prefix == null) { dependentModule = module; @@ -223,7 +223,7 @@ public final class BuilderUtils { } } - Module result = null; + Module result; if (dependentModuleRevision == null) { result = modulesByRevision.get(modulesByRevision.firstKey()); } else { @@ -242,7 +242,7 @@ public final class BuilderUtils { public static SchemaPath parseXPathString(final String xpathString) { final boolean absolute = xpathString.indexOf('/') == 0; - final List path = new ArrayList(); + final List path = new ArrayList<>(); for (String pathElement : SLASH_SPLITTER.split(xpathString)) { if (pathElement.length() > 0) { final Iterator it = COLON_SPLITTER.split(pathElement).iterator(); @@ -380,7 +380,7 @@ public final class BuilderUtils { * @param config * new config value */ - public static void setNodeConfig(final DataSchemaNodeBuilder node, final Boolean config) { + private static void setNodeConfig(final DataSchemaNodeBuilder node, final Boolean config) { if (node instanceof ContainerSchemaNodeBuilder || node instanceof LeafSchemaNodeBuilder || node instanceof LeafListSchemaNodeBuilder || node instanceof ListSchemaNodeBuilder || node instanceof ChoiceBuilder || node instanceof AnyXmlBuilder) { @@ -697,7 +697,6 @@ public final class BuilderUtils { while (!(parent instanceof ModuleBuilder)) { parent = parent.getParent(); } - Preconditions.checkState(parent instanceof ModuleBuilder); ModuleBuilder parentModule = (ModuleBuilder) parent; if (parentModule.isSubmodule()) { parentModule = parentModule.getParent(); diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/ChoiceBuilder.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/ChoiceBuilder.java index 6dac4e29a7..c4dab717b4 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/ChoiceBuilder.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/ChoiceBuilder.java @@ -7,6 +7,8 @@ */ package org.opendaylight.yangtools.yang.parser.builder.impl; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableSet; import java.net.URI; import java.util.ArrayList; import java.util.Date; @@ -14,7 +16,6 @@ import java.util.HashSet; import java.util.List; import java.util.Set; import java.util.TreeSet; - import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.AugmentationSchema; import org.opendaylight.yangtools.yang.model.api.ChoiceCaseNode; @@ -26,16 +27,13 @@ import org.opendaylight.yangtools.yang.model.api.Status; import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode; import org.opendaylight.yangtools.yang.parser.builder.api.AugmentationSchemaBuilder; import org.opendaylight.yangtools.yang.parser.builder.api.AugmentationTargetBuilder; -import org.opendaylight.yangtools.yang.parser.builder.api.DataSchemaNodeBuilder; import org.opendaylight.yangtools.yang.parser.builder.api.ConstraintsBuilder; +import org.opendaylight.yangtools.yang.parser.builder.api.DataSchemaNodeBuilder; import org.opendaylight.yangtools.yang.parser.builder.api.UnknownSchemaNodeBuilder; import org.opendaylight.yangtools.yang.parser.builder.util.AbstractSchemaNodeBuilder; import org.opendaylight.yangtools.yang.parser.builder.util.Comparators; import org.opendaylight.yangtools.yang.parser.util.YangParseException; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableSet; - public final class ChoiceBuilder extends AbstractSchemaNodeBuilder implements DataSchemaNodeBuilder, AugmentationTargetBuilder { private ChoiceNodeImpl instance; @@ -434,7 +432,7 @@ public final class ChoiceBuilder extends AbstractSchemaNodeBuilder implements Da public String toString() { StringBuilder sb = new StringBuilder(ChoiceNodeImpl.class.getSimpleName()); sb.append("["); - sb.append("qname=" + qname); + sb.append("qname=").append(qname); sb.append("]"); return sb.toString(); } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/ChoiceCaseBuilder.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/ChoiceCaseBuilder.java index 2a59e7279a..57ffe80f79 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/ChoiceCaseBuilder.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/ChoiceCaseBuilder.java @@ -7,12 +7,14 @@ */ package org.opendaylight.yangtools.yang.parser.builder.impl; +import com.google.common.base.Preconditions; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableSet; import java.net.URI; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Set; - import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.AugmentationSchema; import org.opendaylight.yangtools.yang.model.api.ChoiceCaseNode; @@ -30,10 +32,6 @@ import org.opendaylight.yangtools.yang.parser.builder.util.AbstractDocumentedDat import org.opendaylight.yangtools.yang.parser.builder.util.AbstractDocumentedDataNodeContainerBuilder; import org.opendaylight.yangtools.yang.parser.util.YangParseException; -import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableSet; - public final class ChoiceCaseBuilder extends AbstractDocumentedDataNodeContainerBuilder implements DataSchemaNodeBuilder, AugmentationTargetBuilder { private ChoiceCaseNodeImpl instance; diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/ConstraintsBuilderImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/ConstraintsBuilderImpl.java index 392c101529..52f8acdb3c 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/ConstraintsBuilderImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/ConstraintsBuilderImpl.java @@ -7,18 +7,16 @@ */ package org.opendaylight.yangtools.yang.parser.builder.impl; +import com.google.common.collect.ImmutableSet; import java.util.Collections; import java.util.HashSet; import java.util.Set; - import org.opendaylight.yangtools.yang.model.api.ConstraintDefinition; import org.opendaylight.yangtools.yang.model.api.MustDefinition; import org.opendaylight.yangtools.yang.model.api.RevisionAwareXPath; import org.opendaylight.yangtools.yang.model.util.RevisionAwareXPathImpl; import org.opendaylight.yangtools.yang.parser.builder.api.ConstraintsBuilder; -import com.google.common.collect.ImmutableSet; - public final class ConstraintsBuilderImpl implements ConstraintsBuilder { private static final ConstraintDefinitionImpl EMPTY_CONSTRAINT = new ConstraintDefinitionImpl(); private static final ConstraintDefinitionImpl EMPTY_MANDATORY_CONSTRAINT; @@ -43,13 +41,13 @@ public final class ConstraintsBuilderImpl implements ConstraintsBuilder { public ConstraintsBuilderImpl(final String moduleName, final int line) { this.moduleName = moduleName; this.line = line; - mustDefinitions = new HashSet(); + mustDefinitions = new HashSet<>(); } ConstraintsBuilderImpl(final ConstraintsBuilder b) { this.moduleName = b.getModuleName(); this.line = b.getLine(); - mustDefinitions = new HashSet(b.getMustDefinitions()); + mustDefinitions = new HashSet<>(b.getMustDefinitions()); whenCondition = b.getWhenCondition(); mandatory = b.isMandatory(); min = b.getMinElements(); @@ -60,7 +58,7 @@ public final class ConstraintsBuilderImpl implements ConstraintsBuilder { this.moduleName = moduleName; this.line = line; whenStmt = base.getWhenCondition(); - mustDefinitions = new HashSet(base.getMustConstraints()); + mustDefinitions = new HashSet<>(base.getMustConstraints()); mandatory = base.isMandatory(); min = base.getMinElements(); max = base.getMaxElements(); @@ -314,11 +312,11 @@ public final class ConstraintsBuilderImpl implements ConstraintsBuilder { public String toString() { StringBuilder sb = new StringBuilder(ConstraintDefinitionImpl.class.getSimpleName()); sb.append("["); - sb.append("whenCondition=" + whenCondition); - sb.append(", mustConstraints=" + mustConstraints); - sb.append(", mandatory=" + mandatory); - sb.append(", minElements=" + minElements); - sb.append(", maxElements=" + maxElements); + sb.append("whenCondition=").append(whenCondition); + sb.append(", mustConstraints=").append(mustConstraints); + sb.append(", mandatory=").append(mandatory); + sb.append(", minElements=").append(minElements); + sb.append(", maxElements=").append(maxElements); sb.append("]"); return sb.toString(); } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/ContainerSchemaNodeBuilder.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/ContainerSchemaNodeBuilder.java index 25602c0cc6..45bf23e721 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/ContainerSchemaNodeBuilder.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/ContainerSchemaNodeBuilder.java @@ -7,10 +7,12 @@ */ package org.opendaylight.yangtools.yang.parser.builder.impl; +import com.google.common.base.Preconditions; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableSet; import java.util.ArrayList; import java.util.List; import java.util.Set; - import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.AugmentationSchema; import org.opendaylight.yangtools.yang.model.api.ConstraintDefinition; @@ -25,10 +27,6 @@ import org.opendaylight.yangtools.yang.parser.builder.api.UnknownSchemaNodeBuild import org.opendaylight.yangtools.yang.parser.builder.util.AbstractDocumentedDataNodeContainer; import org.opendaylight.yangtools.yang.parser.builder.util.AbstractDocumentedDataNodeContainerBuilder; -import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableSet; - public final class ContainerSchemaNodeBuilder extends AbstractDocumentedDataNodeContainerBuilder implements AugmentationTargetBuilder, DataSchemaNodeBuilder { private ContainerSchemaNodeImpl instance; diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/CopyUtils.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/CopyUtils.java index 3be4389908..9095e7c43c 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/CopyUtils.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/CopyUtils.java @@ -8,7 +8,6 @@ package org.opendaylight.yangtools.yang.parser.builder.impl; import java.util.ArrayList; - import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.SchemaPath; import org.opendaylight.yangtools.yang.model.api.TypeDefinition; @@ -213,7 +212,7 @@ public final class CopyUtils { return copy; } - public static LeafListSchemaNodeBuilder copy(final LeafListSchemaNodeBuilder old, final Builder newParent, final boolean updateQName) { + private static LeafListSchemaNodeBuilder copy(final LeafListSchemaNodeBuilder old, final Builder newParent, final boolean updateQName) { DataBean data = getdata(old, newParent, updateQName); QName newQName = data.qname; SchemaPath newSchemaPath = data.schemaPath; diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/DeviationBuilder.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/DeviationBuilder.java index 2608d7bff2..8b18ba41b7 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/DeviationBuilder.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/DeviationBuilder.java @@ -7,8 +7,8 @@ */ package org.opendaylight.yangtools.yang.parser.builder.impl; +import com.google.common.collect.ImmutableList; import java.util.List; - import org.opendaylight.yangtools.yang.model.api.Deviation; import org.opendaylight.yangtools.yang.model.api.Deviation.Deviate; import org.opendaylight.yangtools.yang.model.api.SchemaPath; @@ -17,8 +17,6 @@ import org.opendaylight.yangtools.yang.parser.builder.api.UnknownSchemaNodeBuild import org.opendaylight.yangtools.yang.parser.builder.util.AbstractBuilder; import org.opendaylight.yangtools.yang.parser.util.YangParseException; -import com.google.common.collect.ImmutableList; - public final class DeviationBuilder extends AbstractBuilder { private DeviationImpl instance; private final String targetPathStr; @@ -170,9 +168,9 @@ public final class DeviationBuilder extends AbstractBuilder { public String toString() { StringBuilder sb = new StringBuilder(DeviationImpl.class.getSimpleName()); sb.append("["); - sb.append("targetPath=" + targetPath); - sb.append(", deviate=" + deviate); - sb.append(", reference=" + reference); + sb.append("targetPath=").append(targetPath); + sb.append(", deviate=").append(deviate); + sb.append(", reference=").append(reference); sb.append("]"); return sb.toString(); } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/ExtensionBuilderImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/ExtensionBuilderImpl.java index 5d6eed0f79..e96f320076 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/ExtensionBuilderImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/ExtensionBuilderImpl.java @@ -7,8 +7,9 @@ */ package org.opendaylight.yangtools.yang.parser.builder.impl; +import com.google.common.base.Preconditions; +import com.google.common.collect.ImmutableList; import java.util.List; - import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.ExtensionDefinition; import org.opendaylight.yangtools.yang.model.api.SchemaPath; @@ -18,9 +19,6 @@ import org.opendaylight.yangtools.yang.parser.builder.api.ExtensionBuilder; import org.opendaylight.yangtools.yang.parser.builder.api.UnknownSchemaNodeBuilder; import org.opendaylight.yangtools.yang.parser.builder.util.AbstractSchemaNodeBuilder; -import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableList; - public final class ExtensionBuilderImpl extends AbstractSchemaNodeBuilder implements ExtensionBuilder { private ExtensionDefinitionImpl instance; private String argument; @@ -162,11 +160,11 @@ public final class ExtensionBuilderImpl extends AbstractSchemaNodeBuilder implem public String toString() { StringBuilder sb = new StringBuilder(ExtensionDefinitionImpl.class.getSimpleName()); sb.append("["); - sb.append("argument=" + argument); - sb.append(", qname=" + qname); - sb.append(", schemaPath=" + schemaPath); - sb.append(", extensionSchemaNodes=" + unknownNodes); - sb.append(", yin=" + yin); + sb.append("argument=").append(argument); + sb.append(", qname=").append(qname); + sb.append(", schemaPath=").append(schemaPath); + sb.append(", extensionSchemaNodes=").append(unknownNodes); + sb.append(", yin=").append(yin); sb.append("]"); return sb.toString(); } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/FeatureBuilder.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/FeatureBuilder.java index 9b9b1b9218..c2e9a6a689 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/FeatureBuilder.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/FeatureBuilder.java @@ -7,8 +7,9 @@ */ package org.opendaylight.yangtools.yang.parser.builder.impl; +import com.google.common.base.Preconditions; +import com.google.common.collect.ImmutableList; import java.util.List; - import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.FeatureDefinition; import org.opendaylight.yangtools.yang.model.api.SchemaPath; @@ -17,9 +18,6 @@ import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode; import org.opendaylight.yangtools.yang.parser.builder.api.UnknownSchemaNodeBuilder; import org.opendaylight.yangtools.yang.parser.builder.util.AbstractSchemaNodeBuilder; -import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableList; - public final class FeatureBuilder extends AbstractSchemaNodeBuilder { private FeatureDefinitionImpl instance; @@ -134,7 +132,7 @@ public final class FeatureBuilder extends AbstractSchemaNodeBuilder { @Override public String toString() { StringBuilder sb = new StringBuilder(FeatureDefinitionImpl.class.getSimpleName()); - sb.append("[name=" + qname + "]"); + sb.append("[name=").append(qname).append("]"); return sb.toString(); } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/GroupingBuilderImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/GroupingBuilderImpl.java index 9a5f9fb10d..96009d8fd6 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/GroupingBuilderImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/GroupingBuilderImpl.java @@ -7,12 +7,13 @@ */ package org.opendaylight.yangtools.yang.parser.builder.impl; +import com.google.common.base.Preconditions; +import com.google.common.collect.ImmutableList; import java.net.URI; import java.util.Date; import java.util.HashSet; import java.util.List; import java.util.Set; - import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.GroupingDefinition; import org.opendaylight.yangtools.yang.model.api.SchemaPath; @@ -26,9 +27,6 @@ import org.opendaylight.yangtools.yang.parser.builder.api.UnknownSchemaNodeBuild import org.opendaylight.yangtools.yang.parser.builder.util.AbstractDocumentedDataNodeContainer; import org.opendaylight.yangtools.yang.parser.builder.util.AbstractDocumentedDataNodeContainerBuilder; -import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableList; - public final class GroupingBuilderImpl extends AbstractDocumentedDataNodeContainerBuilder implements GroupingBuilder { private GroupingDefinitionImpl instance; // SchemaNode args @@ -272,7 +270,7 @@ public final class GroupingBuilderImpl extends AbstractDocumentedDataNodeContain public String toString() { StringBuilder sb = new StringBuilder(GroupingDefinitionImpl.class.getSimpleName()); sb.append("["); - sb.append("qname=" + qname); + sb.append("qname=").append(qname); sb.append("]"); return sb.toString(); } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/GroupingUtils.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/GroupingUtils.java index 42957db085..2442d47b75 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/GroupingUtils.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/GroupingUtils.java @@ -12,7 +12,6 @@ import java.util.Date; import java.util.Map; import java.util.Set; import java.util.TreeMap; - import org.opendaylight.yangtools.yang.model.api.GroupingDefinition; import org.opendaylight.yangtools.yang.model.api.Module; import org.opendaylight.yangtools.yang.model.api.SchemaContext; @@ -61,10 +60,10 @@ public final class GroupingUtils { } ModuleBuilder dependentModule; + if(groupingPrefix == null) { dependentModule = module; - } - if (groupingPrefix.equals(module.getPrefix())) { + } else if (groupingPrefix.equals(module.getPrefix())) { dependentModule = module; } else { dependentModule = BuilderUtils.findModuleFromBuilders(modules, module, groupingPrefix, line); @@ -147,7 +146,7 @@ public final class GroupingUtils { * name of grouping * @return grouping with given name if present in collection, null otherwise */ - public static GroupingBuilder findGroupingBuilder(final Set groupings, final String name) { + private static GroupingBuilder findGroupingBuilder(final Set groupings, final String name) { for (GroupingBuilder grouping : groupings) { if (grouping.getQName().getLocalName().equals(name)) { return grouping; @@ -165,7 +164,7 @@ public final class GroupingUtils { * name of grouping * @return grouping with given name if present in collection, null otherwise */ - public static GroupingDefinition findGroupingDefinition(final Set groupings, final String name) { + private static GroupingDefinition findGroupingDefinition(final Set groupings, final String name) { for (GroupingDefinition grouping : groupings) { if (grouping.getQName().getLocalName().equals(name)) { return grouping; diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/IdentitySchemaNodeBuilder.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/IdentitySchemaNodeBuilder.java index 0b58cf4c05..dc38600a94 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/IdentitySchemaNodeBuilder.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/IdentitySchemaNodeBuilder.java @@ -7,11 +7,12 @@ */ package org.opendaylight.yangtools.yang.parser.builder.impl; +import com.google.common.base.Preconditions; +import com.google.common.collect.ImmutableList; import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Set; - import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.IdentitySchemaNode; import org.opendaylight.yangtools.yang.model.api.SchemaPath; @@ -20,9 +21,6 @@ import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode; import org.opendaylight.yangtools.yang.parser.builder.api.UnknownSchemaNodeBuilder; import org.opendaylight.yangtools.yang.parser.builder.util.AbstractSchemaNodeBuilder; -import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableList; - public final class IdentitySchemaNodeBuilder extends AbstractSchemaNodeBuilder { private IdentitySchemaNodeImpl instance; private IdentitySchemaNode baseIdentity; @@ -81,7 +79,7 @@ public final class IdentitySchemaNodeBuilder extends AbstractSchemaNodeBuilder { this.baseIdentityBuilder = baseType; } - public void addDerivedIdentity(final IdentitySchemaNode derivedIdentity) { + void addDerivedIdentity(final IdentitySchemaNode derivedIdentity) { if (derivedIdentity != null) { derivedIdentities.add(derivedIdentity); } @@ -191,8 +189,8 @@ public final class IdentitySchemaNodeBuilder extends AbstractSchemaNodeBuilder { public String toString() { StringBuilder sb = new StringBuilder(IdentitySchemaNodeImpl.class.getSimpleName()); sb.append("["); - sb.append("base=" + baseIdentity); - sb.append(", qname=" + qname); + sb.append("base=").append(baseIdentity); + sb.append(", qname=").append(qname); sb.append("]"); return sb.toString(); } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/IdentityrefTypeBuilder.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/IdentityrefTypeBuilder.java index a76bc1774b..e79df80139 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/IdentityrefTypeBuilder.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/IdentityrefTypeBuilder.java @@ -7,9 +7,9 @@ */ package org.opendaylight.yangtools.yang.parser.builder.impl; +import com.google.common.base.Preconditions; import java.util.Collections; import java.util.List; - import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.SchemaPath; import org.opendaylight.yangtools.yang.model.api.Status; @@ -24,8 +24,6 @@ import org.opendaylight.yangtools.yang.parser.builder.api.UnknownSchemaNodeBuild import org.opendaylight.yangtools.yang.parser.builder.util.AbstractTypeAwareBuilder; import org.opendaylight.yangtools.yang.parser.util.YangParseException; -import com.google.common.base.Preconditions; - /** * Builder for YANG identityref type. */ diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/LeafListSchemaNodeBuilder.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/LeafListSchemaNodeBuilder.java index 445f9221c3..0c41a3bb7a 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/LeafListSchemaNodeBuilder.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/LeafListSchemaNodeBuilder.java @@ -7,8 +7,9 @@ */ package org.opendaylight.yangtools.yang.parser.builder.impl; +import com.google.common.base.Preconditions; +import com.google.common.collect.ImmutableList; import java.util.List; - import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.ConstraintDefinition; import org.opendaylight.yangtools.yang.model.api.LeafListSchemaNode; @@ -21,9 +22,6 @@ import org.opendaylight.yangtools.yang.parser.builder.api.DataSchemaNodeBuilder; import org.opendaylight.yangtools.yang.parser.builder.api.UnknownSchemaNodeBuilder; import org.opendaylight.yangtools.yang.parser.builder.util.AbstractTypeAwareBuilder; -import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableList; - public final class LeafListSchemaNodeBuilder extends AbstractTypeAwareBuilder implements DataSchemaNodeBuilder { private LeafListSchemaNodeImpl instance; private boolean userOrdered; diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/LeafSchemaNodeBuilder.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/LeafSchemaNodeBuilder.java index 8e1e905305..201705392b 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/LeafSchemaNodeBuilder.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/LeafSchemaNodeBuilder.java @@ -7,8 +7,9 @@ */ package org.opendaylight.yangtools.yang.parser.builder.impl; +import com.google.common.base.Preconditions; +import com.google.common.collect.ImmutableList; import java.util.List; - import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.ConstraintDefinition; import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode; @@ -22,9 +23,6 @@ import org.opendaylight.yangtools.yang.parser.builder.api.UnknownSchemaNodeBuild import org.opendaylight.yangtools.yang.parser.builder.util.AbstractTypeAwareBuilder; import org.opendaylight.yangtools.yang.parser.util.YangParseException; -import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableList; - public final class LeafSchemaNodeBuilder extends AbstractTypeAwareBuilder implements DataSchemaNodeBuilder { private LeafSchemaNodeImpl instance; private String defaultStr; @@ -362,8 +360,8 @@ public final class LeafSchemaNodeBuilder extends AbstractTypeAwareBuilder implem public String toString() { StringBuilder sb = new StringBuilder(LeafSchemaNodeImpl.class.getSimpleName()); sb.append("["); - sb.append("qname=" + qname); - sb.append(", path=" + path); + sb.append("qname=").append(qname); + sb.append(", path=").append(path); sb.append("]"); return sb.toString(); } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/ListSchemaNodeBuilder.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/ListSchemaNodeBuilder.java index e099e668c5..e251aacb87 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/ListSchemaNodeBuilder.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/ListSchemaNodeBuilder.java @@ -7,12 +7,14 @@ */ package org.opendaylight.yangtools.yang.parser.builder.impl; +import com.google.common.base.Preconditions; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableSet; import java.net.URI; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Set; - import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.AugmentationSchema; import org.opendaylight.yangtools.yang.model.api.ConstraintDefinition; @@ -27,10 +29,6 @@ import org.opendaylight.yangtools.yang.parser.builder.api.UnknownSchemaNodeBuild import org.opendaylight.yangtools.yang.parser.builder.util.AbstractDocumentedDataNodeContainer; import org.opendaylight.yangtools.yang.parser.builder.util.AbstractDocumentedDataNodeContainerBuilder; -import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableSet; - public final class ListSchemaNodeBuilder extends AbstractDocumentedDataNodeContainerBuilder implements DataSchemaNodeBuilder, AugmentationTargetBuilder { private ListSchemaNodeImpl instance; diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/ModuleBuilder.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/ModuleBuilder.java index e351f6c5df..0ca1eb88f6 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/ModuleBuilder.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/ModuleBuilder.java @@ -11,7 +11,6 @@ import java.io.IOException; import java.io.InputStream; import java.net.URI; import java.util.ArrayList; -import java.util.Collection; import java.util.Collections; import java.util.Date; import java.util.Deque; @@ -21,7 +20,6 @@ import java.util.LinkedList; import java.util.List; import java.util.Set; import java.util.TreeSet; - import org.apache.commons.io.IOUtils; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.AugmentationSchema; @@ -75,7 +73,7 @@ public class ModuleBuilder extends AbstractDocumentedDataNodeContainerBuilder im private final Deque actualPath = new LinkedList<>(); private final Set dirtyNodes = new HashSet<>(); - final Set imports = new HashSet(); + final Set imports = new HashSet<>(); private final Set augments = new LinkedHashSet<>(); private final List augmentBuilders = new ArrayList<>(); @@ -842,11 +840,11 @@ public class ModuleBuilder extends AbstractDocumentedDataNodeContainerBuilder im addedUnknownNodes.add(builder); } else { if (parent instanceof SchemaNodeBuilder) { - ((SchemaNodeBuilder) parent).addUnknownNodeBuilder(builder); + parent.addUnknownNodeBuilder(builder); } else if (parent instanceof DataNodeContainerBuilder) { - ((DataNodeContainerBuilder) parent).addUnknownNodeBuilder(builder); + parent.addUnknownNodeBuilder(builder); } else if (parent instanceof RefineHolderImpl) { - ((RefineHolderImpl) parent).addUnknownNodeBuilder(builder); + parent.addUnknownNodeBuilder(builder); } else { throw new YangParseException(name, line, "Unresolved parent of unknown node '" + qname.getLocalName() + "'"); @@ -1000,8 +998,7 @@ public class ModuleBuilder extends AbstractDocumentedDataNodeContainerBuilder im } private ModuleImport createModuleImport(final String moduleName, final Date revision, final String prefix) { - final ModuleImport moduleImport = new ModuleImportImpl(moduleName, revision, prefix); - return moduleImport; + return new ModuleImportImpl(moduleName, revision, prefix); } private void raiseYangParserException(final String cantAddType, final String type, final String name, diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/ModuleIdentifierImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/ModuleIdentifierImpl.java index 02f6abb780..d94923dcd8 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/ModuleIdentifierImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/ModuleIdentifierImpl.java @@ -8,13 +8,12 @@ package org.opendaylight.yangtools.yang.parser.builder.impl; -import com.google.common.base.Optional; -import org.opendaylight.yangtools.yang.model.api.ModuleIdentifier; +import static com.google.common.base.Preconditions.checkNotNull; +import com.google.common.base.Optional; import java.net.URI; import java.util.Date; - -import static com.google.common.base.Preconditions.checkNotNull; +import org.opendaylight.yangtools.yang.model.api.ModuleIdentifier; /** * ModuleIdentifier that can be used for indexing/searching by name. diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/ModuleImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/ModuleImpl.java index 0398aac50f..bfeef7a43e 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/ModuleImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/ModuleImpl.java @@ -61,7 +61,7 @@ public final class ModuleImpl extends AbstractDocumentedDataNodeContainer implem super(builder); this.name = checkNotNull(name, "Missing name"); this.sourcePath = sourcePath; //TODO: can this be nullable? - this.imports = ImmutableSet. copyOf(builder.imports); + this.imports = ImmutableSet.copyOf(builder.imports); this.namespace = builder.getNamespace(); this.prefix = builder.getPrefix(); this.revision = builder.getRevision() == null ? Optional.absent(): @@ -238,11 +238,11 @@ public final class ModuleImpl extends AbstractDocumentedDataNodeContainer implem public String toString() { StringBuilder sb = new StringBuilder(ModuleImpl.class.getSimpleName()); sb.append("["); - sb.append("name=" + name); - sb.append(", namespace=" + namespace); - sb.append(", revision=" + revision); - sb.append(", prefix=" + prefix); - sb.append(", yangVersion=" + yangVersion); + sb.append("name=").append(name); + sb.append(", namespace=").append(namespace); + sb.append(", revision=").append(revision); + sb.append(", prefix=").append(prefix); + sb.append(", yangVersion=").append(yangVersion); sb.append("]"); return sb.toString(); } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/NotificationBuilder.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/NotificationBuilder.java index 59dd094fa5..d19d0268ff 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/NotificationBuilder.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/NotificationBuilder.java @@ -7,12 +7,14 @@ */ package org.opendaylight.yangtools.yang.parser.builder.impl; +import com.google.common.base.Preconditions; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableSet; import java.net.URI; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Set; - import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.AugmentationSchema; import org.opendaylight.yangtools.yang.model.api.NotificationDefinition; @@ -26,10 +28,6 @@ import org.opendaylight.yangtools.yang.parser.builder.util.AbstractDocumentedDat import org.opendaylight.yangtools.yang.parser.builder.util.AbstractDocumentedDataNodeContainerBuilder; import org.opendaylight.yangtools.yang.parser.util.YangParseException; -import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableSet; - public final class NotificationBuilder extends AbstractDocumentedDataNodeContainerBuilder implements SchemaNodeBuilder, AugmentationTargetBuilder { private NotificationDefinitionImpl instance; @@ -187,7 +185,7 @@ public final class NotificationBuilder extends AbstractDocumentedDataNodeContain @Override public String toString() { StringBuilder sb = new StringBuilder(NotificationDefinitionImpl.class.getSimpleName()); - sb.append("[qname=" + qname + ", path=" + path + "]"); + sb.append("[qname=").append(qname).append(", path=").append(path).append("]"); return sb.toString(); } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/RefineUtils.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/RefineUtils.java index c5071762f1..875fc2228a 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/RefineUtils.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/RefineUtils.java @@ -8,7 +8,6 @@ package org.opendaylight.yangtools.yang.parser.builder.impl; import java.util.List; - import org.opendaylight.yangtools.yang.model.api.MustDefinition; import org.opendaylight.yangtools.yang.parser.builder.api.Builder; import org.opendaylight.yangtools.yang.parser.builder.api.DataSchemaNodeBuilder; @@ -30,7 +29,7 @@ public final class RefineUtils { private RefineUtils() { } - public static void refineLeaf(final LeafSchemaNodeBuilder leaf, final RefineBuilder refine) { + private static void refineLeaf(final LeafSchemaNodeBuilder leaf, final RefineBuilder refine) { String defaultStr = refine.getDefaultStr(); Boolean mandatory = refine.isMandatory(); MustDefinition must = refine.getMust(); @@ -53,7 +52,7 @@ public final class RefineUtils { } } - public static void refineContainer(final ContainerSchemaNodeBuilder container, final RefineBuilder refine) { + private static void refineContainer(final ContainerSchemaNodeBuilder container, final RefineBuilder refine) { Boolean presence = refine.isPresence(); MustDefinition must = refine.getMust(); List unknownNodes = refine.getUnknownNodes(); @@ -72,7 +71,7 @@ public final class RefineUtils { } } - public static void refineList(final ListSchemaNodeBuilder list, final RefineBuilder refine) { + private static void refineList(final ListSchemaNodeBuilder list, final RefineBuilder refine) { MustDefinition must = refine.getMust(); Integer min = refine.getMinElements(); Integer max = refine.getMaxElements(); @@ -259,7 +258,6 @@ public final class RefineUtils { private static void refineDefault(final Builder node, final RefineBuilder refine) { final String moduleName = refine.getModuleName(); final int line = refine.getLine(); - Class cls = node.getClass(); final DocumentedNodeBuilder documentedNode; diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/RpcDefinitionBuilder.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/RpcDefinitionBuilder.java index bbcb262358..675e386151 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/RpcDefinitionBuilder.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/RpcDefinitionBuilder.java @@ -7,11 +7,13 @@ */ package org.opendaylight.yangtools.yang.parser.builder.impl; +import com.google.common.base.Preconditions; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableSet; import java.util.HashSet; import java.util.List; import java.util.Set; import java.util.TreeSet; - import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode; import org.opendaylight.yangtools.yang.model.api.GroupingDefinition; @@ -26,10 +28,6 @@ import org.opendaylight.yangtools.yang.parser.builder.api.UnknownSchemaNodeBuild import org.opendaylight.yangtools.yang.parser.builder.util.AbstractSchemaNodeBuilder; import org.opendaylight.yangtools.yang.parser.builder.util.Comparators; -import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableSet; - public final class RpcDefinitionBuilder extends AbstractSchemaNodeBuilder { private RpcDefinitionImpl instance; private ContainerSchemaNodeBuilder inputBuilder; diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/TypeDefinitionBuilderImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/TypeDefinitionBuilderImpl.java index 66bd8e0089..07afa895d3 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/TypeDefinitionBuilderImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/TypeDefinitionBuilderImpl.java @@ -7,9 +7,9 @@ */ package org.opendaylight.yangtools.yang.parser.builder.impl; +import com.google.common.base.Preconditions; import java.util.Collections; import java.util.List; - import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.SchemaPath; import org.opendaylight.yangtools.yang.model.api.Status; @@ -25,8 +25,6 @@ import org.opendaylight.yangtools.yang.parser.builder.util.AbstractTypeAwareBuil import org.opendaylight.yangtools.yang.parser.builder.util.Comparators; import org.opendaylight.yangtools.yang.parser.util.YangParseException; -import com.google.common.base.Preconditions; - public final class TypeDefinitionBuilderImpl extends AbstractTypeAwareBuilder implements TypeDefinitionBuilder { private SchemaPath schemaPath; private List ranges = Collections.emptyList(); @@ -57,19 +55,18 @@ public final class TypeDefinitionBuilderImpl extends AbstractTypeAwareBuilder im this.units = base.getUnits(); this.defaultValue = base.getDefaultValue(); - ExtendedType ext = base; - this.addedByUses = ext.isAddedByUses(); - this.ranges = ext.getRangeConstraints(); - this.lengths = ext.getLengthConstraints(); - this.patterns = ext.getPatternConstraints(); - this.fractionDigits = ext.getFractionDigits(); + this.addedByUses = base.isAddedByUses(); + this.ranges = base.getRangeConstraints(); + this.lengths = base.getLengthConstraints(); + this.patterns = base.getPatternConstraints(); + this.fractionDigits = base.getFractionDigits(); this.unknownNodes.addAll(base.getUnknownSchemaNodes()); } @Override public TypeDefinition> build() { - TypeDefinition result = null; - ExtendedType.Builder typeBuilder = null; + TypeDefinition result; + ExtendedType.Builder typeBuilder; if ((type == null || type instanceof UnknownType) && typedef == null) { throw new YangParseException("Unresolved type: '" + qname.getLocalName() + "'."); } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/TypeUtils.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/TypeUtils.java index f430a9c1a6..57fde94391 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/TypeUtils.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/TypeUtils.java @@ -10,15 +10,28 @@ package org.opendaylight.yangtools.yang.parser.builder.impl; import static org.opendaylight.yangtools.yang.parser.builder.impl.BuilderUtils.findModuleFromBuilders; import static org.opendaylight.yangtools.yang.parser.builder.impl.BuilderUtils.findModuleFromContext; -import java.util.*; - +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.TreeMap; import org.opendaylight.yangtools.yang.common.QName; -import org.opendaylight.yangtools.yang.model.api.*; -import org.opendaylight.yangtools.yang.model.api.type.*; +import org.opendaylight.yangtools.yang.model.api.Module; +import org.opendaylight.yangtools.yang.model.api.SchemaContext; +import org.opendaylight.yangtools.yang.model.api.TypeDefinition; +import org.opendaylight.yangtools.yang.model.api.type.BinaryTypeDefinition; +import org.opendaylight.yangtools.yang.model.api.type.DecimalTypeDefinition; +import org.opendaylight.yangtools.yang.model.api.type.IntegerTypeDefinition; +import org.opendaylight.yangtools.yang.model.api.type.StringTypeDefinition; +import org.opendaylight.yangtools.yang.model.api.type.UnionTypeDefinition; +import org.opendaylight.yangtools.yang.model.api.type.UnsignedIntegerTypeDefinition; import org.opendaylight.yangtools.yang.model.util.ExtendedType; import org.opendaylight.yangtools.yang.model.util.UnknownType; -import org.opendaylight.yangtools.yang.parser.builder.api.*; -import org.opendaylight.yangtools.yang.parser.builder.impl.*; +import org.opendaylight.yangtools.yang.parser.builder.api.Builder; +import org.opendaylight.yangtools.yang.parser.builder.api.DataNodeContainerBuilder; +import org.opendaylight.yangtools.yang.parser.builder.api.TypeAwareBuilder; +import org.opendaylight.yangtools.yang.parser.builder.api.TypeDefinitionBuilder; import org.opendaylight.yangtools.yang.parser.util.TypeConstraints; import org.opendaylight.yangtools.yang.parser.util.YangParseException; diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/UnionTypeBuilder.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/UnionTypeBuilder.java index f46ebeb970..1facf78f3d 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/UnionTypeBuilder.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/UnionTypeBuilder.java @@ -10,7 +10,6 @@ package org.opendaylight.yangtools.yang.parser.builder.impl; import java.util.ArrayList; import java.util.Collections; import java.util.List; - import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.SchemaPath; import org.opendaylight.yangtools.yang.model.api.Status; @@ -42,8 +41,8 @@ public final class UnionTypeBuilder extends AbstractTypeAwareBuilder implements public UnionTypeBuilder(final String moduleName, final int line) { super(moduleName, line, BaseTypes.constructQName(NAME)); - types = new ArrayList>(); - typedefs = new ArrayList(); + types = new ArrayList<>(); + typedefs = new ArrayList<>(); } public List> getTypes() { diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/UnknownSchemaNodeBuilderImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/UnknownSchemaNodeBuilderImpl.java index 63f958c997..6b294685a0 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/UnknownSchemaNodeBuilderImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/UnknownSchemaNodeBuilderImpl.java @@ -7,10 +7,10 @@ */ package org.opendaylight.yangtools.yang.parser.builder.impl; +import com.google.common.base.Preconditions; import java.util.ArrayList; import java.util.Collections; import java.util.List; - import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.ExtensionDefinition; import org.opendaylight.yangtools.yang.model.api.SchemaPath; @@ -21,8 +21,6 @@ import org.opendaylight.yangtools.yang.parser.builder.api.UnknownSchemaNodeBuild import org.opendaylight.yangtools.yang.parser.builder.util.AbstractSchemaNodeBuilder; import org.opendaylight.yangtools.yang.parser.builder.util.Comparators; -import com.google.common.base.Preconditions; - public final class UnknownSchemaNodeBuilderImpl extends AbstractSchemaNodeBuilder implements UnknownSchemaNodeBuilder { private boolean isBuilt; private final UnknownSchemaNodeImpl instance; diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/UsesNodeBuilderImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/UsesNodeBuilderImpl.java index 7a6dceb4ff..ffebfd4e86 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/UsesNodeBuilderImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/UsesNodeBuilderImpl.java @@ -7,13 +7,15 @@ */ package org.opendaylight.yangtools.yang.parser.builder.impl; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.ImmutableSet; import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; - import org.opendaylight.yangtools.yang.model.api.AugmentationSchema; import org.opendaylight.yangtools.yang.model.api.GroupingDefinition; import org.opendaylight.yangtools.yang.model.api.SchemaNode; @@ -32,10 +34,6 @@ import org.opendaylight.yangtools.yang.parser.builder.api.UsesNodeBuilder; import org.opendaylight.yangtools.yang.parser.builder.util.AbstractBuilder; import org.opendaylight.yangtools.yang.parser.util.YangParseException; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.ImmutableSet; - public final class UsesNodeBuilderImpl extends AbstractBuilder implements UsesNodeBuilder { private UsesNodeImpl instance; private DataNodeContainerBuilder parentBuilder; diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/util/AbstractBuilder.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/util/AbstractBuilder.java index 5063b7f49a..06baabf666 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/util/AbstractBuilder.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/util/AbstractBuilder.java @@ -7,15 +7,13 @@ */ package org.opendaylight.yangtools.yang.parser.builder.util; +import com.google.common.base.Preconditions; import java.util.ArrayList; import java.util.List; - import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode; import org.opendaylight.yangtools.yang.parser.builder.api.Builder; import org.opendaylight.yangtools.yang.parser.builder.api.UnknownSchemaNodeBuilder; -import com.google.common.base.Preconditions; - /** * Base helper implementation of Builders for Yang Model elements. * @@ -26,7 +24,7 @@ public abstract class AbstractBuilder implements Builder { private Builder parentBuilder; protected final List unknownNodes = new ArrayList<>(); - protected final List addedUnknownNodes = new ArrayList(); + protected final List addedUnknownNodes = new ArrayList<>(); private boolean sealed; protected AbstractBuilder(final String moduleName, final int line) { @@ -71,7 +69,7 @@ public abstract class AbstractBuilder implements Builder { addedUnknownNodes.add(unknownNode); } - protected void seal() { + void seal() { checkNotSealed(); sealed = true; } @@ -80,7 +78,7 @@ public abstract class AbstractBuilder implements Builder { Preconditions.checkState(!sealed, "Builder is sealed. No further modifications allowed"); } - protected boolean isSealed() { + boolean isSealed() { return sealed; } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/util/AbstractDocumentedDataNodeContainer.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/util/AbstractDocumentedDataNodeContainer.java index f428e694dc..259a48e471 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/util/AbstractDocumentedDataNodeContainer.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/util/AbstractDocumentedDataNodeContainer.java @@ -13,7 +13,7 @@ import org.opendaylight.yangtools.yang.model.api.UsesNode; public abstract class AbstractDocumentedDataNodeContainer extends AbstractDocumentedNode implements DataNodeContainer { - protected final Map childNodes; + private final Map childNodes; private final Set groupings; private final Set uses; private final Set> typeDefinitions; diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/util/AbstractDocumentedDataNodeContainerBuilder.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/util/AbstractDocumentedDataNodeContainerBuilder.java index 1c5022368a..cc734408e1 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/util/AbstractDocumentedDataNodeContainerBuilder.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/util/AbstractDocumentedDataNodeContainerBuilder.java @@ -34,7 +34,7 @@ import org.opendaylight.yangtools.yang.parser.util.YangParseException; public abstract class AbstractDocumentedDataNodeContainerBuilder extends AbstractDocumentedNodeBuilder implements DataNodeContainerBuilder { protected final QName qname; - protected final Map childNodes = new TreeMap<>(); + private final Map childNodes = new TreeMap<>(); private final Set addedChildNodes = new HashSet<>(); private final Set groupings = new TreeSet<>(Comparators.SCHEMA_NODE_COMP); @@ -51,7 +51,7 @@ public abstract class AbstractDocumentedDataNodeContainerBuilder extends Abstrac this.qname = qname; } - public AbstractDocumentedDataNodeContainerBuilder(final String moduleName, final int line, final QName qname, final SchemaPath path, final DataNodeContainer base) { + protected AbstractDocumentedDataNodeContainerBuilder(final String moduleName, final int line, final QName qname, final SchemaPath path, final DataNodeContainer base) { super(moduleName, line); this.qname = qname; diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/util/AbstractDocumentedNode.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/util/AbstractDocumentedNode.java index 807b700370..b6a5b5ca5b 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/util/AbstractDocumentedNode.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/util/AbstractDocumentedNode.java @@ -1,17 +1,16 @@ package org.opendaylight.yangtools.yang.parser.builder.util; +import com.google.common.base.Preconditions; import org.opendaylight.yangtools.yang.model.api.DocumentedNode; import org.opendaylight.yangtools.yang.model.api.Status; -import com.google.common.base.Preconditions; - public abstract class AbstractDocumentedNode implements DocumentedNode { private final String description; private final String reference; private final Status status; - protected AbstractDocumentedNode(final AbstractDocumentedNodeBuilder builder) { + AbstractDocumentedNode(final AbstractDocumentedNodeBuilder builder) { Preconditions.checkArgument(builder.isSealed(), "Builder must be sealed."); this.description = builder.getDescription(); this.reference = builder.getReference(); diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/util/AbstractSchemaNodeBuilder.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/util/AbstractSchemaNodeBuilder.java index e5902cafda..a76b7ef594 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/util/AbstractSchemaNodeBuilder.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/util/AbstractSchemaNodeBuilder.java @@ -7,13 +7,12 @@ */ package org.opendaylight.yangtools.yang.parser.builder.util; +import com.google.common.base.Preconditions; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.SchemaPath; import org.opendaylight.yangtools.yang.model.api.Status; import org.opendaylight.yangtools.yang.parser.builder.api.SchemaNodeBuilder; -import com.google.common.base.Preconditions; - /** * Basic implementation of SchemaNodeBuilder. */ diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/util/AbstractTypeAwareBuilder.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/util/AbstractTypeAwareBuilder.java index 5ab95ce6b4..1b2ae200ec 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/util/AbstractTypeAwareBuilder.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/util/AbstractTypeAwareBuilder.java @@ -20,7 +20,7 @@ public abstract class AbstractTypeAwareBuilder extends AbstractBuilder implement protected TypeDefinition type; protected TypeDefinitionBuilder typedef; - public AbstractTypeAwareBuilder(final String moduleName, final int line, final QName qname) { + protected AbstractTypeAwareBuilder(final String moduleName, final int line, final QName qname) { super(moduleName, line); this.qname = qname; } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/util/Comparators.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/util/Comparators.java index c22826c80c..7aa616f35a 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/util/Comparators.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/util/Comparators.java @@ -8,7 +8,6 @@ package org.opendaylight.yangtools.yang.parser.builder.util; import java.util.Comparator; - import org.opendaylight.yangtools.yang.model.api.SchemaNode; import org.opendaylight.yangtools.yang.parser.builder.api.AugmentationSchemaBuilder; diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/BasicValidations.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/BasicValidations.java index 46f4f8ebf5..b78fb04652 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/BasicValidations.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/BasicValidations.java @@ -7,21 +7,21 @@ */ package org.opendaylight.yangtools.yang.parser.impl; +import static java.lang.String.format; + +import com.google.common.collect.Sets; import java.text.ParseException; import java.util.Date; import java.util.List; import java.util.Set; import java.util.regex.Matcher; import java.util.regex.Pattern; - import org.antlr.v4.runtime.ParserRuleContext; import org.antlr.v4.runtime.tree.ParseTree; import org.opendaylight.yangtools.antlrv4.code.gen.YangParser.Yang_version_stmtContext; import org.opendaylight.yangtools.yang.common.SimpleDateFormatUtil; import org.opendaylight.yangtools.yang.parser.util.YangValidationException; -import com.google.common.collect.Sets; - /** * Reusable checks of basic constraints on yang statements */ @@ -73,7 +73,7 @@ final class BasicValidations { * Check if only one module or submodule is present in session(one yang * file) */ - static void checkOnlyOneModulePresent(final String moduleName, final String globalId) { + static void checkIsModuleIdNull(final String globalId) { if (globalId != null) { ValidationUtil.ex(ValidationUtil.f("Multiple (sub)modules per file")); } @@ -121,7 +121,7 @@ final class BasicValidations { } } - private static Pattern prefixedIdentifierPattern = Pattern.compile("(.+):(.+)"); + private static final Pattern prefixedIdentifierPattern = Pattern.compile("(.+):(.+)"); static void checkPrefixedIdentifier(final ParseTree statement) { checkPrefixedIdentifierInternal(statement, ValidationUtil.getName(statement)); @@ -165,8 +165,8 @@ final class BasicValidations { String getMessage(); } - static void checkPresentChildOfTypeInternal(final ParseTree parent, final Set> expectedChildType, - final MessageProvider message, final boolean atMostOne) { + private static void checkPresentChildOfTypeInternal(final ParseTree parent, final Set> expectedChildType, + final MessageProvider message, final boolean atMostOne) { if (!checkPresentChildOfTypeSafe(parent, expectedChildType, atMostOne)) { String str = atMostOne ? "(Expected exactly one statement) " + message.getMessage() : message.getMessage(); ValidationUtil.ex(str); @@ -177,7 +177,7 @@ final class BasicValidations { final boolean atMostOne) { // Construct message in checkPresentChildOfTypeInternal only if - // validaiton fails, not in advance + // validation fails, not in advance MessageProvider message = new MessageProvider() { @Override @@ -187,8 +187,7 @@ final class BasicValidations { ValidationUtil.getSimpleStatementName(parent.getClass()), ValidationUtil.getName(parent)); String root = ValidationUtil.getRootParentName(parent); - message = parent.equals(ValidationUtil.getRootParentName(parent)) ? message : ValidationUtil.f( - "(In (sub)module:%s) %s", root, message); + message = format("(In (sub)module:%s) %s", root, message); return message; } }; @@ -227,35 +226,34 @@ final class BasicValidations { ValidationUtil.getSimpleStatementName(parent.getClass()), ValidationUtil.getName(parent)); String root = ValidationUtil.getRootParentName(parent); - message = parent.equals(ValidationUtil.getRootParentName(parent)) ? message : ValidationUtil.f( - "(In (sub)module:%s) %s", root, message); + message = format("(In (sub)module:%s) %s", root, message); return message; } - }; + } static void checkPresentChildOfTypes(final ParseTree parent, final Set> expectedChildTypes, final boolean atMostOne) { // Construct message in checkPresentChildOfTypeInternal only if - // validaiton fails, not in advance + // validation fails, not in advance MessageProvider message = new MessageProviderForSetOfChildTypes(expectedChildTypes, parent); checkPresentChildOfTypeInternal(parent, expectedChildTypes, message, atMostOne); } - static boolean checkPresentChildOfTypeSafe(final ParseTree parent, final Set> expectedChildType, - final boolean atMostOne) { + private static boolean checkPresentChildOfTypeSafe(final ParseTree parent, final Set> expectedChildType, + final boolean atMostOne) { int foundChildrenOfType = ValidationUtil.countPresentChildrenOfType(parent, expectedChildType); - return atMostOne ? foundChildrenOfType == 1 ? true : false : foundChildrenOfType != 0 ? true : false; + return atMostOne ? foundChildrenOfType == 1 : foundChildrenOfType != 0; } - static boolean checkPresentChildOfTypeSafe(final ParseTree parent, final Class expectedChildType, - final boolean atMostOne) { + private static boolean checkPresentChildOfTypeSafe(final ParseTree parent, final Class expectedChildType, + final boolean atMostOne) { int foundChildrenOfType = ValidationUtil.countPresentChildrenOfType(parent, expectedChildType); - return atMostOne ? foundChildrenOfType == 1 ? true : false : foundChildrenOfType != 0 ? true : false; + return atMostOne ? foundChildrenOfType == 1 : foundChildrenOfType != 0; } static List getAndCheckUniqueKeys(final ParseTree ctx) { diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/GroupingSort.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/GroupingSort.java index 45c4bd9cfe..0296f91b05 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/GroupingSort.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/GroupingSort.java @@ -7,13 +7,14 @@ */ package org.opendaylight.yangtools.yang.parser.impl; +import com.google.common.collect.Maps; +import com.google.common.collect.Sets; import java.util.ArrayList; import java.util.Collection; import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; - import org.opendaylight.yangtools.yang.model.api.SchemaPath; import org.opendaylight.yangtools.yang.parser.builder.api.AugmentationSchemaBuilder; import org.opendaylight.yangtools.yang.parser.builder.api.DataNodeContainerBuilder; @@ -26,9 +27,6 @@ import org.opendaylight.yangtools.yang.parser.util.NodeWrappedType; import org.opendaylight.yangtools.yang.parser.util.TopologicalSort; import org.opendaylight.yangtools.yang.parser.util.TopologicalSort.Node; -import com.google.common.collect.Maps; -import com.google.common.collect.Sets; - public final class GroupingSort { private GroupingSort() { throw new UnsupportedOperationException("Utility class should not be instantiated"); @@ -67,7 +65,7 @@ public final class GroupingSort { throw new IllegalArgumentException("Set of Type Definitions " + "cannot be NULL!"); } - final List resultGroupingDefinitions = new ArrayList(); + final List resultGroupingDefinitions = new ArrayList<>(); final Set unsorted = groupingDefinitionsToNodes(groupingDefinitions); final List sortedNodes = TopologicalSort.sort(unsorted); for (Node node : sortedNodes) { diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/ParserListenerUtils.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/ParserListenerUtils.java index 49f4178731..05ad28cc98 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/ParserListenerUtils.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/ParserListenerUtils.java @@ -9,6 +9,7 @@ package org.opendaylight.yangtools.yang.parser.impl; import static com.google.common.base.Preconditions.checkState; +import com.google.common.base.Optional; import java.math.BigDecimal; import java.net.URI; import java.util.ArrayList; @@ -16,7 +17,6 @@ import java.util.Collections; import java.util.Date; import java.util.List; import java.util.Stack; - import org.antlr.v4.runtime.ParserRuleContext; import org.antlr.v4.runtime.tree.ParseTree; import org.antlr.v4.runtime.tree.TerminalNode; @@ -118,8 +118,8 @@ import org.opendaylight.yangtools.yang.model.util.Uint64; import org.opendaylight.yangtools.yang.model.util.Uint8; import org.opendaylight.yangtools.yang.model.util.UnknownType; import org.opendaylight.yangtools.yang.parser.builder.api.Builder; -import org.opendaylight.yangtools.yang.parser.builder.api.DataSchemaNodeBuilder; import org.opendaylight.yangtools.yang.parser.builder.api.ConstraintsBuilder; +import org.opendaylight.yangtools.yang.parser.builder.api.DataSchemaNodeBuilder; import org.opendaylight.yangtools.yang.parser.builder.api.RefineBuilder; import org.opendaylight.yangtools.yang.parser.builder.api.SchemaNodeBuilder; import org.opendaylight.yangtools.yang.parser.builder.api.TypeDefinitionBuilder; @@ -132,8 +132,6 @@ import org.opendaylight.yangtools.yang.parser.util.YangParseException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.google.common.base.Optional; - public final class ParserListenerUtils { private static final Logger LOG = LoggerFactory.getLogger(ParserListenerUtils.class); @@ -161,7 +159,7 @@ public final class ParserListenerUtils { return result; } - public static String stringFromStringContext(final StringContext context) { + private static String stringFromStringContext(final StringContext context) { StringBuilder str = new StringBuilder(); for (TerminalNode stringNode : context.STRING()) { String result = stringNode.getText(); @@ -182,7 +180,7 @@ public final class ParserListenerUtils { while (current != null && !(current instanceof Module_stmtContext)) { current = current.getParent(); } - if (current instanceof Module_stmtContext) { + if (current != null) { Module_stmtContext module = (Module_stmtContext) current; for (int i = 0; i < module.getChildCount(); i++) { if (module.getChild(i) instanceof StringContext) { @@ -995,7 +993,7 @@ public final class ParserListenerUtils { private static boolean getParentConfig(final Builder node) { Builder parent = node.getParent(); - boolean config = false; + boolean config; if (parent instanceof ChoiceCaseBuilder) { parent = parent.getParent(); @@ -1348,7 +1346,7 @@ public final class ParserListenerUtils { * Must_stmtContext * @return MustDefinition object based on parsed context */ - public static MustDefinition parseMust(final YangParser.Must_stmtContext ctx) { + private static MustDefinition parseMust(final YangParser.Must_stmtContext ctx) { StringBuilder mustText = new StringBuilder(); String description = null; String reference = null; diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/SchemaContextImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/SchemaContextImpl.java index ee59c847a9..52a71edc21 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/SchemaContextImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/SchemaContextImpl.java @@ -7,7 +7,13 @@ */ package org.opendaylight.yangtools.yang.parser.impl; +import com.google.common.base.Optional; +import com.google.common.base.Supplier; import com.google.common.collect.ImmutableMap; +import com.google.common.collect.ImmutableSet; +import com.google.common.collect.ImmutableSetMultimap; +import com.google.common.collect.Multimaps; +import com.google.common.collect.SetMultimap; import java.net.URI; import java.util.ArrayList; import java.util.Collection; @@ -19,7 +25,6 @@ import java.util.List; import java.util.Map; import java.util.Set; import java.util.TreeMap; - import javax.annotation.concurrent.Immutable; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.AugmentationSchema; @@ -39,13 +44,6 @@ import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode; import org.opendaylight.yangtools.yang.model.api.UsesNode; import org.opendaylight.yangtools.yang.parser.util.ModuleDependencySort; -import com.google.common.base.Optional; -import com.google.common.base.Supplier; -import com.google.common.collect.ImmutableSet; -import com.google.common.collect.ImmutableSetMultimap; -import com.google.common.collect.Multimaps; -import com.google.common.collect.SetMultimap; - @Immutable final class SchemaContextImpl implements SchemaContext { private static final Supplier> URI_SET_SUPPLIER = new Supplier>() { @@ -83,7 +81,7 @@ final class SchemaContextImpl implements SchemaContext { @Override public Set getDataDefinitions() { - final Set dataDefs = new HashSet(); + final Set dataDefs = new HashSet<>(); for (Module m : modules) { dataDefs.addAll(m.getChildNodes()); } @@ -97,7 +95,7 @@ final class SchemaContextImpl implements SchemaContext { @Override public Set getNotifications() { - final Set notifications = new HashSet(); + final Set notifications = new HashSet<>(); for (Module m : modules) { notifications.addAll(m.getNotifications()); } @@ -106,7 +104,7 @@ final class SchemaContextImpl implements SchemaContext { @Override public Set getOperations() { - final Set rpcs = new HashSet(); + final Set rpcs = new HashSet<>(); for (Module m : modules) { rpcs.addAll(m.getRpcs()); } @@ -115,7 +113,7 @@ final class SchemaContextImpl implements SchemaContext { @Override public Set getExtensions() { - final Set extensions = new HashSet(); + final Set extensions = new HashSet<>(); for (Module m : modules) { extensions.addAll(m.getExtensionSchemaNodes()); } @@ -156,7 +154,7 @@ final class SchemaContextImpl implements SchemaContext { if (revision == null) { // FIXME: The ordering of modules in Multimap could just guarantee this... - TreeMap map = new TreeMap(); + TreeMap map = new TreeMap<>(); for (Module module : modules) { map.put(module.getRevision(), module); } @@ -305,4 +303,11 @@ final class SchemaContextImpl implements SchemaContext { String maybeSource = identifiersToSources.get(moduleIdentifier); return Optional.fromNullable(maybeSource); } + + @Override + public String toString() { + return "SchemaContextImpl{" + + "modules=" + modules + + '}'; + } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/ValidationUtil.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/ValidationUtil.java index d5ca358b64..ad99fb95df 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/ValidationUtil.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/ValidationUtil.java @@ -12,7 +12,6 @@ import java.util.Collection; import java.util.HashSet; import java.util.List; import java.util.Set; - import org.antlr.v4.runtime.tree.ParseTree; import org.opendaylight.yangtools.antlrv4.code.gen.YangParser.Module_stmtContext; import org.opendaylight.yangtools.antlrv4.code.gen.YangParser.Submodule_stmtContext; @@ -34,8 +33,8 @@ final class ValidationUtil { } static Set getDuplicates(Collection keyList) { - Set all = new HashSet(); - Set duplicates = new HashSet(); + Set all = new HashSet<>(); + Set duplicates = new HashSet<>(); for (String key : keyList) { if (!all.add(key)) { diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/YangErrorListener.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/YangErrorListener.java index 6f91f854a3..fc733f7aea 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/YangErrorListener.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/YangErrorListener.java @@ -9,7 +9,6 @@ package org.opendaylight.yangtools.yang.parser.impl; import java.util.ArrayList; import java.util.List; - import org.antlr.v4.runtime.BaseErrorListener; import org.antlr.v4.runtime.Parser; import org.antlr.v4.runtime.RecognitionException; diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/YangModelBasicValidationListener.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/YangModelBasicValidationListener.java index b9cadc7f65..5805cd7e8c 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/YangModelBasicValidationListener.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/YangModelBasicValidationListener.java @@ -7,11 +7,11 @@ */ package org.opendaylight.yangtools.yang.parser.impl; +import com.google.common.collect.Sets; import java.net.URI; import java.net.URISyntaxException; import java.util.HashSet; import java.util.Set; - import org.antlr.v4.runtime.tree.ParseTree; import org.opendaylight.yangtools.antlrv4.code.gen.YangParser; import org.opendaylight.yangtools.antlrv4.code.gen.YangParser.Anyxml_stmtContext; @@ -61,8 +61,6 @@ import org.opendaylight.yangtools.antlrv4.code.gen.YangParserBaseListener; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.google.common.collect.Sets; - /** * Validation listener that validates yang statements according to RFC-6020. * This validator expects only one module or submodule per file and performs @@ -93,7 +91,7 @@ final class YangModelBasicValidationListener extends YangParserBaseListener { BasicValidations.checkPresentChildOfType(ctx, Module_header_stmtsContext.class, true); String moduleName = ValidationUtil.getName(ctx); - BasicValidations.checkOnlyOneModulePresent(moduleName, globalModuleId); + BasicValidations.checkIsModuleIdNull(globalModuleId); globalModuleId = moduleName; } @@ -114,7 +112,7 @@ final class YangModelBasicValidationListener extends YangParserBaseListener { BasicValidations.checkPresentChildOfType(ctx, Submodule_header_stmtsContext.class, true); String submoduleName = ValidationUtil.getName(ctx); - BasicValidations.checkOnlyOneModulePresent(submoduleName, globalModuleId); + BasicValidations.checkIsModuleIdNull(globalModuleId); globalModuleId = submoduleName; } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/YangModelBasicValidator.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/YangModelBasicValidator.java index 353150b1a8..980647b00a 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/YangModelBasicValidator.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/YangModelBasicValidator.java @@ -8,7 +8,6 @@ package org.opendaylight.yangtools.yang.parser.impl; import java.util.Collection; - import org.antlr.v4.runtime.tree.ParseTree; import org.antlr.v4.runtime.tree.ParseTreeWalker; import org.opendaylight.yangtools.yang.parser.util.YangValidationException; diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/YangParserImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/YangParserImpl.java index b444b78d22..cc62f0f552 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/YangParserImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/YangParserImpl.java @@ -195,8 +195,7 @@ public final class YangParserImpl implements YangContextParser { } Collection sources = BuilderUtils.filesToByteSources(yangFiles); - SchemaContext result = parseSources(sources, context); - return result; + return parseSources(sources, context); } @Override @@ -359,8 +358,7 @@ public final class YangParserImpl implements YangContextParser { private Map resolveSources(final Collection streams) throws IOException, YangSyntaxErrorException { Map builders = parseSourcesToBuilders(streams); - Map result = resolveSubmodules(builders); - return result; + return resolveSubmodules(builders); } private Map parseSourcesToBuilders(final Collection sources) @@ -1088,7 +1086,7 @@ public final class YangParserImpl implements YangContextParser { */ private ModuleBuilder findTargetModule(final QName qname, final ModuleBuilder module, final Map> modules, final SchemaContext context, final int line) { - ModuleBuilder targetModule = null; + ModuleBuilder targetModule; String prefix = qname.getPrefix(); if (prefix == null || prefix.equals("")) { @@ -1115,7 +1113,7 @@ public final class YangParserImpl implements YangContextParser { private ModuleBuilder findTargetModule(final String prefix, final ModuleBuilder module, final Map> modules, final SchemaContext context, final int line) { - ModuleBuilder targetModule = null; + ModuleBuilder targetModule; if (prefix == null || prefix.equals("")) { targetModule = module; @@ -1352,9 +1350,9 @@ public final class YangParserImpl implements YangContextParser { DataNodeContainerBuilder parent = usesNode.getParent(); ModuleBuilder module = BuilderUtils.getParentModule(parent); SchemaPath parentPath; - URI ns = null; - Date rev = null; - String pref = null; + URI ns; + Date rev; + String pref; if (parent instanceof AugmentationSchemaBuilder || parent instanceof ModuleBuilder) { ns = module.getNamespace(); rev = module.getRevision(); @@ -1362,13 +1360,13 @@ public final class YangParserImpl implements YangContextParser { if (parent instanceof AugmentationSchemaBuilder) { parentPath = ((AugmentationSchemaBuilder) parent).getTargetNodeSchemaPath(); } else { - parentPath = ((ModuleBuilder) parent).getPath(); + parentPath = parent.getPath(); } } else { - ns = ((DataSchemaNodeBuilder) parent).getQName().getNamespace(); - rev = ((DataSchemaNodeBuilder) parent).getQName().getRevision(); - pref = ((DataSchemaNodeBuilder) parent).getQName().getPrefix(); - parentPath = ((DataSchemaNodeBuilder) parent).getPath(); + ns = parent.getQName().getNamespace(); + rev = parent.getQName().getRevision(); + pref = parent.getQName().getPrefix(); + parentPath = parent.getPath(); } GroupingDefinition gd = usesNode.getGroupingDefinition(); diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/YangParserListenerImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/YangParserListenerImpl.java index 35dfb65f7e..bd532bdf13 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/YangParserListenerImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/YangParserListenerImpl.java @@ -24,6 +24,7 @@ import static org.opendaylight.yangtools.yang.parser.impl.ParserListenerUtils.pa import static org.opendaylight.yangtools.yang.parser.impl.ParserListenerUtils.parseYinValue; import static org.opendaylight.yangtools.yang.parser.impl.ParserListenerUtils.stringFromNode; +import com.google.common.base.Strings; import java.net.URI; import java.text.DateFormat; import java.text.ParseException; @@ -31,7 +32,6 @@ import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; import java.util.Stack; - import org.antlr.v4.runtime.tree.ParseTree; import org.opendaylight.yangtools.antlrv4.code.gen.YangParser; import org.opendaylight.yangtools.antlrv4.code.gen.YangParser.Argument_stmtContext; @@ -95,8 +95,6 @@ import org.opendaylight.yangtools.yang.parser.builder.impl.UnknownSchemaNodeBuil import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.google.common.base.Strings; - public final class YangParserListenerImpl extends YangParserBaseListener { private static final Logger LOGGER = LoggerFactory.getLogger(YangParserListenerImpl.class); private static final String AUGMENT_STR = "augment"; @@ -153,7 +151,7 @@ public final class YangParserListenerImpl extends YangParserBaseListener { @Override public void exitModule_stmt(final YangParser.Module_stmtContext ctx) { - exitLog("module", ""); + exitLog("module"); actualPath.pop(); } @@ -184,7 +182,7 @@ public final class YangParserListenerImpl extends YangParserBaseListener { } @Override public void exitSubmodule_stmt(final YangParser.Submodule_stmtContext ctx) { - exitLog("submodule", ""); + exitLog("submodule"); actualPath.pop(); } @@ -221,7 +219,7 @@ public final class YangParserListenerImpl extends YangParserBaseListener { @Override public void exitModule_header_stmts(final Module_header_stmtsContext ctx) { - exitLog("module_header", ""); + exitLog("module_header"); } @Override @@ -251,7 +249,7 @@ public final class YangParserListenerImpl extends YangParserBaseListener { @Override public void exitMeta_stmts(final YangParser.Meta_stmtsContext ctx) { - exitLog("meta_stmt", ""); + exitLog("meta_stmt"); } @Override @@ -267,7 +265,7 @@ public final class YangParserListenerImpl extends YangParserBaseListener { @Override public void exitRevision_stmts(final Revision_stmtsContext ctx) { - exitLog("revisions", ""); + exitLog("revisions"); } private void updateRevisionForRevisionStatement(final ParseTree treeNode) { @@ -320,7 +318,7 @@ public final class YangParserListenerImpl extends YangParserBaseListener { @Override public void exitImport_stmt(final Import_stmtContext ctx) { - exitLog("import", ""); + exitLog("import"); } @Override @@ -351,7 +349,7 @@ public final class YangParserListenerImpl extends YangParserBaseListener { @Override public void exitAugment_stmt(final YangParser.Augment_stmtContext ctx) { moduleBuilder.exitNode(); - exitLog(AUGMENT_STR, ""); + exitLog(AUGMENT_STR); actualPath.pop(); } @@ -420,7 +418,7 @@ public final class YangParserListenerImpl extends YangParserBaseListener { final QName typeQName = parseQName(typeName); - TypeDefinition type = null; + TypeDefinition type; Type_body_stmtsContext typeBody = null; for (int i = 0; i < ctx.getChildCount(); i++) { if (ctx.getChild(i) instanceof Type_body_stmtsContext) { @@ -603,7 +601,7 @@ public final class YangParserListenerImpl extends YangParserBaseListener { @Override public void exitUses_stmt(final YangParser.Uses_stmtContext ctx) { moduleBuilder.exitNode(); - exitLog("uses", ""); + exitLog("uses"); } @Override @@ -634,7 +632,7 @@ public final class YangParserListenerImpl extends YangParserBaseListener { @Override public void exitUses_augment_stmt(final YangParser.Uses_augment_stmtContext ctx) { moduleBuilder.exitNode(); - exitLog(AUGMENT_STR, ""); + exitLog(AUGMENT_STR); actualPath.pop(); } @@ -651,7 +649,7 @@ public final class YangParserListenerImpl extends YangParserBaseListener { @Override public void exitRefine_stmt(final YangParser.Refine_stmtContext ctx) { moduleBuilder.exitNode(); - exitLog("refine", ""); + exitLog("refine"); } @Override @@ -990,7 +988,7 @@ public final class YangParserListenerImpl extends YangParserBaseListener { @Override public void exitDeviation_stmt(final YangParser.Deviation_stmtContext ctx) { moduleBuilder.exitNode(); - exitLog("deviation", ""); + exitLog("deviation"); } @Override @@ -1032,8 +1030,8 @@ public final class YangParserListenerImpl extends YangParserBaseListener { LOGGER.trace("entering {} {} ({})", p1, p2, line); } - private void exitLog(final String p1, final String p2) { - LOGGER.trace("exiting {} {}", p1, p2); + private void exitLog(final String p1) { + LOGGER.trace("exiting {}", p1); } private void exitLog(final String p1, final QName p2) { @@ -1057,7 +1055,7 @@ public final class YangParserListenerImpl extends YangParserBaseListener { nodeType = new QName(namespace, revision, splittedElement[0], splittedElement[1]); } - QName qname = null; + QName qname; try { if (!Strings.isNullOrEmpty(nodeParameter)) { String[] splittedName = nodeParameter.split(":"); diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/util/YangModelDependencyInfo.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/util/YangModelDependencyInfo.java index 4360db1da6..fcf0b8924c 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/util/YangModelDependencyInfo.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/util/YangModelDependencyInfo.java @@ -9,10 +9,11 @@ package org.opendaylight.yangtools.yang.parser.impl.util; import static org.opendaylight.yangtools.yang.parser.impl.ParserListenerUtils.getArgumentString; import static org.opendaylight.yangtools.yang.parser.impl.ParserListenerUtils.getFirstContext; +import com.google.common.base.Optional; +import com.google.common.collect.ImmutableSet; import java.io.InputStream; import java.util.Date; import java.util.List; - import org.opendaylight.yangtools.antlrv4.code.gen.YangParser.Belongs_to_stmtContext; import org.opendaylight.yangtools.antlrv4.code.gen.YangParser.Import_stmtContext; import org.opendaylight.yangtools.antlrv4.code.gen.YangParser.Include_stmtContext; @@ -26,9 +27,6 @@ import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.ModuleImport; import org.opendaylight.yangtools.yang.parser.impl.YangParserImpl; -import com.google.common.base.Optional; -import com.google.common.collect.ImmutableSet; - /** * Helper transfer object which holds basic and dependency information for YANG * model. @@ -54,8 +52,8 @@ public abstract class YangModelDependencyInfo { private final ImmutableSet moduleImports; private final ImmutableSet dependencies; - protected YangModelDependencyInfo(final String name, final String formattedRevision, - final ImmutableSet imports, final ImmutableSet includes) { + YangModelDependencyInfo(final String name, final String formattedRevision, + final ImmutableSet imports, final ImmutableSet includes) { this.name = name; this.formattedRevision = formattedRevision; this.revision = QName.parseRevision(formattedRevision); @@ -102,7 +100,7 @@ public abstract class YangModelDependencyInfo { * * @return revision */ - public Date getRevision() { + Date getRevision() { return revision; } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/util/YangSourceContextResolver.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/util/YangSourceContextResolver.java index 37fe769fef..14e38730c8 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/util/YangSourceContextResolver.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/util/YangSourceContextResolver.java @@ -8,9 +8,11 @@ package org.opendaylight.yangtools.yang.parser.impl.util; import static com.google.common.base.Preconditions.checkNotNull; +import com.google.common.base.Optional; +import com.google.common.collect.ImmutableMultimap; +import com.google.common.collect.ImmutableSet; import java.io.InputStream; import java.util.HashMap; - import javax.annotation.concurrent.NotThreadSafe; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.ModuleImport; @@ -20,10 +22,6 @@ import org.opendaylight.yangtools.yang.model.util.repo.SourceIdentifier; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.google.common.base.Optional; -import com.google.common.collect.ImmutableMultimap; -import com.google.common.collect.ImmutableSet; - /** * * Resolution task for YANG Source Context diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/util/YangSourceFromCapabilitiesResolver.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/util/YangSourceFromCapabilitiesResolver.java index b9941d4e03..cf3f5f2999 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/util/YangSourceFromCapabilitiesResolver.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/util/YangSourceFromCapabilitiesResolver.java @@ -7,15 +7,13 @@ */ package org.opendaylight.yangtools.yang.parser.impl.util; +import com.google.common.base.Optional; import java.io.InputStream; - import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.util.repo.SchemaSourceProvider; import org.opendaylight.yangtools.yang.model.util.repo.SchemaSourceProviders; import org.opendaylight.yangtools.yang.model.util.repo.SourceIdentifier; -import com.google.common.base.Optional; - /** * * Source code resolver which resolves Yang Source Context against diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/util/YangSourceFromDependencyInfoResolver.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/util/YangSourceFromDependencyInfoResolver.java index d340563375..85f3f6c21b 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/util/YangSourceFromDependencyInfoResolver.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/util/YangSourceFromDependencyInfoResolver.java @@ -7,18 +7,16 @@ */ package org.opendaylight.yangtools.yang.parser.impl.util; +import com.google.common.base.Optional; +import com.google.common.collect.ImmutableMap; import java.io.InputStream; import java.util.Map; import java.util.Map.Entry; - import javax.annotation.concurrent.NotThreadSafe; import org.opendaylight.yangtools.yang.model.util.repo.AdvancedSchemaSourceProvider; import org.opendaylight.yangtools.yang.model.util.repo.SchemaSourceProvider; import org.opendaylight.yangtools.yang.model.util.repo.SourceIdentifier; -import com.google.common.base.Optional; -import com.google.common.collect.ImmutableMap; - /** * Resolver for YANG Schema Source which is based on DependencyInfo * diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/util/ModuleDependencySort.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/util/ModuleDependencySort.java index d304ca05da..d962c3cfa9 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/util/ModuleDependencySort.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/util/ModuleDependencySort.java @@ -6,9 +6,16 @@ */ package org.opendaylight.yangtools.yang.parser.util; +import static java.util.Arrays.asList; + +import com.google.common.annotations.VisibleForTesting; +import com.google.common.base.Function; +import com.google.common.base.Optional; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import com.google.common.collect.Sets; import java.net.URI; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.Date; @@ -16,7 +23,6 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; - import org.opendaylight.yangtools.yang.common.SimpleDateFormatUtil; import org.opendaylight.yangtools.yang.model.api.Module; import org.opendaylight.yangtools.yang.model.api.ModuleImport; @@ -26,12 +32,6 @@ import org.opendaylight.yangtools.yang.parser.util.TopologicalSort.NodeImpl; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.google.common.annotations.VisibleForTesting; -import com.google.common.base.Function; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; -import com.google.common.collect.Sets; - /** * Creates a module dependency graph from provided {@link ModuleBuilder}s and * provides a {@link #sort(ModuleBuilder...)} method. It is topological sort and @@ -49,6 +49,7 @@ public final class ModuleDependencySort { private ModuleDependencySort() { } + /** * Extracts {@link ModuleBuilder} from a {@link ModuleNodeImpl}. */ @@ -56,7 +57,8 @@ public final class ModuleDependencySort { @Override public ModuleBuilder apply(final TopologicalSort.Node input) { // Cast to ModuleBuilder from Node and return - return (ModuleBuilder) ((ModuleNodeImpl) input).getReference(); + ModuleOrModuleBuilder moduleOrModuleBuilder = ((ModuleNodeImpl) input).getReference(); + return moduleOrModuleBuilder.getModuleBuilder(); } }; @@ -67,27 +69,27 @@ public final class ModuleDependencySort { * in returned order. */ public static List sort(final ModuleBuilder... builders) { - return sort(Arrays.asList(builders)); + return sort(asList(builders)); } public static List sort(final Collection builders) { - List sorted = sortInternal(builders); + List sorted = sortInternal(ModuleOrModuleBuilder.fromAll( + Collections.emptySet(),builders)); return Lists.transform(sorted, NODE_TO_MODULEBUILDER); } public static List sortWithContext(final SchemaContext context, final ModuleBuilder... builders) { - List modules = new ArrayList(); - Collections.addAll(modules, builders); - modules.addAll(context.getModules()); + List all = ModuleOrModuleBuilder.fromAll(context.getModules(), asList(builders)); - List sorted = sortInternal(modules); + List sorted = sortInternal(all); // Cast to ModuleBuilder from Node if possible and return return Lists.transform(sorted, new Function() { @Override public ModuleBuilder apply(final TopologicalSort.Node input) { - if (((ModuleNodeImpl) input).getReference() instanceof ModuleBuilder) { - return (ModuleBuilder) ((ModuleNodeImpl) input).getReference(); + ModuleOrModuleBuilder moduleOrModuleBuilder = ((ModuleNodeImpl) input).getReference(); + if (moduleOrModuleBuilder.isModuleBuilder()) { + return moduleOrModuleBuilder.getModuleBuilder(); } else { return null; } @@ -102,18 +104,20 @@ public final class ModuleDependencySort { * returned order. */ public static List sort(final Module... modules) { - List sorted = sortInternal(Arrays.asList(modules)); + List sorted = sortInternal(ModuleOrModuleBuilder.fromAll(asList(modules), + Collections.emptyList())); // Cast to Module from Node and return return Lists.transform(sorted, new Function() { @Override public Module apply(final TopologicalSort.Node input) { - return (Module) ((ModuleNodeImpl) input).getReference(); + ModuleOrModuleBuilder moduleOrModuleBuilder = ((ModuleNodeImpl) input).getReference(); + return moduleOrModuleBuilder.getModule(); } }); } - private static List sortInternal(final Iterable modules) { + private static List sortInternal(final Iterable modules) { Map> moduleGraph = createModuleGraph(modules); Set nodes = Sets.newHashSet(); @@ -127,7 +131,7 @@ public final class ModuleDependencySort { } @VisibleForTesting - static Map> createModuleGraph(final Iterable builders) { + static Map> createModuleGraph(final Iterable builders) { Map> moduleGraph = Maps.newHashMap(); processModules(moduleGraph, builders); @@ -140,28 +144,30 @@ public final class ModuleDependencySort { * Extract module:revision from module builders */ private static void processDependencies(final Map> moduleGraph, - final Iterable builders) { + final Iterable mmbs) { Map allNS = new HashMap<>(); // Create edges in graph - for (Object mb : builders) { + for (ModuleOrModuleBuilder mmb : mmbs) { Map imported = Maps.newHashMap(); - String fromName = null; - Date fromRevision = null; - Set imports = null; - URI ns = null; - - if (mb instanceof Module) { - fromName = ((Module) mb).getName(); - fromRevision = ((Module) mb).getRevision(); - imports = ((Module) mb).getImports(); - ns = ((Module) mb).getNamespace(); - } else if (mb instanceof ModuleBuilder) { - fromName = ((ModuleBuilder) mb).getName(); - fromRevision = ((ModuleBuilder) mb).getRevision(); - imports = ((ModuleBuilder) mb).getModuleImports(); - ns = ((ModuleBuilder) mb).getNamespace(); + String fromName; + Date fromRevision; + Set imports; + URI ns; + + if (mmb.isModule()) { + Module module = mmb.getModule(); + fromName = module.getName(); + fromRevision = module.getRevision(); + imports = module.getImports(); + ns = module.getNamespace(); + } else { + ModuleBuilder moduleBuilder = mmb.getModuleBuilder(); + fromName = moduleBuilder.getName(); + fromRevision = moduleBuilder.getRevision(); + imports = moduleBuilder.getModuleImports(); + ns = moduleBuilder.getNamespace(); } // check for existence of module with same namespace @@ -182,7 +188,7 @@ public final class ModuleDependencySort { fromName, fromRevision, ns, name, revision); } } else { - allNS.put(ns, mb); + allNS.put(ns, mmb); } // no need to check if other Type of object, check is performed in @@ -256,24 +262,20 @@ public final class ModuleDependencySort { * graph */ private static void processModules(final Map> moduleGraph, - final Iterable builders) { + final Iterable builders) { // Process nodes - for (Object mb : builders) { + for (ModuleOrModuleBuilder momb : builders) { - String name = null; - Date rev = null; + String name; + Date rev; - if (mb instanceof Module) { - name = ((Module) mb).getName(); - rev = ((Module) mb).getRevision(); - } else if (mb instanceof ModuleBuilder) { - name = ((ModuleBuilder) mb).getName(); - rev = ((ModuleBuilder) mb).getRevision(); + if (momb.isModule()) { + name = momb.getModule().getName(); + rev = momb.getModule().getRevision(); } else { - throw new IllegalStateException(String.format( - "Unexpected type of node for sort, expected only:%s, %s, got:%s", Module.class, - ModuleBuilder.class, mb.getClass())); + name = momb.getModuleBuilder().getName(); + rev = momb.getModuleBuilder().getRevision(); } if (rev == null) { @@ -288,7 +290,7 @@ public final class ModuleDependencySort { ex(String.format("Module:%s with revision:%s declared twice", name, formatRevDate(rev))); } - moduleGraph.get(name).put(rev, new ModuleNodeImpl(name, rev, mb)); + moduleGraph.get(name).put(rev, new ModuleNodeImpl(name, rev, momb)); } } @@ -300,9 +302,9 @@ public final class ModuleDependencySort { static class ModuleNodeImpl extends NodeImpl { private final String name; private final Date revision; - private final Object originalObject; + private final ModuleOrModuleBuilder originalObject; - public ModuleNodeImpl(final String name, final Date revision, final Object builder) { + public ModuleNodeImpl(final String name, final Date revision, final ModuleOrModuleBuilder builder) { this.name = name; this.revision = revision; this.originalObject = builder; @@ -359,10 +361,47 @@ public final class ModuleDependencySort { return "Module [name=" + name + ", revision=" + formatRevDate(revision) + "]"; } - public Object getReference() { + public ModuleOrModuleBuilder getReference() { return originalObject; } } } +class ModuleOrModuleBuilder { + private final Optional maybeModule; + private final Optional maybeModuleBuilder; + + ModuleOrModuleBuilder(Module module) { + maybeModule = Optional.of(module); + maybeModuleBuilder = Optional.absent(); + } + + ModuleOrModuleBuilder(ModuleBuilder moduleBuilder) { + maybeModule = Optional.absent(); + maybeModuleBuilder = Optional.of(moduleBuilder); + } + boolean isModule(){ + return maybeModule.isPresent(); + } + boolean isModuleBuilder(){ + return maybeModuleBuilder.isPresent(); + } + Module getModule(){ + return maybeModule.get(); + } + ModuleBuilder getModuleBuilder(){ + return maybeModuleBuilder.get(); + } + + static List fromAll(Collection modules, Collection moduleBuilders) { + List result = new ArrayList<>(modules.size() + moduleBuilders.size()); + for(Module m: modules){ + result.add(new ModuleOrModuleBuilder(m)); + } + for (ModuleBuilder mb : moduleBuilders) { + result.add(new ModuleOrModuleBuilder(mb)); + } + return result; + } +} diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/util/TopologicalSort.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/util/TopologicalSort.java index cea5a906f7..105e297891 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/util/TopologicalSort.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/util/TopologicalSort.java @@ -7,12 +7,11 @@ */ package org.opendaylight.yangtools.yang.parser.util; -import java.util.List; -import java.util.Set; - import com.google.common.base.Preconditions; import com.google.common.collect.Lists; import com.google.common.collect.Sets; +import java.util.List; +import java.util.Set; /** * Utility class that provides topological sort diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/util/TypeConstraints.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/util/TypeConstraints.java index 8391759ec3..8ab8d163d1 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/util/TypeConstraints.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/util/TypeConstraints.java @@ -11,7 +11,6 @@ import java.math.BigDecimal; import java.util.ArrayList; import java.util.Collections; import java.util.List; - import org.opendaylight.yangtools.yang.model.api.type.LengthConstraint; import org.opendaylight.yangtools.yang.model.api.type.PatternConstraint; import org.opendaylight.yangtools.yang.model.api.type.RangeConstraint; diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/impl/AugmentTest.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/impl/AugmentTest.java index 6c1df4ac09..30c46efc75 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/impl/AugmentTest.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/impl/AugmentTest.java @@ -23,7 +23,6 @@ import java.util.Collections; import java.util.Date; import java.util.List; import java.util.Set; - import org.junit.BeforeClass; import org.junit.Test; import org.opendaylight.yangtools.yang.common.QName; diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/impl/Bug394Test.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/impl/Bug394Test.java index c91a579c63..421926668a 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/impl/Bug394Test.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/impl/Bug394Test.java @@ -13,7 +13,6 @@ import static org.junit.Assert.assertTrue; import java.util.List; import java.util.Set; - import org.junit.Test; import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode; import org.opendaylight.yangtools.yang.model.api.ExtensionDefinition; diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/impl/TwoRevisionsTest.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/impl/TwoRevisionsTest.java index 9b6277e689..4d31c1a2e0 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/impl/TwoRevisionsTest.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/impl/TwoRevisionsTest.java @@ -7,15 +7,14 @@ */ package org.opendaylight.yangtools.yang.parser.impl; +import static org.junit.Assert.assertEquals; + +import java.util.Set; import org.junit.Test; import org.opendaylight.yangtools.yang.model.api.Module; import org.opendaylight.yangtools.yang.model.api.SchemaContext; import org.opendaylight.yangtools.yang.model.parser.api.YangModelParser; -import java.util.Set; - -import static org.junit.Assert.assertEquals; - public class TwoRevisionsTest { @Test diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/impl/YangModelValidationListTest.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/impl/YangModelValidationListTest.java index 4013b2c17e..33a5e3f4a9 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/impl/YangModelValidationListTest.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/impl/YangModelValidationListTest.java @@ -20,7 +20,6 @@ import org.opendaylight.yangtools.antlrv4.code.gen.YangParser.Mandatory_stmtCont import org.opendaylight.yangtools.antlrv4.code.gen.YangParser.Ordered_by_argContext; import org.opendaylight.yangtools.antlrv4.code.gen.YangParser.Type_stmtContext; import org.opendaylight.yangtools.antlrv4.code.gen.YangParser.Unique_stmtContext; -import org.opendaylight.yangtools.yang.parser.impl.YangModelBasicValidationListener; import org.opendaylight.yangtools.yang.parser.util.YangValidationException; public class YangModelValidationListTest { diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/impl/YangModelValidationModuleTest.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/impl/YangModelValidationModuleTest.java index 2edef0f403..b6fe186f26 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/impl/YangModelValidationModuleTest.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/impl/YangModelValidationModuleTest.java @@ -9,7 +9,8 @@ package org.opendaylight.yangtools.yang.parser.impl; import static org.junit.Assert.assertThat; import static org.junit.matchers.JUnitMatchers.containsString; -import static org.mockito.Mockito.*; +import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.mock; import org.junit.Before; import org.junit.Test; @@ -19,8 +20,6 @@ import org.opendaylight.yangtools.antlrv4.code.gen.YangParser.Namespace_stmtCont import org.opendaylight.yangtools.antlrv4.code.gen.YangParser.Revision_stmtContext; import org.opendaylight.yangtools.antlrv4.code.gen.YangParser.Revision_stmtsContext; import org.opendaylight.yangtools.antlrv4.code.gen.YangParser.Yang_version_stmtContext; -import org.opendaylight.yangtools.yang.parser.impl.BasicValidations; -import org.opendaylight.yangtools.yang.parser.impl.YangModelBasicValidationListener; import org.opendaylight.yangtools.yang.parser.util.YangValidationException; public class YangModelValidationModuleTest { diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/impl/YangModelValidationSubModuleTest.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/impl/YangModelValidationSubModuleTest.java index b6a34cb4eb..d3db090e0b 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/impl/YangModelValidationSubModuleTest.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/impl/YangModelValidationSubModuleTest.java @@ -17,7 +17,6 @@ import org.junit.Test; import org.opendaylight.yangtools.antlrv4.code.gen.YangParser.Belongs_to_stmtContext; import org.opendaylight.yangtools.antlrv4.code.gen.YangParser.Submodule_header_stmtsContext; import org.opendaylight.yangtools.antlrv4.code.gen.YangParser.Submodule_stmtContext; -import org.opendaylight.yangtools.yang.parser.impl.YangModelBasicValidationListener; import org.opendaylight.yangtools.yang.parser.util.YangValidationException; public class YangModelValidationSubModuleTest { diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/impl/YangModelValidationTest.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/impl/YangModelValidationTest.java index 96779ab32a..7b11d502dd 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/impl/YangModelValidationTest.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/impl/YangModelValidationTest.java @@ -11,15 +11,17 @@ import static org.hamcrest.core.Is.is; import static org.junit.Assert.assertThat; import static org.junit.Assert.fail; import static org.junit.matchers.JUnitMatchers.containsString; -import static org.mockito.Mockito.*; +import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; +import com.google.common.collect.Sets; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Collections; import java.util.Date; import java.util.HashSet; import java.util.List; - import org.antlr.v4.runtime.Token; import org.antlr.v4.runtime.tree.ParseTree; import org.antlr.v4.runtime.tree.TerminalNode; @@ -37,13 +39,8 @@ import org.opendaylight.yangtools.antlrv4.code.gen.YangParser.Prefix_stmtContext import org.opendaylight.yangtools.antlrv4.code.gen.YangParser.Revision_date_stmtContext; import org.opendaylight.yangtools.antlrv4.code.gen.YangParser.Status_argContext; import org.opendaylight.yangtools.antlrv4.code.gen.YangParser.StringContext; -import org.opendaylight.yangtools.yang.parser.impl.BasicValidations; -import org.opendaylight.yangtools.yang.parser.impl.ValidationUtil; -import org.opendaylight.yangtools.yang.parser.impl.YangModelBasicValidationListener; import org.opendaylight.yangtools.yang.parser.util.YangValidationException; -import com.google.common.collect.Sets; - public class YangModelValidationTest { private YangModelBasicValidationListener valid; diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/impl/YangParserNegativeTest.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/impl/YangParserNegativeTest.java index a5c80b1e3e..ac7099085e 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/impl/YangParserNegativeTest.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/impl/YangParserNegativeTest.java @@ -17,7 +17,6 @@ import java.io.InputStream; import java.util.ArrayList; import java.util.Arrays; import java.util.List; - import org.junit.Test; import org.opendaylight.yangtools.yang.model.parser.api.YangContextParser; import org.opendaylight.yangtools.yang.parser.util.YangParseException; diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/impl/YangParserSimpleTest.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/impl/YangParserSimpleTest.java index ac6a828752..c5e86b431b 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/impl/YangParserSimpleTest.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/impl/YangParserSimpleTest.java @@ -21,7 +21,6 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Set; - import org.junit.Before; import org.junit.Test; import org.opendaylight.yangtools.yang.common.QName; diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/impl/YangParserTest.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/impl/YangParserTest.java index ab26254433..70851fe1f7 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/impl/YangParserTest.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/impl/YangParserTest.java @@ -31,7 +31,6 @@ import java.util.LinkedHashSet; import java.util.List; import java.util.Map; import java.util.Set; - import org.junit.Before; import org.junit.Test; import org.opendaylight.yangtools.yang.common.QName; diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/impl/util/YangModelDependencyInfoTest.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/impl/util/YangModelDependencyInfoTest.java index e4825c012f..6e6b73b743 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/impl/util/YangModelDependencyInfoTest.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/impl/util/YangModelDependencyInfoTest.java @@ -7,10 +7,10 @@ */ package org.opendaylight.yangtools.yang.parser.impl.util; -import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; import java.io.InputStream; - import org.junit.Test; public class YangModelDependencyInfoTest { diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/util/ModuleDependencySortTest.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/util/ModuleDependencySortTest.java index fc1c302269..edacfc5572 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/util/ModuleDependencySortTest.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/util/ModuleDependencySortTest.java @@ -14,15 +14,16 @@ import static org.junit.matchers.JUnitMatchers.containsString; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; +import com.google.common.collect.Sets; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Arrays; +import java.util.Collections; import java.util.Date; import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.Set; - import org.hamcrest.Matcher; import org.junit.Test; import org.opendaylight.yangtools.yang.model.api.Module; @@ -31,8 +32,6 @@ import org.opendaylight.yangtools.yang.parser.builder.impl.ModuleBuilder; import org.opendaylight.yangtools.yang.parser.util.ModuleDependencySort.ModuleNodeImpl; import org.opendaylight.yangtools.yang.parser.util.TopologicalSort.Edge; -import com.google.common.collect.Sets; - public class ModuleDependencySortTest { private final DateFormat SIMPLE_DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd"); private final ModuleBuilder a = mockModuleBuilder("a", null); @@ -51,7 +50,8 @@ public class ModuleDependencySortTest { List l = ModuleDependencySort.sort(builders); - assertDependencyGraph(ModuleDependencySort.createModuleGraph(Arrays.asList(builders))); + assertDependencyGraph(ModuleDependencySort.createModuleGraph(ModuleOrModuleBuilder.fromAll( + Collections.emptySet(), Arrays.asList(builders)))); @SuppressWarnings("unchecked") Matcher cOrD = anyOf(is(c.getName()), is(d.getName())); diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/util/RefineHolderTest.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/util/RefineHolderTest.java index 71d2c48445..ee2d7facbe 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/util/RefineHolderTest.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/util/RefineHolderTest.java @@ -17,7 +17,6 @@ import java.net.URISyntaxException; import java.util.ArrayList; import java.util.Date; import java.util.List; - import org.junit.Before; import org.junit.Test; import org.opendaylight.yangtools.yang.common.QName; diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/util/TopologicalSortTest.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/util/TopologicalSortTest.java index 7e154a6b09..72fb3ff870 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/util/TopologicalSortTest.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/util/TopologicalSortTest.java @@ -10,15 +10,13 @@ package org.opendaylight.yangtools.yang.parser.util; import static org.hamcrest.core.Is.is; import static org.junit.Assert.assertThat; +import com.google.common.collect.Sets; import java.util.List; import java.util.Set; - import org.junit.Test; import org.opendaylight.yangtools.yang.parser.util.TopologicalSort.Node; import org.opendaylight.yangtools.yang.parser.util.TopologicalSort.NodeImpl; -import com.google.common.collect.Sets; - public class TopologicalSortTest { @Test(expected = IllegalStateException.class) -- 2.36.6