From 930348062e93fff026e515cd634e38beb6cde06a Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Fri, 3 Jul 2020 00:13:53 +0200 Subject: [PATCH] Remove {Numerical,String}RestrictionsImpl As noted during previous migration, these classesalong with their support is unused. Furthermore NumericalRestrictions is mis-declared. Remove the implementation and drop a FIXME for next major version, so that we at least fix the definition or decide its overall future. Note this concept is probably useful, as it gates towards tasks which are currently done by AbstractTypeStatementSupport and those could be split out if we rework interactions with simple built-in types. JIRA: YANGTOOLS-1065 Change-Id: Ief43d59dbc541b094ca80e39382f8c0c8767bac2 Signed-off-by: Robert Varga --- .../yang/model/api/stmt/TypeStatement.java | 4 +- ...mericalRestrictionsEffectiveStatement.java | 21 -------- .../stmt/type/NumericalRestrictionsImpl.java | 19 ------- .../type/NumericalRestrictionsSupport.java | 50 ------------------- .../StringRestrictionsEffectiveStatement.java | 20 -------- .../stmt/type/StringRestrictionsImpl.java | 20 -------- .../stmt/type/StringRestrictionsSupport.java | 50 ------------------- 7 files changed, 3 insertions(+), 181 deletions(-) delete mode 100644 yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/NumericalRestrictionsEffectiveStatement.java delete mode 100644 yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/NumericalRestrictionsImpl.java delete mode 100644 yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/NumericalRestrictionsSupport.java delete mode 100644 yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/StringRestrictionsEffectiveStatement.java delete mode 100644 yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/StringRestrictionsImpl.java delete mode 100644 yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/StringRestrictionsSupport.java 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 02d5c81b4b..8aaf3ae0ef 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 @@ -30,8 +30,9 @@ public interface TypeStatement extends DeclaredStatement { } @Rfc6020AbnfRule("numerical-restrictions") + // FIXME: 6.0.0: this interface does not have an implementation interface NumericalRestrictions extends TypeStatement { - + // FIXME: 6.0.0: this is not accurate, 'range' is an optional statement default @NonNull RangeStatement getRange() { return findFirstDeclaredSubstatement(RangeStatement.class).get(); } @@ -50,6 +51,7 @@ public interface TypeStatement extends DeclaredStatement { } @Rfc6020AbnfRule("string-restrictions") + // FIXME: 6.0.0: this interface does not have an implementation interface StringRestrictions extends TypeStatement { default @Nullable LengthStatement getLength() { final Optional opt = findFirstDeclaredSubstatement(LengthStatement.class); diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/NumericalRestrictionsEffectiveStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/NumericalRestrictionsEffectiveStatement.java deleted file mode 100644 index f81d370e39..0000000000 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/NumericalRestrictionsEffectiveStatement.java +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.type; - -import org.opendaylight.yangtools.yang.model.api.stmt.TypeStatement.NumericalRestrictions; -import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.DeclaredEffectiveStatementBase; -import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; - -// FIXME: this class is not used anywhere, decide its future -final class NumericalRestrictionsEffectiveStatement - extends DeclaredEffectiveStatementBase { - - NumericalRestrictionsEffectiveStatement(final StmtContext ctx) { - super(ctx); - } -} diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/NumericalRestrictionsImpl.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/NumericalRestrictionsImpl.java deleted file mode 100644 index 5de2822be7..0000000000 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/NumericalRestrictionsImpl.java +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.type; - -import org.opendaylight.yangtools.yang.model.api.stmt.TypeStatement.NumericalRestrictions; -import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractDeclaredStatement; -import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; - -// FIXME: this class is not used anywhere, decide its future -final class NumericalRestrictionsImpl extends AbstractDeclaredStatement implements NumericalRestrictions { - NumericalRestrictionsImpl(final StmtContext context) { - super(context); - } -} diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/NumericalRestrictionsSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/NumericalRestrictionsSupport.java deleted file mode 100644 index cc63247725..0000000000 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/NumericalRestrictionsSupport.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright (c) 2017 Pantheon Technologies, s.r.o. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.type; - -import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; -import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; -import org.opendaylight.yangtools.yang.model.api.stmt.TypeStatement.NumericalRestrictions; -import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport; -import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; -import org.opendaylight.yangtools.yang.parser.spi.meta.SubstatementValidator; - -// FIXME: this class is not used anywhere, decide its future -final class NumericalRestrictionsSupport extends - AbstractStatementSupport> { - private static final SubstatementValidator SUBSTATEMENT_VALIDATOR = SubstatementValidator.builder(YangStmtMapping - .TYPE) - .addMandatory(YangStmtMapping.RANGE) - .build(); - - NumericalRestrictionsSupport() { - super(YangStmtMapping.TYPE); - } - - @Override - public String parseArgumentValue(final StmtContext ctx, final String value) { - return value; - } - - @Override - public NumericalRestrictions createDeclared(final StmtContext ctx) { - return new NumericalRestrictionsImpl(ctx); - } - - @Override - public EffectiveStatement createEffective( - final StmtContext> ctx) { - return new NumericalRestrictionsEffectiveStatement(ctx); - } - - @Override - protected SubstatementValidator getSubstatementValidator() { - return SUBSTATEMENT_VALIDATOR; - } -} \ No newline at end of file diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/StringRestrictionsEffectiveStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/StringRestrictionsEffectiveStatement.java deleted file mode 100644 index eba180ef4e..0000000000 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/StringRestrictionsEffectiveStatement.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.type; - -import org.opendaylight.yangtools.yang.model.api.stmt.TypeStatement.StringRestrictions; -import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.DeclaredEffectiveStatementBase; -import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; - -// FIXME: this class is not used anywhere, decide its future -final class StringRestrictionsEffectiveStatement - extends DeclaredEffectiveStatementBase { - StringRestrictionsEffectiveStatement(final StmtContext ctx) { - super(ctx); - } -} diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/StringRestrictionsImpl.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/StringRestrictionsImpl.java deleted file mode 100644 index ef749e45e7..0000000000 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/StringRestrictionsImpl.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.type; - -import org.opendaylight.yangtools.yang.model.api.stmt.TypeStatement; -import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractDeclaredStatement; -import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; - -// FIXME: this class is not used anywhere, decide its future -final class StringRestrictionsImpl extends AbstractDeclaredStatement implements - TypeStatement.StringRestrictions { - StringRestrictionsImpl(final StmtContext context) { - super(context); - } -} diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/StringRestrictionsSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/StringRestrictionsSupport.java deleted file mode 100644 index 15f676177e..0000000000 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/StringRestrictionsSupport.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright (c) 2017 Pantheon Technologies, s.r.o. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.type; - -import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; -import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; -import org.opendaylight.yangtools.yang.model.api.stmt.TypeStatement.StringRestrictions; -import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport; -import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; -import org.opendaylight.yangtools.yang.parser.spi.meta.SubstatementValidator; - -//FIXME: this class is not used anywhere, decide its future -final class StringRestrictionsSupport - extends AbstractStatementSupport> { - private static final SubstatementValidator SUBSTATEMENT_VALIDATOR = SubstatementValidator.builder(YangStmtMapping - .TYPE) - .addOptional(YangStmtMapping.LENGTH) - .addAny(YangStmtMapping.PATTERN) - .build(); - - StringRestrictionsSupport() { - super(YangStmtMapping.TYPE); - } - - @Override - public String parseArgumentValue(final StmtContext ctx, final String value) { - return value; - } - - @Override - public StringRestrictions createDeclared(final StmtContext ctx) { - return new StringRestrictionsImpl(ctx); - } - - @Override - public EffectiveStatement createEffective( - final StmtContext> ctx) { - return new StringRestrictionsEffectiveStatement(ctx); - } - - @Override - protected SubstatementValidator getSubstatementValidator() { - return SUBSTATEMENT_VALIDATOR; - } -} \ No newline at end of file -- 2.36.6