From 5b45057b26a4c86487f569b940f553c977cb3798 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=C5=A0imon=20Uku=C5=A1?= Date: Wed, 22 Feb 2023 13:06:39 +0100 Subject: [PATCH] Rehost BindingMapping in yang.binding.contract.Naming MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Preparation stage for further changes requested by MDSAL-804, where all the constants and utility methods are moved to yang.binding.contract.Naming. Includes moving from BindingMappingTest to NamingTest. JIRA: MDSAL-804 Change-Id: I8c34f4c4eef40f9c040a0eaeadd49fdfed6dca13 Signed-off-by: Šimon Ukuš Signed-off-by: Robert Varga --- .../binding/dom/adapter/ActionAdapter.java | 4 +- .../dom/adapter/ActionAdapterFilter.java | 4 +- .../adapter/ContextReferenceExtractor.java | 4 +- .../dom/adapter/CurrentAdapterSerializer.java | 5 +- .../mdsal/binding/dom/adapter/RpcAdapter.java | 4 +- .../dom/adapter/RpcServiceAdapter.java | 4 +- .../dom/codec/spi/BindingSchemaMapping.java | 4 +- .../binding/dom/codec/impl/BitsCodec.java | 6 +- .../codec/impl/ChoiceNodeCodecContext.java | 5 +- .../codec/impl/CodecDataObjectGenerator.java | 8 +-- .../binding/dom/codec/impl/CodecPackage.java | 6 +- .../codec/impl/DataObjectCodecContext.java | 6 +- .../codec/impl/EncapsulatedValueCodec.java | 4 +- .../dom/codec/impl/IdentifiableItemCodec.java | 4 +- .../binding/dom/codec/impl/IdentityCodec.java | 8 +-- .../codec/impl/KeyedListNodeCodecContext.java | 2 +- .../codec/impl/SchemaRootCodecContext.java | 6 +- .../dom/codec/impl/UnionTypeCodec.java | 4 +- .../reactor/AbstractExplicitGenerator.java | 6 +- .../reactor/AbstractTypeObjectGenerator.java | 13 ++--- .../impl/reactor/CollisionDomain.java | 6 +- .../impl/reactor/ContainerGenerator.java | 4 +- .../impl/reactor/FeatureGenerator.java | 4 +- .../generator/impl/reactor/Generator.java | 12 ++-- .../impl/reactor/IdentityGenerator.java | 4 +- .../generator/impl/reactor/KeyGenerator.java | 6 +- .../generator/impl/reactor/ListGenerator.java | 6 +- .../impl/reactor/ModuleGenerator.java | 18 +++--- .../reactor/NotificationServiceGenerator.java | 4 +- .../impl/reactor/RpcServiceGenerator.java | 6 +- .../impl/reactor/YangDataNamingStrategy.java | 4 +- .../YangIdentifierClassNamingStrategy.java | 4 +- .../impl/AugmentRelativeXPathTest.java | 6 +- .../generator/impl/AugmentedTypeTest.java | 6 +- .../impl/GeneratedTypesLeafrefTest.java | 6 +- .../generator/impl/GeneratedTypesTest.java | 4 +- .../binding/generator/impl/Mdsal320Test.java | 10 ++-- .../generator/AbstractBuilderTemplate.xtend | 6 +- .../java/api/generator/BaseTemplate.xtend | 18 +++--- .../java/api/generator/BuilderGenerator.java | 8 +-- .../api/generator/BuilderImplTemplate.xtend | 21 +++---- .../java/api/generator/BuilderTemplate.xtend | 18 +++--- .../java/api/generator/ClassTemplate.xtend | 6 +- .../java/api/generator/FeatureTemplate.java | 11 ++-- .../api/generator/InterfaceTemplate.xtend | 22 +++---- .../java/api/generator/JavaFileGenerator.java | 6 +- .../java/api/generator/JavaFileTemplate.java | 28 ++++----- .../java/api/generator/UnionTemplate.xtend | 4 +- .../generator/YangModuleInfoTemplate.xtend | 12 ++-- .../api/generator/BaseCompilationTest.java | 6 +- .../generator/SpecializingLeafrefTest.java | 4 +- .../generator/UnionWithIdentityrefTest.java | 4 +- .../UnionWithMultipleIdentityrefsTest.java | 6 +- .../mdsal/binding/model/ri/BindingTypes.java | 2 +- .../builder/AbstractEnumerationBuilder.java | 4 +- .../spi/DefaultModuleInfoSnapshot.java | 4 +- .../spi/ModuleInfoSnapshotBuilder.java | 4 +- .../spi/ModuleInfoSnapshotResolver.java | 4 +- .../src/main/java/module-info.java | 1 - .../spec/reflect/BindingReflections.java | 22 +++---- .../spec/util/DataObjectReadingUtil.java | 4 +- .../src/main/java/module-info.java | 2 + .../yang/binding/contract/Naming.java} | 14 ++--- .../yang/binding/contract/NamingTest.java} | 58 +++++++++---------- 64 files changed, 257 insertions(+), 259 deletions(-) rename binding/{mdsal-binding-spec-util/src/main/java/org/opendaylight/mdsal/binding/spec/naming/BindingMapping.java => yang-binding/src/main/java/org/opendaylight/yangtools/yang/binding/contract/Naming.java} (97%) rename binding/{mdsal-binding-spec-util/src/test/java/org/opendaylight/mdsal/binding/spec/naming/BindingMappingTest.java => yang-binding/src/test/java/org/opendaylight/yangtools/yang/binding/contract/NamingTest.java} (61%) diff --git a/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/ActionAdapter.java b/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/ActionAdapter.java index 0a469f87ad..5c97a742a0 100644 --- a/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/ActionAdapter.java +++ b/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/ActionAdapter.java @@ -19,13 +19,13 @@ import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.mdsal.binding.api.ActionSpec; -import org.opendaylight.mdsal.binding.spec.naming.BindingMapping; import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.mdsal.dom.api.DOMActionResult; import org.opendaylight.mdsal.dom.api.DOMActionService; import org.opendaylight.mdsal.dom.api.DOMDataTreeIdentifier; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.opendaylight.yangtools.yang.binding.RpcInput; +import org.opendaylight.yangtools.yang.binding.contract.Naming; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier.Absolute; @@ -59,7 +59,7 @@ final class ActionAdapter extends AbstractBindingAdapter imple return spec.type().getName() + "$Adapter{delegate=" + getDelegate() + "}"; } break; - case BindingMapping.ACTION_INVOKE_NAME: + case Naming.ACTION_INVOKE_NAME: if (args.length == 2) { final InstanceIdentifier path = (InstanceIdentifier) requireNonNull(args[0]); checkArgument(!path.isWildcarded(), "Cannot invoke action on wildcard path %s", path); diff --git a/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/ActionAdapterFilter.java b/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/ActionAdapterFilter.java index 954d3f818f..3694d5f24e 100644 --- a/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/ActionAdapterFilter.java +++ b/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/ActionAdapterFilter.java @@ -14,9 +14,9 @@ import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.util.Set; import org.opendaylight.mdsal.binding.api.DataTreeIdentifier; -import org.opendaylight.mdsal.binding.spec.naming.BindingMapping; import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; +import org.opendaylight.yangtools.yang.binding.contract.Naming; final class ActionAdapterFilter implements InvocationHandler { private final Set> nodes; @@ -29,7 +29,7 @@ final class ActionAdapterFilter implements InvocationHandler { @Override public Object invoke(final Object proxy, final Method method, final Object[] args) throws Throwable { - if (BindingMapping.ACTION_INVOKE_NAME.equals(method.getName()) && args.length == 2) { + if (Naming.ACTION_INVOKE_NAME.equals(method.getName()) && args.length == 2) { final InstanceIdentifier path = (InstanceIdentifier) requireNonNull(args[0]); checkState(nodes.contains(DataTreeIdentifier.create(LogicalDatastoreType.OPERATIONAL, path)), "Cannot service %s", path); diff --git a/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/ContextReferenceExtractor.java b/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/ContextReferenceExtractor.java index 24b35fbffa..91c7f142ae 100644 --- a/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/ContextReferenceExtractor.java +++ b/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/ContextReferenceExtractor.java @@ -14,10 +14,10 @@ import java.lang.invoke.MethodHandles; import java.lang.invoke.MethodType; import java.lang.reflect.Method; import org.eclipse.jdt.annotation.Nullable; -import org.opendaylight.mdsal.binding.spec.naming.BindingMapping; import org.opendaylight.yangtools.yang.binding.DataObject; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.opendaylight.yangtools.yang.binding.annotations.RoutingContext; +import org.opendaylight.yangtools.yang.binding.contract.Naming; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -114,7 +114,7 @@ abstract sealed class ContextReferenceExtractor { private static @Nullable Method findGetValueMethod(final Class type, final Class returnType) { final Method method; try { - method = type.getMethod(BindingMapping.SCALAR_TYPE_OBJECT_GET_VALUE_NAME); + method = type.getMethod(Naming.SCALAR_TYPE_OBJECT_GET_VALUE_NAME); } catch (NoSuchMethodException e) { LOG.warn("Value class {} does not comform to Binding Specification v1.", type, e); return null; diff --git a/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/CurrentAdapterSerializer.java b/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/CurrentAdapterSerializer.java index ac9277cb1b..a6a8282a26 100644 --- a/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/CurrentAdapterSerializer.java +++ b/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/CurrentAdapterSerializer.java @@ -39,13 +39,13 @@ import org.opendaylight.mdsal.binding.dom.codec.spi.BindingDOMCodecServices; import org.opendaylight.mdsal.binding.dom.codec.spi.ForwardingBindingDOMCodecServices; import org.opendaylight.mdsal.binding.model.api.JavaTypeName; import org.opendaylight.mdsal.binding.runtime.api.InputRuntimeType; -import org.opendaylight.mdsal.binding.spec.naming.BindingMapping; import org.opendaylight.mdsal.binding.spec.reflect.BindingReflections; import org.opendaylight.mdsal.dom.api.DOMDataTreeIdentifier; import org.opendaylight.yangtools.yang.binding.DataObject; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.opendaylight.yangtools.yang.binding.RpcInput; import org.opendaylight.yangtools.yang.binding.RpcService; +import org.opendaylight.yangtools.yang.binding.contract.Naming; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.QNameModule; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; @@ -183,8 +183,7 @@ public final class CurrentAdapterSerializer extends ForwardingBindingDOMCodecSer try { for (var rpcDef : module.getRpcs()) { final var rpcName = rpcDef.getQName(); - ret.put(rpcName, key.getMethod(BindingMapping.getRpcMethodName(rpcName), - runtimeContext.getRpcInput(rpcName))); + ret.put(rpcName, key.getMethod(Naming.getRpcMethodName(rpcName), runtimeContext.getRpcInput(rpcName))); } } catch (NoSuchMethodException e) { throw new IllegalStateException("Rpc defined in model does not have representation in generated class.", e); diff --git a/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/RpcAdapter.java b/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/RpcAdapter.java index d6014743ff..186a50371e 100644 --- a/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/RpcAdapter.java +++ b/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/RpcAdapter.java @@ -10,10 +10,10 @@ package org.opendaylight.mdsal.binding.dom.adapter; import static java.util.Objects.requireNonNull; import java.lang.reflect.Method; -import org.opendaylight.mdsal.binding.spec.naming.BindingMapping; import org.opendaylight.mdsal.dom.api.DOMRpcService; import org.opendaylight.yangtools.yang.binding.Rpc; import org.opendaylight.yangtools.yang.binding.RpcInput; +import org.opendaylight.yangtools.yang.binding.contract.Naming; final class RpcAdapter> extends AbstractRpcAdapter { private final RpcInvocationStrategy strategy; @@ -29,7 +29,7 @@ final class RpcAdapter> extends AbstractRpcAdapter { } try { - invokeMethod = type.getMethod(BindingMapping.RPC_INVOKE_NAME, RpcInput.class); + invokeMethod = type.getMethod(Naming.RPC_INVOKE_NAME, RpcInput.class); } catch (NoSuchMethodException e) { throw new IllegalStateException("Failed to find invoke method in " + type, e); } diff --git a/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/RpcServiceAdapter.java b/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/RpcServiceAdapter.java index 92bebb8842..0659d4f712 100644 --- a/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/RpcServiceAdapter.java +++ b/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/RpcServiceAdapter.java @@ -14,11 +14,11 @@ import java.lang.reflect.Method; import java.util.Map; import java.util.Map.Entry; import org.opendaylight.mdsal.binding.runtime.api.RpcRuntimeType; -import org.opendaylight.mdsal.binding.spec.naming.BindingMapping; import org.opendaylight.mdsal.binding.spec.reflect.BindingReflections; import org.opendaylight.mdsal.dom.api.DOMRpcService; import org.opendaylight.yangtools.yang.binding.RpcInput; import org.opendaylight.yangtools.yang.binding.RpcService; +import org.opendaylight.yangtools.yang.binding.contract.Naming; import org.opendaylight.yangtools.yang.model.api.stmt.RpcEffectiveStatement; @Deprecated @@ -44,7 +44,7 @@ final class RpcServiceAdapter extends AbstractRpcAdapter { .map(rpc -> { final var rpcName = rpc.argument(); final var inputClz = runtimeContext.getRpcInput(rpcName); - final var methodName = BindingMapping.getRpcMethodName(rpcName); + final var methodName = Naming.getRpcMethodName(rpcName); final Method method; try { diff --git a/binding/mdsal-binding-dom-codec-spi/src/main/java/org/opendaylight/mdsal/binding/dom/codec/spi/BindingSchemaMapping.java b/binding/mdsal-binding-dom-codec-spi/src/main/java/org/opendaylight/mdsal/binding/dom/codec/spi/BindingSchemaMapping.java index cd8a0a520c..3fdcd765c8 100644 --- a/binding/mdsal-binding-dom-codec-spi/src/main/java/org/opendaylight/mdsal/binding/dom/codec/spi/BindingSchemaMapping.java +++ b/binding/mdsal-binding-dom-codec-spi/src/main/java/org/opendaylight/mdsal/binding/dom/codec/spi/BindingSchemaMapping.java @@ -8,7 +8,7 @@ package org.opendaylight.mdsal.binding.dom.codec.spi; import com.google.common.annotations.Beta; -import org.opendaylight.mdsal.binding.spec.naming.BindingMapping; +import org.opendaylight.yangtools.yang.binding.contract.Naming; import org.opendaylight.yangtools.yang.model.api.DataSchemaNode; @Beta @@ -18,6 +18,6 @@ public final class BindingSchemaMapping { } public static String getGetterMethodName(final DataSchemaNode node) { - return BindingMapping.getGetterMethodName(node.getQName()); + return Naming.getGetterMethodName(node.getQName()); } } diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/BitsCodec.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/BitsCodec.java index dfd6000344..63ca6681ff 100644 --- a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/BitsCodec.java +++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/BitsCodec.java @@ -29,8 +29,8 @@ import java.util.Set; import java.util.TreeSet; import java.util.concurrent.ExecutionException; import org.eclipse.jdt.annotation.NonNull; -import org.opendaylight.mdsal.binding.spec.naming.BindingMapping; import org.opendaylight.yangtools.yang.binding.BitsTypeObject; +import org.opendaylight.yangtools.yang.binding.contract.Naming; import org.opendaylight.yangtools.yang.model.api.type.BitsTypeDefinition; import org.opendaylight.yangtools.yang.model.api.type.BitsTypeDefinition.Bit; @@ -69,8 +69,8 @@ final class BitsCodec extends SchemaUnawareCodec { final Set ctorArgs = new TreeSet<>(); for (Bit bit : rootType.getBits()) { - final Method valueGetter = returnType.getMethod(BindingMapping.GETTER_PREFIX - + BindingMapping.getClassName(bit.getName())); + final Method valueGetter = returnType.getMethod(Naming.GETTER_PREFIX + + Naming.getClassName(bit.getName())); ctorArgs.add(bit.getName()); getters.put(bit.getName(), valueGetter); } diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/ChoiceNodeCodecContext.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/ChoiceNodeCodecContext.java index 7f47b51a12..47d3c0cb40 100644 --- a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/ChoiceNodeCodecContext.java +++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/ChoiceNodeCodecContext.java @@ -36,10 +36,10 @@ import org.opendaylight.mdsal.binding.model.api.JavaTypeName; import org.opendaylight.mdsal.binding.runtime.api.BindingRuntimeContext; import org.opendaylight.mdsal.binding.runtime.api.CaseRuntimeType; import org.opendaylight.mdsal.binding.runtime.api.ChoiceRuntimeType; -import org.opendaylight.mdsal.binding.spec.naming.BindingMapping; import org.opendaylight.yangtools.yang.binding.DataContainer; import org.opendaylight.yangtools.yang.binding.DataObject; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier.PathArgument; +import org.opendaylight.yangtools.yang.binding.contract.Naming; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.ChoiceNode; @@ -326,8 +326,7 @@ final class ChoiceNodeCodecContext extends DataContainerCo checkArgument(DataContainer.class.isAssignableFrom(type), "Supplied type must be derived from DataContainer"); List> ret = new LinkedList<>(); for (Method method : type.getMethods()) { - Optional> entity = getYangModeledReturnType(method, - BindingMapping.GETTER_PREFIX); + Optional> entity = getYangModeledReturnType(method, Naming.GETTER_PREFIX); if (entity.isPresent()) { ret.add((Class) entity.get()); } diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/CodecDataObjectGenerator.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/CodecDataObjectGenerator.java index c26eea37db..89981438a5 100644 --- a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/CodecDataObjectGenerator.java +++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/CodecDataObjectGenerator.java @@ -46,8 +46,8 @@ import org.opendaylight.mdsal.binding.dom.codec.impl.ClassGeneratorBridge.NodeCo import org.opendaylight.mdsal.binding.loader.BindingClassLoader; import org.opendaylight.mdsal.binding.loader.BindingClassLoader.ClassGenerator; import org.opendaylight.mdsal.binding.loader.BindingClassLoader.GeneratorResult; -import org.opendaylight.mdsal.binding.spec.naming.BindingMapping; import org.opendaylight.yangtools.yang.binding.DataObject; +import org.opendaylight.yangtools.yang.binding.contract.Naming; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -316,7 +316,7 @@ abstract class CodecDataObjectGenerator> implements return new Implementation.Simple( // return Foo.bindingHashCode(this); loadThis(), - invokeMethod(bindingInterface, BindingMapping.BINDING_HASHCODE_NAME, bindingInterface), + invokeMethod(bindingInterface, Naming.BINDING_HASHCODE_NAME, bindingInterface), MethodReturn.INTEGER); } @@ -325,7 +325,7 @@ abstract class CodecDataObjectGenerator> implements // return Foo.bindingEquals(this, obj); loadThis(), FIRST_ARG_REF, - invokeMethod(bindingInterface, BindingMapping.BINDING_EQUALS_NAME, bindingInterface, Object.class), + invokeMethod(bindingInterface, Naming.BINDING_EQUALS_NAME, bindingInterface, Object.class), MethodReturn.INTEGER); } @@ -333,7 +333,7 @@ abstract class CodecDataObjectGenerator> implements return new Implementation.Simple( // return Foo.bindingToString(this); loadThis(), - invokeMethod(bindingInterface, BindingMapping.BINDING_TO_STRING_NAME, bindingInterface), + invokeMethod(bindingInterface, Naming.BINDING_TO_STRING_NAME, bindingInterface), MethodReturn.REFERENCE); } diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/CodecPackage.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/CodecPackage.java index 0d3c7d9d78..4a9dffcd88 100644 --- a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/CodecPackage.java +++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/CodecPackage.java @@ -13,7 +13,7 @@ import static java.util.Objects.requireNonNull; import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.mdsal.binding.loader.BindingClassLoader; import org.opendaylight.mdsal.binding.loader.BindingClassLoader.ClassGenerator; -import org.opendaylight.mdsal.binding.spec.naming.BindingMapping; +import org.opendaylight.yangtools.yang.binding.contract.Naming; /** * Centralized registry of Java package names used by classes generated by codec components. @@ -32,7 +32,7 @@ enum CodecPackage { */ EVENT_AWARE("org.opendaylight.yang.rt.v1.eia"); - private static final int PACKAGE_PREFIX_LENGTH = BindingMapping.PACKAGE_PREFIX.length(); + private static final int PACKAGE_PREFIX_LENGTH = Naming.PACKAGE_PREFIX.length(); private String packagePrefix; @@ -51,7 +51,7 @@ enum CodecPackage { private @NonNull String createFQCN(final Class bindingInterface) { final var ifName = bindingInterface.getName(); - checkArgument(ifName.startsWith(BindingMapping.PACKAGE_PREFIX), "Unrecognized interface %s", bindingInterface); + checkArgument(ifName.startsWith(Naming.PACKAGE_PREFIX), "Unrecognized interface %s", bindingInterface); return packagePrefix + ifName.substring(PACKAGE_PREFIX_LENGTH); } } diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/DataObjectCodecContext.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/DataObjectCodecContext.java index a05b48cd1d..b0bde73a71 100644 --- a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/DataObjectCodecContext.java +++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/DataObjectCodecContext.java @@ -37,7 +37,6 @@ import org.opendaylight.mdsal.binding.runtime.api.AugmentableRuntimeType; import org.opendaylight.mdsal.binding.runtime.api.BindingRuntimeContext; import org.opendaylight.mdsal.binding.runtime.api.ChoiceRuntimeType; import org.opendaylight.mdsal.binding.runtime.api.CompositeRuntimeType; -import org.opendaylight.mdsal.binding.spec.naming.BindingMapping; import org.opendaylight.mdsal.binding.spec.reflect.BindingReflections; import org.opendaylight.yangtools.yang.binding.Augmentable; import org.opendaylight.yangtools.yang.binding.Augmentation; @@ -46,6 +45,7 @@ import org.opendaylight.yangtools.yang.binding.DataObject; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier.Item; import org.opendaylight.yangtools.yang.binding.OpaqueObject; +import org.opendaylight.yangtools.yang.binding.contract.Naming; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.AugmentationIdentifier; @@ -491,12 +491,12 @@ public abstract class DataObjectCodecContext, Method> getChildrenClassToMethod(final Class type) { - return getChildClassToMethod(type, BindingMapping.GETTER_PREFIX); + return getChildClassToMethod(type, Naming.GETTER_PREFIX); } // FIXME: MDSAL-780: replace use of this method private static Map, Method> getChildrenClassToNonnullMethod(final Class type) { - return getChildClassToMethod(type, BindingMapping.NONNULL_PREFIX); + return getChildClassToMethod(type, Naming.NONNULL_PREFIX); } // FIXME: MDSAL-780: replace use of this method diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/EncapsulatedValueCodec.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/EncapsulatedValueCodec.java index 98ac0fb1bb..e103608528 100644 --- a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/EncapsulatedValueCodec.java +++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/EncapsulatedValueCodec.java @@ -19,8 +19,8 @@ import java.lang.invoke.MethodHandles; import java.lang.invoke.MethodType; import java.util.concurrent.ExecutionException; import org.eclipse.jdt.annotation.NonNull; -import org.opendaylight.mdsal.binding.spec.naming.BindingMapping; import org.opendaylight.yangtools.yang.binding.ScalarTypeObject; +import org.opendaylight.yangtools.yang.binding.contract.Naming; /** * Derived YANG types are just immutable value holders for simple value @@ -45,7 +45,7 @@ final class EncapsulatedValueCodec extends SchemaUnawareCodec { @Override public EncapsulatedValueCodec load(final Class key) throws ReflectiveOperationException { - final var method = key.getMethod(BindingMapping.SCALAR_TYPE_OBJECT_GET_VALUE_NAME); + final var method = key.getMethod(Naming.SCALAR_TYPE_OBJECT_GET_VALUE_NAME); final var lookup = MethodHandles.publicLookup(); final var retType = method.getReturnType(); return new EncapsulatedValueCodec(lookup.findConstructor(key, diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/IdentifiableItemCodec.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/IdentifiableItemCodec.java index 9ed700948b..54d244760a 100644 --- a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/IdentifiableItemCodec.java +++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/IdentifiableItemCodec.java @@ -20,12 +20,12 @@ import java.util.Comparator; import java.util.List; import java.util.Map; import org.eclipse.jdt.annotation.NonNull; -import org.opendaylight.mdsal.binding.spec.naming.BindingMapping; import org.opendaylight.yangtools.util.ImmutableOffsetMap; import org.opendaylight.yangtools.util.ImmutableOffsetMapTemplate; import org.opendaylight.yangtools.yang.binding.Identifiable; import org.opendaylight.yangtools.yang.binding.Identifier; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier.IdentifiableItem; +import org.opendaylight.yangtools.yang.binding.contract.Naming; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates; import org.opendaylight.yangtools.yang.model.api.stmt.KeyEffectiveStatement; @@ -94,7 +94,7 @@ abstract class IdentifiableItemCodec { */ final var tmp = new ArrayList<>(keyDef); // This is not terribly efficient but gets the job done - tmp.sort(Comparator.comparing(leaf -> BindingMapping.getPropertyName(leaf.getLocalName()))); + tmp.sort(Comparator.comparing(leaf -> Naming.getPropertyName(leaf.getLocalName()))); keysInBindingOrder = ImmutableList.copyOf(tmp.equals(List.copyOf(keyDef)) ? keyDef : tmp); } diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/IdentityCodec.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/IdentityCodec.java index 56d880474b..73f4945d59 100644 --- a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/IdentityCodec.java +++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/IdentityCodec.java @@ -19,9 +19,9 @@ import java.util.concurrent.ExecutionException; import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.mdsal.binding.dom.codec.api.BindingIdentityCodec; import org.opendaylight.mdsal.binding.runtime.api.BindingRuntimeContext; -import org.opendaylight.mdsal.binding.spec.naming.BindingMapping; import org.opendaylight.mdsal.binding.spec.reflect.BindingReflections; import org.opendaylight.yangtools.yang.binding.BaseIdentity; +import org.opendaylight.yangtools.yang.binding.contract.Naming; import org.opendaylight.yangtools.yang.common.QName; final class IdentityCodec extends AbstractValueCodec implements BindingIdentityCodec { @@ -32,10 +32,10 @@ final class IdentityCodec extends AbstractValueCodec implem final var clazz = context.getIdentityClass(key); final Field field; try { - field = clazz.getField(BindingMapping.VALUE_STATIC_FIELD_NAME); + field = clazz.getField(Naming.VALUE_STATIC_FIELD_NAME); } catch (NoSuchFieldException e) { - throw new LinkageError(clazz + " does not define required field " - + BindingMapping.VALUE_STATIC_FIELD_NAME, e); + throw new LinkageError(clazz + " does not define required field " + Naming.VALUE_STATIC_FIELD_NAME, + e); } if (!Modifier.isStatic(field.getModifiers())) { throw new LinkageError(field + " is not static"); diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/KeyedListNodeCodecContext.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/KeyedListNodeCodecContext.java index 5367d6d673..9b62032a85 100644 --- a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/KeyedListNodeCodecContext.java +++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/KeyedListNodeCodecContext.java @@ -8,7 +8,7 @@ package org.opendaylight.mdsal.binding.dom.codec.impl; import static java.util.Objects.requireNonNull; -import static org.opendaylight.mdsal.binding.spec.naming.BindingMapping.IDENTIFIABLE_KEY_NAME; +import static org.opendaylight.yangtools.yang.binding.contract.Naming.IDENTIFIABLE_KEY_NAME; import java.lang.reflect.Method; import java.util.List; diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/SchemaRootCodecContext.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/SchemaRootCodecContext.java index df88bfd955..19bc68b492 100644 --- a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/SchemaRootCodecContext.java +++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/SchemaRootCodecContext.java @@ -35,7 +35,6 @@ import org.opendaylight.mdsal.binding.runtime.api.ContainerLikeRuntimeType; import org.opendaylight.mdsal.binding.runtime.api.DataRuntimeType; import org.opendaylight.mdsal.binding.runtime.api.NotificationRuntimeType; import org.opendaylight.mdsal.binding.runtime.api.RuntimeType; -import org.opendaylight.mdsal.binding.spec.naming.BindingMapping; import org.opendaylight.mdsal.binding.spec.reflect.BindingReflections; import org.opendaylight.yangtools.util.ClassLoaderUtils; import org.opendaylight.yangtools.yang.binding.Action; @@ -47,6 +46,7 @@ import org.opendaylight.yangtools.yang.binding.KeyedListAction; import org.opendaylight.yangtools.yang.binding.Notification; import org.opendaylight.yangtools.yang.binding.RpcInput; import org.opendaylight.yangtools.yang.binding.RpcOutput; +import org.opendaylight.yangtools.yang.binding.contract.Naming; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.QNameModule; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; @@ -121,7 +121,7 @@ final class SchemaRootCodecContext extends DataContainerCo final QNameModule qnameModule = qname.getModule(); final Module module = context.getEffectiveModelContext().findModule(qnameModule) .orElseThrow(() -> new IllegalArgumentException("Failed to find module for " + qnameModule)); - final String className = BindingMapping.getClassName(qname); + final String className = Naming.getClassName(qname); for (final RpcDefinition potential : module.getRpcs()) { final QName potentialQName = potential.getQName(); @@ -132,7 +132,7 @@ final class SchemaRootCodecContext extends DataContainerCo * * FIXME: Rework this to have more precise logic regarding Binding Specification. */ - if (key.getSimpleName().equals(BindingMapping.getClassName(potentialQName) + className)) { + if (key.getSimpleName().equals(Naming.getClassName(potentialQName) + className)) { final ContainerLike schema = getRpcDataSchema(potential, qname); checkArgument(schema != null, "Schema for %s does not define input / output.", potentialQName); 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 2946a29133..2e27ad2945 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 @@ -19,7 +19,7 @@ import java.util.List; import org.opendaylight.mdsal.binding.model.api.GeneratedTransferObject; import org.opendaylight.mdsal.binding.model.api.Type; import org.opendaylight.mdsal.binding.runtime.api.RuntimeGeneratedUnion; -import org.opendaylight.mdsal.binding.spec.naming.BindingMapping; +import org.opendaylight.yangtools.yang.binding.contract.Naming; import org.opendaylight.yangtools.yang.model.api.TypeDefinition; import org.opendaylight.yangtools.yang.model.api.type.UnionTypeDefinition; @@ -44,7 +44,7 @@ final class UnionTypeCodec implements ValueCodec { final List values = new ArrayList<>(unionTypes.size()); final Iterator it = unionProperties.iterator(); for (final TypeDefinition subtype : unionTypes) { - final String getterName = BindingMapping.GETTER_PREFIX + BindingMapping.toFirstUpper(it.next()); + final String getterName = Naming.GETTER_PREFIX + Naming.toFirstUpper(it.next()); final Method valueGetter = unionCls.getMethod(getterName); final Class valueType = valueGetter.getReturnType(); final ValueCodec codec = codecContext.getCodec(valueType, subtype); diff --git a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/AbstractExplicitGenerator.java b/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/AbstractExplicitGenerator.java index f593ef5b18..f11042e2c3 100644 --- a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/AbstractExplicitGenerator.java +++ b/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/AbstractExplicitGenerator.java @@ -24,7 +24,7 @@ import org.opendaylight.mdsal.binding.model.api.type.builder.AnnotableTypeBuilde import org.opendaylight.mdsal.binding.model.api.type.builder.GeneratedTypeBuilderBase; import org.opendaylight.mdsal.binding.model.api.type.builder.MethodSignatureBuilder; import org.opendaylight.mdsal.binding.runtime.api.RuntimeType; -import org.opendaylight.mdsal.binding.spec.naming.BindingMapping; +import org.opendaylight.yangtools.yang.binding.contract.Naming; import org.opendaylight.yangtools.yang.common.AbstractQName; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.AddedByUsesAware; @@ -315,7 +315,7 @@ public abstract class AbstractExplicitGenerator builder, final Type returnType) { - return constructGetter(builder, returnType, BindingMapping.getGetterMethodName(localName().getLocalName())); + return constructGetter(builder, returnType, Naming.getGetterMethodName(localName().getLocalName())); } final MethodSignatureBuilder constructGetter(final GeneratedTypeBuilderBase builder, @@ -335,7 +335,7 @@ public abstract class AbstractExplicitGenerator builder, final Type returnType) { - constructGetter(builder, returnType, BindingMapping.getRequireMethodName(localName().getLocalName())) + constructGetter(builder, returnType, Naming.getRequireMethodName(localName().getLocalName())) .setDefault(true) .setMechanics(ValueMechanics.NONNULL); } diff --git a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/AbstractTypeObjectGenerator.java b/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/AbstractTypeObjectGenerator.java index a252abb624..ce9174c734 100644 --- a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/AbstractTypeObjectGenerator.java +++ b/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/AbstractTypeObjectGenerator.java @@ -44,10 +44,10 @@ import org.opendaylight.mdsal.binding.model.ri.Types; import org.opendaylight.mdsal.binding.model.ri.generated.type.builder.AbstractEnumerationBuilder; import org.opendaylight.mdsal.binding.model.ri.generated.type.builder.GeneratedPropertyBuilderImpl; import org.opendaylight.mdsal.binding.runtime.api.RuntimeType; -import org.opendaylight.mdsal.binding.spec.naming.BindingMapping; import org.opendaylight.yangtools.concepts.Immutable; import org.opendaylight.yangtools.yang.binding.RegexPatterns; import org.opendaylight.yangtools.yang.binding.TypeObject; +import org.opendaylight.yangtools.yang.binding.contract.Naming; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.YangConstants; import org.opendaylight.yangtools.yang.model.api.TypeDefinition; @@ -617,7 +617,7 @@ abstract class AbstractTypeObjectGenerator, R for (Bit bit : typedef.getBits()) { final String name = bit.getName(); - GeneratedPropertyBuilder genPropertyBuilder = builder.addProperty(BindingMapping.getPropertyName(name)); + GeneratedPropertyBuilder genPropertyBuilder = builder.addProperty(Naming.getPropertyName(name)); genPropertyBuilder.setReadOnly(true); genPropertyBuilder.setReturnType(Types.primitiveBooleanType()); @@ -727,13 +727,13 @@ abstract class AbstractTypeObjectGenerator, R generatedType = subUnion; } else if (TypeDefinitions.ENUMERATION.equals(subName)) { final Enumeration subEnumeration = createEnumeration(builderFactory, definingStatement, - typeName.createEnclosed(BindingMapping.getClassName(localName), "$"), module, + typeName.createEnclosed(Naming.getClassName(localName), "$"), module, (EnumTypeDefinition) subType.getTypeDefinition()); builder.addEnumeration(subEnumeration); generatedType = subEnumeration; } else if (TypeDefinitions.BITS.equals(subName)) { final GeneratedTransferObject subBits = createBits(builderFactory, definingStatement, - typeName.createEnclosed(BindingMapping.getClassName(localName), "$"), module, + typeName.createEnclosed(Naming.getClassName(localName), "$"), module, (BitsTypeDefinition) subType.getTypeDefinition(), isTypedef); builder.addEnclosingTransferObject(subBits); generatedType = subBits; @@ -774,8 +774,7 @@ abstract class AbstractTypeObjectGenerator, R } // ... otherwise generate this weird property name - propSource = BindingMapping.getUnionLeafrefMemberName(builder.getName(), - baseType.getName()); + propSource = Naming.getUnionLeafrefMemberName(builder.getName(), baseType.getName()); } } @@ -785,7 +784,7 @@ abstract class AbstractTypeObjectGenerator, R BindingGeneratorUtil.getRestrictions(type.getTypeDefinition()), builderFactory); } - final String propName = BindingMapping.getPropertyName(propSource); + final String propName = Naming.getPropertyName(propSource); typeProperties.add(propName); if (builder.containsProperty(propName)) { diff --git a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/CollisionDomain.java b/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/CollisionDomain.java index 0f8d9d2f72..83819f402a 100644 --- a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/CollisionDomain.java +++ b/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/CollisionDomain.java @@ -20,7 +20,7 @@ import java.util.Iterator; import java.util.List; import java.util.Map.Entry; import org.eclipse.jdt.annotation.NonNull; -import org.opendaylight.mdsal.binding.spec.naming.BindingMapping; +import org.opendaylight.yangtools.yang.binding.contract.Naming; import org.opendaylight.yangtools.yang.common.AbstractQName; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier; @@ -236,12 +236,12 @@ final class CollisionDomain { } @NonNull Member addSecondary(final InputGenerator memberGen, final Member primary) { - return addMember(new SuffixSecondary(memberGen, primary, BindingMapping.RPC_INPUT_SUFFIX, + return addMember(new SuffixSecondary(memberGen, primary, Naming.RPC_INPUT_SUFFIX, memberGen.statement().argument())); } @NonNull Member addSecondary(final OutputGenerator memberGen, final Member primary) { - return addMember(new SuffixSecondary(memberGen, primary, BindingMapping.RPC_OUTPUT_SUFFIX, + return addMember(new SuffixSecondary(memberGen, primary, Naming.RPC_OUTPUT_SUFFIX, memberGen.statement().argument())); } diff --git a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/ContainerGenerator.java b/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/ContainerGenerator.java index e7c80f5b5f..9cec1ea31e 100644 --- a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/ContainerGenerator.java +++ b/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/ContainerGenerator.java @@ -18,7 +18,7 @@ import org.opendaylight.mdsal.binding.model.api.type.builder.MethodSignatureBuil import org.opendaylight.mdsal.binding.runtime.api.AugmentRuntimeType; import org.opendaylight.mdsal.binding.runtime.api.ContainerRuntimeType; import org.opendaylight.mdsal.binding.runtime.api.RuntimeType; -import org.opendaylight.mdsal.binding.spec.naming.BindingMapping; +import org.opendaylight.yangtools.yang.binding.contract.Naming; import org.opendaylight.yangtools.yang.model.api.stmt.ContainerEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.PresenceEffectiveStatement; import org.opendaylight.yangtools.yang.model.util.SchemaInferenceStack; @@ -80,7 +80,7 @@ final class ContainerGenerator extends CompositeSchemaTreeGenerator { @NonNull String createJavaPackage() { final String parentPackage = getPackageParent().javaPackage(); final String myPackage = getMember().currentPackage(); - return BindingMapping.normalizePackageName(parentPackage + '.' + myPackage); + return Naming.normalizePackageName(parentPackage + '.' + myPackage); } final @NonNull JavaTypeName typeName() { @@ -262,15 +262,15 @@ public abstract class Generator implements Iterable { static final void addConcreteInterfaceMethods(final GeneratedTypeBuilder builder) { defaultImplementedInterace(builder); - builder.addMethod(BindingMapping.BINDING_HASHCODE_NAME) + builder.addMethod(Naming.BINDING_HASHCODE_NAME) .setAccessModifier(AccessModifier.PUBLIC) .setStatic(true) .setReturnType(primitiveIntType()); - builder.addMethod(BindingMapping.BINDING_EQUALS_NAME) + builder.addMethod(Naming.BINDING_EQUALS_NAME) .setAccessModifier(AccessModifier.PUBLIC) .setStatic(true) .setReturnType(primitiveBooleanType()); - builder.addMethod(BindingMapping.BINDING_TO_STRING_NAME) + builder.addMethod(Naming.BINDING_TO_STRING_NAME) .setAccessModifier(AccessModifier.PUBLIC) .setStatic(true) .setReturnType(STRING); @@ -359,7 +359,7 @@ public abstract class Generator implements Iterable { private static MethodSignatureBuilder defineImplementedInterfaceMethod(final GeneratedTypeBuilder typeBuilder, final Type classType) { final MethodSignatureBuilder ret = typeBuilder - .addMethod(BindingMapping.BINDING_CONTRACT_IMPLEMENTED_INTERFACE_NAME) + .addMethod(Naming.BINDING_CONTRACT_IMPLEMENTED_INTERFACE_NAME) .setAccessModifier(AccessModifier.PUBLIC) .setReturnType(classType(classType)); ret.addAnnotation(OVERRIDE_ANNOTATION); diff --git a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/IdentityGenerator.java b/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/IdentityGenerator.java index 9457cbe405..b55a677de1 100644 --- a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/IdentityGenerator.java +++ b/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/IdentityGenerator.java @@ -17,8 +17,8 @@ import org.opendaylight.mdsal.binding.model.api.GeneratedType; import org.opendaylight.mdsal.binding.model.api.Type; import org.opendaylight.mdsal.binding.model.api.type.builder.GeneratedTypeBuilderBase; import org.opendaylight.mdsal.binding.runtime.api.IdentityRuntimeType; -import org.opendaylight.mdsal.binding.spec.naming.BindingMapping; import org.opendaylight.yangtools.yang.binding.BaseIdentity; +import org.opendaylight.yangtools.yang.binding.contract.Naming; import org.opendaylight.yangtools.yang.model.api.stmt.BaseEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.IdentityEffectiveStatement; import org.opendaylight.yangtools.yang.model.util.SchemaInferenceStack; @@ -71,7 +71,7 @@ public final class IdentityGenerator module.addQNameConstant(builder, localName()); // Constant implementation - builder.addConstant(Type.of(builder), BindingMapping.VALUE_STATIC_FIELD_NAME, BaseIdentity.class); + builder.addConstant(Type.of(builder), Naming.VALUE_STATIC_FIELD_NAME, BaseIdentity.class); builderFactory.addCodegenInformation(module, statement(), builder); builder.setModuleName(module.statement().argument().getLocalName()); diff --git a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/KeyGenerator.java b/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/KeyGenerator.java index 6b98f072c8..3434c46bd0 100644 --- a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/KeyGenerator.java +++ b/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/KeyGenerator.java @@ -17,7 +17,7 @@ import org.opendaylight.mdsal.binding.model.api.Type; import org.opendaylight.mdsal.binding.model.api.type.builder.GeneratedTypeBuilderBase; import org.opendaylight.mdsal.binding.model.ri.BindingTypes; import org.opendaylight.mdsal.binding.runtime.api.KeyRuntimeType; -import org.opendaylight.mdsal.binding.spec.naming.BindingMapping; +import org.opendaylight.yangtools.yang.binding.contract.Naming; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.stmt.KeyEffectiveStatement; import org.opendaylight.yangtools.yang.model.util.SchemaInferenceStack; @@ -43,7 +43,7 @@ final class KeyGenerator extends AbstractExplicitGeneratorsecondary members, more precisely the {@link BindingMapping#DATA_ROOT_SUFFIX} - * one. Counter-intuitively the other secondary members live as children of this generator. To support this we have - * also have this field, which is actually the primary derived from the module's name. + * actually produces one of secondary members, more precisely the {@link Naming#DATA_ROOT_SUFFIX} one. + * Counter-intuitively the other secondary members live as children of this generator. To support this we also have + * this field, which is actually the primary derived from the module's name. */ private final Member prefixMember; ModuleGenerator(final ModuleEffectiveStatement statement) { super(statement); - yangModuleInfo = JavaTypeName.create(javaPackage(), BindingMapping.MODULE_INFO_CLASS_NAME); + yangModuleInfo = JavaTypeName.create(javaPackage(), Naming.MODULE_INFO_CLASS_NAME); prefixMember = domain().addPrefix(this, new ModuleNamingStrategy(statement.argument())); } @@ -68,7 +68,7 @@ public final class ModuleGenerator extends AbstractCompositeGenerator builder, final AbstractQName localName) { - builder.addConstant(BindingTypes.QNAME, BindingMapping.QNAME_STATIC_FIELD_NAME, + builder.addConstant(BindingTypes.QNAME, Naming.QNAME_STATIC_FIELD_NAME, Map.entry(yangModuleInfo, localName.getLocalName())); } // FIXME: use YangDataName void addNameConstant(final GeneratedTypeBuilderBase builder, final String templateName) { - builder.addConstant(BindingTypes.YANG_DATA_NAME, BindingMapping.NAME_STATIC_FIELD_NAME, + builder.addConstant(BindingTypes.YANG_DATA_NAME, Naming.NAME_STATIC_FIELD_NAME, Map.entry(yangModuleInfo, templateName)); } diff --git a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/NotificationServiceGenerator.java b/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/NotificationServiceGenerator.java index 4c4196ad03..5953c75742 100644 --- a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/NotificationServiceGenerator.java +++ b/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/NotificationServiceGenerator.java @@ -17,7 +17,7 @@ import org.opendaylight.mdsal.binding.model.api.type.builder.GeneratedTypeBuilde import org.opendaylight.mdsal.binding.model.api.type.builder.MethodSignatureBuilder; import org.opendaylight.mdsal.binding.model.ri.BindingTypes; import org.opendaylight.mdsal.binding.model.ri.Types; -import org.opendaylight.mdsal.binding.spec.naming.BindingMapping; +import org.opendaylight.yangtools.yang.binding.contract.Naming; import org.opendaylight.yangtools.yang.model.api.DocumentedNode.WithStatus; import org.opendaylight.yangtools.yang.model.api.Status; import org.opendaylight.yangtools.yang.model.api.stmt.NotificationEffectiveStatement; @@ -42,7 +42,7 @@ final class NotificationServiceGenerator extends AbstractImplicitGenerator { @Override String classSuffix() { - return BindingMapping.NOTIFICATION_LISTENER_SUFFIX; + return Naming.NOTIFICATION_LISTENER_SUFFIX; } @Override diff --git a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/RpcServiceGenerator.java b/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/RpcServiceGenerator.java index 571e420ee2..266080593a 100644 --- a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/RpcServiceGenerator.java +++ b/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/RpcServiceGenerator.java @@ -17,7 +17,7 @@ import org.opendaylight.mdsal.binding.model.api.type.builder.GeneratedTypeBuilde import org.opendaylight.mdsal.binding.model.api.type.builder.MethodSignatureBuilder; import org.opendaylight.mdsal.binding.model.ri.BindingTypes; import org.opendaylight.mdsal.binding.model.ri.Types; -import org.opendaylight.mdsal.binding.spec.naming.BindingMapping; +import org.opendaylight.yangtools.yang.binding.contract.Naming; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.stmt.DescriptionEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.InputEffectiveStatement; @@ -48,7 +48,7 @@ final class RpcServiceGenerator extends AbstractImplicitGenerator { @Override String classSuffix() { - return BindingMapping.RPC_SERVICE_SUFFIX; + return Naming.RPC_SERVICE_SUFFIX; } @Override @@ -61,7 +61,7 @@ final class RpcServiceGenerator extends AbstractImplicitGenerator { final QName qname = rpc.argument(); // FIXME: this may still conflict in theory - final MethodSignatureBuilder method = builder.addMethod(BindingMapping.getRpcMethodName(qname)); + final MethodSignatureBuilder method = builder.addMethod(Naming.getRpcMethodName(qname)); method.addParameter(getChild(rpcGen, InputEffectiveStatement.class).getGeneratedType(builderFactory), "input"); diff --git a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/YangDataNamingStrategy.java b/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/YangDataNamingStrategy.java index 1bec0ff0da..a45063d9ca 100644 --- a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/YangDataNamingStrategy.java +++ b/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/YangDataNamingStrategy.java @@ -10,7 +10,7 @@ package org.opendaylight.mdsal.binding.generator.impl.reactor; import com.google.common.base.MoreObjects.ToStringHelper; import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.Nullable; -import org.opendaylight.mdsal.binding.spec.naming.BindingMapping; +import org.opendaylight.yangtools.yang.binding.contract.Naming; /** * Naming strategy for {@code ietf-restconf:yang-data} template which has a generic string not matching YANG identifier. @@ -20,7 +20,7 @@ final class YangDataNamingStrategy extends ClassNamingStrategy { private final String javaIdentifier; YangDataNamingStrategy(final String templateName) { - javaIdentifier = BindingMapping.mapYangDataName(templateName); + javaIdentifier = Naming.mapYangDataName(templateName); } @Override diff --git a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/YangIdentifierClassNamingStrategy.java b/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/YangIdentifierClassNamingStrategy.java index 673bcd4efd..5d1f4ce272 100644 --- a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/YangIdentifierClassNamingStrategy.java +++ b/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/YangIdentifierClassNamingStrategy.java @@ -11,7 +11,7 @@ import static java.util.Objects.requireNonNull; import com.google.common.base.MoreObjects.ToStringHelper; import org.eclipse.jdt.annotation.NonNullByDefault; -import org.opendaylight.mdsal.binding.spec.naming.BindingMapping; +import org.opendaylight.yangtools.yang.binding.contract.Naming; import org.opendaylight.yangtools.yang.common.AbstractQName; /** @@ -28,7 +28,7 @@ abstract class YangIdentifierClassNamingStrategy extends ClassNamingStrategy { @Override final String simpleClassName() { - return BindingMapping.getClassName(rootName()); + return Naming.getClassName(rootName()); } @Override diff --git a/binding/mdsal-binding-generator/src/test/java/org/opendaylight/mdsal/binding/generator/impl/AugmentRelativeXPathTest.java b/binding/mdsal-binding-generator/src/test/java/org/opendaylight/mdsal/binding/generator/impl/AugmentRelativeXPathTest.java index 434710be84..2e67a63a16 100644 --- a/binding/mdsal-binding-generator/src/test/java/org/opendaylight/mdsal/binding/generator/impl/AugmentRelativeXPathTest.java +++ b/binding/mdsal-binding-generator/src/test/java/org/opendaylight/mdsal/binding/generator/impl/AugmentRelativeXPathTest.java @@ -19,7 +19,7 @@ import org.opendaylight.mdsal.binding.model.api.GeneratedTransferObject; import org.opendaylight.mdsal.binding.model.api.GeneratedType; import org.opendaylight.mdsal.binding.model.api.JavaTypeName; import org.opendaylight.mdsal.binding.model.api.MethodSignature; -import org.opendaylight.mdsal.binding.spec.naming.BindingMapping; +import org.opendaylight.yangtools.yang.binding.contract.Naming; import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils; public class AugmentRelativeXPathTest { @@ -60,7 +60,7 @@ public class AugmentRelativeXPathTest { MethodSignature getIfcKeyMethod = null; for (final MethodSignature method : gtInterfaceMethods) { - if (BindingMapping.IDENTIFIABLE_KEY_NAME.equals(method.getName())) { + if (Naming.IDENTIFIABLE_KEY_NAME.equals(method.getName())) { getIfcKeyMethod = method; break; } @@ -80,7 +80,7 @@ public class AugmentRelativeXPathTest { MethodSignature getTunnelKeyMethod = null; for (MethodSignature method : tunnelMethods) { - if (BindingMapping.IDENTIFIABLE_KEY_NAME.equals(method.getName())) { + if (Naming.IDENTIFIABLE_KEY_NAME.equals(method.getName())) { getTunnelKeyMethod = method; break; } diff --git a/binding/mdsal-binding-generator/src/test/java/org/opendaylight/mdsal/binding/generator/impl/AugmentedTypeTest.java b/binding/mdsal-binding-generator/src/test/java/org/opendaylight/mdsal/binding/generator/impl/AugmentedTypeTest.java index c7b97ac0e5..61274cb04f 100644 --- a/binding/mdsal-binding-generator/src/test/java/org/opendaylight/mdsal/binding/generator/impl/AugmentedTypeTest.java +++ b/binding/mdsal-binding-generator/src/test/java/org/opendaylight/mdsal/binding/generator/impl/AugmentedTypeTest.java @@ -20,7 +20,7 @@ import org.opendaylight.mdsal.binding.model.api.GeneratedType; import org.opendaylight.mdsal.binding.model.api.JavaTypeName; import org.opendaylight.mdsal.binding.model.api.MethodSignature; import org.opendaylight.mdsal.binding.model.ri.Types; -import org.opendaylight.mdsal.binding.spec.naming.BindingMapping; +import org.opendaylight.yangtools.yang.binding.contract.Naming; import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils; @@ -68,7 +68,7 @@ public class AugmentedTypeTest { assertNotNull("gtInterfaceMethods is null", gtInterfaceMethods); MethodSignature getIfcKeyMethod = null; for (final MethodSignature method : gtInterfaceMethods) { - if (BindingMapping.IDENTIFIABLE_KEY_NAME.equals(method.getName())) { + if (Naming.IDENTIFIABLE_KEY_NAME.equals(method.getName())) { getIfcKeyMethod = method; break; } @@ -109,7 +109,7 @@ public class AugmentedTypeTest { assertNotNull("Tunnel methods are null", tunnelMethods); MethodSignature getTunnelKeyMethod = null; for (MethodSignature method : tunnelMethods) { - if (BindingMapping.IDENTIFIABLE_KEY_NAME.equals(method.getName())) { + if (Naming.IDENTIFIABLE_KEY_NAME.equals(method.getName())) { getTunnelKeyMethod = method; break; } diff --git a/binding/mdsal-binding-generator/src/test/java/org/opendaylight/mdsal/binding/generator/impl/GeneratedTypesLeafrefTest.java b/binding/mdsal-binding-generator/src/test/java/org/opendaylight/mdsal/binding/generator/impl/GeneratedTypesLeafrefTest.java index 18f183b22d..e0175d363e 100644 --- a/binding/mdsal-binding-generator/src/test/java/org/opendaylight/mdsal/binding/generator/impl/GeneratedTypesLeafrefTest.java +++ b/binding/mdsal-binding-generator/src/test/java/org/opendaylight/mdsal/binding/generator/impl/GeneratedTypesLeafrefTest.java @@ -21,7 +21,7 @@ import org.opendaylight.mdsal.binding.model.api.GeneratedTransferObject; import org.opendaylight.mdsal.binding.model.api.GeneratedType; import org.opendaylight.mdsal.binding.model.api.MethodSignature; import org.opendaylight.mdsal.binding.model.api.Type; -import org.opendaylight.mdsal.binding.spec.naming.BindingMapping; +import org.opendaylight.yangtools.yang.binding.contract.Naming; import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils; @@ -113,7 +113,7 @@ public class GeneratedTypesLeafrefTest { MethodSignature getHigherLayerIf = null; for (final MethodSignature method : gtIfcMethods) { switch (method.getName()) { - case BindingMapping.IDENTIFIABLE_KEY_NAME: + case Naming.IDENTIFIABLE_KEY_NAME: getIfcKey = method; break; case "getHigherLayerIf": @@ -184,7 +184,7 @@ public class GeneratedTypesLeafrefTest { assertNotNull(gtTunnelMethods); MethodSignature getTunnelKey = null; for (MethodSignature method : gtTunnelMethods) { - if (BindingMapping.IDENTIFIABLE_KEY_NAME.equals(method.getName())) { + if (Naming.IDENTIFIABLE_KEY_NAME.equals(method.getName())) { getTunnelKey = method; } } diff --git a/binding/mdsal-binding-generator/src/test/java/org/opendaylight/mdsal/binding/generator/impl/GeneratedTypesTest.java b/binding/mdsal-binding-generator/src/test/java/org/opendaylight/mdsal/binding/generator/impl/GeneratedTypesTest.java index 25fe7bbb2b..b24264319a 100644 --- a/binding/mdsal-binding-generator/src/test/java/org/opendaylight/mdsal/binding/generator/impl/GeneratedTypesTest.java +++ b/binding/mdsal-binding-generator/src/test/java/org/opendaylight/mdsal/binding/generator/impl/GeneratedTypesTest.java @@ -17,7 +17,7 @@ import org.opendaylight.mdsal.binding.model.api.GeneratedProperty; import org.opendaylight.mdsal.binding.model.api.GeneratedTransferObject; import org.opendaylight.mdsal.binding.model.api.GeneratedType; import org.opendaylight.mdsal.binding.model.api.MethodSignature; -import org.opendaylight.mdsal.binding.spec.naming.BindingMapping; +import org.opendaylight.yangtools.yang.binding.contract.Naming; import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils; public class GeneratedTypesTest { @@ -230,7 +230,7 @@ public class GeneratedTypesTest { final List methods = genType.getMethodDefinitions(); for (final MethodSignature method : methods) { switch (method.getName()) { - case BindingMapping.IDENTIFIABLE_KEY_NAME: + case Naming.IDENTIFIABLE_KEY_NAME: getSimpleListKeyMethodCount++; getSimpleListKeyMethodReturnTypeName = method.getReturnType().getName(); break; diff --git a/binding/mdsal-binding-generator/src/test/java/org/opendaylight/mdsal/binding/generator/impl/Mdsal320Test.java b/binding/mdsal-binding-generator/src/test/java/org/opendaylight/mdsal/binding/generator/impl/Mdsal320Test.java index e2ce1057a2..b36274a8a7 100644 --- a/binding/mdsal-binding-generator/src/test/java/org/opendaylight/mdsal/binding/generator/impl/Mdsal320Test.java +++ b/binding/mdsal-binding-generator/src/test/java/org/opendaylight/mdsal/binding/generator/impl/Mdsal320Test.java @@ -22,7 +22,7 @@ import org.opendaylight.mdsal.binding.model.api.GeneratedTransferObject; import org.opendaylight.mdsal.binding.model.api.GeneratedType; import org.opendaylight.mdsal.binding.model.api.MethodSignature; import org.opendaylight.mdsal.binding.model.api.Type; -import org.opendaylight.mdsal.binding.spec.naming.BindingMapping; +import org.opendaylight.yangtools.yang.binding.contract.Naming; import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils; public class Mdsal320Test { @@ -59,11 +59,11 @@ public class Mdsal320Test { assertTrue(it.hasNext()); final MethodSignature bindingHashCode = it.next(); - assertEquals(BindingMapping.BINDING_HASHCODE_NAME, bindingHashCode.getName()); + assertEquals(Naming.BINDING_HASHCODE_NAME, bindingHashCode.getName()); final MethodSignature bindingEquals = it.next(); - assertEquals(BindingMapping.BINDING_EQUALS_NAME, bindingEquals.getName()); + assertEquals(Naming.BINDING_EQUALS_NAME, bindingEquals.getName()); final MethodSignature bindingToString = it.next(); - assertEquals(BindingMapping.BINDING_TO_STRING_NAME, bindingToString.getName()); + assertEquals(Naming.BINDING_TO_STRING_NAME, bindingToString.getName()); final MethodSignature getBar = it.next(); final Type getBarType = getBar.getReturnType(); assertTrue(getBarType instanceof GeneratedTransferObject); @@ -71,7 +71,7 @@ public class Mdsal320Test { assertTrue(getBarTO.isUnionType()); assertEquals(bar, getBarTO); final MethodSignature requireBar = it.next(); - assertThat(requireBar.getName(), startsWith(BindingMapping.REQUIRE_PREFIX)); + assertThat(requireBar.getName(), startsWith(Naming.REQUIRE_PREFIX)); assertFalse(it.hasNext()); final GeneratedProperty bar1Prop = bar.getProperties().stream().filter(prop -> "bar$1".equals(prop.getName())) diff --git a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/AbstractBuilderTemplate.xtend b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/AbstractBuilderTemplate.xtend index 464102efba..96fc577d9d 100644 --- a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/AbstractBuilderTemplate.xtend +++ b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/AbstractBuilderTemplate.xtend @@ -18,7 +18,7 @@ import org.opendaylight.mdsal.binding.model.api.GeneratedTransferObject import org.opendaylight.mdsal.binding.model.api.GeneratedType import org.opendaylight.mdsal.binding.model.api.Type import org.opendaylight.mdsal.binding.model.ri.BindingTypes -import org.opendaylight.mdsal.binding.spec.naming.BindingMapping +import org.opendaylight.yangtools.yang.binding.contract.Naming abstract class AbstractBuilderTemplate extends BaseTemplate { static val Comparator KEY_PROPS_COMPARATOR = [ p1, p2 | return p1.name.compareTo(p2.name) ] @@ -87,12 +87,12 @@ abstract class AbstractBuilderTemplate extends BaseTemplate { @«OVERRIDE.importedName» «ELSE» /** - * Return current value associated with the property corresponding to {@link «targetType.importedName»#«BindingMapping.IDENTIFIABLE_KEY_NAME»()}. + * Return current value associated with the property corresponding to {@link «targetType.importedName»#«Naming.IDENTIFIABLE_KEY_NAME»()}. * * @return current value */ «ENDIF» - public «keyType.importedName» «BindingMapping.IDENTIFIABLE_KEY_NAME»() { + public «keyType.importedName» «Naming.IDENTIFIABLE_KEY_NAME»() { return key; } diff --git a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/BaseTemplate.xtend b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/BaseTemplate.xtend index 2728e7c8b0..b0d26dce2d 100644 --- a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/BaseTemplate.xtend +++ b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/BaseTemplate.xtend @@ -31,8 +31,8 @@ import org.opendaylight.mdsal.binding.model.api.Restrictions import org.opendaylight.mdsal.binding.model.api.Type import org.opendaylight.mdsal.binding.model.api.TypeMemberComment import org.opendaylight.mdsal.binding.model.ri.TypeConstants -import org.opendaylight.mdsal.binding.spec.naming.BindingMapping import org.opendaylight.yangtools.yang.binding.BaseIdentity +import org.opendaylight.yangtools.yang.binding.contract.Naming abstract class BaseTemplate extends JavaFileTemplate { static final char NEW_LINE = '\n' @@ -90,7 +90,7 @@ abstract class BaseTemplate extends JavaFileTemplate { } final protected def getterMethodName(String propName) { - return '''«BindingMapping.GETTER_PREFIX»«propName.toFirstUpper»''' + return '''«Naming.GETTER_PREFIX»«propName.toFirstUpper»''' } /** @@ -295,19 +295,19 @@ abstract class BaseTemplate extends JavaFileTemplate { »''' def protected emitConstant(Constant c) ''' - «IF BindingMapping.QNAME_STATIC_FIELD_NAME.equals(c.name)» + «IF Naming.QNAME_STATIC_FIELD_NAME.equals(c.name)» «val entry = c.value as Entry» /** * YANG identifier of the statement represented by this class. */ - public static final «c.type.importedNonNull» «c.name» = «entry.key.importedName».«BindingMapping.MODULE_INFO_QNAMEOF_METHOD_NAME»("«entry.value»"); - «ELSEIF BindingMapping.NAME_STATIC_FIELD_NAME.equals(c.name)» + public static final «c.type.importedNonNull» «c.name» = «entry.key.importedName».«Naming.MODULE_INFO_QNAMEOF_METHOD_NAME»("«entry.value»"); + «ELSEIF Naming.NAME_STATIC_FIELD_NAME.equals(c.name)» «val entry = c.value as Entry» /** * Yang Data template name of the statement represented by this class. */ - public static final «c.type.importedNonNull» «c.name» = «entry.key.importedName».«BindingMapping.MODULE_INFO_YANGDATANAMEOF_METHOD_NAME»("«entry.value»"); - «ELSEIF BindingMapping.VALUE_STATIC_FIELD_NAME.equals(c.name) && BaseIdentity.equals(c.value)» + public static final «c.type.importedNonNull» «c.name» = «entry.key.importedName».«Naming.MODULE_INFO_YANGDATANAMEOF_METHOD_NAME»("«entry.value»"); + «ELSEIF Naming.VALUE_STATIC_FIELD_NAME.equals(c.name) && BaseIdentity.equals(c.value)» «val typeName = c.type.importedName» «val override = OVERRIDE.importedName» /** @@ -315,7 +315,7 @@ abstract class BaseTemplate extends JavaFileTemplate { */ public static final «c.type.importedNonNull» «c.name» = new «typeName»() { @«override» - public «CLASS.importedName»<«typeName»> «BindingMapping.BINDING_CONTRACT_IMPLEMENTED_INTERFACE_NAME»() { + public «CLASS.importedName»<«typeName»> «Naming.BINDING_CONTRACT_IMPLEMENTED_INTERFACE_NAME»() { return «typeName».class; } @@ -327,7 +327,7 @@ abstract class BaseTemplate extends JavaFileTemplate { @«override» public boolean equals(final «objectType.importedName» obj) { return obj == this || obj instanceof «typeName» other - && «typeName».class.equals(other.«BindingMapping.BINDING_CONTRACT_IMPLEMENTED_INTERFACE_NAME»()); + && «typeName».class.equals(other.«Naming.BINDING_CONTRACT_IMPLEMENTED_INTERFACE_NAME»()); } @«override» diff --git a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/BuilderGenerator.java b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/BuilderGenerator.java index 7babdde669..8049fa2970 100644 --- a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/BuilderGenerator.java +++ b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/BuilderGenerator.java @@ -16,10 +16,10 @@ import org.opendaylight.mdsal.binding.model.api.MethodSignature; import org.opendaylight.mdsal.binding.model.api.Type; import org.opendaylight.mdsal.binding.model.ri.generated.type.builder.CodegenGeneratedTOBuilder; import org.opendaylight.mdsal.binding.model.ri.generated.type.builder.CodegenGeneratedTypeBuilder; -import org.opendaylight.mdsal.binding.spec.naming.BindingMapping; import org.opendaylight.yangtools.yang.binding.Augmentable; import org.opendaylight.yangtools.yang.binding.Augmentation; import org.opendaylight.yangtools.yang.binding.YangData; +import org.opendaylight.yangtools.yang.binding.contract.Naming; /** * Transformator of the data from the virtual form to JAVA programming language. The result source code represent java @@ -64,13 +64,13 @@ public final class BuilderGenerator implements CodeGenerator { @Override public String getUnitName(final Type type) { - return type.getName() + BindingMapping.BUILDER_SUFFIX; + return type.getName() + Naming.BUILDER_SUFFIX; } @VisibleForTesting static BuilderTemplate templateForType(final GeneratedType type) { final JavaTypeName origName = type.getIdentifier(); - final JavaTypeName builderName = origName.createSibling(origName.simpleName() + BindingMapping.BUILDER_SUFFIX); + final JavaTypeName builderName = origName.createSibling(origName.simpleName() + Naming.BUILDER_SUFFIX); return new BuilderTemplate(new CodegenGeneratedTypeBuilder(builderName) .addEnclosingTransferObject(new CodegenGeneratedTOBuilder( @@ -82,7 +82,7 @@ public final class BuilderGenerator implements CodeGenerator { private static Type getKey(final GeneratedType type) { for (MethodSignature m : type.getMethodDefinitions()) { - if (BindingMapping.IDENTIFIABLE_KEY_NAME.equals(m.getName())) { + if (Naming.IDENTIFIABLE_KEY_NAME.equals(m.getName())) { return m.getReturnType(); } } diff --git a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/BuilderImplTemplate.xtend b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/BuilderImplTemplate.xtend index d2dd7c0273..a4b43f3db8 100644 --- a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/BuilderImplTemplate.xtend +++ b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/BuilderImplTemplate.xtend @@ -9,11 +9,13 @@ package org.opendaylight.mdsal.binding.java.api.generator import static extension org.opendaylight.mdsal.binding.java.api.generator.GeneratorUtil.isNonPresenceContainer; import static org.opendaylight.mdsal.binding.model.ri.Types.STRING; -import static org.opendaylight.mdsal.binding.spec.naming.BindingMapping.AUGMENTATION_FIELD -import static org.opendaylight.mdsal.binding.spec.naming.BindingMapping.BINDING_EQUALS_NAME -import static org.opendaylight.mdsal.binding.spec.naming.BindingMapping.BINDING_HASHCODE_NAME -import static org.opendaylight.mdsal.binding.spec.naming.BindingMapping.BINDING_TO_STRING_NAME -import static org.opendaylight.mdsal.binding.spec.naming.BindingMapping.BUILDER_SUFFIX +import static org.opendaylight.yangtools.yang.binding.contract.Naming.AUGMENTATION_FIELD +import static org.opendaylight.yangtools.yang.binding.contract.Naming.BINDING_EQUALS_NAME +import static org.opendaylight.yangtools.yang.binding.contract.Naming.BINDING_HASHCODE_NAME +import static org.opendaylight.yangtools.yang.binding.contract.Naming.BINDING_TO_STRING_NAME +import static org.opendaylight.yangtools.yang.binding.contract.Naming.BUILDER_SUFFIX +import static org.opendaylight.yangtools.yang.binding.contract.Naming.IDENTIFIABLE_KEY_NAME +import static org.opendaylight.yangtools.yang.binding.contract.Naming.NONNULL_PREFIX import java.util.Collection import java.util.List @@ -25,7 +27,6 @@ import org.opendaylight.mdsal.binding.model.api.MethodSignature import org.opendaylight.mdsal.binding.model.api.MethodSignature.ValueMechanics import org.opendaylight.mdsal.binding.model.api.Type import org.opendaylight.mdsal.binding.model.ri.Types -import org.opendaylight.mdsal.binding.spec.naming.BindingMapping import org.opendaylight.yangtools.yang.binding.AbstractAugmentable class BuilderImplTemplate extends AbstractBuilderTemplate { @@ -69,7 +70,7 @@ class BuilderImplTemplate extends AbstractBuilderTemplate { def private generateGetters() ''' «IF keyType !== null» @«OVERRIDE.importedName» - public «keyType.importedName» «BindingMapping.IDENTIFIABLE_KEY_NAME»() { + public «keyType.importedName» «IDENTIFIABLE_KEY_NAME»() { return key; } @@ -130,7 +131,7 @@ class BuilderImplTemplate extends AbstractBuilderTemplate { ''' def private nonnullMethodName(GeneratedProperty field) { - return '''«BindingMapping.NONNULL_PREFIX»«field.name.toFirstUpper»''' + return '''«NONNULL_PREFIX»«field.name.toFirstUpper»''' } package def findGetter(String getterName) { @@ -202,8 +203,8 @@ class BuilderImplTemplate extends AbstractBuilderTemplate { ''' override protected generateCopyKeys(List keyProps) ''' - if (base.«BindingMapping.IDENTIFIABLE_KEY_NAME»() != null) { - this.key = base.«BindingMapping.IDENTIFIABLE_KEY_NAME»(); + if (base.«IDENTIFIABLE_KEY_NAME»() != null) { + this.key = base.«IDENTIFIABLE_KEY_NAME»(); } else { this.key = new «keyType.importedName»(«FOR keyProp : keyProps SEPARATOR ", "»base.«keyProp.getterMethodName»()«ENDFOR»); } diff --git a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/BuilderTemplate.xtend b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/BuilderTemplate.xtend index eca2aba2ee..d7c422e33a 100644 --- a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/BuilderTemplate.xtend +++ b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/BuilderTemplate.xtend @@ -10,10 +10,10 @@ package org.opendaylight.mdsal.binding.java.api.generator import static extension org.apache.commons.text.StringEscapeUtils.escapeJava import static extension org.opendaylight.mdsal.binding.java.api.generator.GeneratorUtil.isNonPresenceContainer; import static org.opendaylight.mdsal.binding.model.ri.BindingTypes.DATA_OBJECT -import static org.opendaylight.mdsal.binding.spec.naming.BindingMapping.AUGMENTABLE_AUGMENTATION_NAME -import static org.opendaylight.mdsal.binding.spec.naming.BindingMapping.AUGMENTATION_FIELD -import static org.opendaylight.mdsal.binding.spec.naming.BindingMapping.BINDING_CONTRACT_IMPLEMENTED_INTERFACE_NAME -import static org.opendaylight.mdsal.binding.spec.naming.BindingMapping.IDENTIFIABLE_KEY_NAME +import static org.opendaylight.yangtools.yang.binding.contract.Naming.AUGMENTABLE_AUGMENTATION_NAME +import static org.opendaylight.yangtools.yang.binding.contract.Naming.AUGMENTATION_FIELD +import static org.opendaylight.yangtools.yang.binding.contract.Naming.BINDING_CONTRACT_IMPLEMENTED_INTERFACE_NAME +import static org.opendaylight.yangtools.yang.binding.contract.Naming.IDENTIFIABLE_KEY_NAME import com.google.common.collect.ImmutableList import com.google.common.collect.ImmutableSet @@ -34,7 +34,7 @@ import org.opendaylight.mdsal.binding.model.api.ParameterizedType import org.opendaylight.mdsal.binding.model.api.Type import org.opendaylight.mdsal.binding.model.ri.TypeConstants import org.opendaylight.mdsal.binding.model.ri.Types -import org.opendaylight.mdsal.binding.spec.naming.BindingMapping +import org.opendaylight.yangtools.yang.binding.contract.Naming /** * Template for generating JAVA builder classes. @@ -167,7 +167,7 @@ class BuilderTemplate extends AbstractBuilderTemplate { «IF (implementedIfc instanceof GeneratedType && !(implementedIfc instanceof GeneratedTransferObject))» «val ifc = implementedIfc as GeneratedType» «FOR getter : ifc.nonDefaultMethods» - «IF BindingMapping.isGetterMethodName(getter.name)» + «IF Naming.isGetterMethodName(getter.name)» «val propertyName = getter.propertyNameFromGetter» «printPropertySetter(getter, '''arg.«getter.name»()''', propertyName)»; «ENDIF» @@ -182,7 +182,7 @@ class BuilderTemplate extends AbstractBuilderTemplate { «IF (implementedIfc instanceof GeneratedType && !(implementedIfc instanceof GeneratedTransferObject))» «val ifc = implementedIfc as GeneratedType» «FOR getter : ifc.nonDefaultMethods» - «IF BindingMapping.isGetterMethodName(getter.name) && getterByName(alreadySetProperties, getter.name).isEmpty» + «IF Naming.isGetterMethodName(getter.name) && getterByName(alreadySetProperties, getter.name).isEmpty» «val propertyName = getter.propertyNameFromGetter» «printPropertySetter(getter, '''arg.«getter.name»()''', propertyName)»; «ENDIF» @@ -287,7 +287,7 @@ class BuilderTemplate extends AbstractBuilderTemplate { «IF (implementedIfc instanceof GeneratedType && !(implementedIfc instanceof GeneratedTransferObject))» «val ifc = implementedIfc as GeneratedType» «FOR getter : ifc.nonDefaultMethods» - «IF BindingMapping.isGetterMethodName(getter.name) && !hasOverrideAnnotation(getter)» + «IF Naming.isGetterMethodName(getter.name) && !hasOverrideAnnotation(getter)» «printPropertySetter(getter, '''castArg.«getter.name»()''', getter.propertyNameFromGetter)»; «ENDIF» «ENDFOR» @@ -589,7 +589,7 @@ class BuilderTemplate extends AbstractBuilderTemplate { ''' override protected generateCopyKeys(List keyProps) ''' - this.key = base.«BindingMapping.IDENTIFIABLE_KEY_NAME»(); + this.key = base.«IDENTIFIABLE_KEY_NAME»(); «FOR field : keyProps» this.«field.fieldName» = base.«field.getterMethodName»(); «ENDFOR» diff --git a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/ClassTemplate.xtend b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/ClassTemplate.xtend index 534fab13bd..38fb42811c 100644 --- a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/ClassTemplate.xtend +++ b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/ClassTemplate.xtend @@ -50,7 +50,7 @@ import org.opendaylight.mdsal.binding.model.api.Restrictions import org.opendaylight.mdsal.binding.model.api.Type import org.opendaylight.mdsal.binding.model.ri.TypeConstants import org.opendaylight.mdsal.binding.model.ri.Types -import org.opendaylight.mdsal.binding.spec.naming.BindingMapping +import org.opendaylight.yangtools.yang.binding.contract.Naming import org.opendaylight.yangtools.yang.common.Empty import org.opendaylight.yangtools.yang.model.api.type.BitsTypeDefinition @@ -239,7 +239,7 @@ class ClassTemplate extends BaseTemplate { def private scalarTypeObjectValue(GeneratedProperty field) ''' @«OVERRIDE.importedName» - public «field.returnType.importedName» «BindingMapping.SCALAR_TYPE_OBJECT_GET_VALUE_NAME»() { + public «field.returnType.importedName» «Naming.SCALAR_TYPE_OBJECT_GET_VALUE_NAME»() { return «field.fieldName»«field.cloneCall»; } ''' @@ -264,7 +264,7 @@ class ClassTemplate extends BaseTemplate { public boolean[] values() { return new boolean[] { «FOR bit : typedef.bits SEPARATOR ','» - «BindingMapping.getPropertyName(bit.name).getterMethodName»() + «Naming.getPropertyName(bit.name).getterMethodName»() «ENDFOR» }; } diff --git a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/FeatureTemplate.java b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/FeatureTemplate.java index 3ed8be3bb5..92079d50c2 100644 --- a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/FeatureTemplate.java +++ b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/FeatureTemplate.java @@ -14,8 +14,8 @@ import org.opendaylight.mdsal.binding.model.api.Constant; import org.opendaylight.mdsal.binding.model.api.GeneratedTransferObject; import org.opendaylight.mdsal.binding.model.api.JavaTypeName; import org.opendaylight.mdsal.binding.model.api.Type; -import org.opendaylight.mdsal.binding.spec.naming.BindingMapping; import org.opendaylight.yangtools.yang.binding.YangFeature; +import org.opendaylight.yangtools.yang.binding.contract.Naming; import org.opendaylight.yangtools.yang.common.QName; final class FeatureTemplate extends ClassTemplate { @@ -50,7 +50,7 @@ final class FeatureTemplate extends ClassTemplate { @SuppressWarnings("checkstyle:ParameterName") @Override protected CharSequence emitConstant(final Constant c) { - if (!BindingMapping.VALUE_STATIC_FIELD_NAME.equals(c.getName()) || !YangFeature.class.equals(c.getValue())) { + if (!Naming.VALUE_STATIC_FIELD_NAME.equals(c.getName()) || !YangFeature.class.equals(c.getValue())) { return super.emitConstant(c); } @@ -59,7 +59,7 @@ final class FeatureTemplate extends ClassTemplate { return "/**\n" + " * {@link " + typeName + "} singleton instance.\n" + " */\n" - + "public static final " + importedName(type) + ' ' + BindingMapping.VALUE_STATIC_FIELD_NAME + " = new " + + "public static final " + importedName(type) + ' ' + Naming.VALUE_STATIC_FIELD_NAME + " = new " + type.getName() + "();"; } @@ -71,14 +71,13 @@ final class FeatureTemplate extends ClassTemplate { final var rootName = importedName(dataRoot); return '@' + override + '\n' - + "public " + clazz + '<' + typeName + "> " + BindingMapping.BINDING_CONTRACT_IMPLEMENTED_INTERFACE_NAME - + "() {\n" + + "public " + clazz + '<' + typeName + "> " + Naming.BINDING_CONTRACT_IMPLEMENTED_INTERFACE_NAME + "() {\n" + " return " + typeName + ".class;\n" + "}\n" + '\n' + '@' + override + '\n' + "public " + importedName(QNAME) + " qname() {\n" - + " return " + BindingMapping.QNAME_STATIC_FIELD_NAME + ";\n" + + " return " + Naming.QNAME_STATIC_FIELD_NAME + ";\n" + "}\n" + '\n' + '@' + override + '\n' diff --git a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/InterfaceTemplate.xtend b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/InterfaceTemplate.xtend index e2b4215b4b..53900de421 100644 --- a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/InterfaceTemplate.xtend +++ b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/InterfaceTemplate.xtend @@ -7,19 +7,19 @@ */ package org.opendaylight.mdsal.binding.java.api.generator -import static extension org.opendaylight.mdsal.binding.spec.naming.BindingMapping.getGetterMethodForNonnull -import static extension org.opendaylight.mdsal.binding.spec.naming.BindingMapping.getGetterMethodForRequire -import static extension org.opendaylight.mdsal.binding.spec.naming.BindingMapping.isGetterMethodName -import static extension org.opendaylight.mdsal.binding.spec.naming.BindingMapping.isNonnullMethodName -import static extension org.opendaylight.mdsal.binding.spec.naming.BindingMapping.isRequireMethodName +import static extension org.opendaylight.yangtools.yang.binding.contract.Naming.getGetterMethodForNonnull +import static extension org.opendaylight.yangtools.yang.binding.contract.Naming.getGetterMethodForRequire +import static extension org.opendaylight.yangtools.yang.binding.contract.Naming.isGetterMethodName +import static extension org.opendaylight.yangtools.yang.binding.contract.Naming.isNonnullMethodName +import static extension org.opendaylight.yangtools.yang.binding.contract.Naming.isRequireMethodName import static org.opendaylight.mdsal.binding.model.ri.Types.BOOLEAN import static org.opendaylight.mdsal.binding.model.ri.Types.STRING -import static org.opendaylight.mdsal.binding.spec.naming.BindingMapping.REQUIRE_PREFIX -import static org.opendaylight.mdsal.binding.spec.naming.BindingMapping.AUGMENTATION_FIELD -import static org.opendaylight.mdsal.binding.spec.naming.BindingMapping.BINDING_CONTRACT_IMPLEMENTED_INTERFACE_NAME -import static org.opendaylight.mdsal.binding.spec.naming.BindingMapping.BINDING_EQUALS_NAME -import static org.opendaylight.mdsal.binding.spec.naming.BindingMapping.BINDING_HASHCODE_NAME -import static org.opendaylight.mdsal.binding.spec.naming.BindingMapping.BINDING_TO_STRING_NAME +import static org.opendaylight.yangtools.yang.binding.contract.Naming.REQUIRE_PREFIX +import static org.opendaylight.yangtools.yang.binding.contract.Naming.AUGMENTATION_FIELD +import static org.opendaylight.yangtools.yang.binding.contract.Naming.BINDING_CONTRACT_IMPLEMENTED_INTERFACE_NAME +import static org.opendaylight.yangtools.yang.binding.contract.Naming.BINDING_EQUALS_NAME +import static org.opendaylight.yangtools.yang.binding.contract.Naming.BINDING_HASHCODE_NAME +import static org.opendaylight.yangtools.yang.binding.contract.Naming.BINDING_TO_STRING_NAME import com.google.common.annotations.VisibleForTesting; import java.util.List diff --git a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/JavaFileGenerator.java b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/JavaFileGenerator.java index 788239eee8..f890b0a9d4 100644 --- a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/JavaFileGenerator.java +++ b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/JavaFileGenerator.java @@ -24,7 +24,6 @@ import org.opendaylight.mdsal.binding.generator.BindingGenerator; import org.opendaylight.mdsal.binding.model.api.CodeGenerator; import org.opendaylight.mdsal.binding.model.api.GeneratedType; import org.opendaylight.mdsal.binding.model.api.Type; -import org.opendaylight.mdsal.binding.spec.naming.BindingMapping; import org.opendaylight.yangtools.plugin.generator.api.FileGenerator; import org.opendaylight.yangtools.plugin.generator.api.FileGeneratorException; import org.opendaylight.yangtools.plugin.generator.api.GeneratedFile; @@ -33,6 +32,7 @@ import org.opendaylight.yangtools.plugin.generator.api.GeneratedFilePath; import org.opendaylight.yangtools.plugin.generator.api.GeneratedFileType; import org.opendaylight.yangtools.plugin.generator.api.ModuleResourceResolver; import org.opendaylight.yangtools.yang.binding.YangModelBindingProvider; +import org.opendaylight.yangtools.yang.binding.contract.Naming; import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; import org.opendaylight.yangtools.yang.model.api.Module; import org.opendaylight.yangtools.yang.model.repo.api.YangTextSchemaSource; @@ -44,8 +44,8 @@ final class JavaFileGenerator implements FileGenerator { private static final Logger LOG = LoggerFactory.getLogger(JavaFileGenerator.class); private static final CharMatcher DOT_MATCHER = CharMatcher.is('.'); - private static final String MODULE_INFO = BindingMapping.MODULE_INFO_CLASS_NAME + ".java"; - private static final String MODEL_BINDING_PROVIDER = BindingMapping.MODEL_BINDING_PROVIDER_CLASS_NAME + ".java"; + private static final String MODULE_INFO = Naming.MODULE_INFO_CLASS_NAME + ".java"; + private static final String MODEL_BINDING_PROVIDER = Naming.MODEL_BINDING_PROVIDER_CLASS_NAME + ".java"; private static final GeneratedFilePath MODEL_BINDING_PROVIDER_SERVICE = GeneratedFilePath.ofPath("META-INF/services/" + YangModelBindingProvider.class.getName()); private static final List GENERATORS = List.of( diff --git a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/JavaFileTemplate.java b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/JavaFileTemplate.java index 58cfafd6d5..d7ac386f8d 100644 --- a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/JavaFileTemplate.java +++ b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/JavaFileTemplate.java @@ -50,9 +50,9 @@ import org.opendaylight.mdsal.binding.model.api.YangSourceDefinition.Multiple; import org.opendaylight.mdsal.binding.model.api.YangSourceDefinition.Single; import org.opendaylight.mdsal.binding.model.ri.BindingTypes; import org.opendaylight.mdsal.binding.model.ri.Types; -import org.opendaylight.mdsal.binding.spec.naming.BindingMapping; import org.opendaylight.yangtools.yang.binding.Augmentable; import org.opendaylight.yangtools.yang.binding.CodeHelpers; +import org.opendaylight.yangtools.yang.binding.contract.Naming; import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode; import org.opendaylight.yangtools.yang.model.api.DocumentedNode; import org.opendaylight.yangtools.yang.model.api.ListSchemaNode; @@ -172,13 +172,13 @@ class JavaFileTemplate { .addIgnoredStatement(YangStmtMapping.REFERENCE) .addIgnoredStatement(YangStmtMapping.ORGANIZATION) .build(); - private static final int GETTER_PREFIX_LENGTH = BindingMapping.GETTER_PREFIX.length(); + private static final int GETTER_PREFIX_LENGTH = Naming.GETTER_PREFIX.length(); private static final Type AUGMENTATION_RET_TYPE; static { final Method m; try { - m = Augmentable.class.getDeclaredMethod(BindingMapping.AUGMENTABLE_AUGMENTATION_NAME, Class.class); + m = Augmentable.class.getDeclaredMethod(Naming.AUGMENTABLE_AUGMENTATION_NAME, Class.class); } catch (NoSuchMethodException e) { throw new ExceptionInInitializerError(e); } @@ -374,7 +374,7 @@ class JavaFileTemplate { methods.add(implMethod); } else { final String implMethodName = implMethod.getName(); - if (BindingMapping.isGetterMethodName(implMethodName) + if (Naming.isGetterMethodName(implMethodName) && getterByName(methods, implMethodName).isEmpty()) { methods.add(implMethod); @@ -387,7 +387,7 @@ class JavaFileTemplate { final String implMethodName) { for (MethodSignature method : methods) { final String methodName = method.getName(); - if (BindingMapping.isGetterMethodName(methodName) && isSameProperty(method.getName(), implMethodName)) { + if (Naming.isGetterMethodName(methodName) && isSameProperty(method.getName(), implMethodName)) { return Optional.of(method); } } @@ -400,12 +400,12 @@ class JavaFileTemplate { protected static String propertyNameFromGetter(final String getterName) { final String prefix; - if (BindingMapping.isGetterMethodName(getterName)) { - prefix = BindingMapping.GETTER_PREFIX; - } else if (BindingMapping.isNonnullMethodName(getterName)) { - prefix = BindingMapping.NONNULL_PREFIX; - } else if (BindingMapping.isRequireMethodName(getterName)) { - prefix = BindingMapping.REQUIRE_PREFIX; + if (Naming.isGetterMethodName(getterName)) { + prefix = Naming.GETTER_PREFIX; + } else if (Naming.isNonnullMethodName(getterName)) { + prefix = Naming.NONNULL_PREFIX; + } else if (Naming.isRequireMethodName(getterName)) { + prefix = Naming.REQUIRE_PREFIX; } else { throw new IllegalArgumentException(getterName + " is not a getter"); } @@ -447,7 +447,7 @@ class JavaFileTemplate { // sb.append("\n"); if (hasBuilderClass(schema)) { - final String builderName = genType.getName() + BindingMapping.BUILDER_SUFFIX; + final String builderName = genType.getName() + Naming.BUILDER_SUFFIX; sb.append("\n

To create instances of this class use {@link ").append(builderName) .append("}.\n") @@ -455,7 +455,7 @@ class JavaFileTemplate { if (node instanceof ListSchemaNode) { final var keyDef = ((ListSchemaNode) node).getKeyDefinition(); if (!keyDef.isEmpty()) { - sb.append("@see ").append(genType.getName()).append(BindingMapping.KEY_SUFFIX); + sb.append("@see ").append(genType.getName()).append(Naming.KEY_SUFFIX); } sb.append('\n'); } @@ -578,7 +578,7 @@ class JavaFileTemplate { if (method.isDefault()) { return null; } - if (!BindingMapping.isGetterMethodName(method.getName())) { + if (!Naming.isGetterMethodName(method.getName())) { return null; } diff --git a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/UnionTemplate.xtend b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/UnionTemplate.xtend index 9b94f1e328..27315118c6 100644 --- a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/UnionTemplate.xtend +++ b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/UnionTemplate.xtend @@ -13,8 +13,8 @@ import static org.opendaylight.mdsal.binding.model.ri.BaseYangTypes.EMPTY_TYPE import static org.opendaylight.mdsal.binding.model.ri.BaseYangTypes.STRING_TYPE import static org.opendaylight.mdsal.binding.model.ri.Types.STRING import static org.opendaylight.mdsal.binding.model.ri.Types.getOuterClassName -import static org.opendaylight.mdsal.binding.spec.naming.BindingMapping.BINDING_CONTRACT_IMPLEMENTED_INTERFACE_NAME -import static org.opendaylight.mdsal.binding.spec.naming.BindingMapping.BUILDER_SUFFIX +import static org.opendaylight.yangtools.yang.binding.contract.Naming.BINDING_CONTRACT_IMPLEMENTED_INTERFACE_NAME +import static org.opendaylight.yangtools.yang.binding.contract.Naming.BUILDER_SUFFIX import static extension org.opendaylight.mdsal.binding.model.ri.BindingTypes.isBitsType import static extension org.opendaylight.mdsal.binding.model.ri.BindingTypes.isIdentityType diff --git a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/YangModuleInfoTemplate.xtend b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/YangModuleInfoTemplate.xtend index 9bb9a6acb5..a83bf505e4 100644 --- a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/YangModuleInfoTemplate.xtend +++ b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/YangModuleInfoTemplate.xtend @@ -7,12 +7,12 @@ */ package org.opendaylight.mdsal.binding.java.api.generator -import static extension org.opendaylight.mdsal.binding.spec.naming.BindingMapping.getClassName -import static extension org.opendaylight.mdsal.binding.spec.naming.BindingMapping.getRootPackageName -import static org.opendaylight.mdsal.binding.spec.naming.BindingMapping.MODEL_BINDING_PROVIDER_CLASS_NAME -import static org.opendaylight.mdsal.binding.spec.naming.BindingMapping.MODULE_INFO_CLASS_NAME -import static org.opendaylight.mdsal.binding.spec.naming.BindingMapping.MODULE_INFO_QNAMEOF_METHOD_NAME -import static org.opendaylight.mdsal.binding.spec.naming.BindingMapping.MODULE_INFO_YANGDATANAMEOF_METHOD_NAME +import static extension org.opendaylight.yangtools.yang.binding.contract.Naming.getClassName +import static extension org.opendaylight.yangtools.yang.binding.contract.Naming.getRootPackageName +import static org.opendaylight.yangtools.yang.binding.contract.Naming.MODEL_BINDING_PROVIDER_CLASS_NAME +import static org.opendaylight.yangtools.yang.binding.contract.Naming.MODULE_INFO_CLASS_NAME +import static org.opendaylight.yangtools.yang.binding.contract.Naming.MODULE_INFO_QNAMEOF_METHOD_NAME +import static org.opendaylight.yangtools.yang.binding.contract.Naming.MODULE_INFO_YANGDATANAMEOF_METHOD_NAME import com.google.common.base.Preconditions import com.google.common.collect.ImmutableSet diff --git a/binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/BaseCompilationTest.java b/binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/BaseCompilationTest.java index acc2fc39b6..368bec84e9 100644 --- a/binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/BaseCompilationTest.java +++ b/binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/BaseCompilationTest.java @@ -23,9 +23,9 @@ import java.util.Optional; import org.junit.BeforeClass; import org.opendaylight.mdsal.binding.generator.impl.DefaultBindingGenerator; import org.opendaylight.mdsal.binding.model.api.GeneratedType; -import org.opendaylight.mdsal.binding.spec.naming.BindingMapping; import org.opendaylight.yangtools.plugin.generator.api.GeneratedFile; import org.opendaylight.yangtools.plugin.generator.api.GeneratedFilePath; +import org.opendaylight.yangtools.yang.binding.contract.Naming; import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; import org.opendaylight.yangtools.yang.model.api.Module; import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils; @@ -69,8 +69,8 @@ public abstract class BaseCompilationTest { mod -> Optional.of("fake/" + mod.getName())); final File file = new File(new File(sourcesOutputDir, - BindingMapping.getRootPackageName(module.getQNameModule()).replace('.', File.separatorChar)), - BindingMapping.MODULE_INFO_CLASS_NAME + ".java"); + Naming.getRootPackageName(module.getQNameModule()).replace('.', File.separatorChar)), + Naming.MODULE_INFO_CLASS_NAME + ".java"); Files.createParentDirs(file); Files.asCharSink(file, StandardCharsets.UTF_8).write(template.generate()); } diff --git a/binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/SpecializingLeafrefTest.java b/binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/SpecializingLeafrefTest.java index 7b29f3c540..3018c3065f 100644 --- a/binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/SpecializingLeafrefTest.java +++ b/binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/SpecializingLeafrefTest.java @@ -35,7 +35,7 @@ import org.opendaylight.mdsal.binding.model.api.MethodSignature; import org.opendaylight.mdsal.binding.model.api.ParameterizedType; import org.opendaylight.mdsal.binding.model.api.Type; import org.opendaylight.mdsal.binding.model.ri.Types; -import org.opendaylight.mdsal.binding.spec.naming.BindingMapping; +import org.opendaylight.yangtools.yang.binding.contract.Naming; public class SpecializingLeafrefTest extends BaseCompilationTest { private static final ParameterizedType SET_STRING_TYPE = Types.setTypeFor(Types.STRING); @@ -275,7 +275,7 @@ public class SpecializingLeafrefTest extends BaseCompilationTest { } private static String getJavaBuilderFileName(final String name) { - return getJavaFileName(name + BindingMapping.BUILDER_SUFFIX); + return getJavaFileName(name + Naming.BUILDER_SUFFIX); } private String getFileContent(final String fileName) throws IOException { diff --git a/binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/UnionWithIdentityrefTest.java b/binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/UnionWithIdentityrefTest.java index 11dc334b5c..ffc2a6cd82 100644 --- a/binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/UnionWithIdentityrefTest.java +++ b/binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/UnionWithIdentityrefTest.java @@ -16,7 +16,7 @@ import java.lang.reflect.Method; import java.net.URL; import java.net.URLClassLoader; import org.junit.Test; -import org.opendaylight.mdsal.binding.spec.naming.BindingMapping; +import org.opendaylight.yangtools.yang.binding.contract.Naming; /** * Union constructor with indentityref. Previously identityref was ignored so that there is no constructor for @@ -41,7 +41,7 @@ public class UnionWithIdentityrefTest extends BaseCompilationTest { Class unionTypeClass = Class.forName(CompilationTestUtils.BASE_PKG + ".urn.opendaylight.yang.union.test.rev160509.UnionType", true, loader); - Object identOneValue = identOneClass.getDeclaredField(BindingMapping.VALUE_STATIC_FIELD_NAME).get(null); + Object identOneValue = identOneClass.getDeclaredField(Naming.VALUE_STATIC_FIELD_NAME).get(null); // test UnionType with IdentOne argument Constructor unionTypeIdentBaseConstructor = CompilationTestUtils.assertContainsConstructor(unionTypeClass, diff --git a/binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/UnionWithMultipleIdentityrefsTest.java b/binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/UnionWithMultipleIdentityrefsTest.java index 09f7ddb936..a816a600b0 100644 --- a/binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/UnionWithMultipleIdentityrefsTest.java +++ b/binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/UnionWithMultipleIdentityrefsTest.java @@ -15,7 +15,7 @@ import java.lang.reflect.Method; import java.net.URL; import java.net.URLClassLoader; import org.junit.Test; -import org.opendaylight.mdsal.binding.spec.naming.BindingMapping; +import org.opendaylight.yangtools.yang.binding.contract.Naming; public class UnionWithMultipleIdentityrefsTest extends BaseCompilationTest { @Test @@ -35,8 +35,8 @@ public class UnionWithMultipleIdentityrefsTest extends BaseCompilationTest { Class unionTypeClass = Class.forName(CompilationTestUtils.BASE_PKG + ".urn.opendaylight.yang.union.test.rev220428.UnionType", true, loader); - Object identOneValue = identOneClass.getDeclaredField(BindingMapping.VALUE_STATIC_FIELD_NAME).get(null); - Object identTwoValue = identTwoClass.getDeclaredField(BindingMapping.VALUE_STATIC_FIELD_NAME).get(null); + Object identOneValue = identOneClass.getDeclaredField(Naming.VALUE_STATIC_FIELD_NAME).get(null); + Object identTwoValue = identTwoClass.getDeclaredField(Naming.VALUE_STATIC_FIELD_NAME).get(null); Constructor unionTypeIdentOneConstructor = CompilationTestUtils.assertContainsConstructor(unionTypeClass, identOneClass); diff --git a/binding/mdsal-binding-model-ri/src/main/java/org/opendaylight/mdsal/binding/model/ri/BindingTypes.java b/binding/mdsal-binding-model-ri/src/main/java/org/opendaylight/mdsal/binding/model/ri/BindingTypes.java index d241ae41df..7cd300df96 100644 --- a/binding/mdsal-binding-model-ri/src/main/java/org/opendaylight/mdsal/binding/model/ri/BindingTypes.java +++ b/binding/mdsal-binding-model-ri/src/main/java/org/opendaylight/mdsal/binding/model/ri/BindingTypes.java @@ -9,7 +9,7 @@ package org.opendaylight.mdsal.binding.model.ri; import static org.opendaylight.mdsal.binding.model.ri.Types.parameterizedTypeFor; import static org.opendaylight.mdsal.binding.model.ri.Types.typeForClass; -import static org.opendaylight.mdsal.binding.spec.naming.BindingMapping.VALUE_STATIC_FIELD_NAME; +import static org.opendaylight.yangtools.yang.binding.contract.Naming.VALUE_STATIC_FIELD_NAME; import com.google.common.annotations.Beta; import com.google.common.annotations.VisibleForTesting; diff --git a/binding/mdsal-binding-model-ri/src/main/java/org/opendaylight/mdsal/binding/model/ri/generated/type/builder/AbstractEnumerationBuilder.java b/binding/mdsal-binding-model-ri/src/main/java/org/opendaylight/mdsal/binding/model/ri/generated/type/builder/AbstractEnumerationBuilder.java index 9307657585..13f0166590 100644 --- a/binding/mdsal-binding-model-ri/src/main/java/org/opendaylight/mdsal/binding/model/ri/generated/type/builder/AbstractEnumerationBuilder.java +++ b/binding/mdsal-binding-model-ri/src/main/java/org/opendaylight/mdsal/binding/model/ri/generated/type/builder/AbstractEnumerationBuilder.java @@ -27,8 +27,8 @@ import org.opendaylight.mdsal.binding.model.api.Type; import org.opendaylight.mdsal.binding.model.api.YangSourceDefinition; import org.opendaylight.mdsal.binding.model.api.type.builder.AnnotationTypeBuilder; import org.opendaylight.mdsal.binding.model.api.type.builder.EnumBuilder; -import org.opendaylight.mdsal.binding.spec.naming.BindingMapping; import org.opendaylight.yangtools.util.LazyCollections; +import org.opendaylight.yangtools.yang.binding.contract.Naming; import org.opendaylight.yangtools.yang.model.api.Status; import org.opendaylight.yangtools.yang.model.api.type.EnumTypeDefinition; import org.opendaylight.yangtools.yang.model.api.type.EnumTypeDefinition.EnumPair; @@ -76,7 +76,7 @@ public abstract class AbstractEnumerationBuilder extends AbstractType implements @Override public final void updateEnumPairsFromEnumTypeDef(final EnumTypeDefinition enumTypeDef) { final List enums = enumTypeDef.getValues(); - final Map valueIds = BindingMapping.mapEnumAssignedNames(enums.stream().map(EnumPair::getName) + final Map valueIds = Naming.mapEnumAssignedNames(enums.stream().map(EnumPair::getName) .collect(Collectors.toList())); for (EnumPair enumPair : enums) { diff --git a/binding/mdsal-binding-runtime-spi/src/main/java/org/opendaylight/mdsal/binding/runtime/spi/DefaultModuleInfoSnapshot.java b/binding/mdsal-binding-runtime-spi/src/main/java/org/opendaylight/mdsal/binding/runtime/spi/DefaultModuleInfoSnapshot.java index 069366b2c1..1f0a238d99 100644 --- a/binding/mdsal-binding-runtime-spi/src/main/java/org/opendaylight/mdsal/binding/runtime/spi/DefaultModuleInfoSnapshot.java +++ b/binding/mdsal-binding-runtime-spi/src/main/java/org/opendaylight/mdsal/binding/runtime/spi/DefaultModuleInfoSnapshot.java @@ -15,8 +15,8 @@ import com.google.common.util.concurrent.ListenableFuture; import java.util.Map; import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.mdsal.binding.runtime.api.ModuleInfoSnapshot; -import org.opendaylight.mdsal.binding.spec.naming.BindingMapping; import org.opendaylight.yangtools.yang.binding.YangModuleInfo; +import org.opendaylight.yangtools.yang.binding.contract.Naming; import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; import org.opendaylight.yangtools.yang.model.repo.api.MissingSchemaSourceException; import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier; @@ -52,7 +52,7 @@ final class DefaultModuleInfoSnapshot implements ModuleInfoSnapshot { @Override public Class loadClass(final String fullyQualifiedName) throws ClassNotFoundException { - final String packageName = BindingMapping.getModelRootPackageName(fullyQualifiedName); + final String packageName = Naming.getModelRootPackageName(fullyQualifiedName); final ClassLoader loader = classLoaders.get(packageName); if (loader == null) { throw new ClassNotFoundException("Package " + packageName + " not found"); diff --git a/binding/mdsal-binding-runtime-spi/src/main/java/org/opendaylight/mdsal/binding/runtime/spi/ModuleInfoSnapshotBuilder.java b/binding/mdsal-binding-runtime-spi/src/main/java/org/opendaylight/mdsal/binding/runtime/spi/ModuleInfoSnapshotBuilder.java index fbcc51fc12..f716448cb8 100644 --- a/binding/mdsal-binding-runtime-spi/src/main/java/org/opendaylight/mdsal/binding/runtime/spi/ModuleInfoSnapshotBuilder.java +++ b/binding/mdsal-binding-runtime-spi/src/main/java/org/opendaylight/mdsal/binding/runtime/spi/ModuleInfoSnapshotBuilder.java @@ -18,10 +18,10 @@ import java.util.Map; import java.util.Set; import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.mdsal.binding.runtime.api.ModuleInfoSnapshot; -import org.opendaylight.mdsal.binding.spec.naming.BindingMapping; import org.opendaylight.mdsal.binding.spec.reflect.BindingReflections; import org.opendaylight.yangtools.yang.binding.BindingObject; import org.opendaylight.yangtools.yang.binding.YangModuleInfo; +import org.opendaylight.yangtools.yang.binding.contract.Naming; import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier; import org.opendaylight.yangtools.yang.model.repo.api.YangTextSchemaSource; import org.opendaylight.yangtools.yang.parser.api.YangParser; @@ -93,7 +93,7 @@ public final class ModuleInfoSnapshotBuilder { mappedInfos.put(source.getIdentifier(), info); final Class infoClass = info.getClass(); - classLoaders.put(BindingMapping.getModelRootPackageName(infoClass.getPackage().getName()), + classLoaders.put(Naming.getModelRootPackageName(infoClass.getPackage().getName()), infoClass.getClassLoader()); try { diff --git a/binding/mdsal-binding-runtime-spi/src/main/java/org/opendaylight/mdsal/binding/runtime/spi/ModuleInfoSnapshotResolver.java b/binding/mdsal-binding-runtime-spi/src/main/java/org/opendaylight/mdsal/binding/runtime/spi/ModuleInfoSnapshotResolver.java index 1cff6edef7..7a9dae3fb7 100644 --- a/binding/mdsal-binding-runtime-spi/src/main/java/org/opendaylight/mdsal/binding/runtime/spi/ModuleInfoSnapshotResolver.java +++ b/binding/mdsal-binding-runtime-spi/src/main/java/org/opendaylight/mdsal/binding/runtime/spi/ModuleInfoSnapshotResolver.java @@ -27,12 +27,12 @@ import org.checkerframework.checker.lock.qual.Holding; import org.eclipse.jdt.annotation.NonNull; import org.eclipse.jdt.annotation.Nullable; import org.opendaylight.mdsal.binding.runtime.api.ModuleInfoSnapshot; -import org.opendaylight.mdsal.binding.spec.naming.BindingMapping; import org.opendaylight.yangtools.concepts.AbstractObjectRegistration; import org.opendaylight.yangtools.concepts.Mutable; import org.opendaylight.yangtools.concepts.ObjectRegistration; import org.opendaylight.yangtools.concepts.Registration; import org.opendaylight.yangtools.yang.binding.YangModuleInfo; +import org.opendaylight.yangtools.yang.binding.contract.Naming; import org.opendaylight.yangtools.yang.common.Revision; import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; import org.opendaylight.yangtools.yang.model.api.stmt.SubmoduleEffectiveStatement; @@ -185,7 +185,7 @@ public final class ModuleInfoSnapshotResolver implements Mutable { final var info = reg.info; moduleInfos.put(source, info); final var infoClass = info.getClass(); - classLoaders.put(BindingMapping.getModelRootPackageName(infoClass.getPackage().getName()), + classLoaders.put(Naming.getModelRootPackageName(infoClass.getPackage().getName()), infoClass.getClassLoader()); } diff --git a/binding/mdsal-binding-spec-util/src/main/java/module-info.java b/binding/mdsal-binding-spec-util/src/main/java/module-info.java index d8912b57c2..ce69b49b65 100644 --- a/binding/mdsal-binding-spec-util/src/main/java/module-info.java +++ b/binding/mdsal-binding-spec-util/src/main/java/module-info.java @@ -6,7 +6,6 @@ * and is available at http://www.eclipse.org/legal/epl-v10.html */ module org.opendaylight.mdsal.binding.spec.util { - exports org.opendaylight.mdsal.binding.spec.naming; exports org.opendaylight.mdsal.binding.spec.reflect; exports org.opendaylight.mdsal.binding.spec.util; diff --git a/binding/mdsal-binding-spec-util/src/main/java/org/opendaylight/mdsal/binding/spec/reflect/BindingReflections.java b/binding/mdsal-binding-spec-util/src/main/java/org/opendaylight/mdsal/binding/spec/reflect/BindingReflections.java index de792c721b..34ce3e23bd 100644 --- a/binding/mdsal-binding-spec-util/src/main/java/org/opendaylight/mdsal/binding/spec/reflect/BindingReflections.java +++ b/binding/mdsal-binding-spec-util/src/main/java/org/opendaylight/mdsal/binding/spec/reflect/BindingReflections.java @@ -25,7 +25,6 @@ import java.util.Optional; import java.util.ServiceLoader; import java.util.concurrent.TimeUnit; import org.eclipse.jdt.annotation.NonNull; -import org.opendaylight.mdsal.binding.spec.naming.BindingMapping; import org.opendaylight.yangtools.util.ClassLoaderUtils; import org.opendaylight.yangtools.yang.binding.Action; import org.opendaylight.yangtools.yang.binding.Augmentable; @@ -40,6 +39,7 @@ import org.opendaylight.yangtools.yang.binding.Rpc; import org.opendaylight.yangtools.yang.binding.RpcService; import org.opendaylight.yangtools.yang.binding.YangModelBindingProvider; import org.opendaylight.yangtools.yang.binding.YangModuleInfo; +import org.opendaylight.yangtools.yang.binding.contract.Naming; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.QNameModule; import org.opendaylight.yangtools.yang.common.YangConstants; @@ -127,7 +127,7 @@ public final class BindingReflections { * Returns root package name for supplied package. * * @param pkg Package for which find model root package. - * @deprecated Use {@link BindingMapping#getModelRootPackageName(String)} instead. + * @deprecated Use {@link Naming#getModelRootPackageName(String)} instead. */ @Deprecated(since = "11.0.3", forRemoval = true) public static String getModelRootPackageName(final Package pkg) { @@ -139,12 +139,12 @@ public final class BindingReflections { * * @param name Package for which find model root package. * @return Package of model root. - * @deprecated Use {@link BindingMapping#getModelRootPackageName(String)} instead. + * @deprecated Use {@link Naming#getModelRootPackageName(String)} instead. */ @Deprecated(since = "11.0.3", forRemoval = true) public static String getModelRootPackageName(final String name) { checkArgument(name != null, "Package name should not be null."); - return BindingMapping.getModelRootPackageName(name); + return Naming.getModelRootPackageName(name); } public static QNameModule getQNameModule(final Class clz) { @@ -163,7 +163,7 @@ public final class BindingReflections { * @return Instance of {@link YangModuleInfo} associated with model, from which this class was derived. */ public static @NonNull YangModuleInfo getModuleInfo(final Class cls) { - final String packageName = BindingMapping.getModelRootPackageName(cls.getPackage().getName()); + final String packageName = Naming.getModelRootPackageName(cls.getPackage().getName()); final String potentialClassName = getModuleInfoClassName(packageName); final Class moduleInfoClass; try { @@ -184,7 +184,7 @@ public final class BindingReflections { } public static @NonNull String getModuleInfoClassName(final String packageName) { - return packageName + "." + BindingMapping.MODULE_INFO_CLASS_NAME; + return packageName + "." + Naming.MODULE_INFO_CLASS_NAME; } /** @@ -198,7 +198,7 @@ public final class BindingReflections { if (DataContainer.class.isAssignableFrom(cls) || Augmentation.class.isAssignableFrom(cls)) { return true; } - return cls.getName().startsWith(BindingMapping.PACKAGE_PREFIX); + return cls.getName().startsWith(Naming.PACKAGE_PREFIX); } /** @@ -323,17 +323,17 @@ public final class BindingReflections { /** * Tries to resolve QName for supplied class. Looks up for static field with name from constant - * {@link BindingMapping#QNAME_STATIC_FIELD_NAME} and returns value if present. If field is not present uses + * {@link Naming#QNAME_STATIC_FIELD_NAME} and returns value if present. If field is not present uses * {@link #computeQName(Class)} to compute QName for missing types. */ private static Optional resolveQNameNoCache(final Class key) { try { final Field field; try { - field = key.getField(BindingMapping.QNAME_STATIC_FIELD_NAME); + field = key.getField(Naming.QNAME_STATIC_FIELD_NAME); } catch (NoSuchFieldException e) { LOG.debug("{} does not have a {} field, falling back to computation", key, - BindingMapping.QNAME_STATIC_FIELD_NAME, e); + Naming.QNAME_STATIC_FIELD_NAME, e); return Optional.of(computeQName(key)); } @@ -380,7 +380,7 @@ public final class BindingReflections { return module; } else if (isRpcType(key)) { final String className = key.getSimpleName(); - if (className.endsWith(BindingMapping.RPC_OUTPUT_SUFFIX)) { + if (className.endsWith(Naming.RPC_OUTPUT_SUFFIX)) { return YangConstants.operationOutputQName(module.getModule()).intern(); } diff --git a/binding/mdsal-binding-spec-util/src/main/java/org/opendaylight/mdsal/binding/spec/util/DataObjectReadingUtil.java b/binding/mdsal-binding-spec-util/src/main/java/org/opendaylight/mdsal/binding/spec/util/DataObjectReadingUtil.java index 1d8f64af77..2d20f4ca6c 100644 --- a/binding/mdsal-binding-spec-util/src/main/java/org/opendaylight/mdsal/binding/spec/util/DataObjectReadingUtil.java +++ b/binding/mdsal-binding-spec-util/src/main/java/org/opendaylight/mdsal/binding/spec/util/DataObjectReadingUtil.java @@ -21,7 +21,6 @@ import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.Optional; -import org.opendaylight.mdsal.binding.spec.naming.BindingMapping; import org.opendaylight.yangtools.yang.binding.Augmentable; import org.opendaylight.yangtools.yang.binding.Augmentation; import org.opendaylight.yangtools.yang.binding.DataContainer; @@ -32,6 +31,7 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier.IdentifiableItem; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier.Item; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier.PathArgument; +import org.opendaylight.yangtools.yang.binding.contract.Naming; @Deprecated(since = "11.0.3", forRemoval = true) public final class DataObjectReadingUtil { @@ -173,7 +173,7 @@ public final class DataObjectReadingUtil { public abstract DataContainer read(DataContainer parent, Class child); private static Method resolveGetterMethod(final Class parent, final Class child) { - String methodName = BindingMapping.GETTER_PREFIX + child.getSimpleName(); + String methodName = Naming.GETTER_PREFIX + child.getSimpleName(); try { return parent.getMethod(methodName); } catch (NoSuchMethodException e) { diff --git a/binding/yang-binding/src/main/java/module-info.java b/binding/yang-binding/src/main/java/module-info.java index d9640ba06c..2aba738bf7 100644 --- a/binding/yang-binding/src/main/java/module-info.java +++ b/binding/yang-binding/src/main/java/module-info.java @@ -8,6 +8,7 @@ module org.opendaylight.yangtools.yang.binding { exports org.opendaylight.yangtools.yang.binding; exports org.opendaylight.yangtools.yang.binding.annotations; + exports org.opendaylight.yangtools.yang.binding.contract; exports org.opendaylight.yangtools.yang.binding.util; requires transitive org.opendaylight.yangtools.yang.common; @@ -16,4 +17,5 @@ module org.opendaylight.yangtools.yang.binding { // Annotations requires static transitive org.eclipse.jdt.annotation; requires static com.github.spotbugs.annotations; + requires static org.checkerframework.checker.qual; } diff --git a/binding/mdsal-binding-spec-util/src/main/java/org/opendaylight/mdsal/binding/spec/naming/BindingMapping.java b/binding/yang-binding/src/main/java/org/opendaylight/yangtools/yang/binding/contract/Naming.java similarity index 97% rename from binding/mdsal-binding-spec-util/src/main/java/org/opendaylight/mdsal/binding/spec/naming/BindingMapping.java rename to binding/yang-binding/src/main/java/org/opendaylight/yangtools/yang/binding/contract/Naming.java index 81cf8aab12..0afe783bd2 100644 --- a/binding/mdsal-binding-spec-util/src/main/java/org/opendaylight/mdsal/binding/spec/naming/BindingMapping.java +++ b/binding/yang-binding/src/main/java/org/opendaylight/yangtools/yang/binding/contract/Naming.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.spec.naming; +package org.opendaylight.yangtools.yang.binding.contract; import static com.google.common.base.Preconditions.checkArgument; import static java.util.Objects.requireNonNull; @@ -38,7 +38,7 @@ import org.opendaylight.yangtools.yang.common.QNameModule; import org.opendaylight.yangtools.yang.common.Revision; @Beta -public final class BindingMapping { +public final class Naming { public static final @NonNull String VERSION = "0.6"; @@ -159,10 +159,10 @@ public final class BindingMapping { private static final Interner PACKAGE_INTERNER = Interners.newWeakInterner(); @Regex private static final String ROOT_PACKAGE_PATTERN_STRING = - "(org.opendaylight.yang.gen.v1.[a-z0-9_\\.]*\\.(?:rev[0-9][0-9][0-1][0-9][0-3][0-9]|norev))"; + "(org.opendaylight.yang.gen.v1.[a-z0-9_\\.]*?\\.(?:rev[0-9][0-9][0-1][0-9][0-3][0-9]|norev))"; private static final Pattern ROOT_PACKAGE_PATTERN = Pattern.compile(ROOT_PACKAGE_PATTERN_STRING); - private BindingMapping() { + private Naming() { // Hidden on purpose } @@ -171,7 +171,7 @@ public final class BindingMapping { } public static @NonNull String getRootPackageName(final QNameModule module) { - final StringBuilder packageNameBuilder = new StringBuilder().append(BindingMapping.PACKAGE_PREFIX).append('.'); + final StringBuilder packageNameBuilder = new StringBuilder().append(PACKAGE_PREFIX).append('.'); String namespace = module.getNamespace().toString(); namespace = COLON_SLASH_SLASH.matcher(namespace).replaceAll(QUOTED_DOT); @@ -217,7 +217,7 @@ public final class BindingMapping { builder.append('.'); } - if (Character.isDigit(p.charAt(0)) || BindingMapping.JAVA_RESERVED_WORDS.contains(p)) { + if (Character.isDigit(p.charAt(0)) || JAVA_RESERVED_WORDS.contains(p)) { builder.append('_'); } builder.append(p); @@ -383,7 +383,7 @@ public final class BindingMapping { PACKAGE_PREFIX, packageName); final var match = ROOT_PACKAGE_PATTERN.matcher(packageName); checkArgument(match.find(), "Package name '%s' does not match required pattern '%s'", packageName, - ROOT_PACKAGE_PATTERN_STRING); + ROOT_PACKAGE_PATTERN_STRING); return match.group(0); } diff --git a/binding/mdsal-binding-spec-util/src/test/java/org/opendaylight/mdsal/binding/spec/naming/BindingMappingTest.java b/binding/yang-binding/src/test/java/org/opendaylight/yangtools/yang/binding/contract/NamingTest.java similarity index 61% rename from binding/mdsal-binding-spec-util/src/test/java/org/opendaylight/mdsal/binding/spec/naming/BindingMappingTest.java rename to binding/yang-binding/src/test/java/org/opendaylight/yangtools/yang/binding/contract/NamingTest.java index 64299d9dea..b984d48a4f 100644 --- a/binding/mdsal-binding-spec-util/src/test/java/org/opendaylight/mdsal/binding/spec/naming/BindingMappingTest.java +++ b/binding/yang-binding/src/test/java/org/opendaylight/yangtools/yang/binding/contract/NamingTest.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.spec.naming; +package org.opendaylight.yangtools.yang.binding.contract; import static org.junit.Assert.assertEquals; @@ -18,50 +18,50 @@ import org.opendaylight.yangtools.yang.common.QNameModule; import org.opendaylight.yangtools.yang.common.Revision; import org.opendaylight.yangtools.yang.common.XMLNamespace; -public class BindingMappingTest { +public class NamingTest { + @Test public void testGetModelRootPackageName() { assertEquals("org.opendaylight.yang.gen.v1.test.rev990939", - BindingMapping.getModelRootPackageName("org.opendaylight.yang.gen.v1.test.rev990939")); + Naming.getModelRootPackageName("org.opendaylight.yang.gen.v1.test.rev990939")); } @Test public void testGetMethodName() { - assertEquals("testLocalName", BindingMapping.getMethodName(QName.create("testNS", "testLocalName"))); - assertEquals("testYangIdentifier", BindingMapping.getMethodName("TestYangIdentifier")); + assertEquals("testLocalName", Naming.getMethodName(QName.create("testNS", "testLocalName"))); + assertEquals("testYangIdentifier", Naming.getMethodName("TestYangIdentifier")); } @Test public void testGetClassName() { - assertEquals("TestClass", BindingMapping.getClassName(QName.create("testNS", "testClass"))); - assertEquals("TestClass", BindingMapping.getClassName("testClass")); - assertEquals("", BindingMapping.getClassName("")); - assertEquals("SomeTestingClassName", BindingMapping.getClassName(" some-testing_class name ")); - assertEquals("_0SomeTestingClassName", BindingMapping.getClassName(" 0 some-testing_class name ")); + assertEquals("TestClass", Naming.getClassName(QName.create("testNS", "testClass"))); + assertEquals("TestClass", Naming.getClassName("testClass")); + assertEquals("", Naming.getClassName("")); + assertEquals("SomeTestingClassName", Naming.getClassName(" some-testing_class name ")); + assertEquals("_0SomeTestingClassName", Naming.getClassName(" 0 some-testing_class name ")); } @Test public void testGetPropertyName() { - assertEquals("test", BindingMapping.getPropertyName("Test")); - assertEquals("test", BindingMapping.getPropertyName("test")); - assertEquals("xmlClass", BindingMapping.getPropertyName("Class")); - assertEquals("_5", BindingMapping.getPropertyName("5")); - assertEquals("", BindingMapping.getPropertyName("")); - assertEquals("someTestingParameterName", BindingMapping.getPropertyName(" some-testing_parameter name ")); - assertEquals("_0someTestingParameterName", - BindingMapping.getPropertyName(" 0some-testing_parameter name ")); + assertEquals("test", Naming.getPropertyName("Test")); + assertEquals("test", Naming.getPropertyName("test")); + assertEquals("xmlClass", Naming.getPropertyName("Class")); + assertEquals("_5", Naming.getPropertyName("5")); + assertEquals("", Naming.getPropertyName("")); + assertEquals("someTestingParameterName", Naming.getPropertyName(" some-testing_parameter name ")); + assertEquals("_0someTestingParameterName", Naming.getPropertyName(" 0some-testing_parameter name ")); } @Test public void basicTest() { assertEquals("org.opendaylight.yang.gen.v1.test.uri.rev171026", - BindingMapping.getRootPackageName(QName.create("test:URI", "2017-10-26", "test"))); + Naming.getRootPackageName(QName.create("test:URI", "2017-10-26", "test"))); assertEquals("org.opendaylight.yang.gen.v1.urn.m.o.d.u.l.e.n.a.m.e.t.e.s.t._case._1digit.rev130910", - BindingMapping.getRootPackageName(QNameModule.create( + Naming.getRootPackageName(QNameModule.create( XMLNamespace.of("urn:m*o+d,u;l=e.n/a-m@e.t$e#s't.case.1digit"), Revision.of("2013-09-10")))); - assertEquals("_1testpublic", BindingMapping.normalizePackageName("1testpublic")); - assertEquals("Test", BindingMapping.getGetterSuffix(QName.create("test", "test"))); - assertEquals("XmlClass", BindingMapping.getGetterSuffix(QName.create("test", "class"))); + assertEquals("_1testpublic", Naming.normalizePackageName("1testpublic")); + assertEquals("Test", Naming.getGetterSuffix(QName.create("test", "test"))); + assertEquals("XmlClass", Naming.getGetterSuffix(QName.create("test", "class"))); } @Test @@ -112,18 +112,18 @@ public class BindingMappingTest { expected.put(yang.get(i), mapped.get(i)); } - assertEquals(expected, BindingMapping.mapEnumAssignedNames(yang)); + assertEquals(expected, Naming.mapEnumAssignedNames(yang)); } @Test public void yangDataMapping() { // single ascii compliant non-conflicting word - remain as is - assertEquals("single", BindingMapping.mapYangDataName("single")); + assertEquals("single", Naming.mapYangDataName("single")); // ascii compliant - non-compliany chars only encoded - assertEquals("$abc$20$cde", BindingMapping.mapYangDataName("abc cde")); + assertEquals("$abc$20$cde", Naming.mapYangDataName("abc cde")); // latin1 compliant -> latin chars normalized, non-compliant chars are encoded - assertEquals("$ľaľaho$20$papľuhu", BindingMapping.mapYangDataName("ľaľaho papľuhu")); + assertEquals("$ľaľaho$20$papľuhu", Naming.mapYangDataName("ľaľaho papľuhu")); // latin1 non-compliant - all non-compliant characters encoded - assertEquals("$привет$20$papľuhu", BindingMapping.mapYangDataName("привет papľuhu")); + assertEquals("$привет$20$papľuhu", Naming.mapYangDataName("привет papľuhu")); } -} +} \ No newline at end of file -- 2.36.6