From d88ea8ef6510feb03c53431975c21320d1bf296b Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Thu, 2 Nov 2017 10:26:51 +0100 Subject: [PATCH] Eliminate IdentityStatement.getBase() RFC7950 metamodel indicates an identity can have multiple base identities -- remove the singular getBase() in favor of getBases(). Change-Id: I145832a69d16d09af19849eeba3e6334e02ebb7d Signed-off-by: Robert Varga --- .../yang/model/api/stmt/IdentityStatement.java | 17 +++-------------- .../yang/model/api/stmt/TypeStatement.java | 10 ---------- .../rfc6020/IdentityRefSpecificationImpl.java | 6 ------ .../stmt/rfc6020/IdentityStatementImpl.java | 5 ----- .../yang/stmt/DeclaredStatementsTest.java | 2 +- 5 files changed, 4 insertions(+), 36 deletions(-) diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/IdentityStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/IdentityStatement.java index f94506306b..2d260b89d5 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/IdentityStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/IdentityStatement.java @@ -7,10 +7,8 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; -import com.google.common.collect.ImmutableList; import java.util.Collection; import javax.annotation.Nonnull; -import javax.annotation.Nullable; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; @@ -19,18 +17,9 @@ public interface IdentityStatement extends DeclaredStatement, Documentati @Nonnull QName getName(); /** - * Returns the base identity. - * @deprecated use {@link #getBases()} instead + * Returns the base identities of this identity. * - * @return base statement + * @return base identities, empty if there are none. */ - @Deprecated - @Nullable - BaseStatement getBase(); - - // FIXME: version 2.0.0: make this method non-default - @Nonnull default Collection getBases() { - final BaseStatement base = getBase(); - return base == null ? ImmutableList.of() : ImmutableList.of(base); - } + @Nonnull Collection getBases(); } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/TypeStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/TypeStatement.java index 7d18f8f40c..d11b04f629 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/TypeStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/TypeStatement.java @@ -72,16 +72,6 @@ public interface TypeStatement extends DeclaredStatement { @Rfc6020AbnfRule("identityref-specification") interface IdentityRefSpecification extends TypeStatement { - - /** - * Returns the base identity. - * @deprecated use {@link #getBases()} instead - * - * @return base statement - */ - @Deprecated - @Nonnull BaseStatement getBase(); - /** * Returns the base statements. * diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/IdentityRefSpecificationImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/IdentityRefSpecificationImpl.java index 4c9d85f495..2509363a29 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/IdentityRefSpecificationImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/IdentityRefSpecificationImpl.java @@ -87,12 +87,6 @@ public class IdentityRefSpecificationImpl extends AbstractDeclaredStatement getBases() { diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/IdentityStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/IdentityStatementImpl.java index 86066ea033..24f77d668e 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/IdentityStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/IdentityStatementImpl.java @@ -95,11 +95,6 @@ public class IdentityStatementImpl extends AbstractDeclaredStatement impl return firstDeclared(ReferenceStatement.class); } - @Override - public BaseStatement getBase() { - return firstDeclared(BaseStatement.class); - } - @Nonnull @Override public Collection getBases() { diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/DeclaredStatementsTest.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/DeclaredStatementsTest.java index c59d212bfb..d899619ab0 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/DeclaredStatementsTest.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/DeclaredStatementsTest.java @@ -352,7 +352,7 @@ public class DeclaredStatementsTest { } } - assertEquals("test-base-id", identityStatement.getBase().getName().getLocalName()); + assertEquals("test-base-id", identityStatement.getBases().iterator().next().getName().getLocalName()); assertEquals(Status.CURRENT, identityStatement.getStatus().getValue()); assertEquals("test description", identityStatement.getDescription().getText()); assertEquals("test reference", identityStatement.getReference().getText()); -- 2.36.6