From e14d0e0f87afe1e39eb1668e3498021ce31ec5ec Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Tue, 18 Feb 2020 20:55:42 +0100 Subject: [PATCH] Rehost BaseYangTypes These types are closely related to Types and as such are part of the same API group as binding.model.util. Relocating them allows us to lower dependencies on mdsal-binding-generator-impl. JIRA: MDSAL-392 Change-Id: I3ba9097c3194c42d3c8f3f1b3fac521934e7d1cd Signed-off-by: Robert Varga --- binding/mdsal-binding-dom-adapter/pom.xml | 9 +- binding/mdsal-binding-dom-codec-osgi/pom.xml | 7 ++ binding/mdsal-binding-dom-codec/pom.xml | 21 ++-- .../dom/codec/impl/UnionTypeCodec.java | 2 +- .../generator/impl/AbstractTypeGenerator.java | 2 +- .../yang/types/AbstractTypeProvider.java | 1 + .../generator/impl/BaseTypeProvider.java | 2 +- .../generator/impl/ExtendedTypedefTest.java | 2 +- .../generator/util}/BaseYangTypes.java | 2 +- .../generator/util}/BaseYangTypesTest.java | 2 +- .../src/test/resources/base-yang-types.yang | 111 ++++++++++++++++++ binding/mdsal-binding-test-utils/pom.xml | 4 + 12 files changed, 145 insertions(+), 20 deletions(-) rename binding/{mdsal-binding-generator-impl/src/main/java/org/opendaylight/mdsal/binding/yang/types => mdsal-binding-generator-util/src/main/java/org/opendaylight/mdsal/binding/generator/util}/BaseYangTypes.java (99%) rename binding/{mdsal-binding-generator-impl/src/test/java/org/opendaylight/mdsal/binding/yang/types => mdsal-binding-generator-util/src/test/java/org/opendaylight/mdsal/binding/generator/util}/BaseYangTypesTest.java (99%) create mode 100644 binding/mdsal-binding-generator-util/src/test/resources/base-yang-types.yang diff --git a/binding/mdsal-binding-dom-adapter/pom.xml b/binding/mdsal-binding-dom-adapter/pom.xml index 05062b51c7..4e51157998 100644 --- a/binding/mdsal-binding-dom-adapter/pom.xml +++ b/binding/mdsal-binding-dom-adapter/pom.xml @@ -55,10 +55,6 @@ org.opendaylight.mdsal mdsal-dom-spi - - org.opendaylight.mdsal - mdsal-binding-generator-impl - org.opendaylight.mdsal mdsal-binding-dom-codec @@ -85,6 +81,11 @@ yang-parser-impl test + + org.opendaylight.mdsal + mdsal-binding-generator-impl + test + org.opendaylight.mdsal mdsal-binding-test-model diff --git a/binding/mdsal-binding-dom-codec-osgi/pom.xml b/binding/mdsal-binding-dom-codec-osgi/pom.xml index 85287879d1..f33c6fbffc 100644 --- a/binding/mdsal-binding-dom-codec-osgi/pom.xml +++ b/binding/mdsal-binding-dom-codec-osgi/pom.xml @@ -24,6 +24,13 @@ org.opendaylight.mdsal mdsal-binding-dom-codec + + + org.opendaylight.mdsal + mdsal-binding-generator-impl + org.osgi org.osgi.core diff --git a/binding/mdsal-binding-dom-codec/pom.xml b/binding/mdsal-binding-dom-codec/pom.xml index 8570eb216c..71d2e6fd83 100644 --- a/binding/mdsal-binding-dom-codec/pom.xml +++ b/binding/mdsal-binding-dom-codec/pom.xml @@ -31,10 +31,6 @@ byte-buddy 1.10.7 - - org.opendaylight.mdsal - mdsal-binding-generator-impl - org.opendaylight.yangtools yang-data-impl @@ -45,21 +41,26 @@ org.opendaylight.mdsal - mdsal-binding-dom-codec-api + mdsal-binding-generator-util org.opendaylight.mdsal - mdsal-binding-test-model + mdsal-binding-dom-codec-api - - com.google.guava - guava - org.opendaylight.yangtools mockito-configuration + + org.opendaylight.mdsal + mdsal-binding-test-model + + + org.opendaylight.mdsal + mdsal-binding-generator-impl + test + diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/UnionTypeCodec.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/UnionTypeCodec.java index 738b170713..14065cc718 100644 --- a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/UnionTypeCodec.java +++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/UnionTypeCodec.java @@ -12,8 +12,8 @@ import java.lang.reflect.Method; import java.util.LinkedHashSet; import java.util.Set; import java.util.concurrent.Callable; +import org.opendaylight.mdsal.binding.generator.util.BaseYangTypes; import org.opendaylight.mdsal.binding.spec.naming.BindingMapping; -import org.opendaylight.mdsal.binding.yang.types.BaseYangTypes; import org.opendaylight.yangtools.concepts.IllegalArgumentCodec; import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode; import org.opendaylight.yangtools.yang.model.api.Module; diff --git a/binding/mdsal-binding-generator-impl/src/main/java/org/opendaylight/mdsal/binding/generator/impl/AbstractTypeGenerator.java b/binding/mdsal-binding-generator-impl/src/main/java/org/opendaylight/mdsal/binding/generator/impl/AbstractTypeGenerator.java index 5e506a03fd..7ecd4b1604 100644 --- a/binding/mdsal-binding-generator-impl/src/main/java/org/opendaylight/mdsal/binding/generator/impl/AbstractTypeGenerator.java +++ b/binding/mdsal-binding-generator-impl/src/main/java/org/opendaylight/mdsal/binding/generator/impl/AbstractTypeGenerator.java @@ -64,6 +64,7 @@ import java.util.Map; import java.util.Optional; import org.eclipse.jdt.annotation.NonNull; import org.eclipse.jdt.annotation.Nullable; +import org.opendaylight.mdsal.binding.generator.util.BaseYangTypes; import org.opendaylight.mdsal.binding.model.api.AccessModifier; import org.opendaylight.mdsal.binding.model.api.Constant; import org.opendaylight.mdsal.binding.model.api.DefaultType; @@ -87,7 +88,6 @@ import org.opendaylight.mdsal.binding.model.util.TypeConstants; import org.opendaylight.mdsal.binding.model.util.generated.type.builder.GeneratedPropertyBuilderImpl; import org.opendaylight.mdsal.binding.spec.naming.BindingMapping; import org.opendaylight.mdsal.binding.yang.types.AbstractTypeProvider; -import org.opendaylight.mdsal.binding.yang.types.BaseYangTypes; import org.opendaylight.mdsal.binding.yang.types.GroupingDefinitionDependencySort; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.QNameModule; diff --git a/binding/mdsal-binding-generator-impl/src/main/java/org/opendaylight/mdsal/binding/yang/types/AbstractTypeProvider.java b/binding/mdsal-binding-generator-impl/src/main/java/org/opendaylight/mdsal/binding/yang/types/AbstractTypeProvider.java index f2a9373982..e3f5c8ba17 100644 --- a/binding/mdsal-binding-generator-impl/src/main/java/org/opendaylight/mdsal/binding/yang/types/AbstractTypeProvider.java +++ b/binding/mdsal-binding-generator-impl/src/main/java/org/opendaylight/mdsal/binding/yang/types/AbstractTypeProvider.java @@ -34,6 +34,7 @@ import java.util.Set; import java.util.TreeMap; import java.util.regex.Pattern; import org.opendaylight.mdsal.binding.generator.spi.TypeProvider; +import org.opendaylight.mdsal.binding.generator.util.BaseYangTypes; import org.opendaylight.mdsal.binding.model.api.AccessModifier; import org.opendaylight.mdsal.binding.model.api.ConcreteType; import org.opendaylight.mdsal.binding.model.api.Enumeration; diff --git a/binding/mdsal-binding-generator-impl/src/test/java/org/opendaylight/mdsal/binding/generator/impl/BaseTypeProvider.java b/binding/mdsal-binding-generator-impl/src/test/java/org/opendaylight/mdsal/binding/generator/impl/BaseTypeProvider.java index 4af7479d74..afe88544f6 100644 --- a/binding/mdsal-binding-generator-impl/src/test/java/org/opendaylight/mdsal/binding/generator/impl/BaseTypeProvider.java +++ b/binding/mdsal-binding-generator-impl/src/test/java/org/opendaylight/mdsal/binding/generator/impl/BaseTypeProvider.java @@ -11,11 +11,11 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import org.junit.Test; +import org.opendaylight.mdsal.binding.generator.util.BaseYangTypes; import org.opendaylight.mdsal.binding.model.api.ConcreteType; import org.opendaylight.mdsal.binding.model.api.ParameterizedType; import org.opendaylight.mdsal.binding.model.api.Type; import org.opendaylight.mdsal.binding.model.util.Types; -import org.opendaylight.mdsal.binding.yang.types.BaseYangTypes; public class BaseTypeProvider { diff --git a/binding/mdsal-binding-generator-impl/src/test/java/org/opendaylight/mdsal/binding/generator/impl/ExtendedTypedefTest.java b/binding/mdsal-binding-generator-impl/src/test/java/org/opendaylight/mdsal/binding/generator/impl/ExtendedTypedefTest.java index 4b881de377..9102e8d938 100644 --- a/binding/mdsal-binding-generator-impl/src/test/java/org/opendaylight/mdsal/binding/generator/impl/ExtendedTypedefTest.java +++ b/binding/mdsal-binding-generator-impl/src/test/java/org/opendaylight/mdsal/binding/generator/impl/ExtendedTypedefTest.java @@ -14,10 +14,10 @@ import static org.junit.Assert.assertTrue; import java.util.List; import org.junit.Test; +import org.opendaylight.mdsal.binding.generator.util.BaseYangTypes; import org.opendaylight.mdsal.binding.model.api.GeneratedProperty; import org.opendaylight.mdsal.binding.model.api.GeneratedTransferObject; import org.opendaylight.mdsal.binding.model.api.Type; -import org.opendaylight.mdsal.binding.yang.types.BaseYangTypes; import org.opendaylight.yangtools.yang.model.api.SchemaContext; import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils; diff --git a/binding/mdsal-binding-generator-impl/src/main/java/org/opendaylight/mdsal/binding/yang/types/BaseYangTypes.java b/binding/mdsal-binding-generator-util/src/main/java/org/opendaylight/mdsal/binding/generator/util/BaseYangTypes.java similarity index 99% rename from binding/mdsal-binding-generator-impl/src/main/java/org/opendaylight/mdsal/binding/yang/types/BaseYangTypes.java rename to binding/mdsal-binding-generator-util/src/main/java/org/opendaylight/mdsal/binding/generator/util/BaseYangTypes.java index fd9e5c92d0..3c48f95df3 100644 --- a/binding/mdsal-binding-generator-impl/src/main/java/org/opendaylight/mdsal/binding/yang/types/BaseYangTypes.java +++ b/binding/mdsal-binding-generator-util/src/main/java/org/opendaylight/mdsal/binding/generator/util/BaseYangTypes.java @@ -5,7 +5,7 @@ * 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.mdsal.binding.yang.types; +package org.opendaylight.mdsal.binding.generator.util; import com.google.common.collect.ImmutableMap; import java.math.BigDecimal; diff --git a/binding/mdsal-binding-generator-impl/src/test/java/org/opendaylight/mdsal/binding/yang/types/BaseYangTypesTest.java b/binding/mdsal-binding-generator-util/src/test/java/org/opendaylight/mdsal/binding/generator/util/BaseYangTypesTest.java similarity index 99% rename from binding/mdsal-binding-generator-impl/src/test/java/org/opendaylight/mdsal/binding/yang/types/BaseYangTypesTest.java rename to binding/mdsal-binding-generator-util/src/test/java/org/opendaylight/mdsal/binding/generator/util/BaseYangTypesTest.java index ab0394877b..254fb943d6 100644 --- a/binding/mdsal-binding-generator-impl/src/test/java/org/opendaylight/mdsal/binding/yang/types/BaseYangTypesTest.java +++ b/binding/mdsal-binding-generator-util/src/test/java/org/opendaylight/mdsal/binding/generator/util/BaseYangTypesTest.java @@ -5,7 +5,7 @@ * 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.mdsal.binding.yang.types; +package org.opendaylight.mdsal.binding.generator.util; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; diff --git a/binding/mdsal-binding-generator-util/src/test/resources/base-yang-types.yang b/binding/mdsal-binding-generator-util/src/test/resources/base-yang-types.yang new file mode 100644 index 0000000000..14daf7acf6 --- /dev/null +++ b/binding/mdsal-binding-generator-util/src/test/resources/base-yang-types.yang @@ -0,0 +1,111 @@ +module base-yang-types { + yang-version 1; + namespace "urn:opendaylight:org:test:base:yang:types"; + prefix "tp"; + + organization "OPEN DAYLIGHT"; + contact "http://www.opendaylight.org/"; + + description "This module contains definitions of all Yang base types."; + + revision "2014-09-14" { + reference "Added yang-int8-restricted type."; + } + + revision "2014-07-23" { + reference "Initial Revision."; + } + + typedef yang-boolean { + type boolean; + } + + typedef yang-empty { + type empty; + } + + typedef yang-enumeration { + type enumeration { + enum a; + enum b; + } + } + + typedef yang-int8 { + type int8; + } + + typedef yang-int8-restricted { + type int8 { + range 1..100; + } + } + + typedef yang-int16 { + type int16; + } + + typedef yang-int32 { + type int32; + } + + typedef yang-int64 { + type int64; + } + + typedef yang-string { + type string; + } + + typedef yang-decimal64 { + type decimal64 { + fraction-digits 2; + } + } + + typedef yang-uint8 { + type uint8; + } + + typedef yang-uint16 { + type uint16; + } + + typedef yang-uint32 { + type uint32; + } + + typedef yang-uint64 { + type uint64; + } + + typedef yang-union { + type union { + type int32; + type int16; + } + } + + typedef yang-binary { + type binary; + } + + typedef yang-bits { + type bits { + bit disable-nagle { + position 0; + } + bit auto-sense-speed { + position 1; + } + bit only-10-Mb { + position 2; + } + } + default "auto-sense-speed"; + } + + typedef yang-instance-identifier { + type instance-identifier; + } +} diff --git a/binding/mdsal-binding-test-utils/pom.xml b/binding/mdsal-binding-test-utils/pom.xml index e9a6a780bf..0168f84f5d 100644 --- a/binding/mdsal-binding-test-utils/pom.xml +++ b/binding/mdsal-binding-test-utils/pom.xml @@ -58,6 +58,10 @@ org.opendaylight.mdsal mdsal-binding-spi + + org.opendaylight.mdsal + mdsal-binding-generator-impl + org.opendaylight.mdsal mdsal-binding-dom-adapter -- 2.36.6