From: Robert Varga Date: Mon, 14 Sep 2015 10:42:01 +0000 (+0200) Subject: Cleanup yang-parser-impl X-Git-Tag: release/beryllium~313 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;ds=sidebyside;h=refs%2Fchanges%2F37%2F26937%2F2;p=yangtools.git Cleanup yang-parser-impl All around fixes: - methods which can be made static - Optional instance sharing - Raw types Change-Id: I04e2e7190cd4ffeda7d8a7fc2530f2c8e7bb27a8 Signed-off-by: Robert Varga --- diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/BuildGlobalContext.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/BuildGlobalContext.java index ef04c15a35..a7041f2f14 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/BuildGlobalContext.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/BuildGlobalContext.java @@ -7,29 +7,24 @@ */ package org.opendaylight.yangtools.yang.parser.stmt.reactor; -import org.opendaylight.yangtools.yang.parser.spi.meta.ModelActionBuilder.Prerequisite; -import org.opendaylight.yangtools.yang.parser.spi.validation.ValidationBundlesNamespace; - -import java.util.Map.Entry; -import java.util.Collection; -import org.opendaylight.yangtools.yang.parser.spi.validation.ValidationBundlesNamespace.ValidationBundleType; -import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.EffectiveSchemaContext; -import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import com.google.common.base.Preconditions; import com.google.common.base.Throwables; import com.google.common.collect.ImmutableList; import com.google.common.collect.Lists; import java.util.ArrayList; +import java.util.Collection; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Map; +import java.util.Map.Entry; import java.util.Objects; import java.util.Set; import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; +import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.meta.IdentifierNamespace; import org.opendaylight.yangtools.yang.parser.spi.meta.ModelProcessingPhase; import org.opendaylight.yangtools.yang.parser.spi.meta.NamespaceBehaviour; @@ -42,7 +37,10 @@ import org.opendaylight.yangtools.yang.parser.spi.meta.StatementSupport; import org.opendaylight.yangtools.yang.parser.spi.meta.StatementSupportBundle; import org.opendaylight.yangtools.yang.parser.spi.source.SourceException; import org.opendaylight.yangtools.yang.parser.spi.source.StatementStreamSource; +import org.opendaylight.yangtools.yang.parser.spi.validation.ValidationBundlesNamespace; +import org.opendaylight.yangtools.yang.parser.spi.validation.ValidationBundlesNamespace.ValidationBundleType; import org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext.PhaseCompletionProgress; +import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.EffectiveSchemaContext; class BuildGlobalContext extends NamespaceStorageSupport implements NamespaceBehaviour.Registry { @@ -63,12 +61,12 @@ class BuildGlobalContext extends NamespaceStorageSupport implements NamespaceBeh private ModelProcessingPhase currentPhase = ModelProcessingPhase.INIT; private ModelProcessingPhase finishedPhase = ModelProcessingPhase.INIT; - public BuildGlobalContext(Map supports) { + public BuildGlobalContext(final Map supports) { super(); this.supports = Preconditions.checkNotNull(supports, "BuildGlobalContext#supports cannot be null"); } - public BuildGlobalContext(Map supports, Map> supportedValidation) { + public BuildGlobalContext(final Map supports, final Map> supportedValidation) { super(); this.supports = Preconditions.checkNotNull(supports, "BuildGlobalContext#supports cannot be null"); @@ -78,11 +76,11 @@ class BuildGlobalContext extends NamespaceStorageSupport implements NamespaceBeh } } - public StatementSupportBundle getSupportsForPhase(ModelProcessingPhase currentPhase) { + public StatementSupportBundle getSupportsForPhase(final ModelProcessingPhase currentPhase) { return supports.get(currentPhase); } - public void addSource(@Nonnull StatementStreamSource source) { + public void addSource(@Nonnull final StatementStreamSource source) { sources.add(new SourceSpecificContext(this,source)); } @@ -102,7 +100,7 @@ class BuildGlobalContext extends NamespaceStorageSupport implements NamespaceBeh } @Override - public > NamespaceBehaviourWithListeners getNamespaceBehaviour(Class type) { + public > NamespaceBehaviourWithListeners getNamespaceBehaviour(final Class type) { NamespaceBehaviourWithListeners potential = supportedNamespaces.get(type); if (potential == null) { NamespaceBehaviour potentialRaw = supports.get(currentPhase).getNamespaceBehaviour(type); @@ -123,7 +121,7 @@ class BuildGlobalContext extends NamespaceStorageSupport implements NamespaceBeh throw new NamespaceNotAvailableException("Namespace " + type + " is not available in phase " + currentPhase); } - public StatementDefinitionContext getStatementDefinition(QName name) { + public StatementDefinitionContext getStatementDefinition(final QName name) { StatementDefinitionContext potential = definitions.get(name); if(potential == null) { StatementSupport potentialRaw = supports.get(currentPhase).getStatementDefinition(name); @@ -181,7 +179,7 @@ class BuildGlobalContext extends NamespaceStorageSupport implements NamespaceBeh return new EffectiveSchemaContext(rootStatements,rootEffectiveStatements); } - private void startPhase(ModelProcessingPhase phase) { + private void startPhase(final ModelProcessingPhase phase) { Preconditions.checkState(Objects.equals(finishedPhase, phase.getPreviousPhase())); for(SourceSpecificContext source : sources) { source.startPhase(phase); @@ -196,8 +194,8 @@ class BuildGlobalContext extends NamespaceStorageSupport implements NamespaceBeh } } - private SomeModifiersUnresolvedException addSourceExceptions(SomeModifiersUnresolvedException buildFailure, - List sourcesToProgress) { + private SomeModifiersUnresolvedException addSourceExceptions(final SomeModifiersUnresolvedException buildFailure, + final List sourcesToProgress) { for(SourceSpecificContext failedSource : sourcesToProgress) { SourceException sourceEx = failedSource.failModifiers(currentPhase); buildFailure.addSuppressed(sourceEx); @@ -242,7 +240,7 @@ class BuildGlobalContext extends NamespaceStorageSupport implements NamespaceBeh } } - private void endPhase(ModelProcessingPhase phase) { + private void endPhase(final ModelProcessingPhase phase) { Preconditions.checkState(currentPhase == phase); finishedPhase = currentPhase; } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/NamespaceStorageSupport.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/NamespaceStorageSupport.java index 27914951ba..0f9b948496 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/NamespaceStorageSupport.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/NamespaceStorageSupport.java @@ -7,19 +7,18 @@ */ package org.opendaylight.yangtools.yang.parser.stmt.reactor; +import java.util.HashMap; +import java.util.Map; import java.util.Map.Entry; - import java.util.Set; -import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.Utils; import org.opendaylight.yangtools.yang.model.api.ModuleIdentifier; -import java.util.HashMap; -import java.util.Map; import org.opendaylight.yangtools.yang.model.api.meta.IdentifierNamespace; import org.opendaylight.yangtools.yang.parser.spi.meta.NamespaceBehaviour; import org.opendaylight.yangtools.yang.parser.spi.meta.NamespaceBehaviour.NamespaceStorageNode; import org.opendaylight.yangtools.yang.parser.spi.meta.NamespaceNotAvailableException; import org.opendaylight.yangtools.yang.parser.spi.meta.StatementNamespace; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; +import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.Utils; abstract class NamespaceStorageSupport implements NamespaceStorageNode { @@ -31,43 +30,43 @@ abstract class NamespaceStorageSupport implements NamespaceStorageNode { public abstract NamespaceBehaviour.Registry getBehaviourRegistry(); - protected void checkLocalNamespaceAllowed(Class> type) { + protected void checkLocalNamespaceAllowed(final Class> type) { // NOOP } - protected > void onNamespaceElementAdded(Class type, K key, V value) { + protected > void onNamespaceElementAdded(final Class type, final K key, final V value) { // NOOP } //> V //public final > VT getFromNamespace(Class type, K key) - public final > V getFromNamespace(Class type, KT key) + public final > V getFromNamespace(final Class type, final KT key) throws NamespaceNotAvailableException { return getBehaviourRegistry().getNamespaceBehaviour(type).getFrom(this,key); } - public final > Map getAllFromNamespace(Class type){ + public final > Map getAllFromNamespace(final Class type){ return getBehaviourRegistry().getNamespaceBehaviour(type).getAllFrom(this); } - public final > Map getAllFromCurrentStmtCtxNamespace(Class type){ + public final > Map getAllFromCurrentStmtCtxNamespace(final Class type){ return (Map) namespaces.get(type); } - public final > void addToNs(Class type, KT key, VT value) + public final > void addToNs(final Class type, final KT key, final VT value) throws NamespaceNotAvailableException { getBehaviourRegistry().getNamespaceBehaviour(type).addTo(this,key,value); } @SuppressWarnings({ "unchecked", "rawtypes" }) - public final > void addContextToNamespace(Class type, K key, StmtContext value) + public final > void addContextToNamespace(final Class type, final K key, final StmtContext value) throws NamespaceNotAvailableException { getBehaviourRegistry().getNamespaceBehaviour((Class)type).addTo(this, key, value); } @SuppressWarnings("unchecked") @Override - public > V getFromLocalStorage(Class type, K key) { + public > V getFromLocalStorage(final Class type, final K key) { Map localNamespace = (Map) namespaces.get(type); V potential = null; @@ -82,17 +81,17 @@ abstract class NamespaceStorageSupport implements NamespaceStorageNode { return potential; } - private > V getRegardlessOfRevision(ModuleIdentifier key, - Map localNamespace) { + private static > V getRegardlessOfRevision(final ModuleIdentifier key, + final Map localNamespace) { - if(localNamespace == null) { + if (localNamespace == null) { return null; } Set> entrySet = localNamespace.entrySet(); for (Entry entry : entrySet) { ModuleIdentifier moduleIdentifierInMap = entry.getKey(); - if(moduleIdentifierInMap.getName().equals(key.getName())) { + if (moduleIdentifierInMap.getName().equals(key.getName())) { return entry.getValue(); } } @@ -101,14 +100,14 @@ abstract class NamespaceStorageSupport implements NamespaceStorageNode { } @Override - public > Map getAllFromLocalStorage(Class type) { + public > Map getAllFromLocalStorage(final Class type) { @SuppressWarnings("unchecked") Map localNamespace = (Map) namespaces.get(type); return localNamespace; } @Override - public > void addToLocalStorage(Class type, K key, V value) { + public > void addToLocalStorage(final Class type, final K key, final V value) { @SuppressWarnings("unchecked") Map localNamespace = (Map) namespaces.get(type); if(localNamespace == null) { diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/SourceSpecificContext.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/SourceSpecificContext.java index 7a5f7be94d..a8c823e2ab 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/SourceSpecificContext.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/SourceSpecificContext.java @@ -7,13 +7,17 @@ */ package org.opendaylight.yangtools.yang.parser.stmt.reactor; -import javax.annotation.Nonnull; -import org.opendaylight.yangtools.yang.model.api.stmt.ExtensionStatement; -import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; import com.google.common.base.Preconditions; import com.google.common.collect.HashMultimap; import com.google.common.collect.ImmutableMap; import com.google.common.collect.Multimap; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Iterator; +import java.util.Map; +import java.util.Objects; +import javax.annotation.Nonnull; +import javax.annotation.Nullable; import org.opendaylight.yangtools.concepts.Mutable; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.QNameModule; @@ -22,6 +26,7 @@ import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.meta.IdentifierNamespace; import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition; +import org.opendaylight.yangtools.yang.model.api.stmt.ExtensionStatement; import org.opendaylight.yangtools.yang.parser.spi.ExtensionNamespace; import org.opendaylight.yangtools.yang.parser.spi.meta.ImportedNamespaceContext; import org.opendaylight.yangtools.yang.parser.spi.meta.InferenceException; @@ -31,6 +36,7 @@ import org.opendaylight.yangtools.yang.parser.spi.meta.NamespaceBehaviour; import org.opendaylight.yangtools.yang.parser.spi.meta.NamespaceBehaviour.NamespaceStorageNode; import org.opendaylight.yangtools.yang.parser.spi.meta.NamespaceBehaviour.StorageNodeType; import org.opendaylight.yangtools.yang.parser.spi.meta.StatementSupport; +import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; import org.opendaylight.yangtools.yang.parser.spi.source.PrefixToModule; import org.opendaylight.yangtools.yang.parser.spi.source.PrefixToModuleMap; import org.opendaylight.yangtools.yang.parser.spi.source.QNameToStatementDefinition; @@ -41,7 +47,6 @@ import org.opendaylight.yangtools.yang.parser.spi.source.StatementStreamSource; import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.BitsSpecificationImpl; import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.Decimal64SpecificationImpl; import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.EnumSpecificationImpl; -import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.UnknownEffectiveStatementImpl; import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.IdentityRefSpecificationImpl; import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.InstanceIdentifierSpecificationImpl; import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.LeafrefSpecificationImpl; @@ -49,12 +54,7 @@ import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.TypeUtils; import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.UnionSpecificationImpl; import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.UnknownStatementImpl; import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.Utils; -import javax.annotation.Nullable; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Iterator; -import java.util.Map; -import java.util.Objects; +import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.UnknownEffectiveStatementImpl; public class SourceSpecificContext implements NamespaceStorageNode, NamespaceBehaviour.Registry, Mutable { @@ -73,11 +73,11 @@ public class SourceSpecificContext implements NamespaceStorageNode, NamespaceBeh private ModelProcessingPhase inProgressPhase; private ModelProcessingPhase finishedPhase = ModelProcessingPhase.INIT; - private QNameToStatementDefinitionMap qNameToStmtDefMap = new QNameToStatementDefinitionMap(); - private PrefixToModuleMap prefixToModuleMap = new PrefixToModuleMap(); + private final QNameToStatementDefinitionMap qNameToStmtDefMap = new QNameToStatementDefinitionMap(); + private final PrefixToModuleMap prefixToModuleMap = new PrefixToModuleMap(); - SourceSpecificContext(BuildGlobalContext currentContext, StatementStreamSource source) { + SourceSpecificContext(final BuildGlobalContext currentContext, final StatementStreamSource source) { this.source = source; this.currentContext = currentContext; } @@ -86,11 +86,11 @@ public class SourceSpecificContext implements NamespaceStorageNode, NamespaceBeh return inProgressPhase; } - StatementDefinitionContext getDefinition(QName name) { + StatementDefinitionContext getDefinition(final QName name) { return currentContext.getStatementDefinition(name); } - ContextBuilder createDeclaredChild(StatementContextBase current, QName name, StatementSourceReference ref) { + ContextBuilder createDeclaredChild(final StatementContextBase current, final QName name, final StatementSourceReference ref) { StatementDefinitionContext def = getDefinition(name); if (def == null) { @@ -101,8 +101,8 @@ public class SourceSpecificContext implements NamespaceStorageNode, NamespaceBeh final StatementContextBase extension = (StatementContextBase) currentContext .getAllFromNamespace(ExtensionNamespace.class).get(key); if (extension != null) { - final QName qName = QName.create(((QName) ((SubstatementContext) extension).getStatementArgument()) - .getModule().getNamespace(), ((QName) ((SubstatementContext) extension). + final QName qName = QName.create(((QName) ((SubstatementContext) extension).getStatementArgument()) + .getModule().getNamespace(), ((QName) ((SubstatementContext) extension). getStatementArgument()).getModule().getRevision(), extension.getIdentifier().getArgument()); def = new StatementDefinitionContext<>(new UnknownStatementImpl.Definition @@ -159,7 +159,7 @@ public class SourceSpecificContext implements NamespaceStorageNode, NamespaceBeh } @SuppressWarnings({"rawtypes", "unchecked"}) - private ContextBuilder createDeclaredRoot(StatementDefinitionContext def, StatementSourceReference ref) { + private ContextBuilder createDeclaredRoot(final StatementDefinitionContext def, final StatementSourceReference ref) { return new ContextBuilder(def, ref) { @Override @@ -330,7 +330,7 @@ public class SourceSpecificContext implements NamespaceStorageNode, NamespaceBeh } } - private StatementDefinitionContext resolveTypeBodyStmts(String typeArgument) { + private static StatementDefinitionContext resolveTypeBodyStmts(final String typeArgument) { switch (typeArgument) { case TypeUtils.DECIMAL64: return new StatementDefinitionContext<>(new Decimal64SpecificationImpl.Definition()); diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/AugmentUtils.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/AugmentUtils.java index 9076c6873b..984a862ad1 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/AugmentUtils.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/AugmentUtils.java @@ -51,7 +51,7 @@ public final class AugmentUtils { private AugmentUtils() { } - public static Iterable parseAugmentPath(StmtContext ctx, String path) { + public static Iterable parseAugmentPath(final StmtContext ctx, final String path) { if (path.matches(REGEX_PATH_REL1) || path.matches(REGEX_PATH_REL2)) { throw new IllegalArgumentException( @@ -61,18 +61,18 @@ public final class AugmentUtils { return Utils.parseXPath(ctx, path); } - public static void copyFromSourceToTarget(StatementContextBase sourceCtx, - StatementContextBase targetCtx) throws SourceException { + public static void copyFromSourceToTarget(final StatementContextBase sourceCtx, + final StatementContextBase targetCtx) throws SourceException { copyDeclaredStmts(sourceCtx, targetCtx); copyEffectiveStmts(sourceCtx, targetCtx); } - public static void copyDeclaredStmts(StatementContextBase sourceCtx, - StatementContextBase targetCtx) throws SourceException { + public static void copyDeclaredStmts(final StatementContextBase sourceCtx, + final StatementContextBase targetCtx) throws SourceException { Collection> declaredSubStatements = sourceCtx.declaredSubstatements(); - final List subStatements = new Builder() + final List> subStatements = new Builder>() .addAll(targetCtx.declaredSubstatements()).addAll(targetCtx.effectiveSubstatements()).build(); boolean sourceAndTargetInSameModule = Utils.getRootModuleQName(sourceCtx).equals( Utils.getRootModuleQName(targetCtx)); @@ -92,11 +92,11 @@ public final class AugmentUtils { } } - public static void copyEffectiveStmts(StatementContextBase sourceCtx, - StatementContextBase targetCtx) throws SourceException { + public static void copyEffectiveStmts(final StatementContextBase sourceCtx, + final StatementContextBase targetCtx) throws SourceException { Collection> effectiveSubstatements = sourceCtx.effectiveSubstatements(); - final List subStatements = new Builder() + final List> subStatements = new Builder>() .addAll(targetCtx.declaredSubstatements()).addAll(targetCtx.effectiveSubstatements()).build(); boolean sourceAndTargetInSameModule = Utils.getRootModuleQName(sourceCtx).equals( Utils.getRootModuleQName(targetCtx)); @@ -117,17 +117,17 @@ public final class AugmentUtils { } private static void validateNodeCanBeCopiedByAugment(final StatementContextBase sourceCtx, - final List targetSubStatements, boolean sourceAndTargetInSameModule) { + final List> targetSubStatements, final boolean sourceAndTargetInSameModule) { if (sourceCtx.getPublicDefinition().getDeclaredRepresentationClass().equals(WhenStatement.class)) { return; } if (!sourceAndTargetInSameModule) { - final List sourceSubStatements = new Builder() + final List> sourceSubStatements = new Builder>() .addAll(sourceCtx.declaredSubstatements()).addAll(sourceCtx.effectiveSubstatements()).build(); - for (final StatementContextBase sourceSubStatement : sourceSubStatements) { + for (final StatementContextBase sourceSubStatement : sourceSubStatements) { if (sourceSubStatement.getPublicDefinition().getDeclaredRepresentationClass() .equals(MandatoryStatement.class)) { throw new IllegalArgumentException( @@ -138,7 +138,7 @@ public final class AugmentUtils { } } - for (final StatementContextBase subStatement : targetSubStatements) { + for (final StatementContextBase subStatement : targetSubStatements) { final boolean sourceIsDataNode = DataDefinitionStatement.class.isAssignableFrom(sourceCtx .getPublicDefinition().getDeclaredRepresentationClass()); @@ -155,8 +155,8 @@ public final class AugmentUtils { } } - public static QNameModule getNewQNameModule(StatementContextBase targetCtx, - StatementContextBase sourceCtx) { + public static QNameModule getNewQNameModule(final StatementContextBase targetCtx, + final StatementContextBase sourceCtx) { Object targetStmtArgument = targetCtx.getStatementArgument(); final StatementContextBase root = sourceCtx.getRoot(); @@ -176,7 +176,7 @@ public final class AugmentUtils { } } - public static boolean needToCopyByAugment(StmtContext stmtContext) { + public static boolean needToCopyByAugment(final StmtContext stmtContext) { Set noCopyDefSet = new HashSet<>(); noCopyDefSet.add(Rfc6020Mapping.USES); @@ -185,7 +185,7 @@ public final class AugmentUtils { return !noCopyDefSet.contains(def); } - public static boolean isReusedByAugment(StmtContext stmtContext) { + public static boolean isReusedByAugment(final StmtContext stmtContext) { Set reusedDefSet = new HashSet<>(); reusedDefSet.add(Rfc6020Mapping.TYPEDEF); @@ -230,15 +230,16 @@ public final class AugmentUtils { StatementContextBase augmentTargetCtx = null; for (final StatementContextBase rootStatementCtx : rootStatementCtxList) { augmentTargetCtx = findCtxOfNodeInRoot(rootStatementCtx, augmentTargetNode); - if (augmentTargetCtx != null) + if (augmentTargetCtx != null) { break; + } } return augmentTargetCtx; } @Nullable - public static StatementContextBase findCtxOfNodeInSubstatements(StatementContextBase rootStmtCtx, + public static StatementContextBase findCtxOfNodeInSubstatements(final StatementContextBase rootStmtCtx, final Iterable path) { StatementContextBase parent = rootStmtCtx; @@ -261,8 +262,8 @@ public final class AugmentUtils { return null; } - public static StatementContextBase getSubstatementByQName(StatementContextBase parent, - QName nextPathQName) { + public static StatementContextBase getSubstatementByQName(final StatementContextBase parent, + final QName nextPathQName) { Collection> declaredSubstatement = parent.declaredSubstatements(); Collection> effectiveSubstatement = parent.effectiveSubstatements(); @@ -297,7 +298,7 @@ public final class AugmentUtils { return null; } - public static boolean isSupportedAugmentTarget(StatementContextBase substatementCtx) { + public static boolean isSupportedAugmentTarget(final StatementContextBase substatementCtx) { /* * :TODO Substatement must be allowed augment target type e.g. Container, etc... and must be not for example @@ -315,7 +316,7 @@ public final class AugmentUtils { } @Nullable - public static StatementContextBase findCtxOfNodeInRoot(StatementContextBase rootStmtCtx, + public static StatementContextBase findCtxOfNodeInRoot(final StatementContextBase rootStmtCtx, final SchemaNodeIdentifier node) { return findCtxOfNodeInSubstatements(rootStmtCtx, node.getPathFromRoot()); } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/BelongsToStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/BelongsToStatementImpl.java index 72065ac8bd..ddc3d81bbf 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/BelongsToStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/BelongsToStatementImpl.java @@ -33,7 +33,7 @@ public class BelongsToStatementImpl extends AbstractDeclaredStatement implements BelongsToStatement { protected BelongsToStatementImpl( - StmtContext context) { + final StmtContext context) { super(context); } @@ -46,19 +46,19 @@ public class BelongsToStatementImpl extends AbstractDeclaredStatement } @Override - public String parseArgumentValue(StmtContext ctx, String value) { + public String parseArgumentValue(final StmtContext ctx, final String value) { return value; } @Override public BelongsToStatement createDeclared( - StmtContext ctx) { + final StmtContext ctx) { return new BelongsToStatementImpl(ctx); } @Override public EffectiveStatement createEffective( - StmtContext> ctx) { + final StmtContext> ctx) { return new BelongsEffectiveToStatementImpl(ctx); } @@ -80,7 +80,7 @@ public class BelongsToStatementImpl extends AbstractDeclaredStatement } @Override - public void prerequisiteFailed(Collection> failed) throws InferenceException { + public void prerequisiteFailed(final Collection> failed) throws InferenceException { if (failed.contains(belongsToPrereq)) { throw new InferenceException("Module from belongs-to was not found: " + belongsToCtx.getStatementArgument(), belongsToCtx .getStatementSourceReference()); @@ -89,7 +89,7 @@ public class BelongsToStatementImpl extends AbstractDeclaredStatement }); } - private ModuleIdentifier getModuleIdentifier(StmtContext.Mutable> belongsToCtx) { + private static ModuleIdentifier getModuleIdentifier(final StmtContext.Mutable> belongsToCtx) { String moduleName = belongsToCtx.getStatementArgument(); return new ModuleIdentifierImpl(moduleName, Optional. absent(), Optional.of(SimpleDateFormatUtil.DEFAULT_BELONGS_TO_DATE)); } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/IdentityStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/IdentityStatementImpl.java index ada4c73095..798e59374b 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/IdentityStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/IdentityStatementImpl.java @@ -7,28 +7,26 @@ */ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020; -import org.opendaylight.yangtools.antlrv4.code.gen.YangStatementParser; -import org.opendaylight.yangtools.yang.parser.spi.IdentityNamespace; -import org.opendaylight.yangtools.yang.parser.spi.source.SourceException; -import org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase; -import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.IdentityEffectiveStatementImpl; -import org.opendaylight.yangtools.yang.model.api.stmt.BaseStatement; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.Rfc6020Mapping; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; -import org.opendaylight.yangtools.yang.model.api.stmt.IdentityStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.BaseStatement; import org.opendaylight.yangtools.yang.model.api.stmt.DescriptionStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.IdentityStatement; import org.opendaylight.yangtools.yang.model.api.stmt.ReferenceStatement; import org.opendaylight.yangtools.yang.model.api.stmt.StatusStatement; +import org.opendaylight.yangtools.yang.parser.spi.IdentityNamespace; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractDeclaredStatement; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; +import org.opendaylight.yangtools.yang.parser.spi.source.SourceException; +import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.IdentityEffectiveStatementImpl; public class IdentityStatementImpl extends AbstractDeclaredStatement implements IdentityStatement { protected IdentityStatementImpl( - StmtContext context) { + final StmtContext context) { super(context); } @@ -39,19 +37,19 @@ public class IdentityStatementImpl extends AbstractDeclaredStatement } @Override - public QName parseArgumentValue(StmtContext ctx, String value) { + public QName parseArgumentValue(final StmtContext ctx, final String value) { return Utils.qNameFromArgument(ctx, value); } @Override public IdentityStatement createDeclared( - StmtContext ctx) { + final StmtContext ctx) { return new IdentityStatementImpl(ctx); } @Override public EffectiveStatement createEffective( - StmtContext> ctx) { + final StmtContext> ctx) { return new IdentityEffectiveStatementImpl(ctx); } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ImportStatementDefinition.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ImportStatementDefinition.java index 8d3c0cc8ac..dd73f6c484 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ImportStatementDefinition.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ImportStatementDefinition.java @@ -9,21 +9,19 @@ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020; import static org.opendaylight.yangtools.yang.parser.spi.meta.ModelProcessingPhase.SOURCE_LINKAGE; import static org.opendaylight.yangtools.yang.parser.spi.meta.StmtContextUtils.firstAttributeOf; - -import java.util.Set; - -import java.util.Map.Entry; -import java.util.Map; -import org.opendaylight.yangtools.yang.model.api.stmt.ModuleStatement; import com.google.common.base.Optional; import java.net.URI; import java.util.Collection; import java.util.Date; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; import org.opendaylight.yangtools.yang.common.SimpleDateFormatUtil; import org.opendaylight.yangtools.yang.model.api.ModuleIdentifier; import org.opendaylight.yangtools.yang.model.api.Rfc6020Mapping; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.ImportStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.ModuleStatement; import org.opendaylight.yangtools.yang.model.api.stmt.PrefixStatement; import org.opendaylight.yangtools.yang.model.api.stmt.RevisionDateStatement; import org.opendaylight.yangtools.yang.parser.builder.impl.ModuleIdentifierImpl; @@ -48,19 +46,19 @@ public class ImportStatementDefinition } @Override - public String parseArgumentValue(StmtContext ctx, String value) { + public String parseArgumentValue(final StmtContext ctx, final String value) { return value; } @Override public ImportStatement createDeclared( - StmtContext ctx) { + final StmtContext ctx) { return new ImportStatementImpl(ctx); } @Override public EffectiveStatement createEffective( - StmtContext> ctx) { + final StmtContext> ctx) { return new ImportEffectiveStatementImpl(ctx); } @@ -107,8 +105,8 @@ public class ImportStatementDefinition } private Entry>> findRecentModule( - ModuleIdentifier impIdentifier, - Map>> allModules) { + final ModuleIdentifier impIdentifier, + final Map>> allModules) { ModuleIdentifier recentModuleIdentifier = impIdentifier; Entry>> recentModuleEntry = null; @@ -134,7 +132,7 @@ public class ImportStatementDefinition @Override public void prerequisiteFailed( - Collection> failed) + final Collection> failed) throws InferenceException { if (failed.contains(imported)) { throw new InferenceException(String.format( @@ -145,8 +143,8 @@ public class ImportStatementDefinition }); } - private ModuleIdentifier getImportedModuleIdentifier( - Mutable stmt) throws SourceException { + private static ModuleIdentifier getImportedModuleIdentifier( + final Mutable stmt) throws SourceException { String moduleName = stmt.getStatementArgument(); Date revision = firstAttributeOf(stmt.declaredSubstatements(), diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/PatternStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/PatternStatementImpl.java index 0d35ec52d6..f587a0df94 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/PatternStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/PatternStatementImpl.java @@ -23,8 +23,12 @@ import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.type.PatternConstraintEffectiveImpl; import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.type.PatternEffectiveStatementImpl; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class PatternStatementImpl extends AbstractDeclaredStatement implements PatternStatement { + private static final Logger LOG = LoggerFactory.getLogger(PatternStatementImpl.class); + private static final Optional OPTIONAL_EMPTY = Optional.of(""); protected PatternStatementImpl(StmtContext context) { super(context); @@ -40,17 +44,13 @@ public class PatternStatementImpl extends AbstractDeclaredStatement ctx, String value) { - - final StringBuilder wrapPatternBuilder = new StringBuilder(value.length() + 2); - wrapPatternBuilder.append('^'); - wrapPatternBuilder.append(value); - wrapPatternBuilder.append('$'); - final String pattern = wrapPatternBuilder.toString(); + final String pattern = "^" + value + '$'; try { Pattern.compile(pattern); - return new PatternConstraintEffectiveImpl(pattern, Optional.of(""), Optional.of("")); + return new PatternConstraintEffectiveImpl(pattern, OPTIONAL_EMPTY, OPTIONAL_EMPTY); } catch (PatternSyntaxException e) { + LOG.debug("Pattern {} failed to compile", pattern, e); return null; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/TypeStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/TypeStatementImpl.java index e3a4cf58db..aed2fda278 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/TypeStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/TypeStatementImpl.java @@ -7,11 +7,7 @@ */ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020; -import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.type.BinaryEffectiveStatementImpl; - import java.util.Collection; -import org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase; -import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.ExtendedTypeEffectiveStatementImpl; import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.model.api.Rfc6020Mapping; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; @@ -20,6 +16,9 @@ import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractDeclaredStatement import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; import org.opendaylight.yangtools.yang.parser.spi.source.SourceException; +import org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase; +import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.ExtendedTypeEffectiveStatementImpl; +import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.type.BinaryEffectiveStatementImpl; import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.type.BooleanEffectiveStatementImpl; import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.type.EmptyEffectiveStatementImpl; import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.type.Int16EffectiveStatementImpl; @@ -35,7 +34,7 @@ import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.type.UInt8E public class TypeStatementImpl extends AbstractDeclaredStatement implements TypeStatement { - protected TypeStatementImpl(StmtContext context) { + protected TypeStatementImpl(final StmtContext context) { super(context); } @@ -48,29 +47,29 @@ public class TypeStatementImpl extends AbstractDeclaredStatement } @Override - public String parseArgumentValue(StmtContext ctx, String value) + public String parseArgumentValue(final StmtContext ctx, final String value) throws SourceException { return value; } @Override public TypeStatement createDeclared( - StmtContext ctx) { + final StmtContext ctx) { return new TypeStatementImpl(ctx); } @Override public EffectiveStatement createEffective( - StmtContext> ctx) { + final StmtContext> ctx) { // :FIXME improve the test of isExtended - e.g. unknown statements, // etc.. Collection> declaredSubstatements = ctx .declaredSubstatements(); - boolean isExtended = declaredSubstatements.isEmpty() ? false - : true; - if (isExtended) + boolean isExtended = !declaredSubstatements.isEmpty(); + if (isExtended) { return new ExtendedTypeEffectiveStatementImpl(ctx, true); + } switch (ctx.getStatementArgument()) { case TypeUtils.INT8: diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/ChoiceEffectiveStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/ChoiceEffectiveStatementImpl.java index 6b3f848ec7..2eedd1e02b 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/ChoiceEffectiveStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/ChoiceEffectiveStatementImpl.java @@ -7,36 +7,36 @@ */ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective; -import java.util.SortedSet; -import java.util.TreeSet; -import org.opendaylight.yangtools.yang.model.api.DataSchemaNode; -import org.opendaylight.yangtools.yang.model.api.AnyXmlSchemaNode; -import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode; -import org.opendaylight.yangtools.yang.model.api.LeafListSchemaNode; -import org.opendaylight.yangtools.yang.model.api.ListSchemaNode; -import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode; -import org.opendaylight.yangtools.yang.parser.builder.util.Comparators; -import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext.TypeOfCopy; -import java.util.Collection; -import java.util.HashSet; -import java.util.LinkedList; -import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.Utils; -import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; -import org.opendaylight.yangtools.yang.model.api.stmt.ChoiceStatement; -import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; import com.google.common.base.Optional; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; +import java.util.Collection; +import java.util.HashSet; +import java.util.LinkedList; import java.util.List; import java.util.Set; +import java.util.SortedSet; +import java.util.TreeSet; import org.opendaylight.yangtools.yang.common.QName; +import org.opendaylight.yangtools.yang.model.api.AnyXmlSchemaNode; import org.opendaylight.yangtools.yang.model.api.AugmentationSchema; import org.opendaylight.yangtools.yang.model.api.ChoiceCaseNode; import org.opendaylight.yangtools.yang.model.api.ChoiceSchemaNode; import org.opendaylight.yangtools.yang.model.api.ConstraintDefinition; +import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode; +import org.opendaylight.yangtools.yang.model.api.DataSchemaNode; import org.opendaylight.yangtools.yang.model.api.DerivableSchemaNode; +import org.opendaylight.yangtools.yang.model.api.LeafListSchemaNode; +import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode; +import org.opendaylight.yangtools.yang.model.api.ListSchemaNode; import org.opendaylight.yangtools.yang.model.api.SchemaPath; import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode; +import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.ChoiceStatement; +import org.opendaylight.yangtools.yang.parser.builder.util.Comparators; +import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; +import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext.TypeOfCopy; +import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.Utils; public class ChoiceEffectiveStatementImpl extends AbstractEffectiveDocumentedNode implements @@ -56,7 +56,7 @@ public class ChoiceEffectiveStatementImpl extends ImmutableList unknownNodes; public ChoiceEffectiveStatementImpl( - StmtContext> ctx) { + final StmtContext> ctx) { super(ctx); this.qname = ctx.getStatementArgument(); @@ -68,7 +68,7 @@ public class ChoiceEffectiveStatementImpl extends } private void initCopyType( - StmtContext> ctx) { + final StmtContext> ctx) { List copyTypesFromOriginal = ctx.getCopyHistory(); @@ -145,7 +145,7 @@ public class ChoiceEffectiveStatementImpl extends this.cases = ImmutableSet.copyOf(casesInit); } - private void resetAugmenting(DataSchemaNode dataSchemaNode) { + private static void resetAugmenting(final DataSchemaNode dataSchemaNode) { if (dataSchemaNode instanceof LeafEffectiveStatementImpl) { LeafEffectiveStatementImpl leaf = (LeafEffectiveStatementImpl) dataSchemaNode; leaf.augmenting = false; diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/EffectiveStatementBase.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/EffectiveStatementBase.java index 5b0c94cc98..cebfc0d924 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/EffectiveStatementBase.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/EffectiveStatementBase.java @@ -12,14 +12,11 @@ import com.google.common.collect.Collections2; import com.google.common.collect.FluentIterable; import com.google.common.collect.ImmutableList; import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; - import java.util.Collection; import java.util.Collections; import java.util.LinkedList; import java.util.Map; import java.util.NoSuchElementException; - import org.opendaylight.yangtools.yang.model.api.Rfc6020Mapping; import org.opendaylight.yangtools.yang.model.api.SchemaNode; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; @@ -28,7 +25,6 @@ import org.opendaylight.yangtools.yang.model.api.meta.IdentifierNamespace; import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition; import org.opendaylight.yangtools.yang.model.api.meta.StatementSource; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; -import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext.Mutable; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContextUtils; import org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase; @@ -43,7 +39,7 @@ abstract public class EffectiveStatementBase> private final A argument; - public EffectiveStatementBase(StmtContext ctx) { + public EffectiveStatementBase(final StmtContext ctx) { this.stmtCtx = ctx; this.statementDefinition = ctx.getPublicDefinition(); @@ -61,7 +57,7 @@ abstract public class EffectiveStatementBase> if(declaredSubstatement.getPublicDefinition() == Rfc6020Mapping.USES) { substatementsInit.add(declaredSubstatement); substatementsInit.addAll(declaredSubstatement.getEffectOfStatement()); - ((StatementContextBase)ctx).removeStatementsFromEffectiveSubstatements(declaredSubstatement + ((StatementContextBase)ctx).removeStatementsFromEffectiveSubstatements(declaredSubstatement .getEffectOfStatement()); } else { substatementsInit.add(declaredSubstatement); @@ -99,14 +95,14 @@ abstract public class EffectiveStatementBase> @Override public > V get( - Class namespace, K identifier) { + final Class namespace, final K identifier) { return stmtCtx.getFromNamespace(namespace, identifier); } @Override public > Map getAll( - Class namespace) { - return (Map) stmtCtx.getAllFromNamespace(namespace); + final Class namespace) { + return stmtCtx.getAllFromNamespace(namespace); } @Override @@ -119,7 +115,7 @@ abstract public class EffectiveStatementBase> } protected final > S firstEffective( - Class type) { + final Class type) { S result = null; try { result = type.cast(Iterables.find(substatements, @@ -130,7 +126,7 @@ abstract public class EffectiveStatementBase> return result; } - protected final S firstSchemaNode(Class type) { + protected final S firstSchemaNode(final Class type) { S result = null; try { result = type.cast(Iterables.find(substatements, @@ -143,7 +139,7 @@ abstract public class EffectiveStatementBase> @SuppressWarnings("unchecked") protected final Collection allSubstatementsOfType( - Class type) { + final Class type) { Collection result = null; try { @@ -155,7 +151,7 @@ abstract public class EffectiveStatementBase> return result; } - protected final T firstSubstatementOfType(Class type) { + protected final T firstSubstatementOfType(final Class type) { T result = null; try { result = type.cast(Iterables.find(substatements, @@ -166,8 +162,8 @@ abstract public class EffectiveStatementBase> return result; } - protected final R firstSubstatementOfType(Class type, - Class returnType) { + protected final R firstSubstatementOfType(final Class type, + final Class returnType) { R result = null; try { result = returnType.cast(Iterables.find( diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/ExtendedTypeEffectiveStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/ExtendedTypeEffectiveStatementImpl.java index 8ae39ae7de..9c067fbea0 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/ExtendedTypeEffectiveStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/ExtendedTypeEffectiveStatementImpl.java @@ -67,7 +67,7 @@ public class ExtendedTypeEffectiveStatementImpl extends EffectiveStatementBase> ctx, boolean isExtended) { + final StmtContext> ctx, final boolean isExtended) { super(ctx); this.isExtended = isExtended; @@ -90,7 +90,7 @@ public class ExtendedTypeEffectiveStatementImpl extends EffectiveStatementBase> ctx, + private static QName initQName(final StmtContext> ctx, final boolean isExtended) { QName qName; @@ -117,7 +117,7 @@ public class ExtendedTypeEffectiveStatementImpl extends EffectiveStatementBase parseBaseTypeFromCtx( + private static TypeDefinition parseBaseTypeFromCtx( final StmtContext> ctx) { TypeDefinition baseType; @@ -155,7 +155,7 @@ public class ExtendedTypeEffectiveStatementImpl extends EffectiveStatementBase baseType) { final String baseTypeName = baseType.getQName().getLocalName(); diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/ModuleEffectiveStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/ModuleEffectiveStatementImpl.java index ebbac6d177..a6aeb7ca92 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/ModuleEffectiveStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/ModuleEffectiveStatementImpl.java @@ -7,51 +7,50 @@ */ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective; -import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.Utils; - -import org.opendaylight.yangtools.yang.parser.spi.source.ModuleCtxToModuleQName; -import org.opendaylight.yangtools.yang.model.util.ModuleImportImpl; -import org.opendaylight.yangtools.yang.model.api.stmt.ModuleStatement; import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableSet; -import org.opendaylight.yangtools.yang.model.util.ExtendedType; -import java.util.LinkedHashSet; -import java.util.LinkedHashMap; import com.google.common.collect.ImmutableMap; -import org.opendaylight.yangtools.yang.common.QName; -import org.opendaylight.yangtools.yang.model.api.DataSchemaNode; -import org.opendaylight.yangtools.yang.model.api.GroupingDefinition; -import org.opendaylight.yangtools.yang.model.api.TypeDefinition; -import org.opendaylight.yangtools.yang.model.api.UsesNode; -import org.opendaylight.yangtools.yang.common.SimpleDateFormatUtil; -import org.opendaylight.yangtools.yang.model.api.stmt.SubmoduleStatement; -import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext.Mutable; -import org.opendaylight.yangtools.yang.parser.spi.SubmoduleNamespace; -import org.opendaylight.yangtools.yang.model.api.ModuleIdentifier; -import java.util.Map; -import org.opendaylight.yangtools.yang.parser.spi.source.DeclarationInTextSource; -import org.opendaylight.yangtools.yang.parser.spi.source.IncludedSubmoduleNameToIdentifier; +import com.google.common.collect.ImmutableSet; import java.net.URI; import java.util.Collection; import java.util.Date; import java.util.HashSet; +import java.util.LinkedHashMap; +import java.util.LinkedHashSet; import java.util.LinkedList; import java.util.List; +import java.util.Map; import java.util.Set; import org.opendaylight.yangtools.concepts.Immutable; +import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.QNameModule; +import org.opendaylight.yangtools.yang.common.SimpleDateFormatUtil; import org.opendaylight.yangtools.yang.model.api.AugmentationSchema; +import org.opendaylight.yangtools.yang.model.api.DataSchemaNode; import org.opendaylight.yangtools.yang.model.api.Deviation; import org.opendaylight.yangtools.yang.model.api.ExtensionDefinition; import org.opendaylight.yangtools.yang.model.api.FeatureDefinition; +import org.opendaylight.yangtools.yang.model.api.GroupingDefinition; import org.opendaylight.yangtools.yang.model.api.IdentitySchemaNode; import org.opendaylight.yangtools.yang.model.api.Module; +import org.opendaylight.yangtools.yang.model.api.ModuleIdentifier; import org.opendaylight.yangtools.yang.model.api.ModuleImport; import org.opendaylight.yangtools.yang.model.api.NotificationDefinition; import org.opendaylight.yangtools.yang.model.api.RpcDefinition; +import org.opendaylight.yangtools.yang.model.api.TypeDefinition; import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode; +import org.opendaylight.yangtools.yang.model.api.UsesNode; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.ModuleStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.SubmoduleStatement; +import org.opendaylight.yangtools.yang.model.util.ExtendedType; +import org.opendaylight.yangtools.yang.model.util.ModuleImportImpl; +import org.opendaylight.yangtools.yang.parser.spi.SubmoduleNamespace; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; +import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext.Mutable; +import org.opendaylight.yangtools.yang.parser.spi.source.DeclarationInTextSource; +import org.opendaylight.yangtools.yang.parser.spi.source.IncludedSubmoduleNameToIdentifier; +import org.opendaylight.yangtools.yang.parser.spi.source.ModuleCtxToModuleQName; +import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.Utils; public class ModuleEffectiveStatementImpl extends AbstractEffectiveDocumentedNode implements @@ -59,7 +58,7 @@ public class ModuleEffectiveStatementImpl extends private final QNameModule qNameModule; private final String name; - private String sourcePath; + private final String sourcePath; private String prefix; private String yangVersion; private String organization; @@ -74,7 +73,7 @@ public class ModuleEffectiveStatementImpl extends private ImmutableList extensionNodes; private ImmutableSet identities; private ImmutableList unknownNodes; - private String source; + private final String source; private ImmutableList> substatementsOfSubmodules; private ImmutableMap childNodes; @@ -84,7 +83,7 @@ public class ModuleEffectiveStatementImpl extends private ImmutableSet publicChildNodes; public ModuleEffectiveStatementImpl( - StmtContext> ctx) { + final StmtContext> ctx) { super(ctx); name = argument(); @@ -127,7 +126,7 @@ public class ModuleEffectiveStatementImpl extends } private void initSubmodules( - StmtContext> ctx) { + final StmtContext> ctx) { Map includedSubmodulesMap = ctx .getAllFromCurrentStmtCtxNamespace(IncludedSubmoduleNameToIdentifier.class); @@ -159,7 +158,7 @@ public class ModuleEffectiveStatementImpl extends } private void initSubstatementCollections( - StmtContext> ctx) { + final StmtContext> ctx) { List> effectiveSubstatements = new LinkedList<>(); effectiveSubstatements.addAll(effectiveSubstatements()); @@ -274,9 +273,9 @@ public class ModuleEffectiveStatementImpl extends this.uses = ImmutableSet.copyOf(mutableUses); } - private Set resolveModuleImports( - Set importsInit, - StmtContext> ctx) { + private static Set resolveModuleImports( + final Set importsInit, + final StmtContext> ctx) { Set resolvedModuleImports = new LinkedHashSet<>(); for (ModuleImport moduleImport : importsInit) { if (moduleImport.getRevision().equals( diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/SubmoduleEffectiveStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/SubmoduleEffectiveStatementImpl.java index b530c55c50..0ad5b51fc3 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/SubmoduleEffectiveStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/SubmoduleEffectiveStatementImpl.java @@ -7,52 +7,51 @@ */ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective; -import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.Utils; - -import org.opendaylight.yangtools.yang.model.util.ModuleImportImpl; -import org.opendaylight.yangtools.yang.model.util.ExtendedType; -import java.util.LinkedHashSet; -import java.util.LinkedHashMap; +import static org.opendaylight.yangtools.yang.parser.spi.meta.StmtContextUtils.firstAttributeOf; +import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; -import org.opendaylight.yangtools.yang.common.QName; -import org.opendaylight.yangtools.yang.model.api.DataSchemaNode; -import org.opendaylight.yangtools.yang.model.api.GroupingDefinition; -import org.opendaylight.yangtools.yang.model.api.TypeDefinition; -import org.opendaylight.yangtools.yang.model.api.UsesNode; -import org.opendaylight.yangtools.yang.common.SimpleDateFormatUtil; -import java.util.Map; -import org.opendaylight.yangtools.yang.model.api.ModuleIdentifier; -import org.opendaylight.yangtools.yang.parser.spi.SubmoduleNamespace; -import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext.Mutable; -import org.opendaylight.yangtools.yang.parser.spi.source.DeclarationInTextSource; -import org.opendaylight.yangtools.yang.parser.spi.source.IncludedSubmoduleNameToIdentifier; +import com.google.common.collect.ImmutableSet; import java.net.URI; import java.util.Collection; import java.util.Date; import java.util.HashSet; +import java.util.LinkedHashMap; +import java.util.LinkedHashSet; import java.util.LinkedList; import java.util.List; +import java.util.Map; import java.util.Set; import org.opendaylight.yangtools.concepts.Immutable; +import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.QNameModule; +import org.opendaylight.yangtools.yang.common.SimpleDateFormatUtil; import org.opendaylight.yangtools.yang.model.api.AugmentationSchema; +import org.opendaylight.yangtools.yang.model.api.DataSchemaNode; import org.opendaylight.yangtools.yang.model.api.Deviation; import org.opendaylight.yangtools.yang.model.api.ExtensionDefinition; import org.opendaylight.yangtools.yang.model.api.FeatureDefinition; +import org.opendaylight.yangtools.yang.model.api.GroupingDefinition; import org.opendaylight.yangtools.yang.model.api.IdentitySchemaNode; import org.opendaylight.yangtools.yang.model.api.Module; +import org.opendaylight.yangtools.yang.model.api.ModuleIdentifier; import org.opendaylight.yangtools.yang.model.api.ModuleImport; import org.opendaylight.yangtools.yang.model.api.NotificationDefinition; import org.opendaylight.yangtools.yang.model.api.RpcDefinition; +import org.opendaylight.yangtools.yang.model.api.TypeDefinition; import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode; +import org.opendaylight.yangtools.yang.model.api.UsesNode; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.BelongsToStatement; import org.opendaylight.yangtools.yang.model.api.stmt.SubmoduleStatement; +import org.opendaylight.yangtools.yang.model.util.ExtendedType; +import org.opendaylight.yangtools.yang.model.util.ModuleImportImpl; +import org.opendaylight.yangtools.yang.parser.spi.SubmoduleNamespace; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableSet; +import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext.Mutable; +import org.opendaylight.yangtools.yang.parser.spi.source.DeclarationInTextSource; +import org.opendaylight.yangtools.yang.parser.spi.source.IncludedSubmoduleNameToIdentifier; import org.opendaylight.yangtools.yang.parser.spi.source.ModuleNameToModuleQName; -import static org.opendaylight.yangtools.yang.parser.spi.meta.StmtContextUtils.firstAttributeOf; +import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.Utils; public class SubmoduleEffectiveStatementImpl extends @@ -61,7 +60,7 @@ public class SubmoduleEffectiveStatementImpl private final QNameModule qNameModule; private final String name; - private String sourcePath; + private final String sourcePath; private String prefix; private String yangVersion; private String organization; @@ -86,7 +85,7 @@ public class SubmoduleEffectiveStatementImpl private ImmutableSet publicChildNodes; public SubmoduleEffectiveStatementImpl( - StmtContext> ctx) { + final StmtContext> ctx) { super(ctx); name = argument(); @@ -131,7 +130,7 @@ public class SubmoduleEffectiveStatementImpl } private void initSubmodules( - StmtContext> ctx) { + final StmtContext> ctx) { Map includedSubmodulesMap = ctx .getAllFromCurrentStmtCtxNamespace(IncludedSubmoduleNameToIdentifier.class); @@ -159,7 +158,7 @@ public class SubmoduleEffectiveStatementImpl this.substatementsOfSubmodules = ImmutableList.copyOf(substatementsOfSubmodulesInit); } - private void initSubstatementCollections(StmtContext> ctx) { + private void initSubstatementCollections(final StmtContext> ctx) { List> effectiveSubstatements = new LinkedList<>(); effectiveSubstatements.addAll(effectiveSubstatements()); @@ -266,9 +265,9 @@ public class SubmoduleEffectiveStatementImpl this.uses = ImmutableSet.copyOf(mutableUses); } - private Set resolveModuleImports( - Set importsInit, - StmtContext> ctx) { + private static Set resolveModuleImports( + final Set importsInit, + final StmtContext> ctx) { Set resolvedModuleImports = new LinkedHashSet<>(); for (ModuleImport moduleImport : importsInit) { if (moduleImport.getRevision().equals( diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/type/BinaryEffectiveStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/type/BinaryEffectiveStatementImpl.java index 821edb9fa3..e20dd839c5 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/type/BinaryEffectiveStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/type/BinaryEffectiveStatementImpl.java @@ -8,8 +8,6 @@ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.type; -import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.EffectiveStatementBase; - import com.google.common.base.Optional; import java.util.Collections; import java.util.List; @@ -23,6 +21,7 @@ import org.opendaylight.yangtools.yang.model.api.stmt.TypeStatement; import org.opendaylight.yangtools.yang.model.api.type.BinaryTypeDefinition; import org.opendaylight.yangtools.yang.model.api.type.LengthConstraint; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; +import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.EffectiveStatementBase; public class BinaryEffectiveStatementImpl extends EffectiveStatementBase implements @@ -32,10 +31,9 @@ public class BinaryEffectiveStatementImpl extends private static final String REFERENCE = "https://tools.ietf.org/html/rfc6020#section-9.8"; private static final String UNITS = ""; - private final static QName QNAME = QName.create( - YangConstants.RFC6020_YANG_MODULE, "binary"); - - private final static SchemaPath PATH = SchemaPath.create(true, QNAME); + private static final QName QNAME = QName.create(YangConstants.RFC6020_YANG_MODULE, "binary"); + private static final SchemaPath PATH = SchemaPath.create(true, QNAME); + private static final Optional OPTIONAL_EMPTY = Optional.of(""); private final List defaultValue = Collections.emptyList(); private final List lengthConstraints; @@ -44,7 +42,7 @@ public class BinaryEffectiveStatementImpl extends super(ctx); final LengthConstraint lengthConstraint = new LengthConstraintEffectiveImpl( - 0, Long.MAX_VALUE, Optional.of(""), Optional.of("")); + 0, Long.MAX_VALUE, OPTIONAL_EMPTY, OPTIONAL_EMPTY); lengthConstraints = Collections.singletonList(lengthConstraint); } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/type/Decimal64SpecificationEffectiveStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/type/Decimal64SpecificationEffectiveStatementImpl.java index 6dddaafa30..a762abd8f4 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/type/Decimal64SpecificationEffectiveStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/type/Decimal64SpecificationEffectiveStatementImpl.java @@ -7,29 +7,28 @@ */ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.type; -import org.opendaylight.yangtools.yang.model.util.ExtendedType; -import org.opendaylight.yangtools.yang.model.util.ExtendedType.Builder; -import org.opendaylight.yangtools.yang.model.api.TypeDefinition; -import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.EffectiveStatementBase; -import org.opendaylight.yangtools.yang.model.util.Decimal64; -import org.opendaylight.yangtools.yang.model.api.stmt.TypeStatement; import com.google.common.base.Optional; import com.google.common.collect.ImmutableList; import java.math.BigDecimal; -import java.util.ArrayList; import java.util.Collections; import java.util.List; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.YangConstants; import org.opendaylight.yangtools.yang.model.api.SchemaPath; import org.opendaylight.yangtools.yang.model.api.Status; +import org.opendaylight.yangtools.yang.model.api.TypeDefinition; import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.TypeStatement; import org.opendaylight.yangtools.yang.model.api.type.DecimalTypeDefinition; import org.opendaylight.yangtools.yang.model.api.type.RangeConstraint; +import org.opendaylight.yangtools.yang.model.util.Decimal64; +import org.opendaylight.yangtools.yang.model.util.ExtendedType; +import org.opendaylight.yangtools.yang.model.util.ExtendedType.Builder; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.TypeUtils; import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.Utils; +import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.EffectiveStatementBase; import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.FractionDigitsEffectiveStatementImpl; public class Decimal64SpecificationEffectiveStatementImpl extends @@ -51,6 +50,16 @@ public class Decimal64SpecificationEffectiveStatementImpl extends "-922337203685477580.8"); private static final BigDecimal MAX_VALUE = new BigDecimal( "922337203685477580.7"); + private static final List DEFAULT_RANGE_STATEMENTS; + static { + final String rangeDescription = "Integer values between " + MIN_VALUE + + " and " + MAX_VALUE + ", inclusively."; + final String rangeReference = RangeConstraintEffectiveImpl.DEFAULT_REFERENCE; + + DEFAULT_RANGE_STATEMENTS = ImmutableList.of( + new RangeConstraintEffectiveImpl(MIN_VALUE, MAX_VALUE, Optional.of(rangeDescription), + Optional.of(rangeReference))); + } private List rangeConstraints; private Integer fractionDigits; @@ -61,7 +70,7 @@ public class Decimal64SpecificationEffectiveStatementImpl extends private final boolean isExtended; public Decimal64SpecificationEffectiveStatementImpl( - StmtContext> ctx) { + final StmtContext> ctx) { super(ctx); for (final EffectiveStatement effectiveStatement : effectiveSubstatements()) { @@ -81,12 +90,12 @@ public class Decimal64SpecificationEffectiveStatementImpl extends path = parentPath.createChild(extendedTypeQName); } else { isExtended = false; - rangeConstraints = defaultRangeStatements(); + rangeConstraints = DEFAULT_RANGE_STATEMENTS; path = Utils.getSchemaPath(ctx.getParentContext()).createChild(QNAME); } } - private boolean validateRanges(List initRanges) { + private static boolean validateRanges(final List initRanges) { for (RangeConstraint rangeConstraint : initRanges) { String maxValueString = rangeConstraint.getMax().toString(); @@ -108,19 +117,6 @@ public class Decimal64SpecificationEffectiveStatementImpl extends : Collections. emptyList(); } - private List defaultRangeStatements() { - - final List rangeStmts = new ArrayList<>(); - final String rangeDescription = "Integer values between " + MIN_VALUE - + " and " + MAX_VALUE + ", inclusively."; - final String rangeReference = RangeConstraintEffectiveImpl.DEFAULT_REFERENCE; - - rangeStmts.add(new RangeConstraintEffectiveImpl(MIN_VALUE, MAX_VALUE, - Optional.of(rangeDescription), Optional.of(rangeReference))); - - return ImmutableList.copyOf(rangeStmts); - } - public boolean isExtended() { return isExtended; } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/type/StringEffectiveStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/type/StringEffectiveStatementImpl.java index 612b7253c3..8a0b14c864 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/type/StringEffectiveStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/type/StringEffectiveStatementImpl.java @@ -36,16 +36,18 @@ public class StringEffectiveStatementImpl extends EffectiveStatementBase OPTIONAL_EMPTY = Optional.of(""); + private final List lengthConstraints; private final List patternConstraints; - private static final String UNITS = ""; public StringEffectiveStatementImpl( - StmtContext> ctx) { + final StmtContext> ctx) { super(ctx); - final LengthConstraint defLength = new LengthConstraintEffectiveImpl(0, Integer.MAX_VALUE, Optional.of(""), - Optional.of("")); + final LengthConstraint defLength = new LengthConstraintEffectiveImpl(0, Integer.MAX_VALUE, OPTIONAL_EMPTY, + OPTIONAL_EMPTY); lengthConstraints = Collections.singletonList(defLength); patternConstraints = Collections.emptyList(); diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/impl/Bug2291Test.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/impl/Bug2291Test.java index 50c94f9999..1e19ea2587 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/impl/Bug2291Test.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/impl/Bug2291Test.java @@ -7,38 +7,10 @@ */ package org.opendaylight.yangtools.yang.parser.impl; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertTrue; - import java.io.File; -import java.math.BigInteger; -import java.net.URI; import java.util.Arrays; -import java.util.List; -import java.util.Set; -import org.junit.Before; import org.junit.Test; -import org.opendaylight.yangtools.yang.common.QName; -import org.opendaylight.yangtools.yang.model.api.IdentitySchemaNode; -import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode; -import org.opendaylight.yangtools.yang.model.api.Module; -import org.opendaylight.yangtools.yang.model.api.Status; -import org.opendaylight.yangtools.yang.model.api.TypeDefinition; -import org.opendaylight.yangtools.yang.model.api.type.BitsTypeDefinition.Bit; -import org.opendaylight.yangtools.yang.model.api.type.EnumTypeDefinition.EnumPair; -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.StringTypeDefinition; import org.opendaylight.yangtools.yang.model.parser.api.YangContextParser; -import org.opendaylight.yangtools.yang.model.util.BitsType; -import org.opendaylight.yangtools.yang.model.util.EnumerationType; -import org.opendaylight.yangtools.yang.model.util.ExtendedType; -import org.opendaylight.yangtools.yang.model.util.IdentityrefType; -import org.opendaylight.yangtools.yang.model.util.InstanceIdentifierType; -import org.opendaylight.yangtools.yang.model.util.UnionType; public class Bug2291Test { diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/effective/build/test/EffectiveBuildTest.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/effective/build/test/EffectiveBuildTest.java index c1f164e053..31e28fdb2d 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/effective/build/test/EffectiveBuildTest.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/effective/build/test/EffectiveBuildTest.java @@ -3,22 +3,21 @@ package org.opendaylight.yangtools.yang.stmt.effective.build.test; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; - -import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode; -import java.util.Collection; -import org.opendaylight.yangtools.yang.model.api.DataSchemaNode; -import java.util.Set; -import java.net.URISyntaxException; import java.io.FileNotFoundException; -import org.opendaylight.yangtools.yang.model.api.SchemaContext; -import org.opendaylight.yangtools.yang.common.SimpleDateFormatUtil; import java.net.URI; +import java.net.URISyntaxException; +import java.util.Collection; +import java.util.Set; import org.junit.Test; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.QNameModule; +import org.opendaylight.yangtools.yang.common.SimpleDateFormatUtil; import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode; +import org.opendaylight.yangtools.yang.model.api.DataSchemaNode; import org.opendaylight.yangtools.yang.model.api.GroupingDefinition; +import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode; import org.opendaylight.yangtools.yang.model.api.Module; +import org.opendaylight.yangtools.yang.model.api.SchemaContext; import org.opendaylight.yangtools.yang.model.api.SchemaPath; import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException; import org.opendaylight.yangtools.yang.parser.spi.source.SourceException; @@ -129,8 +128,7 @@ public class EffectiveBuildTest { assertNotNull(result); } - private void addSources(BuildAction reactor, - YangStatementSourceImpl... sources) { + private static void addSources(final BuildAction reactor, final YangStatementSourceImpl... sources) { for (YangStatementSourceImpl source : sources) { reactor.addSource(source); } diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/effective/build/test/EffectiveModulesAndSubmodulesTest.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/effective/build/test/EffectiveModulesAndSubmodulesTest.java index 9de3b4b04f..3833dcf075 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/effective/build/test/EffectiveModulesAndSubmodulesTest.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/effective/build/test/EffectiveModulesAndSubmodulesTest.java @@ -3,25 +3,23 @@ package org.opendaylight.yangtools.yang.stmt.effective.build.test; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; - +import java.net.URI; +import java.net.URISyntaxException; +import java.util.Collection; +import java.util.Set; +import org.junit.Test; import org.opendaylight.yangtools.yang.common.QName; - import org.opendaylight.yangtools.yang.common.QNameModule; -import java.net.URISyntaxException; -import java.net.URI; import org.opendaylight.yangtools.yang.common.SimpleDateFormatUtil; -import java.util.Collection; import org.opendaylight.yangtools.yang.model.api.DataSchemaNode; -import java.util.Set; import org.opendaylight.yangtools.yang.model.api.Module; -import org.opendaylight.yangtools.yang.stmt.test.StmtTestUtils; import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException; import org.opendaylight.yangtools.yang.parser.spi.source.SourceException; import org.opendaylight.yangtools.yang.parser.stmt.reactor.CrossSourceStatementReactor; import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.YangInferencePipeline; -import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.EffectiveSchemaContext; import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.YangStatementSourceImpl; -import org.junit.Test; +import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.EffectiveSchemaContext; +import org.opendaylight.yangtools.yang.stmt.test.StmtTestUtils; public class EffectiveModulesAndSubmodulesTest { @@ -160,16 +158,16 @@ public class EffectiveModulesAndSubmodulesTest { } - private void getDataChildByNameSubTest(EffectiveSchemaContext result, - Module root) { + private static void getDataChildByNameSubTest(final EffectiveSchemaContext result, + final Module root) { DataSchemaNode containerInRoot = result.getDataChildByName(QName .create(root.getQNameModule(), "container-in-root-module")); assertNotNull(containerInRoot); assertEquals("desc", containerInRoot.getDescription()); } - private void findModulesSubTest(EffectiveSchemaContext result, Module root, - Module imported) throws URISyntaxException { + private static void findModulesSubTest(final EffectiveSchemaContext result, final Module root, + final Module imported) throws URISyntaxException { Module foundRoot = result.findModuleByName("root-module", SimpleDateFormatUtil.DEFAULT_DATE_REV); Set foundRoots = result.findModuleByNamespace(new URI( diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/effective/build/test/EffectiveUsesRefineAndConstraintsTest.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/effective/build/test/EffectiveUsesRefineAndConstraintsTest.java index f24652f444..9d3b8f490e 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/effective/build/test/EffectiveUsesRefineAndConstraintsTest.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/effective/build/test/EffectiveUsesRefineAndConstraintsTest.java @@ -4,20 +4,19 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; - -import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode; - +import java.net.URISyntaxException; +import java.util.Set; +import org.junit.Test; +import org.opendaylight.yangtools.yang.common.QName; +import org.opendaylight.yangtools.yang.common.QNameModule; import org.opendaylight.yangtools.yang.model.api.ChoiceSchemaNode; import org.opendaylight.yangtools.yang.model.api.ConstraintDefinition; +import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode; import org.opendaylight.yangtools.yang.model.api.ListSchemaNode; +import org.opendaylight.yangtools.yang.model.api.Module; import org.opendaylight.yangtools.yang.model.api.SchemaNode; -import org.opendaylight.yangtools.yang.model.util.SchemaContextUtil; import org.opendaylight.yangtools.yang.model.api.SchemaPath; -import org.opendaylight.yangtools.yang.common.QName; -import org.opendaylight.yangtools.yang.common.QNameModule; -import java.util.Set; -import org.opendaylight.yangtools.yang.model.api.Module; -import java.net.URISyntaxException; +import org.opendaylight.yangtools.yang.model.util.SchemaContextUtil; import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException; import org.opendaylight.yangtools.yang.parser.spi.source.SourceException; import org.opendaylight.yangtools.yang.parser.stmt.reactor.CrossSourceStatementReactor; @@ -25,7 +24,6 @@ import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.YangInferencePipeline import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.YangStatementSourceImpl; import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.EffectiveSchemaContext; import org.opendaylight.yangtools.yang.stmt.test.StmtTestUtils; -import org.junit.Test; public class EffectiveUsesRefineAndConstraintsTest { @@ -88,8 +86,8 @@ public class EffectiveUsesRefineAndConstraintsTest { } - private void checkOriginalContainer(EffectiveSchemaContext result, - SchemaPath path) { + private static void checkOriginalContainer(final EffectiveSchemaContext result, + final SchemaPath path) { SchemaNode containerInContainerNode = SchemaContextUtil .findDataSchemaNode(result, path); assertNotNull(containerInContainerNode); @@ -105,8 +103,8 @@ public class EffectiveUsesRefineAndConstraintsTest { assertEquals(0, containerConstraints.getMustConstraints().size()); } - private void checkOriginalChoice(EffectiveSchemaContext result, - SchemaPath path) { + private static void checkOriginalChoice(final EffectiveSchemaContext result, + final SchemaPath path) { SchemaNode choiceInContainerNode = SchemaContextUtil .findDataSchemaNode(result, path); assertNotNull(choiceInContainerNode); @@ -119,8 +117,8 @@ public class EffectiveUsesRefineAndConstraintsTest { assertTrue(choiceConstraints.getMustConstraints().isEmpty()); } - private void checkOriginalList(EffectiveSchemaContext result, - SchemaPath path) { + private static void checkOriginalList(final EffectiveSchemaContext result, + final SchemaPath path) { SchemaNode listInContainerNode = SchemaContextUtil.findDataSchemaNode( result, path); assertNotNull(listInContainerNode); @@ -136,8 +134,8 @@ public class EffectiveUsesRefineAndConstraintsTest { assertEquals(1, listConstraints.getMustConstraints().size()); } - private void checkRefinedContainer(EffectiveSchemaContext result, - SchemaPath path) { + private static void checkRefinedContainer(final EffectiveSchemaContext result, + final SchemaPath path) { SchemaNode containerInContainerNode = SchemaContextUtil .findDataSchemaNode(result, path); assertNotNull(containerInContainerNode); @@ -153,8 +151,8 @@ public class EffectiveUsesRefineAndConstraintsTest { assertEquals(1, containerConstraints.getMustConstraints().size()); } - private void checkRefinedChoice(EffectiveSchemaContext result, - SchemaPath path) { + private static void checkRefinedChoice(final EffectiveSchemaContext result, + final SchemaPath path) { SchemaNode choiceInContainerNode = SchemaContextUtil .findDataSchemaNode(result, path); assertNotNull(choiceInContainerNode); @@ -167,7 +165,7 @@ public class EffectiveUsesRefineAndConstraintsTest { assertTrue(choiceConstraints.getMustConstraints().isEmpty()); } - private void checkRefinedList(EffectiveSchemaContext result, SchemaPath path) { + private static void checkRefinedList(final EffectiveSchemaContext result, final SchemaPath path) { SchemaNode listInContainerNode = SchemaContextUtil.findDataSchemaNode( result, path); assertNotNull(listInContainerNode); diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/retest/ListKeysTest.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/retest/ListKeysTest.java index 3073f3dfac..7cdbb128a7 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/retest/ListKeysTest.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/retest/ListKeysTest.java @@ -108,7 +108,7 @@ public class ListKeysTest { } } - private void addSources(CrossSourceStatementReactor.BuildAction reactor, YangStatementSourceImpl... sources) { + private static void addSources(final CrossSourceStatementReactor.BuildAction reactor, final YangStatementSourceImpl... sources) { for (YangStatementSourceImpl source : sources) { reactor.addSource(source); } diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/retest/SchemaContextTest.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/retest/SchemaContextTest.java index c42bbb95f5..d6677a9339 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/retest/SchemaContextTest.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/retest/SchemaContextTest.java @@ -7,6 +7,13 @@ */ package org.opendaylight.yangtools.yang.stmt.retest; +import static org.mockito.Mockito.doReturn; +import java.net.URI; +import java.net.URISyntaxException; +import java.text.ParseException; +import java.util.Collections; +import java.util.Date; +import java.util.Map; import org.junit.Before; import org.mockito.Mock; import org.mockito.MockitoAnnotations; @@ -15,16 +22,6 @@ import org.opendaylight.yangtools.yang.model.api.Module; import org.opendaylight.yangtools.yang.model.api.ModuleIdentifier; //import org.opendaylight.yangtools.yang.parser.impl.SchemaContextImpl; -import java.net.URI; -import java.net.URISyntaxException; -import java.text.ParseException; -import java.util.Collections; -import java.util.Date; -import java.util.Map; - -import static org.junit.Assert.assertEquals; -import static org.mockito.Mockito.doReturn; - public class SchemaContextTest { @Mock private Module oldModule; diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/retest/TypesResolutionTest.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/retest/TypesResolutionTest.java index 44a3bbcf4c..94b4464139 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/retest/TypesResolutionTest.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/retest/TypesResolutionTest.java @@ -13,7 +13,6 @@ import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; - import java.io.File; import java.math.BigInteger; import java.net.URI; @@ -383,7 +382,7 @@ public class TypesResolutionTest { } } - private void addSources(CrossSourceStatementReactor.BuildAction reactor, YangStatementSourceImpl... sources) { + private static void addSources(final CrossSourceStatementReactor.BuildAction reactor, final YangStatementSourceImpl... sources) { for (YangStatementSourceImpl source : sources) { reactor.addSource(source); } diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/retest/YangModelValidationSubModuleTest.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/retest/YangModelValidationSubModuleTest.java index fc29bc7728..98f819fc95 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/retest/YangModelValidationSubModuleTest.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/retest/YangModelValidationSubModuleTest.java @@ -10,7 +10,6 @@ package org.opendaylight.yangtools.yang.stmt.retest; import static org.hamcrest.CoreMatchers.containsString; import static org.junit.Assert.assertThat; import static org.mockito.Mockito.mock; - import org.antlr.v4.runtime.tree.ParseTree; import org.junit.Before; import org.junit.Test; @@ -77,7 +76,7 @@ public class YangModelValidationSubModuleTest { } } - private Submodule_stmtContext mockSubmoduleParent(final ParseTree child, + private static Submodule_stmtContext mockSubmoduleParent(final ParseTree child, final String moduleName) { Submodule_stmtContext ctx = YangModelValidationTest.mockStatement( Submodule_stmtContext.class, moduleName); diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/retest/YangModelValidationTest.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/retest/YangModelValidationTest.java index 7f3fa64c00..2cc4f15304 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/retest/YangModelValidationTest.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/retest/YangModelValidationTest.java @@ -8,17 +8,14 @@ package org.opendaylight.yangtools.yang.stmt.retest; import static org.hamcrest.CoreMatchers.containsString; -import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertThat; import static org.junit.Assert.fail; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; - import java.text.SimpleDateFormat; import java.util.Collections; import java.util.Date; - import org.antlr.v4.runtime.Token; import org.antlr.v4.runtime.tree.ParseTree; import org.antlr.v4.runtime.tree.TerminalNode; @@ -211,7 +208,7 @@ public class YangModelValidationTest { } } - private Import_stmtContext mockImport(final String name, final String prefixName) { + private static Import_stmtContext mockImport(final String name, final String prefixName) { Import_stmtContext impor = mockStatement(Import_stmtContext.class, name); Prefix_stmtContext prefix = mockStatement(Prefix_stmtContext.class, prefixName); @@ -226,7 +223,7 @@ public class YangModelValidationTest { return new SimpleDateFormat("yyyy-MM-dd").format(new Date()); } - private Include_stmtContext mockInclude(final String name) { + private static Include_stmtContext mockInclude(final String name) { Include_stmtContext incl = mockStatement(Include_stmtContext.class, name); Revision_date_stmtContext revDate = mockStatement(Revision_date_stmtContext.class, getFormattedDate()); diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/retest/YangParserTest.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/retest/YangParserTest.java index 7d1e329beb..7e652bf1a9 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/retest/YangParserTest.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/retest/YangParserTest.java @@ -887,7 +887,7 @@ public class YangParserTest { // assertSetEquals(newModules, ctx.getModules()); // } - private void checkOrder(final Collection modules) { + private static void checkOrder(final Collection modules) { Iterator it = modules.iterator(); Module m = it.next(); assertEquals("m2", m.getName()); @@ -907,7 +907,7 @@ public class YangParserTest { assertEquals("m1", m.getName()); } - private void assertSetEquals(final Set s1, final Set s2) { + private static void assertSetEquals(final Set s1, final Set s2) { assertEquals(s1, s2); Iterator it = s1.iterator(); for (Module m : s2) { @@ -980,7 +980,7 @@ public class YangParserTest { } } - private void addSources(CrossSourceStatementReactor.BuildAction reactor, YangStatementSourceImpl... sources) { + private static void addSources(final CrossSourceStatementReactor.BuildAction reactor, final YangStatementSourceImpl... sources) { for (YangStatementSourceImpl source : sources) { reactor.addSource(source); } diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/test/ControllerStmtParserTest.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/test/ControllerStmtParserTest.java index e9e7eb1763..1ca6bef34c 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/test/ControllerStmtParserTest.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/test/ControllerStmtParserTest.java @@ -7,32 +7,32 @@ */ package org.opendaylight.yangtools.yang.stmt.test; -import static org.junit.Assert.*; - -import org.opendaylight.yangtools.yang.model.api.DataNodeContainer; - -import org.opendaylight.yangtools.yang.model.api.UsesNode; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; +import java.io.FileNotFoundException; import java.net.URI; -import org.opendaylight.yangtools.yang.common.QNameModule; -import org.opendaylight.yangtools.yang.common.QName; -import org.opendaylight.yangtools.yang.model.api.ChoiceSchemaNode; -import org.opendaylight.yangtools.yang.model.api.ListSchemaNode; +import java.net.URISyntaxException; +import java.text.ParseException; import java.util.List; -import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode; +import java.util.Set; +import org.junit.Test; +import org.opendaylight.yangtools.yang.common.QName; +import org.opendaylight.yangtools.yang.common.QNameModule; +import org.opendaylight.yangtools.yang.common.SimpleDateFormatUtil; +import org.opendaylight.yangtools.yang.model.api.AugmentationSchema; import org.opendaylight.yangtools.yang.model.api.ChoiceCaseNode; +import org.opendaylight.yangtools.yang.model.api.ChoiceSchemaNode; import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode; +import org.opendaylight.yangtools.yang.model.api.DataNodeContainer; import org.opendaylight.yangtools.yang.model.api.DataSchemaNode; -import java.util.Set; -import org.opendaylight.yangtools.yang.model.api.AugmentationSchema; -import java.text.ParseException; +import org.opendaylight.yangtools.yang.model.api.ListSchemaNode; import org.opendaylight.yangtools.yang.model.api.Module; -import org.opendaylight.yangtools.yang.common.SimpleDateFormatUtil; import org.opendaylight.yangtools.yang.model.api.SchemaContext; -import java.io.FileNotFoundException; -import java.net.URISyntaxException; +import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode; +import org.opendaylight.yangtools.yang.model.api.UsesNode; import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException; import org.opendaylight.yangtools.yang.parser.spi.source.SourceException; -import org.junit.Test; public class ControllerStmtParserTest { @@ -47,7 +47,7 @@ public class ControllerStmtParserTest { configModuleTest(context); } - private void salDomBrokerImplModuleTest(SchemaContext context) + private static void salDomBrokerImplModuleTest(final SchemaContext context) throws ParseException { Module module = context.findModuleByName( "opendaylight-sal-dom-broker-impl", SimpleDateFormatUtil @@ -85,7 +85,7 @@ public class ControllerStmtParserTest { assertTrue(checked); } - private void configModuleTest(SchemaContext context) throws ParseException, + private static void configModuleTest(final SchemaContext context) throws ParseException, URISyntaxException { Module configModule = context.findModuleByName("config", SimpleDateFormatUtil.getRevisionFormat().parse("2013-04-05")); @@ -166,7 +166,7 @@ public class ControllerStmtParserTest { .getPath().getLastComponent()); } - private int getChildNodeSizeWithoutUses(final DataNodeContainer csn) { + private static int getChildNodeSizeWithoutUses(final DataNodeContainer csn) { int result = 0; for (DataSchemaNode dsn : csn.getChildNodes()) { if (dsn.isAddedByUses() == false) { diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/test/ImportResolutionBasicTest.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/test/ImportResolutionBasicTest.java index 8501ae4217..cd56e7e472 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/test/ImportResolutionBasicTest.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/test/ImportResolutionBasicTest.java @@ -12,9 +12,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; - import org.junit.Test; -import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.EffectiveSchemaContext; import org.opendaylight.yangtools.yang.parser.spi.meta.ModelProcessingPhase; import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException; import org.opendaylight.yangtools.yang.parser.spi.meta.SomeModifiersUnresolvedException; @@ -23,6 +21,7 @@ import org.opendaylight.yangtools.yang.parser.stmt.reactor.CrossSourceStatementR import org.opendaylight.yangtools.yang.parser.stmt.reactor.EffectiveModelContext; import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.YangInferencePipeline; import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.YangStatementSourceImpl; +import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.EffectiveSchemaContext; public class ImportResolutionBasicTest { @@ -109,7 +108,7 @@ public class ImportResolutionBasicTest { assertNotNull(buildEffective); } - private void addSources(final BuildAction reactor, final YangStatementSourceImpl... sources) { + private static void addSources(final BuildAction reactor, final YangStatementSourceImpl... sources) { for (YangStatementSourceImpl source : sources) { reactor.addSource(source); } diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/test/IncludeResolutionTest.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/test/IncludeResolutionTest.java index 6c49007758..49236cffa6 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/test/IncludeResolutionTest.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/test/IncludeResolutionTest.java @@ -4,7 +4,6 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; - import java.util.logging.Logger; import org.junit.Test; import org.opendaylight.yangtools.yang.parser.spi.meta.ModelProcessingPhase; @@ -85,7 +84,7 @@ public class IncludeResolutionTest { } - private void addSources(final BuildAction reactor, final YangStatementSourceImpl... sources) { + private static void addSources(final BuildAction reactor, final YangStatementSourceImpl... sources) { for (YangStatementSourceImpl source : sources) { reactor.addSource(source); } diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/test/ModuleSourceTest.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/test/ModuleSourceTest.java index b18a258650..e214b2aab8 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/test/ModuleSourceTest.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/test/ModuleSourceTest.java @@ -2,19 +2,17 @@ package org.opendaylight.yangtools.yang.stmt.test; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; - -import java.io.IOException; - -import java.io.FileReader; import java.io.BufferedReader; import java.io.File; +import java.io.FileReader; +import java.io.IOException; +import java.net.URISyntaxException; 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 java.net.URISyntaxException; import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException; import org.opendaylight.yangtools.yang.parser.spi.source.SourceException; -import org.junit.Test; public class ModuleSourceTest { @@ -38,7 +36,7 @@ public class ModuleSourceTest { assertEquals(readFile(moduleSourcePath), source); } - private String readFile(String fileName) throws IOException { + private static String readFile(final String fileName) throws IOException { BufferedReader br = new BufferedReader(new FileReader(fileName)); try { StringBuilder sb = new StringBuilder(); diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/test/MoreRevisionsTest.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/test/MoreRevisionsTest.java index 0fbec5b9fc..8b7a085246 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/test/MoreRevisionsTest.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/test/MoreRevisionsTest.java @@ -11,23 +11,22 @@ package org.opendaylight.yangtools.yang.stmt.test; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; - -import org.opendaylight.yangtools.yang.model.api.ModuleImport; -import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode; -import org.opendaylight.yangtools.yang.model.api.DataSchemaNode; -import org.opendaylight.yangtools.yang.model.api.TypeDefinition; -import java.text.ParseException; -import java.util.Date; -import org.opendaylight.yangtools.yang.common.QName; -import java.net.URI; -import org.opendaylight.yangtools.yang.common.SimpleDateFormatUtil; import java.io.FileNotFoundException; +import java.net.URI; import java.net.URISyntaxException; -import org.opendaylight.yangtools.yang.model.api.SchemaContext; +import java.text.ParseException; +import java.util.Date; import java.util.Set; import org.junit.Test; +import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.QNameModule; +import org.opendaylight.yangtools.yang.common.SimpleDateFormatUtil; +import org.opendaylight.yangtools.yang.model.api.DataSchemaNode; +import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode; import org.opendaylight.yangtools.yang.model.api.Module; +import org.opendaylight.yangtools.yang.model.api.ModuleImport; +import org.opendaylight.yangtools.yang.model.api.SchemaContext; +import org.opendaylight.yangtools.yang.model.api.TypeDefinition; import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException; import org.opendaylight.yangtools.yang.parser.spi.source.SourceException; import org.opendaylight.yangtools.yang.parser.stmt.reactor.CrossSourceStatementReactor; @@ -154,7 +153,7 @@ public class MoreRevisionsTest { } } - private void checkContentFullTest(SchemaContext context) throws ParseException, + private static void checkContentFullTest(final SchemaContext context) throws ParseException, URISyntaxException { String yangTypesNSStr = "urn:ietf:params:xml:ns:yang:ietf-yang-types"; @@ -206,7 +205,7 @@ public class MoreRevisionsTest { } - private void checkInterfacesModuleFullTest(SchemaContext context, Date rev20100924, + private static void checkInterfacesModuleFullTest(final SchemaContext context, final Date rev20100924, final QName dateTimeTypeDef_20100924) throws URISyntaxException, ParseException { Date rev20121115 = SimpleDateFormatUtil.getRevisionFormat().parse( @@ -223,8 +222,8 @@ public class MoreRevisionsTest { assertEquals(rev20100924, interfacesImport.getRevision()); } - private void checkNetconfMonitoringModuleFullTest(SchemaContext context, - Date rev20130715, final QName dateTimeTypeDef_20130715) + private static void checkNetconfMonitoringModuleFullTest(final SchemaContext context, + final Date rev20130715, final QName dateTimeTypeDef_20130715) throws ParseException, URISyntaxException { Date rev20101004 = SimpleDateFormatUtil.getRevisionFormat().parse( "2010-10-04"); @@ -255,7 +254,7 @@ public class MoreRevisionsTest { } } - private void checkContentSimpleTest(SchemaContext context) + private static void checkContentSimpleTest(final SchemaContext context) throws ParseException, URISyntaxException { String yangTypesNSStr = "urn:ietf:params:xml:ns:yang:ietf-yang-types"; @@ -308,8 +307,8 @@ public class MoreRevisionsTest { } - private void checkInterfacesModuleSimpleTest(SchemaContext context, - Date rev20100924, final QName dateTimeTypeDef_20100924) + private static void checkInterfacesModuleSimpleTest(final SchemaContext context, + final Date rev20100924, final QName dateTimeTypeDef_20100924) throws URISyntaxException, ParseException { String interfacesNSStr = "urn:ietf:params:xml:ns:yang:ietf-interfaces"; URI interfacesNS = new URI(interfacesNSStr); @@ -339,8 +338,8 @@ public class MoreRevisionsTest { assertEquals(rev20100924, interfacesImport.getRevision()); } - private void checkNetconfMonitoringModuleSimpleTest(SchemaContext context, - Date rev20130715, final QName dateTimeTypeDef_20130715) + private static void checkNetconfMonitoringModuleSimpleTest(final SchemaContext context, + final Date rev20130715, final QName dateTimeTypeDef_20130715) throws ParseException, URISyntaxException { String monitoringNSStr = "urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring"; URI monitoringNS = new URI(monitoringNSStr); @@ -371,7 +370,7 @@ public class MoreRevisionsTest { assertEquals(rev20130715, monitoringImport.getRevision()); } - private boolean findTypeDef(Module module, QName typedef) { + private static boolean findTypeDef(final Module module, final QName typedef) { Set> typeDefinitions = module.getTypeDefinitions(); for (TypeDefinition typeDefinition : typeDefinitions) { if (typeDefinition.getQName().equals(typedef)) { diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/test/YangTypes2StmtTest.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/test/YangTypes2StmtTest.java index d6203a555b..c04a49d3fc 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/test/YangTypes2StmtTest.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/test/YangTypes2StmtTest.java @@ -9,9 +9,6 @@ package org.opendaylight.yangtools.yang.stmt.test; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; - -import org.opendaylight.yangtools.yang.model.util.ExtendedType; - import java.net.URI; import org.junit.Test; import org.opendaylight.yangtools.yang.common.QName; @@ -19,6 +16,7 @@ import org.opendaylight.yangtools.yang.common.QNameModule; import org.opendaylight.yangtools.yang.common.SimpleDateFormatUtil; import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode; import org.opendaylight.yangtools.yang.model.util.BooleanType; +import org.opendaylight.yangtools.yang.model.util.ExtendedType; import org.opendaylight.yangtools.yang.model.util.Int16; import org.opendaylight.yangtools.yang.model.util.Int32; import org.opendaylight.yangtools.yang.model.util.Int64; @@ -111,7 +109,7 @@ public class YangTypes2StmtTest { assertEquals(BooleanType.class, lfBoolNode.getType().getClass()); } - private void addSources(CrossSourceStatementReactor.BuildAction reactor, StatementStreamSource... sources) { + private static void addSources(final CrossSourceStatementReactor.BuildAction reactor, final StatementStreamSource... sources) { for (StatementStreamSource source : sources) { reactor.addSource(source); } diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/test/YangTypesStmtTest.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/test/YangTypesStmtTest.java index 86fdfaef17..83fe5b3ab9 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/test/YangTypesStmtTest.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/test/YangTypesStmtTest.java @@ -7,6 +7,7 @@ */ package org.opendaylight.yangtools.yang.stmt.test; +import static org.junit.Assert.assertNotNull; import org.junit.Test; import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException; import org.opendaylight.yangtools.yang.parser.spi.source.SourceException; @@ -16,8 +17,6 @@ import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.YangInferencePipeline import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.YangStatementSourceImpl; import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.EffectiveSchemaContext; -import static org.junit.Assert.assertNotNull; - public class YangTypesStmtTest { private static final YangStatementSourceImpl TYPEFILE1 = new YangStatementSourceImpl @@ -45,7 +44,7 @@ public class YangTypesStmtTest { assertNotNull(result); } - private void addSources(CrossSourceStatementReactor.BuildAction reactor, StatementStreamSource... sources) { + private static void addSources(final CrossSourceStatementReactor.BuildAction reactor, final StatementStreamSource... sources) { for (StatementStreamSource source : sources) { reactor.addSource(source); }