From 5db72610e7358baa1f5c9dd85abc9e93f3c8b020 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Fri, 27 Nov 2020 09:18:13 +0100 Subject: [PATCH] Migrate rawStatementArgument()/getStatementSourceReference() callers This is a mass migration of callers, deprecating the two methods in the process. Change-Id: Ibda969a84d5a45b624d581e10ed5706b4066625f Signed-off-by: Robert Varga --- .../reactor/AbstractResumedStatement.java | 2 +- .../reactor/InferredStatementContext.java | 2 +- .../stmt/reactor/RootStatementContext.java | 4 +-- .../stmt/reactor/SourceSpecificContext.java | 5 ++-- .../stmt/reactor/StatementContextBase.java | 25 +++++++++-------- .../stmt/reactor/SubstatementContext.java | 2 +- .../rfc7950/stmt/AbstractEffectiveModule.java | 2 +- .../parser/rfc7950/stmt/ArgumentUtils.java | 6 ++--- .../parser/rfc7950/stmt/XPathSupport.java | 5 ++-- .../AbstractAugmentStatementSupport.java | 27 +++++++++---------- .../stmt/base/BaseStatementSupport.java | 2 +- .../belongs_to/BelongsToStatementSupport.java | 4 +-- .../AbstractChoiceStatementSupport.java | 4 +-- .../AbstractDeviateStatementSupport.java | 20 +++++++------- .../deviation/DeviationStatementSupport.java | 2 +- .../UnrecognizedStatementSupport.java | 2 +- .../FractionDigitsStatementSupport.java | 6 ++--- .../AbstractGroupingStatementSupport.java | 3 +-- .../AbstractIdentityStatementSupport.java | 3 +-- .../AbstractIfFeatureStatementSupport.java | 5 ++-- .../if_feature/IfFeaturePredicateVisitor.java | 4 +-- .../AbstractImportStatementSupport.java | 6 ++--- .../rfc7950/stmt/import_/RevisionImport.java | 6 ++--- .../stmt/import_/SemanticVersionImport.java | 4 +-- .../AbstractIncludeStatementSupport.java | 3 +-- .../rfc7950/stmt/key/KeyStatementSupport.java | 4 +-- .../stmt/length/LengthStatementSupport.java | 12 ++++----- .../list/AbstractListStatementSupport.java | 2 +- .../MinElementsStatementSupport.java | 2 +- .../modifier/ModifierStatementSupport.java | 2 +- .../AbstractModuleStatementSupport.java | 24 ++++++++--------- .../namespace/NamespaceStatementSupport.java | 2 +- .../ordered_by/OrderedByStatementSupport.java | 2 +- .../stmt/path/PathExpressionParser.java | 2 +- .../AbstractPatternStatementSupport.java | 3 +-- .../position/PositionStatementSupport.java | 3 +-- .../stmt/range/RangeStatementSupport.java | 11 ++++---- .../revision/RevisionStatementSupport.java | 2 +- .../RevisionDateStatementSupport.java | 2 +- .../stmt/status/StatusStatementSupport.java | 2 +- .../AbstractSubmoduleStatementSupport.java | 22 +++++++-------- .../SubmoduleEffectiveStatementImpl.java | 4 +-- ...stractIdentityRefSpecificationSupport.java | 12 ++++----- .../AbstractLeafrefSpecificationSupport.java | 10 +++---- .../type/AbstractTypeStatementSupport.java | 11 ++++---- .../stmt/type/BitsSpecificationSupport.java | 10 +++---- .../type/Decimal64SpecificationSupport.java | 10 +++---- .../stmt/type/EnumSpecificationSupport.java | 10 +++---- .../stmt/type/UnionSpecificationSupport.java | 10 +++---- .../stmt/typedef/TypedefStatementSupport.java | 3 +-- .../stmt/unique/UniqueStatementSupport.java | 12 ++++----- .../stmt/uses/UsesStatementSupport.java | 18 ++++++------- .../stmt/value/ValueStatementSupport.java | 2 +- .../YangVersionStatementSupport.java | 4 +-- .../stmt/path/PathExpressionParserTest.java | 2 +- .../yang/parser/spi/SchemaTreeNamespace.java | 9 +++---- .../spi/meta/AbstractDeclaredStatement.java | 2 +- .../yang/parser/spi/meta/StmtContext.java | 5 ++-- .../parser/spi/meta/StmtContextUtils.java | 21 ++++++--------- .../spi/meta/SubstatementValidator.java | 27 ++++++++++--------- 60 files changed, 206 insertions(+), 227 deletions(-) diff --git a/yang/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/AbstractResumedStatement.java b/yang/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/AbstractResumedStatement.java index 8a92906875..004676dfbb 100644 --- a/yang/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/AbstractResumedStatement.java +++ b/yang/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/AbstractResumedStatement.java @@ -167,7 +167,7 @@ abstract class AbstractResumedStatement, E ext final String argument) { final ModelProcessingPhase inProgressPhase = getRoot().getSourceContext().getInProgressPhase(); checkState(inProgressPhase != ModelProcessingPhase.EFFECTIVE_MODEL, - "Declared statement cannot be added in effective phase at: %s", getStatementSourceReference()); + "Declared statement cannot be added in effective phase at: %s", sourceReference()); final Optional> implicitParent = definition().getImplicitParentFor(def.getPublicView()); diff --git a/yang/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/InferredStatementContext.java b/yang/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/InferredStatementContext.java index c6e3034064..6a95b01186 100644 --- a/yang/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/InferredStatementContext.java +++ b/yang/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/InferredStatementContext.java @@ -240,7 +240,7 @@ final class InferredStatementContext, E extend @SuppressWarnings("unchecked") final Mutable ret = (Mutable) copySubstatement((Mutable) template) - .orElseThrow(() -> new InferenceException(getStatementSourceReference(), + .orElseThrow(() -> new InferenceException(sourceReference(), "Failed to materialize child %s template %s", qname, template)); ensureCompletedPhase(ret); addMaterialized(template, ret); diff --git a/yang/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/RootStatementContext.java b/yang/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/RootStatementContext.java index 2c9d697097..91c6041955 100644 --- a/yang/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/RootStatementContext.java +++ b/yang/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/RootStatementContext.java @@ -63,7 +63,7 @@ public final class RootStatementContext, E ext final StatementSourceReference ref, final String rawArgument) { super(def, ref, rawArgument); this.sourceContext = requireNonNull(sourceContext); - this.argument = def.parseArgumentValue(this, rawStatementArgument()); + this.argument = def.parseArgumentValue(this, rawArgument()); } RootStatementContext(final SourceSpecificContext sourceContext, final StatementDefinitionContext def, @@ -234,7 +234,7 @@ public final class RootStatementContext, E ext void setRootVersionImpl(final YangVersion version) { checkArgument(sourceContext.globalContext().getSupportedVersions().contains(version), - "Unsupported yang version %s in %s", version, getStatementSourceReference()); + "Unsupported yang version %s in %s", version, sourceReference()); checkState(this.rootVersion == null, "Version of root %s has been already set to %s", argument, this.rootVersion); this.rootVersion = requireNonNull(version); diff --git a/yang/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/SourceSpecificContext.java b/yang/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/SourceSpecificContext.java index 944f7831c3..911e92cd63 100644 --- a/yang/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/SourceSpecificContext.java +++ b/yang/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/SourceSpecificContext.java @@ -152,7 +152,7 @@ final class SourceSpecificContext implements NamespaceStorageNode, NamespaceBeha root.getRootIdentifier()); } else { final QName rootStatement = root.definition().getStatementName(); - final String rootArgument = root.rawStatementArgument(); + final String rootArgument = root.rawArgument(); checkState(Objects.equals(def.getStatementName(), rootStatement) && Objects.equals(argument, rootArgument), "Root statement was already defined as '%s %s'.", rootStatement, rootArgument); @@ -333,8 +333,7 @@ final class SourceSpecificContext implements NamespaceStorageNode, NamespaceBeha } final String message = String.format("Yang model processing phase %s failed", identifier); - final InferenceException e = new InferenceException(message, root.getStatementSourceReference(), - exceptions.get(0)); + final InferenceException e = new InferenceException(message, root.sourceReference(), exceptions.get(0)); exceptions.listIterator(1).forEachRemaining(e::addSuppressed); return Optional.of(e); diff --git a/yang/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/StatementContextBase.java b/yang/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/StatementContextBase.java index 4f72b2d9d5..5a65edbd5e 100644 --- a/yang/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/StatementContextBase.java +++ b/yang/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/StatementContextBase.java @@ -420,7 +420,7 @@ public abstract class StatementContextBase, E final Iterator> iterator = effective.iterator(); while (iterator.hasNext()) { final Mutable next = iterator.next(); - if (statementDef.equals(next.publicDefinition()) && statementArg.equals(next.rawStatementArgument())) { + if (statementDef.equals(next.publicDefinition()) && statementArg.equals(next.rawArgument())) { iterator.remove(); } } @@ -435,7 +435,7 @@ public abstract class StatementContextBase, E // FIXME: YANGTOOLS-652: This does not need to be a SubstatementContext, in can be a specialized // StatementContextBase subclass. final Mutable ret = new SubstatementContext<>(this, new StatementDefinitionContext<>(support), - ImplicitSubstatement.of(getStatementSourceReference()), rawArg); + ImplicitSubstatement.of(sourceReference()), rawArg); support.onStatementAdded(ret); addEffectiveSubstatement(ret); return ret; @@ -526,7 +526,7 @@ public abstract class StatementContextBase, E final List> effective, final int toAdd) { // We cannot allow statement to be further mutated verify(completedPhase != ModelProcessingPhase.EFFECTIVE_MODEL, "Cannot modify finished statement at %s", - getStatementSourceReference()); + sourceReference()); return beforeAddEffectiveStatementUnsafe(effective, toAdd); } @@ -535,7 +535,7 @@ public abstract class StatementContextBase, E final ModelProcessingPhase inProgressPhase = getRoot().getSourceContext().getInProgressPhase(); checkState(inProgressPhase == ModelProcessingPhase.FULL_DECLARATION || inProgressPhase == ModelProcessingPhase.EFFECTIVE_MODEL, - "Effective statement cannot be added in declared phase at: %s", getStatementSourceReference()); + "Effective statement cannot be added in declared phase at: %s", sourceReference()); return effective.isEmpty() ? new ArrayList<>(toAdd) : effective; } @@ -781,8 +781,8 @@ public abstract class StatementContextBase, E * @throws NullPointerException if any of the arguments is null */ void addPhaseCompletedListener(final ModelProcessingPhase phase, final OnPhaseFinished listener) { - checkNotNull(phase, "Statement context processing phase cannot be null at: %s", getStatementSourceReference()); - checkNotNull(listener, "Statement context phase listener cannot be null at: %s", getStatementSourceReference()); + checkNotNull(phase, "Statement context processing phase cannot be null at: %s", sourceReference()); + checkNotNull(listener, "Statement context phase listener cannot be null at: %s", sourceReference()); ModelProcessingPhase finishedPhase = completedPhase; while (finishedPhase != null) { @@ -808,7 +808,7 @@ public abstract class StatementContextBase, E ModelProcessingPhase finishedPhase = completedPhase; while (finishedPhase != null) { checkState(!phase.equals(finishedPhase), "Mutation registered after phase was completed at: %s", - getStatementSourceReference()); + sourceReference()); finishedPhase = finishedPhase.getPreviousPhase(); } @@ -881,8 +881,8 @@ public abstract class StatementContextBase, E if (implicitParent.isPresent()) { final StatementDefinitionContext def = new StatementDefinitionContext<>(implicitParent.get()); - result = new SubstatementContext(this, def, original.getStatementSourceReference(), - original.rawStatementArgument(), original.getStatementArgument(), type); + result = new SubstatementContext(this, def, original.sourceReference(), original.rawArgument(), + original.argument(), type); final CopyType childCopyType; switch (type) { @@ -930,8 +930,7 @@ public abstract class StatementContextBase, E final StatementDefinitionContext def = new StatementDefinitionContext<>(optImplicit.get()); final CopyType type = original.getCopyHistory().getLastOperation(); final SubstatementContext result = new SubstatementContext(original.getParentContext(), def, - original.getStatementSourceReference(), original.rawStatementArgument(), original.getStatementArgument(), - type); + original.sourceReference(), original.rawArgument(), original.argument(), type); result.addEffectiveSubstatement(original.reparent(result)); result.setCompletedPhase(original.getCompletedPhase()); @@ -976,7 +975,7 @@ public abstract class StatementContextBase, E isConfig = optConfig.orElseThrow(); if (isConfig) { // Validity check: if parent is config=false this cannot be a config=true - InferenceException.throwIf(!parent.isConfiguration(), getStatementSourceReference(), + InferenceException.throwIf(!parent.isConfiguration(), sourceReference(), "Parent node has config=false, this node must not be specifed as config=true"); } } else { @@ -1094,6 +1093,6 @@ public abstract class StatementContextBase, E } protected ToStringHelper addToStringAttributes(final ToStringHelper toStringHelper) { - return toStringHelper.add("definition", definition).add("rawArgument", rawStatementArgument()); + return toStringHelper.add("definition", definition).add("rawArgument", rawArgument()); } } diff --git a/yang/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/SubstatementContext.java b/yang/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/SubstatementContext.java index 0fb23c7459..d84283efca 100644 --- a/yang/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/SubstatementContext.java +++ b/yang/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/SubstatementContext.java @@ -33,7 +33,7 @@ final class SubstatementContext, E extends Eff final StatementSourceReference ref, final String rawArgument) { super(def, ref, rawArgument); this.parent = requireNonNull(parent, "Parent must not be null"); - this.argument = def.parseArgumentValue(this, rawStatementArgument()); + this.argument = def.parseArgumentValue(this, rawArgument()); } // FIXME: YANGTOOLS-784: this constructor is only called in contexts where a different implementation diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/AbstractEffectiveModule.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/AbstractEffectiveModule.java index 99f7be9c31..3d5f539c61 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/AbstractEffectiveModule.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/AbstractEffectiveModule.java @@ -245,7 +245,7 @@ public abstract class AbstractEffectiveModule ctx, final String value) { SourceException.throwIf(PATH_REL_PATTERN1.matcher(value).matches() - || PATH_REL_PATTERN2.matcher(value).matches(), ctx.getStatementSourceReference(), + || PATH_REL_PATTERN2.matcher(value).matches(), ctx.sourceReference(), "Augment argument \'%s\' is not valid, it can be only absolute path; or descendant if used in uses", value); @@ -118,9 +118,8 @@ abstract class AbstractAugmentStatementSupport copyFromSourceToTarget(augmentSourceCtx, augmentTargetCtx); augmentTargetCtx.addEffectiveSubstatement(augmentSourceCtx); } catch (final SourceException e) { - LOG.warn("Failed to add augmentation {} defined at {}", - augmentTargetCtx.getStatementSourceReference(), - augmentSourceCtx.getStatementSourceReference(), e); + LOG.warn("Failed to add augmentation {} defined at {}", augmentTargetCtx.sourceReference(), + augmentSourceCtx.sourceReference(), e); } } @@ -136,13 +135,13 @@ abstract class AbstractAugmentStatementSupport if (targetNode.isPresent() && StmtContextUtils.isUnknownStatement(targetNode.get())) { augmentNode.setIsSupportedToBuildEffective(false); LOG.warn("Uses-augment to unknown node {}. Augmentation has not been performed. At line: {}", - augmentArg, augmentNode.getStatementSourceReference()); + augmentArg, augmentNode.sourceReference()); return; } } - throw new InferenceException(augmentNode.getStatementSourceReference(), - "Augment target '%s' not found", augmentNode.getStatementArgument()); + throw new InferenceException(augmentNode.sourceReference(), "Augment target '%s' not found", + augmentNode.getStatementArgument()); } }); } @@ -257,11 +256,10 @@ abstract class AbstractAugmentStatementSupport if (sourceCtx.producesDeclared(DataDefinitionStatement.class)) { for (final StmtContext subStatement : targetCtx.allSubstatements()) { if (subStatement.producesDeclared(DataDefinitionStatement.class)) { - InferenceException.throwIf( - Objects.equals(sourceCtx.getStatementArgument(), subStatement.getStatementArgument()), - sourceCtx.getStatementSourceReference(), + InferenceException.throwIf(Objects.equals(sourceCtx.argument(), subStatement.argument()), + sourceCtx.sourceReference(), "An augment cannot add node named '%s' because this name is already used in target", - sourceCtx.rawStatementArgument()); + sourceCtx.rawArgument()); } } } @@ -279,10 +277,9 @@ abstract class AbstractAugmentStatementSupport sourceCtx.allSubstatementsStream().forEach(AbstractAugmentStatementSupport::checkForMandatoryNodes); } - InferenceException.throwIf(StmtContextUtils.isMandatoryNode(sourceCtx), - sourceCtx.getStatementSourceReference(), - "An augment cannot add node '%s' because it is mandatory and in module different than target", - sourceCtx.rawStatementArgument()); + InferenceException.throwIf(StmtContextUtils.isMandatoryNode(sourceCtx), sourceCtx.sourceReference(), + "An augment cannot add node '%s' because it is mandatory and in module different than target", + sourceCtx.rawArgument()); } private static boolean requireCheckOfMandatoryNodes(final StmtContext sourceCtx, diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/base/BaseStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/base/BaseStatementSupport.java index cb4adf9f19..5e779b6abf 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/base/BaseStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/base/BaseStatementSupport.java @@ -67,7 +67,7 @@ public final class BaseStatementSupport extends BaseQNameStatementSupport> failed) { - throw new InferenceException(baseStmtCtx.getStatementSourceReference(), + throw new InferenceException(baseStmtCtx.sourceReference(), "Unable to resolve identity %s and base identity %s", baseParentCtx.getStatementArgument(), baseStmtCtx.getStatementArgument()); } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/belongs_to/BelongsToStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/belongs_to/BelongsToStatementSupport.java index b420e10cc3..ce4a243a8c 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/belongs_to/BelongsToStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/belongs_to/BelongsToStatementSupport.java @@ -76,8 +76,8 @@ public final class BelongsToStatementSupport @Override public void prerequisiteFailed(final Collection> failed) { if (failed.contains(belongsToPrereq)) { - throw new InferenceException(belongsToCtx.getStatementSourceReference(), - "Module '%s' from belongs-to was not found", belongsToCtx.getStatementArgument()); + throw new InferenceException(belongsToCtx.sourceReference(), + "Module '%s' from belongs-to was not found", belongsToCtx.argument()); } } }); diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/choice/AbstractChoiceStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/choice/AbstractChoiceStatementSupport.java index ef932c5f64..89cd7112ad 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/choice/AbstractChoiceStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/choice/AbstractChoiceStatementSupport.java @@ -67,8 +67,8 @@ abstract class AbstractChoiceStatementSupport try { qname = QName.create(stmt.getArgument(), defaultArg); } catch (IllegalArgumentException e) { - throw new SourceException(stmt.sourceReference(), "Default statement has invalid name '%s'", - defaultArg, e); + throw new SourceException(stmt.sourceReference(), "Default statement has invalid name '%s'", defaultArg, + e); } // FIXME: this does not work with submodules, as they are diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/deviate/AbstractDeviateStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/deviate/AbstractDeviateStatementSupport.java index 08e609a674..f2a16708b0 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/deviate/AbstractDeviateStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/deviate/AbstractDeviateStatementSupport.java @@ -105,8 +105,8 @@ abstract class AbstractDeviateStatementSupport @Override public final DeviateKind parseArgumentValue(final StmtContext ctx, final String value) { - return SourceException.throwIfNull(KEYWORD_TO_DEVIATE_MAP.get(value), - ctx.getStatementSourceReference(), "String '%s' is not valid deviate argument", value); + return SourceException.throwIfNull(KEYWORD_TO_DEVIATE_MAP.get(value), ctx.sourceReference(), + "String '%s' is not valid deviate argument", value); } @Override @@ -162,7 +162,7 @@ abstract class AbstractDeviateStatementSupport @Override public void prerequisiteFailed(final Collection> failed) { - throw new InferenceException(deviateStmtCtx.coerceParentContext().getStatementSourceReference(), + throw new InferenceException(deviateStmtCtx.coerceParentContext().sourceReference(), "Deviation target '%s' not found.", deviationTarget); } }); @@ -261,7 +261,7 @@ abstract class AbstractDeviateStatementSupport && YangStmtMapping.LEAF.equals(targetCtx.publicDefinition())) { for (final StmtContext targetCtxSubstatement : targetCtx.allSubstatements()) { InferenceException.throwIf(stmtToBeAdded.equals(targetCtxSubstatement.publicDefinition()), - stmtCtxToBeAdded.getStatementSourceReference(), + stmtCtxToBeAdded.sourceReference(), "Deviation cannot add substatement %s to target node %s because it is already defined " + "in target and can appear only once.", stmtToBeAdded.getStatementName(), targetCtx.getStatementArgument()); @@ -290,7 +290,7 @@ abstract class AbstractDeviateStatementSupport && YangStmtMapping.LEAF_LIST.equals(targetCtx.publicDefinition())) { LOG.error("Deviation cannot replace substatement {} in target leaf-list {} because a leaf-list can " + "have multiple default statements. At line: {}", stmtToBeReplaced.getStatementName(), - targetCtx.getStatementArgument(), stmtCtxToBeReplaced.getStatementSourceReference()); + targetCtx.getStatementArgument(), stmtCtxToBeReplaced.sourceReference()); return; } @@ -318,7 +318,7 @@ abstract class AbstractDeviateStatementSupport return; } - throw new InferenceException(stmtCtxToBeReplaced.getStatementSourceReference(), "Deviation cannot replace " + throw new InferenceException(stmtCtxToBeReplaced.sourceReference(), "Deviation cannot replace " + "substatement %s in target node %s because it does not exist in target node.", stmtToBeReplaced.getStatementName(), targetCtx.getStatementArgument()); } @@ -356,7 +356,7 @@ abstract class AbstractDeviateStatementSupport LOG.error("Deviation cannot delete substatement {} with argument '{}' in target node {} because it does " + "not exist in the target node. At line: {}", stmtToBeDeleted.getStatementName(), stmtArgument, - targetCtx.getStatementArgument(), stmtCtxToBeDeleted.getStatementSourceReference()); + targetCtx.getStatementArgument(), stmtCtxToBeDeleted.sourceReference()); } private static void copyStatement(final Mutable stmtCtxToBeCopied, @@ -378,9 +378,9 @@ abstract class AbstractDeviateStatementSupport private static void validateDeviationTarget(final StmtContext deviateSubStmtCtx, final StmtContext targetCtx) { InferenceException.throwIf(!isSupportedDeviationTarget(deviateSubStmtCtx, targetCtx, - targetCtx.getRootVersion()), deviateSubStmtCtx.getStatementSourceReference(), - "%s is not a valid deviation target for substatement %s.", - targetCtx.getStatementArgument(), deviateSubStmtCtx.publicDefinition().getStatementName()); + targetCtx.getRootVersion()), deviateSubStmtCtx.sourceReference(), + "%s is not a valid deviation target for substatement %s.", targetCtx.argument(), + deviateSubStmtCtx.publicDefinition().getStatementName()); } private static boolean isSupportedDeviationTarget(final StmtContext deviateSubstatementCtx, diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/deviation/DeviationStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/deviation/DeviationStatementSupport.java index d4e7c712ec..3ba5d94fb0 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/deviation/DeviationStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/deviation/DeviationStatementSupport.java @@ -57,7 +57,7 @@ public final class DeviationStatementSupport .getModule(); if (currentModule.equals(targetModule)) { - throw new InferenceException(ctx.getStatementSourceReference(), + throw new InferenceException(ctx.sourceReference(), "Deviation must not target the same module as the one it is defined in: %s", currentModule); } } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/extension/UnrecognizedStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/extension/UnrecognizedStatementSupport.java index 2a7dec913e..e6c906fd8e 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/extension/UnrecognizedStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/extension/UnrecognizedStatementSupport.java @@ -58,7 +58,7 @@ final class UnrecognizedStatementSupport @Override protected UnrecognizedStatement createDeclared(final StmtContext ctx, final ImmutableList> substatements) { - return new UnrecognizedStatementImpl(ctx.rawStatementArgument(), ctx.publicDefinition(), substatements); + return new UnrecognizedStatementImpl(ctx.rawArgument(), ctx.publicDefinition(), substatements); } @Override diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/fraction_digits/FractionDigitsStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/fraction_digits/FractionDigitsStatementSupport.java index 99005fd06d..16fcefbf0d 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/fraction_digits/FractionDigitsStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/fraction_digits/FractionDigitsStatementSupport.java @@ -63,12 +63,12 @@ public final class FractionDigitsStatementSupport try { fractionDigits = Integer.parseInt(value); } catch (NumberFormatException e) { - throw new SourceException(ctx.getStatementSourceReference(), e, - "%s is not valid fraction-digits integer argument", value); + throw new SourceException(ctx.sourceReference(), e, "%s is not valid fraction-digits integer argument", + value); } if (fractionDigits < 1 || fractionDigits > 18) { throw new SourceException("fraction-digits argument should be integer within [1..18]", - ctx.getStatementSourceReference()); + ctx.sourceReference()); } return fractionDigits; } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/grouping/AbstractGroupingStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/grouping/AbstractGroupingStatementSupport.java index e08b5afd06..26ec9ea155 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/grouping/AbstractGroupingStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/grouping/AbstractGroupingStatementSupport.java @@ -84,7 +84,6 @@ abstract class AbstractGroupingStatementSupport private static void checkConflict(final StmtContext parent, final StmtContext stmt) { final QName arg = stmt.coerceStatementArgument(); final StmtContext existing = parent.getFromNamespace(GroupingNamespace.class, arg); - SourceException.throwIf(existing != null, stmt.getStatementSourceReference(), "Duplicate name for grouping %s", - arg); + SourceException.throwIf(existing != null, stmt.sourceReference(), "Duplicate name for grouping %s", arg); } } \ No newline at end of file diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/identity/AbstractIdentityStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/identity/AbstractIdentityStatementSupport.java index 44f5b46be7..cc7c9e458c 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/identity/AbstractIdentityStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/identity/AbstractIdentityStatementSupport.java @@ -51,8 +51,7 @@ abstract class AbstractIdentityStatementSupport final Mutable stmt) { final QName qname = stmt.coerceStatementArgument(); final StmtContext prev = stmt.getFromNamespace(IdentityNamespace.class, qname); - SourceException.throwIf(prev != null, stmt.getStatementSourceReference(), "Duplicate identity definition %s", - qname); + SourceException.throwIf(prev != null, stmt.sourceReference(), "Duplicate identity definition %s", qname); stmt.addToNs(IdentityNamespace.class, qname, stmt); } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/if_feature/AbstractIfFeatureStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/if_feature/AbstractIfFeatureStatementSupport.java index 933eae7955..b8ecc00bf1 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/if_feature/AbstractIfFeatureStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/if_feature/AbstractIfFeatureStatementSupport.java @@ -73,9 +73,8 @@ abstract class AbstractIfFeatureStatementSupport unresolvedFeatures.add(verifyNotNull(backRef.get(prereq))); } - throw new InferenceException(stmt.getStatementSourceReference(), - "Failed to resolve feature references %s in \"%s\"", unresolvedFeatures, - stmt.rawStatementArgument()); + throw new InferenceException(stmt.sourceReference(), + "Failed to resolve feature references %s in \"%s\"", unresolvedFeatures, stmt.rawArgument()); } }); } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/if_feature/IfFeaturePredicateVisitor.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/if_feature/IfFeaturePredicateVisitor.java index 5191e190ff..54f0eeb06d 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/if_feature/IfFeaturePredicateVisitor.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/if_feature/IfFeaturePredicateVisitor.java @@ -41,7 +41,7 @@ final class IfFeaturePredicateVisitor extends IfFeatureExpressionParserBaseVisit final IfFeatureExpressionLexer lexer = new IfFeatureExpressionLexer(CharStreams.fromString(value)); final IfFeatureExpressionParser parser = new IfFeatureExpressionParser(new CommonTokenStream(lexer)); final IfFeatureExpr ret = new IfFeaturePredicateVisitor(ctx).visit(SourceExceptionParser.parse(lexer, parser, - parser::if_feature_expr, ctx.getStatementSourceReference())); + parser::if_feature_expr, ctx.sourceReference())); return ret; } @@ -79,7 +79,7 @@ final class IfFeaturePredicateVisitor extends IfFeatureExpressionParserBaseVisit } throw new SourceException("Unexpected grammar context during parsing of IfFeature expression. " - + "Most probably IfFeature grammar has been changed.", stmtCtx.getStatementSourceReference()); + + "Most probably IfFeature grammar has been changed.", stmtCtx.sourceReference()); } @Override diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/import_/AbstractImportStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/import_/AbstractImportStatementSupport.java index 56b1227224..bd81814fae 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/import_/AbstractImportStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/import_/AbstractImportStatementSupport.java @@ -73,15 +73,15 @@ abstract class AbstractImportStatementSupport moduleName); Verify.verifyNotNull(importedModuleNamespace); final String impPrefix = SourceException.throwIfNull( - firstAttributeOf(stmt.declaredSubstatements(), PrefixStatement.class), - stmt.getStatementSourceReference(), "Missing prefix statement"); + firstAttributeOf(stmt.declaredSubstatements(), PrefixStatement.class), stmt.sourceReference(), + "Missing prefix statement"); stmt.addToNs(ImpPrefixToNamespace.class, impPrefix, importedModuleNamespace); } @Override public void prerequisiteFailed(final Collection> failed) { - InferenceException.throwIf(failed.contains(imported), stmt.getStatementSourceReference(), + InferenceException.throwIf(failed.contains(imported), stmt.sourceReference(), "Imported module [%s] was not found.", moduleName); } }); diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/import_/RevisionImport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/import_/RevisionImport.java index cca75d2b78..da4d2821a3 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/import_/RevisionImport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/import_/RevisionImport.java @@ -66,7 +66,7 @@ final class RevisionImport { final StmtContext importedModule = imported.resolve(ctx); final QNameModule mod = InferenceException.throwIfNull(stmt.getFromNamespace( - ModuleCtxToModuleQName.class, importedModule), stmt.getStatementSourceReference(), + ModuleCtxToModuleQName.class, importedModule), stmt.sourceReference(), "Failed to find module of %s", importedModule); linkageTarget.resolve(ctx).addToNs(ImportedModuleContext.class, @@ -82,8 +82,8 @@ final class RevisionImport { @Override public void prerequisiteFailed(final Collection> failed) { if (failed.contains(imported)) { - throw new InferenceException(stmt.getStatementSourceReference(), - "Imported module [%s] was not found.", moduleName); + throw new InferenceException(stmt.sourceReference(), "Imported module [%s] was not found.", + moduleName); } } }); diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/import_/SemanticVersionImport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/import_/SemanticVersionImport.java index fddf91b152..13b394dfbb 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/import_/SemanticVersionImport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/import_/SemanticVersionImport.java @@ -150,7 +150,7 @@ final class SemanticVersionImport { stmt.addToNs(ImportPrefixToSemVerSourceIdentifier.class, impPrefix, semVerModuleIdentifier); final QNameModule mod = InferenceException.throwIfNull(stmt.getFromNamespace( - ModuleCtxToModuleQName.class, importedModule), stmt.getStatementSourceReference(), + ModuleCtxToModuleQName.class, importedModule), stmt.sourceReference(), "Failed to find module of %s", importedModule); final URI modNs = firstAttributeOf(importedModule.declaredSubstatements(), @@ -162,7 +162,7 @@ final class SemanticVersionImport { @Override public void prerequisiteFailed(final Collection> failed) { if (failed.contains(imported)) { - throw new InferenceException(stmt.getStatementSourceReference(), + throw new InferenceException(stmt.sourceReference(), "Unable to find module compatible with requested import [%s(%s)].", moduleName, getRequestedImportVersionString(stmt)); } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/include/AbstractIncludeStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/include/AbstractIncludeStatementSupport.java index f87bcddd1f..d9a58e31c6 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/include/AbstractIncludeStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/include/AbstractIncludeStatementSupport.java @@ -81,8 +81,7 @@ abstract class AbstractIncludeStatementSupport @Override public void prerequisiteFailed(final Collection> failed) { - InferenceException.throwIf(failed.contains(requiresCtxPrerequisite), - stmt.getStatementSourceReference(), + InferenceException.throwIf(failed.contains(requiresCtxPrerequisite), stmt.sourceReference(), "Included submodule '%s' was not found: ", stmt.getStatementArgument()); } }); diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/key/KeyStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/key/KeyStatementSupport.java index d4ab2e6869..7d7190aa00 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/key/KeyStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/key/KeyStatementSupport.java @@ -56,8 +56,8 @@ public final class KeyStatementSupport // Throws NPE on nulls, retains first inserted value, cannot be modified final ImmutableSet ret = builder.build(); - SourceException.throwIf(ret.size() != tokens, ctx.getStatementSourceReference(), - "Key argument '%s' contains duplicates", value); + SourceException.throwIf(ret.size() != tokens, ctx.sourceReference(), "Key argument '%s' contains duplicates", + value); return ret; } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/length/LengthStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/length/LengthStatementSupport.java index eed28a0ce2..fba826934f 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/length/LengthStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/length/LengthStatementSupport.java @@ -60,10 +60,10 @@ public final class LengthStatementSupport max = parseIntegerConstraintValue(ctx, boundaries.next()); // if min larger than max then error - SourceException.throwIf(ArgumentUtils.compareNumbers(min, max) == 1, ctx.getStatementSourceReference(), - "Length constraint %s has descending order of boundaries; should be ascending.", singleRange); - SourceException.throwIf(boundaries.hasNext(), ctx.getStatementSourceReference(), - "Wrong number of boundaries in length constraint %s.", singleRange); + SourceException.throwIf(ArgumentUtils.compareNumbers(min, max) == 1, ctx.sourceReference(), + "Length constraint %s has descending order of boundaries; should be ascending.", singleRange); + SourceException.throwIf(boundaries.hasNext(), ctx.sourceReference(), + "Wrong number of boundaries in length constraint %s.", singleRange); } else { max = min; } @@ -71,7 +71,7 @@ public final class LengthStatementSupport // some of intervals overlapping InferenceException.throwIf(ranges.size() > 1 && ArgumentUtils.compareNumbers(min, Iterables.getLast(ranges).upperBound()) != 1, - ctx.getStatementSourceReference(), "Some of the length ranges in %s are not disjoint", value); + ctx.sourceReference(), "Some of the length ranges in %s are not disjoint", value); ranges.add(ValueRange.of(min, max)); } @@ -113,7 +113,7 @@ public final class LengthStatementSupport try { return new BigInteger(value); } catch (final NumberFormatException e) { - throw new SourceException(ctx.getStatementSourceReference(), e, "Value %s is not a valid integer", value); + throw new SourceException(ctx.sourceReference(), e, "Value %s is not a valid integer", value); } } } \ No newline at end of file diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/list/AbstractListStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/list/AbstractListStatementSupport.java index 8a1a9b6a2d..860a0dfe19 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/list/AbstractListStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/list/AbstractListStatementSupport.java @@ -127,7 +127,7 @@ abstract class AbstractListStatementSupport extends ((Mutable) warnCtx).addToNs(ConfigListWarningNamespace.class, Boolean.TRUE, Boolean.TRUE); LOG.info("Configuration list {} does not define any keys in violation of RFC7950 section 7.8.2. While " + "this is fine with OpenDaylight, it can cause interoperability issues with other systems " - + "[defined at {}]", ctx.getStatementArgument(), warnCtx.getStatementSourceReference()); + + "[defined at {}]", ctx.getStatementArgument(), warnCtx.sourceReference()); } } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/min_elements/MinElementsStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/min_elements/MinElementsStatementSupport.java index 27f35a6b64..6170a02c71 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/min_elements/MinElementsStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/min_elements/MinElementsStatementSupport.java @@ -38,7 +38,7 @@ public final class MinElementsStatementSupport try { return Integer.valueOf(value); } catch (NumberFormatException e) { - throw new SourceException("Invalid min-elements argument", ctx.getStatementSourceReference(), e); + throw new SourceException("Invalid min-elements argument", ctx.sourceReference(), e); } } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/modifier/ModifierStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/modifier/ModifierStatementSupport.java index 8536478835..2c2d6783e9 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/modifier/ModifierStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/modifier/ModifierStatementSupport.java @@ -36,7 +36,7 @@ public final class ModifierStatementSupport @Override public ModifierKind parseArgumentValue(final StmtContext ctx, final String value) { - return SourceException.unwrap(ModifierKind.parse(value), ctx.getStatementSourceReference(), + return SourceException.unwrap(ModifierKind.parse(value), ctx.sourceReference(), "'%s' is not valid argument of modifier statement", value); } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/module/AbstractModuleStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/module/AbstractModuleStatementSupport.java index f41c7b131c..54030aefeb 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/module/AbstractModuleStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/module/AbstractModuleStatementSupport.java @@ -38,6 +38,7 @@ import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.BaseStatementSupport; import org.opendaylight.yangtools.yang.parser.spi.ModuleNamespace; import org.opendaylight.yangtools.yang.parser.spi.NamespaceToModule; import org.opendaylight.yangtools.yang.parser.spi.PreLinkageModuleNamespace; +import org.opendaylight.yangtools.yang.parser.spi.meta.CommonStmtCtx; import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current; import org.opendaylight.yangtools.yang.parser.spi.meta.SemanticVersionModuleNamespace; import org.opendaylight.yangtools.yang.parser.spi.meta.SemanticVersionNamespace; @@ -55,7 +56,6 @@ import org.opendaylight.yangtools.yang.parser.spi.source.ModuleNamespaceForBelon import org.opendaylight.yangtools.yang.parser.spi.source.ModuleQNameToModuleName; import org.opendaylight.yangtools.yang.parser.spi.source.PrefixToModule; import org.opendaylight.yangtools.yang.parser.spi.source.SourceException; -import org.opendaylight.yangtools.yang.parser.spi.source.StatementSourceReference; abstract class AbstractModuleStatementSupport extends BaseStatementSupport { @@ -68,7 +68,7 @@ abstract class AbstractModuleStatementSupport try { return UnqualifiedQName.of(value); } catch (IllegalArgumentException e) { - throw new SourceException(e.getMessage(), ctx.getStatementSourceReference(), e); + throw new SourceException(e.getMessage(), ctx.sourceReference(), e); } } @@ -78,12 +78,12 @@ abstract class AbstractModuleStatementSupport final String moduleName = stmt.coerceRawStatementArgument(); final URI moduleNs = firstAttributeOf(stmt.declaredSubstatements(), NamespaceStatement.class); - SourceException.throwIfNull(moduleNs, stmt.getStatementSourceReference(), + SourceException.throwIfNull(moduleNs, stmt.sourceReference(), "Namespace of the module [%s] is missing", moduleName); stmt.addToNs(ModuleNameToNamespace.class, moduleName, moduleNs); final String modulePrefix = firstAttributeOf(stmt.declaredSubstatements(), PrefixStatement.class); - SourceException.throwIfNull(modulePrefix, stmt.getStatementSourceReference(), + SourceException.throwIfNull(modulePrefix, stmt.sourceReference(), "Prefix of the module [%s] is missing", moduleName); stmt.addToNs(ImpPrefixToNamespace.class, modulePrefix, moduleNs); @@ -103,7 +103,7 @@ abstract class AbstractModuleStatementSupport final Optional moduleNs = Optional.ofNullable(firstAttributeOf(stmt.declaredSubstatements(), NamespaceStatement.class)); - SourceException.throwIf(!moduleNs.isPresent(), stmt.getStatementSourceReference(), + SourceException.throwIf(!moduleNs.isPresent(), stmt.sourceReference(), "Namespace of the module [%s] is missing", stmt.getStatementArgument()); final Optional revisionDate = StmtContextUtils.getLatestRevision(stmt.declaredSubstatements()); @@ -111,8 +111,8 @@ abstract class AbstractModuleStatementSupport final StmtContext possibleDuplicateModule = stmt.getFromNamespace(NamespaceToModule.class, qNameModule); if (possibleDuplicateModule != null && possibleDuplicateModule != stmt) { - throw new SourceException(stmt.getStatementSourceReference(), "Module namespace collision: %s. At %s", - qNameModule.getNamespace(), possibleDuplicateModule.getStatementSourceReference()); + throw new SourceException(stmt.sourceReference(), "Module namespace collision: %s. At %s", + qNameModule.getNamespace(), possibleDuplicateModule.sourceReference()); } final String moduleName = stmt.coerceRawStatementArgument(); @@ -123,7 +123,7 @@ abstract class AbstractModuleStatementSupport stmt.addContext(NamespaceToModule.class, qNameModule, stmt); final String modulePrefix = firstAttributeOf(stmt.declaredSubstatements(), PrefixStatement.class); - SourceException.throwIfNull(modulePrefix, stmt.getStatementSourceReference(), + SourceException.throwIfNull(modulePrefix, stmt.sourceReference(), "Prefix of the module [%s] is missing", stmt.getStatementArgument()); stmt.addToNs(PrefixToModule.class, modulePrefix, qNameModule); @@ -173,14 +173,14 @@ abstract class AbstractModuleStatementSupport @Override protected final ModuleStatement createEmptyDeclared(final StmtContext ctx) { - throw noNamespace(ctx.getStatementSourceReference()); + throw noNamespace(ctx); } @Override protected final ModuleEffectiveStatement createEffective(final Current stmt, final ImmutableList> substatements) { if (substatements.isEmpty()) { - throw noNamespace(stmt.sourceReference()); + throw noNamespace(stmt); } final List submodules = new ArrayList<>(); @@ -199,8 +199,8 @@ abstract class AbstractModuleStatementSupport return submodules == null ? List.of() : submodules.values(); } - private static SourceException noNamespace(final @NonNull StatementSourceReference ref) { - return new SourceException("No namespace declared in module", ref); + private static SourceException noNamespace(final @NonNull CommonStmtCtx stmt) { + return new SourceException("No namespace declared in module", stmt.sourceReference()); } private static void addToSemVerModuleNamespace( diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/namespace/NamespaceStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/namespace/NamespaceStatementSupport.java index 0183cab28c..548fb5ea03 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/namespace/NamespaceStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/namespace/NamespaceStatementSupport.java @@ -42,7 +42,7 @@ public final class NamespaceStatementSupport try { return new URI(value); } catch (URISyntaxException e) { - throw new SourceException(ctx.getStatementSourceReference(), e, "Invalid namespace \"%s\"", value); + throw new SourceException(ctx.sourceReference(), e, "Invalid namespace \"%s\"", value); } } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/ordered_by/OrderedByStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/ordered_by/OrderedByStatementSupport.java index 9359e67e64..e1373b4605 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/ordered_by/OrderedByStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/ordered_by/OrderedByStatementSupport.java @@ -53,7 +53,7 @@ public final class OrderedByStatementSupport try { return Ordering.forArgument(value); } catch (IllegalArgumentException e) { - throw new SourceException(ctx.getStatementSourceReference(), e, "Invalid ordered-by argument '%s'", value); + throw new SourceException(ctx.sourceReference(), e, "Invalid ordered-by argument '%s'", value); } } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/path/PathExpressionParser.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/path/PathExpressionParser.java index 02b92bce9c..7fae6a57ac 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/path/PathExpressionParser.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/path/PathExpressionParser.java @@ -79,7 +79,7 @@ class PathExpressionParser { final LeafRefPathLexer lexer = new LeafRefPathLexer(CharStreams.fromString(pathArg)); final LeafRefPathParser parser = new LeafRefPathParser(new CommonTokenStream(lexer)); final Path_argContext path = SourceExceptionParser.parse(lexer, parser, parser::path_arg, - ctx.getStatementSourceReference()); + ctx.sourceReference()); final ParseTree childPath = path.getChild(0); final Steps steps; diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/pattern/AbstractPatternStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/pattern/AbstractPatternStatementSupport.java index a799b67411..9a8710b6db 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/pattern/AbstractPatternStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/pattern/AbstractPatternStatementSupport.java @@ -34,8 +34,7 @@ abstract class AbstractPatternStatementSupport try { Pattern.compile(pattern); } catch (final PatternSyntaxException e) { - throw new SourceException(ctx.getStatementSourceReference(), e, - "Pattern \"%s\" failed to compile", pattern); + throw new SourceException(ctx.sourceReference(), e, "Pattern \"%s\" failed to compile", pattern); } return PatternExpression.of(value, pattern); } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/position/PositionStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/position/PositionStatementSupport.java index dfe9a89756..03935e82d5 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/position/PositionStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/position/PositionStatementSupport.java @@ -38,8 +38,7 @@ public final class PositionStatementSupport try { return Uint32.valueOf(value).intern(); } catch (IllegalArgumentException e) { - throw new SourceException(String.format("Bit position value %s is not valid integer", value), - ctx.getStatementSourceReference(), e); + throw new SourceException(ctx.sourceReference(), e, "Bit position value %s is not valid integer", value); } } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/range/RangeStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/range/RangeStatementSupport.java index 5a693b307e..71e5fa6add 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/range/RangeStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/range/RangeStatementSupport.java @@ -61,9 +61,9 @@ public final class RangeStatementSupport max = parseDecimalConstraintValue(ctx, boundaries.next()); // if min larger than max then error - SourceException.throwIf(ArgumentUtils.compareNumbers(min, max) == 1, ctx.getStatementSourceReference(), - "Range constraint %s has descending order of boundaries; should be ascending", singleRange); - SourceException.throwIf(boundaries.hasNext(), ctx.getStatementSourceReference(), + SourceException.throwIf(ArgumentUtils.compareNumbers(min, max) == 1, ctx.sourceReference(), + "Range constraint %s has descending order of boundaries; should be ascending", singleRange); + SourceException.throwIf(boundaries.hasNext(), ctx.sourceReference(), "Wrong number of boundaries in range constraint %s", singleRange); } else { max = min; @@ -72,7 +72,7 @@ public final class RangeStatementSupport // some of intervals overlapping InferenceException.throwIf(ranges.size() > 1 && ArgumentUtils.compareNumbers(min, Iterables.getLast(ranges).upperBound()) != 1, - ctx.getStatementSourceReference(), "Some of the value ranges in %s are not disjoint", rangeArgument); + ctx.sourceReference(), "Some of the value ranges in %s are not disjoint", rangeArgument); ranges.add(ValueRange.of(min, max)); } @@ -114,8 +114,7 @@ public final class RangeStatementSupport try { return value.indexOf('.') != -1 ? new BigDecimal(value) : new BigInteger(value); } catch (final NumberFormatException e) { - throw new SourceException(String.format("Value %s is not a valid decimal number", value), - ctx.getStatementSourceReference(), e); + throw new SourceException(ctx.sourceReference(), e, "Value %s is not a valid decimal number", value); } } } \ No newline at end of file diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/revision/RevisionStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/revision/RevisionStatementSupport.java index 78d303fd5b..f6f83e7b93 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/revision/RevisionStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/revision/RevisionStatementSupport.java @@ -43,7 +43,7 @@ public final class RevisionStatementSupport try { return Revision.of(value); } catch (DateTimeParseException e) { - throw new SourceException(ctx.getStatementSourceReference(), e, + throw new SourceException(ctx.sourceReference(), e, "Revision value %s is not in required format yyyy-MM-dd", value); } } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/revision_date/RevisionDateStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/revision_date/RevisionDateStatementSupport.java index 18216d438f..4bbcacc13b 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/revision_date/RevisionDateStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/revision_date/RevisionDateStatementSupport.java @@ -40,7 +40,7 @@ public final class RevisionDateStatementSupport try { return Revision.of(value); } catch (DateTimeParseException e) { - throw new SourceException(ctx.getStatementSourceReference(), e, + throw new SourceException(ctx.sourceReference(), e, "Revision value %s is not in required format yyyy-MM-dd", value); } } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/status/StatusStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/status/StatusStatementSupport.java index 10acc671f3..1673357ce1 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/status/StatusStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/status/StatusStatementSupport.java @@ -63,7 +63,7 @@ public final class StatusStatementSupport case "obsolete": return Status.OBSOLETE; default: - throw new SourceException(ctx.getStatementSourceReference(), + throw new SourceException(ctx.sourceReference(), "Invalid status '%s', must be one of 'current', 'deprecated' or 'obsolete'", value); } } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/submodule/AbstractSubmoduleStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/submodule/AbstractSubmoduleStatementSupport.java index 55e9a39bd6..ce87284615 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/submodule/AbstractSubmoduleStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/submodule/AbstractSubmoduleStatementSupport.java @@ -23,13 +23,13 @@ import org.opendaylight.yangtools.yang.model.repo.api.RevisionSourceIdentifier; import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier; import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.BaseStatementSupport; import org.opendaylight.yangtools.yang.parser.spi.SubmoduleNamespace; +import org.opendaylight.yangtools.yang.parser.spi.meta.CommonStmtCtx; import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current; 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.spi.source.BelongsToPrefixToModuleName; import org.opendaylight.yangtools.yang.parser.spi.source.SourceException; -import org.opendaylight.yangtools.yang.parser.spi.source.StatementSourceReference; abstract class AbstractSubmoduleStatementSupport extends BaseStatementSupport { @@ -42,7 +42,7 @@ abstract class AbstractSubmoduleStatementSupport try { return UnqualifiedQName.of(value); } catch (IllegalArgumentException e) { - throw new SourceException(e.getMessage(), ctx.getStatementSourceReference(), e); + throw new SourceException(e.getMessage(), ctx.sourceReference(), e); } } @@ -62,8 +62,8 @@ abstract class AbstractSubmoduleStatementSupport final StmtContext possibleDuplicateSubmodule = stmt.getFromNamespace(SubmoduleNamespace.class, submoduleIdentifier); if (possibleDuplicateSubmodule != null && possibleDuplicateSubmodule != stmt) { - throw new SourceException(stmt.getStatementSourceReference(), "Submodule name collision: %s. At %s", - stmt.rawStatementArgument(), possibleDuplicateSubmodule.getStatementSourceReference()); + throw new SourceException(stmt.sourceReference(), "Submodule name collision: %s. At %s", + stmt.rawArgument(), possibleDuplicateSubmodule.sourceReference()); } stmt.addContext(SubmoduleNamespace.class, submoduleIdentifier, stmt); @@ -71,10 +71,10 @@ abstract class AbstractSubmoduleStatementSupport final String belongsToModuleName = firstAttributeOf(stmt.declaredSubstatements(), BelongsToStatement.class); final StmtContext prefixSubStmtCtx = findFirstDeclaredSubstatement(stmt, 0, BelongsToStatement.class, PrefixStatement.class); - SourceException.throwIfNull(prefixSubStmtCtx, stmt.getStatementSourceReference(), - "Prefix of belongsTo statement is missing in submodule [%s]", stmt.rawStatementArgument()); + SourceException.throwIfNull(prefixSubStmtCtx, stmt.sourceReference(), + "Prefix of belongsTo statement is missing in submodule [%s]", stmt.rawArgument()); - final String prefix = prefixSubStmtCtx.rawStatementArgument(); + final String prefix = prefixSubStmtCtx.rawArgument(); stmt.addToNs(BelongsToPrefixToModuleName.class, prefix, belongsToModuleName); } @@ -88,19 +88,19 @@ abstract class AbstractSubmoduleStatementSupport @Override protected final SubmoduleStatement createEmptyDeclared( final StmtContext ctx) { - throw noBelongsTo(ctx.getStatementSourceReference()); + throw noBelongsTo(ctx); } @Override protected SubmoduleEffectiveStatement createEffective(final Current stmt, final ImmutableList> substatements) { if (substatements.isEmpty()) { - throw noBelongsTo(stmt.sourceReference()); + throw noBelongsTo(stmt); } return new SubmoduleEffectiveStatementImpl(stmt, substatements); } - private static SourceException noBelongsTo(final StatementSourceReference ref) { - return new SourceException("No belongs-to declared in submodule", ref); + private static SourceException noBelongsTo(final CommonStmtCtx stmt) { + return new SourceException("No belongs-to declared in submodule", stmt.sourceReference()); } } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/submodule/SubmoduleEffectiveStatementImpl.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/submodule/SubmoduleEffectiveStatementImpl.java index dff99f6fcf..ae2a0453d1 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/submodule/SubmoduleEffectiveStatementImpl.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/submodule/SubmoduleEffectiveStatementImpl.java @@ -149,8 +149,8 @@ final class SubmoduleEffectiveStatementImpl private static @NonNull String findSubmodulePrefix(final StmtContext ctx) { final String name = ctx.getRawArgument(); final StmtContext belongsTo = SourceException.throwIfNull( - StmtContextUtils.findFirstDeclaredSubstatement(ctx, BelongsToStatement.class), - ctx.sourceReference(), "Unable to find belongs-to statement in submodule %s.", name); + StmtContextUtils.findFirstDeclaredSubstatement(ctx, BelongsToStatement.class), ctx.sourceReference(), + "Unable to find belongs-to statement in submodule %s.", name); return findPrefix(belongsTo, "submodule", name); } } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/AbstractIdentityRefSpecificationSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/AbstractIdentityRefSpecificationSupport.java index d6f044e9ea..867afc24e7 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/AbstractIdentityRefSpecificationSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/AbstractIdentityRefSpecificationSupport.java @@ -23,13 +23,13 @@ import org.opendaylight.yangtools.yang.model.util.type.BaseTypes; import org.opendaylight.yangtools.yang.model.util.type.IdentityrefTypeBuilder; import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.BaseStatementSupport; import org.opendaylight.yangtools.yang.parser.spi.IdentityNamespace; +import org.opendaylight.yangtools.yang.parser.spi.meta.CommonStmtCtx; import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current; import org.opendaylight.yangtools.yang.parser.spi.meta.InferenceException; 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.spi.source.SourceException; -import org.opendaylight.yangtools.yang.parser.spi.source.StatementSourceReference; abstract class AbstractIdentityRefSpecificationSupport extends BaseStatementSupport baseStmt : baseStatements) { final QName baseIdentity = baseStmt.coerceStatementArgument(); final StmtContext stmtCtx = stmt.getFromNamespace(IdentityNamespace.class, baseIdentity); - InferenceException.throwIfNull(stmtCtx, stmt.getStatementSourceReference(), + InferenceException.throwIfNull(stmtCtx, stmt.sourceReference(), "Referenced base identity '%s' doesn't exist in given scope (module, imported modules, submodules)", baseIdentity.getLocalName()); } @@ -68,7 +68,7 @@ abstract class AbstractIdentityRefSpecificationSupport @Override protected final IdentityRefSpecification createEmptyDeclared( final StmtContext ctx) { - throw noBase(ctx.getStatementSourceReference()); + throw noBase(ctx); } @Override @@ -76,7 +76,7 @@ abstract class AbstractIdentityRefSpecificationSupport final Current stmt, final ImmutableList> substatements) { if (substatements.isEmpty()) { - throw noBase(stmt.sourceReference()); + throw noBase(stmt); } final IdentityrefTypeBuilder builder = BaseTypes.identityrefTypeBuilder(stmt.getSchemaPath()); @@ -92,7 +92,7 @@ abstract class AbstractIdentityRefSpecificationSupport return new TypeEffectiveStatementImpl<>(stmt.declared(), substatements, builder); } - private static SourceException noBase(final StatementSourceReference ref) { + private static SourceException noBase(final CommonStmtCtx stmt) { /* * https://tools.ietf.org/html/rfc7950#section-9.10.2 * @@ -100,6 +100,6 @@ abstract class AbstractIdentityRefSpecificationSupport * statement, MUST be present at least once if the type is * "identityref". */ - return new SourceException("At least one base statement has to be present", ref); + return new SourceException("At least one base statement has to be present", stmt.sourceReference()); } } \ No newline at end of file diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/AbstractLeafrefSpecificationSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/AbstractLeafrefSpecificationSupport.java index adc474db74..6fdc3b4126 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/AbstractLeafrefSpecificationSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/AbstractLeafrefSpecificationSupport.java @@ -17,10 +17,10 @@ import org.opendaylight.yangtools.yang.model.api.stmt.TypeStatement.LeafrefSpeci import org.opendaylight.yangtools.yang.model.util.type.BaseTypes; import org.opendaylight.yangtools.yang.model.util.type.LeafrefTypeBuilder; import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.BaseStatementSupport; +import org.opendaylight.yangtools.yang.parser.spi.meta.CommonStmtCtx; import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; import org.opendaylight.yangtools.yang.parser.spi.source.SourceException; -import org.opendaylight.yangtools.yang.parser.spi.source.StatementSourceReference; abstract class AbstractLeafrefSpecificationSupport extends BaseStatementSupport> { @@ -41,7 +41,7 @@ abstract class AbstractLeafrefSpecificationSupport @Override protected final LeafrefSpecification createEmptyDeclared(final StmtContext ctx) { - throw noPath(ctx.getStatementSourceReference()); + throw noPath(ctx); } @Override @@ -49,7 +49,7 @@ abstract class AbstractLeafrefSpecificationSupport final Current stmt, final ImmutableList> substatements) { if (substatements.isEmpty()) { - throw noPath(stmt.sourceReference()); + throw noPath(stmt); } final LeafrefTypeBuilder builder = BaseTypes.leafrefTypeBuilder(stmt.getSchemaPath()); @@ -65,13 +65,13 @@ abstract class AbstractLeafrefSpecificationSupport return new TypeEffectiveStatementImpl<>(stmt.declared(), substatements, builder); } - private static SourceException noPath(final StatementSourceReference ref) { + private static SourceException noPath(final CommonStmtCtx stmt) { /* * https://tools.ietf.org/html/rfc7950#section-9.12 * * When the type is "union", the "type" statement (Section 7.4) MUST be * present. */ - return new SourceException("A path statement has to be present", ref); + return new SourceException("A path statement has to be present", stmt.sourceReference()); } } \ No newline at end of file diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/AbstractTypeStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/AbstractTypeStatementSupport.java index ec970f10cb..d4cfade4b7 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/AbstractTypeStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/AbstractTypeStatementSupport.java @@ -190,7 +190,7 @@ abstract class AbstractTypeStatementSupport @Override public void prerequisiteFailed(final Collection> failed) { - InferenceException.throwIf(failed.contains(typePrereq), stmt.getStatementSourceReference(), + InferenceException.throwIf(failed.contains(typePrereq), stmt.sourceReference(), "Type [%s] was not found.", typeQName); } }); @@ -341,9 +341,9 @@ abstract class AbstractTypeStatementSupport return BuiltinEffectiveStatement.UINT64; default: final QName qname = StmtContextUtils.parseNodeIdentifier(ctx.caerbannog(), argument); - final StmtContext typedef = - SourceException.throwIfNull(ctx.getFromNamespace(TypeNamespace.class, qname), - ctx.sourceReference(), "Type '%s' not found", qname); + final StmtContext typedef = SourceException.throwIfNull( + ctx.getFromNamespace(TypeNamespace.class, qname), ctx.sourceReference(), + "Type '%s' not found", qname); return typedef.buildEffective().asTypeEffectiveStatement(); } } @@ -477,8 +477,7 @@ abstract class AbstractTypeStatementSupport try { return new TypeEffectiveStatementImpl<>(declared, substatements, builder); } catch (InvalidRangeConstraintException e) { - throw new SourceException(ctx.sourceReference(), e, "Invalid range constraint: %s", - e.getOffendingRanges()); + throw new SourceException(ctx.sourceReference(), e, "Invalid range constraint: %s", e.getOffendingRanges()); } } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/BitsSpecificationSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/BitsSpecificationSupport.java index 3743381c7b..71cf68009e 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/BitsSpecificationSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/BitsSpecificationSupport.java @@ -19,11 +19,11 @@ import org.opendaylight.yangtools.yang.model.api.type.BitsTypeDefinition.Bit; import org.opendaylight.yangtools.yang.model.util.type.BaseTypes; import org.opendaylight.yangtools.yang.model.util.type.BitsTypeBuilder; import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.BaseStatementSupport; +import org.opendaylight.yangtools.yang.parser.spi.meta.CommonStmtCtx; import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; import org.opendaylight.yangtools.yang.parser.spi.meta.SubstatementValidator; import org.opendaylight.yangtools.yang.parser.spi.source.SourceException; -import org.opendaylight.yangtools.yang.parser.spi.source.StatementSourceReference; final class BitsSpecificationSupport extends BaseStatementSupport> { @@ -54,7 +54,7 @@ final class BitsSpecificationSupport @Override protected BitsSpecification createEmptyDeclared(final StmtContext ctx) { - throw noBits(ctx.getStatementSourceReference()); + throw noBits(ctx); } @Override @@ -62,7 +62,7 @@ final class BitsSpecificationSupport final Current stmt, final ImmutableList> substatements) { if (substatements.isEmpty()) { - throw noBits(stmt.sourceReference()); + throw noBits(stmt); } final BitsTypeBuilder builder = BaseTypes.bitsTypeBuilder(stmt.getSchemaPath()); @@ -97,13 +97,13 @@ final class BitsSpecificationSupport return new TypeEffectiveStatementImpl<>(stmt.declared(), substatements, builder); } - private static SourceException noBits(final StatementSourceReference ref) { + private static SourceException noBits(final CommonStmtCtx stmt) { /* * https://tools.ietf.org/html/rfc7950#section-9.7.4: * * The "bit" statement, which is a substatement to the "type" statement, * MUST be present if the type is "bits". */ - return new SourceException("At least one bit statement has to be present", ref); + return new SourceException("At least one bit statement has to be present", stmt.sourceReference()); } } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/Decimal64SpecificationSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/Decimal64SpecificationSupport.java index 352a4cbb84..e40f70356b 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/Decimal64SpecificationSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/Decimal64SpecificationSupport.java @@ -17,11 +17,11 @@ import org.opendaylight.yangtools.yang.model.api.stmt.TypeStatement.Decimal64Spe import org.opendaylight.yangtools.yang.model.util.type.BaseTypes; import org.opendaylight.yangtools.yang.model.util.type.DecimalTypeBuilder; import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.BaseStatementSupport; +import org.opendaylight.yangtools.yang.parser.spi.meta.CommonStmtCtx; import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; import org.opendaylight.yangtools.yang.parser.spi.meta.SubstatementValidator; import org.opendaylight.yangtools.yang.parser.spi.source.SourceException; -import org.opendaylight.yangtools.yang.parser.spi.source.StatementSourceReference; final class Decimal64SpecificationSupport extends BaseStatementSupport> { @@ -53,7 +53,7 @@ final class Decimal64SpecificationSupport extends BaseStatementSupport ctx) { - throw noFracDigits(ctx.getStatementSourceReference()); + throw noFracDigits(ctx); } @Override @@ -61,7 +61,7 @@ final class Decimal64SpecificationSupport extends BaseStatementSupport stmt, final ImmutableList> substatements) { if (substatements.isEmpty()) { - throw noFracDigits(stmt.sourceReference()); + throw noFracDigits(stmt); } final DecimalTypeBuilder builder = BaseTypes.decimalTypeBuilder(stmt.getSchemaPath()); @@ -78,13 +78,13 @@ final class Decimal64SpecificationSupport extends BaseStatementSupport(stmt.declared(), substatements, builder); } - private static SourceException noFracDigits(final StatementSourceReference ref) { + private static SourceException noFracDigits(final CommonStmtCtx stmt) { /* * https://tools.ietf.org/html/rfc7950#section-9.3.4 * * The "fraction-digits" statement, which is a substatement to the * "type" statement, MUST be present if the type is "decimal64". */ - return new SourceException("At least one fraction-digits statement has to be present", ref); + return new SourceException("At least one fraction-digits statement has to be present", stmt.sourceReference()); } } \ No newline at end of file diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/EnumSpecificationSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/EnumSpecificationSupport.java index 0cf62859e1..e957feacd6 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/EnumSpecificationSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/EnumSpecificationSupport.java @@ -19,11 +19,11 @@ import org.opendaylight.yangtools.yang.model.api.type.EnumTypeDefinition.EnumPai import org.opendaylight.yangtools.yang.model.util.type.BaseTypes; import org.opendaylight.yangtools.yang.model.util.type.EnumerationTypeBuilder; import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.BaseStatementSupport; +import org.opendaylight.yangtools.yang.parser.spi.meta.CommonStmtCtx; import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; import org.opendaylight.yangtools.yang.parser.spi.meta.SubstatementValidator; import org.opendaylight.yangtools.yang.parser.spi.source.SourceException; -import org.opendaylight.yangtools.yang.parser.spi.source.StatementSourceReference; final class EnumSpecificationSupport extends BaseStatementSupport> { @@ -52,7 +52,7 @@ final class EnumSpecificationSupport @Override protected EnumSpecification createEmptyDeclared(final StmtContext ctx) { - throw noEnum(ctx.getStatementSourceReference()); + throw noEnum(ctx); } @Override @@ -60,7 +60,7 @@ final class EnumSpecificationSupport final Current stmt, final ImmutableList> substatements) { if (substatements.isEmpty()) { - throw noEnum(stmt.sourceReference()); + throw noEnum(stmt); } final EnumerationTypeBuilder builder = BaseTypes.enumerationTypeBuilder(stmt.getSchemaPath()); @@ -96,14 +96,14 @@ final class EnumSpecificationSupport return new TypeEffectiveStatementImpl<>(stmt.declared(), substatements, builder); } - private static SourceException noEnum(final StatementSourceReference ref) { + private static SourceException noEnum(final CommonStmtCtx stmt) { /* * https://tools.ietf.org/html/rfc7950#section-9.6.4 * * The "enum" statement, which is a substatement to the "type" * statement, MUST be present if the type is "enumeration". */ - return new SourceException("At least one enum statement has to be present", ref); + return new SourceException("At least one enum statement has to be present", stmt.sourceReference()); } } \ No newline at end of file diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/UnionSpecificationSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/UnionSpecificationSupport.java index 9f069355b4..6504bbd131 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/UnionSpecificationSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/UnionSpecificationSupport.java @@ -17,11 +17,11 @@ import org.opendaylight.yangtools.yang.model.api.stmt.TypeStatement.UnionSpecifi import org.opendaylight.yangtools.yang.model.util.type.BaseTypes; import org.opendaylight.yangtools.yang.model.util.type.UnionTypeBuilder; import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.BaseStatementSupport; +import org.opendaylight.yangtools.yang.parser.spi.meta.CommonStmtCtx; import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; import org.opendaylight.yangtools.yang.parser.spi.meta.SubstatementValidator; import org.opendaylight.yangtools.yang.parser.spi.source.SourceException; -import org.opendaylight.yangtools.yang.parser.spi.source.StatementSourceReference; final class UnionSpecificationSupport extends BaseStatementSupport> { @@ -52,7 +52,7 @@ final class UnionSpecificationSupport @Override protected UnionSpecification createEmptyDeclared(final StmtContext ctx) { - throw noType(ctx.getStatementSourceReference()); + throw noType(ctx); } @Override @@ -60,7 +60,7 @@ final class UnionSpecificationSupport final Current stmt, final ImmutableList> substatements) { if (substatements.isEmpty()) { - throw noType(stmt.sourceReference()); + throw noType(stmt); } final UnionTypeBuilder builder = BaseTypes.unionTypeBuilder(stmt.getSchemaPath()); @@ -74,13 +74,13 @@ final class UnionSpecificationSupport return new TypeEffectiveStatementImpl<>(stmt.declared(), substatements, builder); } - private static SourceException noType(final @NonNull StatementSourceReference ref) { + private static SourceException noType(final @NonNull CommonStmtCtx stmt) { /* * https://tools.ietf.org/html/rfc7950#section-9.12 * * When the type is "union", the "type" statement (Section 7.4) MUST be * present. */ - return new SourceException("At least one type statement has to be present", ref); + return new SourceException("At least one type statement has to be present", stmt.sourceReference()); } } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/typedef/TypedefStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/typedef/TypedefStatementSupport.java index 51a2cab813..a084a5ac1a 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/typedef/TypedefStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/typedef/TypedefStatementSupport.java @@ -112,8 +112,7 @@ public final class TypedefStatementSupport extends final QName arg = stmt.coerceStatementArgument(); final StmtContext existing = parent.getFromNamespace(TypeNamespace.class, arg); // RFC7950 sections 5.5 and 6.2.1: identifiers must not be shadowed - SourceException.throwIf(existing != null, stmt.getStatementSourceReference(), "Duplicate name for typedef %s", - arg); + SourceException.throwIf(existing != null, stmt.sourceReference(), "Duplicate name for typedef %s", arg); } private static void checkDeclared(final StmtContext ctx) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/unique/UniqueStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/unique/UniqueStatementSupport.java index 4a68c8b97e..5e6763204a 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/unique/UniqueStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/unique/UniqueStatementSupport.java @@ -55,9 +55,9 @@ public final class UniqueStatementSupport @Override public ImmutableSet parseArgumentValue(final StmtContext ctx, final String value) { final ImmutableSet uniqueConstraints = parseUniqueConstraintArgument(ctx, value); - SourceException.throwIf(uniqueConstraints.isEmpty(), ctx.getStatementSourceReference(), - "Invalid argument value '%s' of unique statement. The value must contains at least " - + "one descendant schema node identifier.", value); + SourceException.throwIf(uniqueConstraints.isEmpty(), ctx.sourceReference(), + "Invalid argument value '%s' of unique statement. The value must contains at least one descendant schema " + + "node identifier.", value); return uniqueConstraints; } @@ -94,9 +94,9 @@ public final class UniqueStatementSupport final Set uniqueConstraintNodes = new HashSet<>(); for (final String uniqueArgToken : SEP_SPLITTER.split(nocrlf)) { final SchemaNodeIdentifier nodeIdentifier = ArgumentUtils.nodeIdentifierFromPath(ctx, uniqueArgToken); - SourceException.throwIf(nodeIdentifier instanceof Absolute, ctx.getStatementSourceReference(), - "Unique statement argument '%s' contains schema node identifier '%s' " - + "which is not in the descendant node identifier form.", argumentValue, uniqueArgToken); + SourceException.throwIf(nodeIdentifier instanceof Absolute, ctx.sourceReference(), + "Unique statement argument '%s' contains schema node identifier '%s' which is not in the descendant " + + "node identifier form.", argumentValue, uniqueArgToken); uniqueConstraintNodes.add((Descendant) nodeIdentifier); } return ImmutableSet.copyOf(uniqueConstraintNodes); diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/uses/UsesStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/uses/UsesStatementSupport.java index 96dac6261b..a3259f1d0d 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/uses/UsesStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/uses/UsesStatementSupport.java @@ -117,9 +117,9 @@ public final class UsesStatementSupport @Override public void prerequisiteFailed(final Collection> failed) { - InferenceException.throwIf(failed.contains(sourceGroupingPre), - usesNode.getStatementSourceReference(), "Grouping '%s' was not resolved.", groupingName); - throw new InferenceException("Unknown error occurred.", usesNode.getStatementSourceReference()); + InferenceException.throwIf(failed.contains(sourceGroupingPre), usesNode.sourceReference(), + "Grouping '%s' was not resolved.", groupingName); + throw new InferenceException("Unknown error occurred.", usesNode.sourceReference()); } }); } @@ -293,13 +293,12 @@ public final class UsesStatementSupport private static void performRefine(final Mutable subStmtCtx, final StmtContext usesParentCtx) { final Object refineArgument = subStmtCtx.getStatementArgument(); - InferenceException.throwIf(!(refineArgument instanceof SchemaNodeIdentifier), - subStmtCtx.getStatementSourceReference(), + InferenceException.throwIf(!(refineArgument instanceof SchemaNodeIdentifier), subStmtCtx.sourceReference(), "Invalid refine argument %s. It must be instance of SchemaNodeIdentifier.", refineArgument); final Optional> optRefineTargetCtx = SchemaTreeNamespace.findNode( usesParentCtx, (SchemaNodeIdentifier) refineArgument); - InferenceException.throwIf(!optRefineTargetCtx.isPresent(), subStmtCtx.getStatementSourceReference(), + InferenceException.throwIf(!optRefineTargetCtx.isPresent(), subStmtCtx.sourceReference(), "Refine target node %s not found.", refineArgument); final StmtContext refineTargetNodeCtx = optRefineTargetCtx.get(); @@ -307,7 +306,7 @@ public final class UsesStatementSupport LOG.trace("Refine node '{}' in uses '{}' has target node unknown statement '{}'. " + "Refine has been skipped. At line: {}", subStmtCtx.getStatementArgument(), subStmtCtx.coerceParentContext().getStatementArgument(), - refineTargetNodeCtx.getStatementArgument(), subStmtCtx.getStatementSourceReference()); + refineTargetNodeCtx.getStatementArgument(), subStmtCtx.sourceReference()); subStmtCtx.addAsEffectOfStatement(refineTargetNodeCtx); return; } @@ -332,10 +331,9 @@ public final class UsesStatementSupport final StatementDefinition refineSubstatementDef = refineSubstatementCtx.publicDefinition(); SourceException.throwIf(!isSupportedRefineTarget(refineSubstatementCtx, refineTargetNodeCtx), - refineSubstatementCtx.getStatementSourceReference(), + refineSubstatementCtx.sourceReference(), "Error in module '%s' in the refine of uses '%s': can not perform refine of '%s' for the target '%s'.", - refineSubstatementCtx.getRoot().rawStatementArgument(), - refineSubstatementCtx.coerceParentContext().getStatementArgument(), + refineSubstatementCtx.getRoot().rawArgument(), refineSubstatementCtx.coerceParentContext().argument(), refineSubstatementCtx.publicDefinition(), refineTargetNodeCtx.publicDefinition()); if (isAllowedToAddByRefine(refineSubstatementDef)) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/value/ValueStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/value/ValueStatementSupport.java index 2819873d82..b3d360634c 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/value/ValueStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/value/ValueStatementSupport.java @@ -38,7 +38,7 @@ public final class ValueStatementSupport try { return Integer.valueOf(value); } catch (NumberFormatException e) { - throw new SourceException(ctx.getStatementSourceReference(), e, + throw new SourceException(ctx.sourceReference(), e, "%s is not valid value statement integer argument in a range of -2147483648..2147483647", value); } } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/yang_version/YangVersionStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/yang_version/YangVersionStatementSupport.java index 3a938d7934..0bb4f23ea1 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/yang_version/YangVersionStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/yang_version/YangVersionStatementSupport.java @@ -48,8 +48,8 @@ public final class YangVersionStatementSupport @Override public YangVersion parseArgumentValue(final StmtContext ctx, final String value) { - return SourceException.unwrap(YangVersion.parse(value), ctx.getStatementSourceReference(), - "Unsupported YANG version %s", value); + return SourceException.unwrap(YangVersion.parse(value), ctx.sourceReference(), "Unsupported YANG version %s", + value); } @Override diff --git a/yang/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/path/PathExpressionParserTest.java b/yang/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/path/PathExpressionParserTest.java index 1bdcafff01..2fa82376b1 100644 --- a/yang/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/path/PathExpressionParserTest.java +++ b/yang/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/path/PathExpressionParserTest.java @@ -52,7 +52,7 @@ public class PathExpressionParserTest { @Before public void before() { - doReturn(ref).when(ctx).getStatementSourceReference(); + doReturn(ref).when(ctx).sourceReference(); } @Test diff --git a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/SchemaTreeNamespace.java b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/SchemaTreeNamespace.java index 793bc39511..28a5dfc788 100644 --- a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/SchemaTreeNamespace.java +++ b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/SchemaTreeNamespace.java @@ -85,17 +85,16 @@ public final class SchemaTreeNamespace, return null; } - @SuppressWarnings("unchecked") @Override + @SuppressWarnings("unchecked") public void addTo(final NamespaceStorageNode storage, final QName key, final StmtContext value) { final StmtContext prev = globalOrStatementSpecific(storage).putToLocalStorageIfAbsent( SchemaTreeNamespace.class, key, value); if (prev != null) { - throw new SourceException(value.getStatementSourceReference(), + throw new SourceException(value.sourceReference(), "Error in module '%s': cannot add '%s'. Node name collision: '%s' already declared at %s", - value.getRoot().rawStatementArgument(), key, prev.getStatementArgument(), - prev.getStatementSourceReference()); + value.getRoot().rawArgument(), key, prev.argument(), prev.sourceReference()); } } @@ -141,7 +140,7 @@ public final class SchemaTreeNamespace, final Collection> unknownSubstatements = StmtContextUtils.findAllSubstatements( current, UnknownStatement.class); for (final StmtContext unknownSubstatement : unknownSubstatements) { - if (localName.equals(unknownSubstatement.rawStatementArgument())) { + if (localName.equals(unknownSubstatement.rawArgument())) { return unknownSubstatement; } } diff --git a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/AbstractDeclaredStatement.java b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/AbstractDeclaredStatement.java index 1db723c641..d2128d199c 100644 --- a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/AbstractDeclaredStatement.java +++ b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/AbstractDeclaredStatement.java @@ -30,7 +30,7 @@ public abstract class AbstractDeclaredStatement implements DeclaredStatement< private final String rawArgument; protected AbstractDeclaredStatement(final StmtContext context) { - rawArgument = context.rawStatementArgument(); + rawArgument = context.rawArgument(); argument = context.argument(); source = context.source(); definition = context.publicDefinition(); diff --git a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/StmtContext.java b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/StmtContext.java index b9372e0fc0..e96b8530c3 100644 --- a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/StmtContext.java +++ b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/StmtContext.java @@ -48,7 +48,7 @@ public interface StmtContext, E extends Effect return source(); } - // TODO: gradually migrate callers of this method + @Deprecated(forRemoval = true) default @NonNull StatementSourceReference getStatementSourceReference() { return sourceReference(); } @@ -57,8 +57,9 @@ public interface StmtContext, E extends Effect * Return the statement argument in literal format. * * @return raw statement argument string, or null if this statement does not have an argument. + * @deprecated Use {@link #rawArgument()} instead. */ - // TODO: gradually migrate callers of this method + @Deprecated(forRemoval = true) default @Nullable String rawStatementArgument() { return rawArgument(); } diff --git a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/StmtContextUtils.java b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/StmtContextUtils.java index 1262a3e6ab..f5fde6a803 100644 --- a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/StmtContextUtils.java +++ b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/StmtContextUtils.java @@ -453,7 +453,7 @@ public final class StmtContextUtils { leafStmtCtx.allSubstatements().forEach(leafSubstmtCtx -> { final StatementDefinition statementDef = leafSubstmtCtx.publicDefinition(); SourceException.throwIf(YangStmtMapping.IF_FEATURE.equals(statementDef) - || YangStmtMapping.WHEN.equals(statementDef), leafStmtCtx.getStatementSourceReference(), + || YangStmtMapping.WHEN.equals(statementDef), leafStmtCtx.sourceReference(), "%s statement is not allowed in %s leaf statement which is specified as a list key.", statementDef.getStatementName(), leafStmtCtx.getStatementArgument()); }); @@ -489,8 +489,7 @@ public final class StmtContextUtils { } } - return internedQName(ctx, - InferenceException.throwIfNull(qnameModule, ctx.getStatementSourceReference(), + return internedQName(ctx, InferenceException.throwIfNull(qnameModule, ctx.sourceReference(), "Cannot resolve QNameModule for '%s'", value), localName); } @@ -504,15 +503,14 @@ public final class StmtContextUtils { * @throws SourceException if the string is not a valid YANG identifier */ public static QName parseIdentifier(final StmtContext ctx, final String str) { - SourceException.throwIf(str.isEmpty(), ctx.getStatementSourceReference(), - "Identifier may not be an empty string"); + SourceException.throwIf(str.isEmpty(), ctx.sourceReference(), "Identifier may not be an empty string"); return internedQName(ctx, str); } public static QName parseNodeIdentifier(final StmtContext ctx, final String prefix, final String localName) { return internedQName(ctx, - InferenceException.throwIfNull(getModuleQNameByPrefix(ctx, prefix), ctx.getStatementSourceReference(), + InferenceException.throwIfNull(getModuleQNameByPrefix(ctx, prefix), ctx.sourceReference(), "Cannot resolve QNameModule for '%s'", prefix), localName); } @@ -527,8 +525,7 @@ public final class StmtContextUtils { * @throws SourceException if the string is not a valid YANG node identifier */ public static QName parseNodeIdentifier(final StmtContext ctx, final String str) { - SourceException.throwIf(str.isEmpty(), ctx.getStatementSourceReference(), - "Node identifier may not be an empty string"); + SourceException.throwIf(str.isEmpty(), ctx.sourceReference(), "Node identifier may not be an empty string"); final int colon = str.indexOf(':'); if (colon == -1) { @@ -536,11 +533,9 @@ public final class StmtContextUtils { } final String prefix = str.substring(0, colon); - SourceException.throwIf(prefix.isEmpty(), ctx.getStatementSourceReference(), - "String '%s' has an empty prefix", str); + SourceException.throwIf(prefix.isEmpty(), ctx.sourceReference(), "String '%s' has an empty prefix", str); final String localName = str.substring(colon + 1); - SourceException.throwIf(localName.isEmpty(), ctx.getStatementSourceReference(), - "String '%s' has an empty identifier", str); + SourceException.throwIf(localName.isEmpty(), ctx.sourceReference(), "String '%s' has an empty identifier", str); return parseNodeIdentifier(ctx, prefix, localName); } @@ -555,7 +550,7 @@ public final class StmtContextUtils { try { template = QName.create(module, localName); } catch (IllegalArgumentException e) { - throw new SourceException(ctx.getStatementSourceReference(), e, "Invalid identifier '%s'", localName); + throw new SourceException(ctx.sourceReference(), e, "Invalid identifier '%s'", localName); } return template.intern(); } diff --git a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/SubstatementValidator.java b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/SubstatementValidator.java index df38887232..d80c428c37 100644 --- a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/SubstatementValidator.java +++ b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/SubstatementValidator.java @@ -130,10 +130,10 @@ public final class SubstatementValidator { if (cardinality == null) { if (ctx.getFromNamespace(ExtensionNamespace.class, key.getStatementName()) == null) { - throw new InvalidSubstatementException(ctx.getStatementSourceReference(), - "%s is not valid for %s. Error in module %s (%s)", key, currentStatement, - ctx.getRoot().rawStatementArgument(), - ctx.getFromNamespace(ModuleCtxToModuleQName.class, ctx.getRoot())); + final StmtContext root = ctx.getRoot(); + throw new InvalidSubstatementException(ctx.sourceReference(), + "%s is not valid for %s. Error in module %s (%s)", key, currentStatement, root.rawArgument(), + ctx.getFromNamespace(ModuleCtxToModuleQName.class, root)); } continue; @@ -141,20 +141,22 @@ public final class SubstatementValidator { if (cardinality.getMin() > 0) { if (cardinality.getMin() > value) { - throw new InvalidSubstatementException(ctx.getStatementSourceReference(), + final StmtContext root = ctx.getRoot(); + throw new InvalidSubstatementException(ctx.sourceReference(), "Minimal count of %s for %s is %s, detected %s. Error in module %s (%s)", key, currentStatement, - cardinality.getMin(), value, ctx.getRoot().rawStatementArgument(), - ctx.getFromNamespace(ModuleCtxToModuleQName.class, ctx.getRoot())); + cardinality.getMin(), value, root.rawArgument(), + ctx.getFromNamespace(ModuleCtxToModuleQName.class, root)); } // Encountered a mandatory statement, hence we are not missing it missingMandatory.remove(key); } if (cardinality.getMax() < value) { - throw new InvalidSubstatementException(ctx.getStatementSourceReference(), + final StmtContext root = ctx.getRoot(); + throw new InvalidSubstatementException(ctx.sourceReference(), "Maximal count of %s for %s is %s, detected %s. Error in module %s (%s)", key, currentStatement, - cardinality.getMax(), value, ctx.getRoot().rawStatementArgument(), - ctx.getFromNamespace(ModuleCtxToModuleQName.class, ctx.getRoot())); + cardinality.getMax(), value, root.rawArgument(), + ctx.getFromNamespace(ModuleCtxToModuleQName.class, root)); } } @@ -163,10 +165,9 @@ public final class SubstatementValidator { final Entry e = missingMandatory.entrySet().iterator().next(); final StmtContext root = ctx.getRoot(); - throw new MissingSubstatementException(ctx.getStatementSourceReference(), + throw new MissingSubstatementException(ctx.sourceReference(), "%s is missing %s. Minimal count is %s. Error in module %s (%s)", currentStatement, e.getKey(), - e.getValue().getMin(), root.rawStatementArgument(), ctx.getFromNamespace(ModuleCtxToModuleQName.class, - root)); + e.getValue().getMin(), root.rawArgument(), ctx.getFromNamespace(ModuleCtxToModuleQName.class, root)); } } -- 2.36.6