Rehost BindingMapping in yang.binding.contract.Naming 84/104484/6
authorŠimon Ukuš <simon.ukus@pantheon.tech>
Wed, 22 Feb 2023 12:06:39 +0000 (13:06 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Mon, 20 Mar 2023 12:30:44 +0000 (13:30 +0100)
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š <simon.ukus@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
64 files changed:
binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/ActionAdapter.java
binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/ActionAdapterFilter.java
binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/ContextReferenceExtractor.java
binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/CurrentAdapterSerializer.java
binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/RpcAdapter.java
binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/RpcServiceAdapter.java
binding/mdsal-binding-dom-codec-spi/src/main/java/org/opendaylight/mdsal/binding/dom/codec/spi/BindingSchemaMapping.java
binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/BitsCodec.java
binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/ChoiceNodeCodecContext.java
binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/CodecDataObjectGenerator.java
binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/CodecPackage.java
binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/DataObjectCodecContext.java
binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/EncapsulatedValueCodec.java
binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/IdentifiableItemCodec.java
binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/IdentityCodec.java
binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/KeyedListNodeCodecContext.java
binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/SchemaRootCodecContext.java
binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/UnionTypeCodec.java
binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/AbstractExplicitGenerator.java
binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/AbstractTypeObjectGenerator.java
binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/CollisionDomain.java
binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/ContainerGenerator.java
binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/FeatureGenerator.java
binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/Generator.java
binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/IdentityGenerator.java
binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/KeyGenerator.java
binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/ListGenerator.java
binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/ModuleGenerator.java
binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/NotificationServiceGenerator.java
binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/RpcServiceGenerator.java
binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/YangDataNamingStrategy.java
binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/YangIdentifierClassNamingStrategy.java
binding/mdsal-binding-generator/src/test/java/org/opendaylight/mdsal/binding/generator/impl/AugmentRelativeXPathTest.java
binding/mdsal-binding-generator/src/test/java/org/opendaylight/mdsal/binding/generator/impl/AugmentedTypeTest.java
binding/mdsal-binding-generator/src/test/java/org/opendaylight/mdsal/binding/generator/impl/GeneratedTypesLeafrefTest.java
binding/mdsal-binding-generator/src/test/java/org/opendaylight/mdsal/binding/generator/impl/GeneratedTypesTest.java
binding/mdsal-binding-generator/src/test/java/org/opendaylight/mdsal/binding/generator/impl/Mdsal320Test.java
binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/AbstractBuilderTemplate.xtend
binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/BaseTemplate.xtend
binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/BuilderGenerator.java
binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/BuilderImplTemplate.xtend
binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/BuilderTemplate.xtend
binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/ClassTemplate.xtend
binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/FeatureTemplate.java
binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/InterfaceTemplate.xtend
binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/JavaFileGenerator.java
binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/JavaFileTemplate.java
binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/UnionTemplate.xtend
binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/YangModuleInfoTemplate.xtend
binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/BaseCompilationTest.java
binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/SpecializingLeafrefTest.java
binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/UnionWithIdentityrefTest.java
binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/UnionWithMultipleIdentityrefsTest.java
binding/mdsal-binding-model-ri/src/main/java/org/opendaylight/mdsal/binding/model/ri/BindingTypes.java
binding/mdsal-binding-model-ri/src/main/java/org/opendaylight/mdsal/binding/model/ri/generated/type/builder/AbstractEnumerationBuilder.java
binding/mdsal-binding-runtime-spi/src/main/java/org/opendaylight/mdsal/binding/runtime/spi/DefaultModuleInfoSnapshot.java
binding/mdsal-binding-runtime-spi/src/main/java/org/opendaylight/mdsal/binding/runtime/spi/ModuleInfoSnapshotBuilder.java
binding/mdsal-binding-runtime-spi/src/main/java/org/opendaylight/mdsal/binding/runtime/spi/ModuleInfoSnapshotResolver.java
binding/mdsal-binding-spec-util/src/main/java/module-info.java
binding/mdsal-binding-spec-util/src/main/java/org/opendaylight/mdsal/binding/spec/reflect/BindingReflections.java
binding/mdsal-binding-spec-util/src/main/java/org/opendaylight/mdsal/binding/spec/util/DataObjectReadingUtil.java
binding/yang-binding/src/main/java/module-info.java
binding/yang-binding/src/main/java/org/opendaylight/yangtools/yang/binding/contract/Naming.java [moved from binding/mdsal-binding-spec-util/src/main/java/org/opendaylight/mdsal/binding/spec/naming/BindingMapping.java with 97% similarity]
binding/yang-binding/src/test/java/org/opendaylight/yangtools/yang/binding/contract/NamingTest.java [moved from binding/mdsal-binding-spec-util/src/test/java/org/opendaylight/mdsal/binding/spec/naming/BindingMappingTest.java with 61% similarity]

index 0a469f87add3182e680bb2dbf27b030e8545f9a2..5c97a742a0c12598ba5ee8c8da2efb6521e42f7a 100644 (file)
@@ -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<DOMActionService> 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);
index 954d3f818f8235069988a93f64e75918a5026b66..3694d5f24e165cfc14725534c5dc05a64c01b916 100644 (file)
@@ -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<DataTreeIdentifier<?>> 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);
index 24b35fbffa989b252f026ae39e30a1e566e47660..91c7f142aefad9779fcc06662479ac6330d10af1 100644 (file)
@@ -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;
index ac9277cb1b395316bcff786b3906d7cbdd40e74b..a6a8282a26ed4b35f54a1fee58cd6fb108e98a0a 100644 (file)
@@ -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);
index d6014743ff9a3a7ba9e746bac78f7b00d1d12f6b..186a50371e1f80e5a199632915b683e075e3ec4a 100644 (file)
@@ -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<T extends Rpc<?, ?>> extends AbstractRpcAdapter {
     private final RpcInvocationStrategy strategy;
@@ -29,7 +29,7 @@ final class RpcAdapter<T extends Rpc<?, ?>> 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);
         }
index 92bebb884201fc9a8207fb44120e40525558ba0a..0659d4f712753fae751e44df19e91551f951a049 100644 (file)
@@ -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 {
index cd8a0a520c01806692f30ec54b21c7197b14c10a..3fdcd765c812afe8bffb51e6e9350f1aaa62288f 100644 (file)
@@ -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());
     }
 }
index dfd60003443243bda03b89b1669ec251a65a9cce..63ca6681ffb69ffea7eb6e8092d1148f8d4abfb1 100644 (file)
@@ -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<String> 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);
             }
index 7f47b51a12138949396c41bfd7cee30c40d3dd19..47d3c0cb4093b6706bae2421bb53c30c86a24682 100644 (file)
@@ -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<D extends DataObject> extends DataContainerCo
         checkArgument(DataContainer.class.isAssignableFrom(type), "Supplied type must be derived from DataContainer");
         List<Class<? extends DataObject>> ret = new LinkedList<>();
         for (Method method : type.getMethods()) {
-            Optional<Class<? extends DataContainer>> entity = getYangModeledReturnType(method,
-                BindingMapping.GETTER_PREFIX);
+            Optional<Class<? extends DataContainer>> entity = getYangModeledReturnType(method, Naming.GETTER_PREFIX);
             if (entity.isPresent()) {
                 ret.add((Class<? extends DataObject>) entity.get());
             }
index c26eea37dbd32ca84735f854e42904937db8cbb0..89981438a53d194854a2baa4a96692e019acf17e 100644 (file)
@@ -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<T extends CodecDataObject<?>> 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<T extends CodecDataObject<?>> 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<T extends CodecDataObject<?>> 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);
     }
 
index 0d3c7d9d786030e7081a3c91eafcd54d6534f656..4a9dffcd88107bd3481d0a0928dd09a3fefb1ce3 100644 (file)
@@ -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);
     }
 }
index a05b48cd1de49693d1f69b0b4f173f6a799a19a9..b0bde73a713c405bd4ac7bb78d0409cece4c9280 100644 (file)
@@ -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<D extends DataObject, T extends Com
      */
     // FIXME: MDSAL-780: replace use of this method
     private static Map<Class<? extends DataContainer>, 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<Class<? extends DataContainer>, 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
index 98ac0fb1bb6f6acbb3c2e7c098192b1d6ac434c8..e1036085285a5a2071a20a644265bc321c3bfde2 100644 (file)
@@ -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<? extends ScalarTypeObject> 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,
index 9ed700948be30e998ed480ad22c1daed41c00dbe..54d244760ab779452a7084049c4b2c5505c593ec 100644 (file)
@@ -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);
         }
 
index 56d880474b06bc012e459071652417b00991f8c4..73f4945d59fc0d99a7015b8f4c4365fd19076f20 100644 (file)
@@ -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<QName, BaseIdentity> implements BindingIdentityCodec {
@@ -32,10 +32,10 @@ final class IdentityCodec extends AbstractValueCodec<QName, BaseIdentity> 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");
index 5367d6d6738e1c6af0af1b10b1aa00a4d6d9fe6b..9b62032a854410b198faf44ff3cf91d9b844d557 100644 (file)
@@ -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;
index df88bfd9558cbb8271fcfb442fb833d42388ff88..19bc68b4923ccf4e401619f73e3a78e6e3f818c7 100644 (file)
@@ -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<D extends DataObject> 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<D extends DataObject> 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);
 
index 2946a29133cfce5002538789e7a7f499ab45ce50..2e27ad294514e18cbe19c5eab9da9b5c9e310c1d 100644 (file)
@@ -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<Object, Object> {
         final List<UnionValueOptionContext> values = new ArrayList<>(unionTypes.size());
         final Iterator<String> 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<Object, Object> codec = codecContext.getCodec(valueType, subtype);
index f593ef5b18b890e9cba73ba66970e6ce838139d3..f11042e2c35b7c5c28d4f064e09a0a75e453cff8 100644 (file)
@@ -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<S extends EffectiveStatement<?,
     }
 
     MethodSignatureBuilder constructGetter(final GeneratedTypeBuilderBase<?> 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<S extends EffectiveStatement<?,
     }
 
     final void constructRequireImpl(final GeneratedTypeBuilderBase<?> builder, final Type returnType) {
-        constructGetter(builder, returnType, BindingMapping.getRequireMethodName(localName().getLocalName()))
+        constructGetter(builder, returnType, Naming.getRequireMethodName(localName().getLocalName()))
             .setDefault(true)
             .setMechanics(ValueMechanics.NONNULL);
     }
index a252abb624f20208b2f63d88786af5760881529b..ce9174c734d329eee821b9398ae5d5bd68177333 100644 (file)
@@ -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<S extends EffectiveStatement<?, ?>, 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<S extends EffectiveStatement<?, ?>, 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<S extends EffectiveStatement<?, ?>, 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<S extends EffectiveStatement<?, ?>, 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)) {
index 0f8d9d2f7292954fb60a1902dd8d702fd219d62c..83819f402af6debff9b0d4b02881327dd1d76d8a 100644 (file)
@@ -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()));
     }
 
index e7c80f5b5fc526c2a6f9642f3932fb0ce9878834..9cec1ea31e2bb5d38a0b377389daa0b79920efe1 100644 (file)
@@ -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<ContainerEff
                 .setMechanics(ValueMechanics.NORMAL);
         if (statement().findFirstEffectiveSubstatement(PresenceEffectiveStatement.class).isEmpty()) {
             final MethodSignatureBuilder nonnull = builder
-                    .addMethod(BindingMapping.getNonnullMethodName(localName().getLocalName()))
+                    .addMethod(Naming.getNonnullMethodName(localName().getLocalName()))
                     .setReturnType(returnType)
                     .setDefault(false);
             annotateDeprecatedIfNecessary(nonnull);
index 959966646ae688626d17e455c4828a862da80860..2ea063b6985d06e2e522f787c56bf55c16f6840b 100644 (file)
@@ -15,8 +15,8 @@ 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.FeatureRuntimeType;
-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.model.api.stmt.FeatureEffectiveStatement;
 import org.opendaylight.yangtools.yang.model.util.SchemaInferenceStack;
 
@@ -59,7 +59,7 @@ final class FeatureGenerator extends AbstractExplicitGenerator<FeatureEffectiveS
         module.addQNameConstant(builder, localName());
 
         // Constant implementation
-        builder.addConstant(Type.of(builder), BindingMapping.VALUE_STATIC_FIELD_NAME, YangFeature.class);
+        builder.addConstant(Type.of(builder), Naming.VALUE_STATIC_FIELD_NAME, YangFeature.class);
 
         builderFactory.addCodegenInformation(module, statement(), builder);
         builder.setModuleName(module.statement().argument().getLocalName());
index 69395650fe85ebb74b1e622e6fc605e89c292e4c..abb7626b64a48dfdafcc3552c83f469fbdc0cda6 100644 (file)
@@ -36,8 +36,8 @@ import org.opendaylight.mdsal.binding.model.api.type.builder.MethodSignatureBuil
 import org.opendaylight.mdsal.binding.model.ri.BindingTypes;
 import org.opendaylight.mdsal.binding.model.ri.Types;
 import org.opendaylight.mdsal.binding.model.ri.generated.type.builder.GeneratedPropertyBuilderImpl;
-import org.opendaylight.mdsal.binding.spec.naming.BindingMapping;
 import org.opendaylight.yangtools.yang.binding.DataContainer;
+import org.opendaylight.yangtools.yang.binding.contract.Naming;
 import org.opendaylight.yangtools.yang.model.api.DocumentedNode.WithStatus;
 import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
 import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
@@ -203,7 +203,7 @@ public abstract class Generator implements Iterable<Generator> {
     @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<Generator> {
     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<Generator> {
     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);
index 9457cbe4052e094be7dc1fa76da34de2b74bcf7b..b55a677de1b12f707c4a8b54c0796bb53898f99c 100644 (file)
@@ -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());
index 6b98f072c8c96ca9b195976613c4da275ea8a5c9..3434c46bd0e1055fea02530238ae05af599858d7 100644 (file)
@@ -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 AbstractExplicitGenerator<KeyEffectiveStatement
 
     @Override
     Member createMember(final CollisionDomain domain) {
-        return domain.addSecondary(this, listGen.getMember(), BindingMapping.KEY_SUFFIX);
+        return domain.addSecondary(this, listGen.getMember(), Naming.KEY_SUFFIX);
     }
 
     @Override
@@ -58,7 +58,7 @@ final class KeyGenerator extends AbstractExplicitGenerator<KeyEffectiveStatement
                 final QName qname = leafGen.statement().argument();
                 if (leafNames.contains(qname)) {
                     final var prop = builder
-                        .addProperty(BindingMapping.getPropertyName(qname.getLocalName()))
+                        .addProperty(Naming.getPropertyName(qname.getLocalName()))
                         .setReturnType(leafGen.methodReturnType(builderFactory))
                         .setReadOnly(true);
 
index 715bc8e665e50c2aaf7f2eb7ae7520ad47ef7e76..d6e9eaf7ddeadd5b977c2d559a1b7ffbc1b3bcb7 100644 (file)
@@ -23,7 +23,7 @@ import org.opendaylight.mdsal.binding.runtime.api.AugmentRuntimeType;
 import org.opendaylight.mdsal.binding.runtime.api.KeyRuntimeType;
 import org.opendaylight.mdsal.binding.runtime.api.ListRuntimeType;
 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.Ordering;
 import org.opendaylight.yangtools.yang.model.api.stmt.KeyEffectiveStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.ListEffectiveStatement;
@@ -71,7 +71,7 @@ final class ListGenerator extends CompositeSchemaTreeGenerator<ListEffectiveStat
             // Add yang.binding.Identifiable and its key() method
             final GeneratedType keyType = keyGen.getGeneratedType(builderFactory);
             builder.addImplementsType(identifiable(keyType));
-            builder.addMethod(BindingMapping.IDENTIFIABLE_KEY_NAME)
+            builder.addMethod(Naming.IDENTIFIABLE_KEY_NAME)
                 .setReturnType(keyType)
                 .addAnnotation(OVERRIDE_ANNOTATION);
         }
@@ -108,7 +108,7 @@ final class ListGenerator extends CompositeSchemaTreeGenerator<ListEffectiveStat
             .setMechanics(ValueMechanics.NULLIFY_EMPTY);
 
         final MethodSignatureBuilder nonnull = builder
-            .addMethod(BindingMapping.getNonnullMethodName(localName().getLocalName()))
+            .addMethod(Naming.getNonnullMethodName(localName().getLocalName()))
             .setReturnType(returnType)
             .setDefault(true);
         annotateDeprecatedIfNecessary(nonnull);
index 036f30e22fe4e82b645bae693662dfdb75f1fab8..7f63145ca70028c558919ce4a30165176e76ad23 100644 (file)
@@ -23,7 +23,7 @@ import org.opendaylight.mdsal.binding.model.ri.BindingTypes;
 import org.opendaylight.mdsal.binding.runtime.api.AugmentRuntimeType;
 import org.opendaylight.mdsal.binding.runtime.api.ModuleRuntimeType;
 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.QNameModule;
 import org.opendaylight.yangtools.yang.model.api.stmt.ModuleEffectiveStatement;
@@ -39,15 +39,15 @@ public final class ModuleGenerator extends AbstractCompositeGenerator<ModuleEffe
     /**
      * Note that for sake of simplicity of lookup and child mapping, this instance serves as the root for all child
      * generators, but mapping to {@link CollisionDomain}s and their {@link Member}s is rather weird. This generator
-     * actually produces one of <em>secondary</em> 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 <em>primary</em> derived from the module's name.
+     * actually produces one of <em>secondary</em> 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 <em>primary</em> 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<ModuleEffe
 
     @Override
     String createJavaPackage() {
-        return BindingMapping.getRootPackageName(statement().localQNameModule());
+        return Naming.getRootPackageName(statement().localQNameModule());
     }
 
     @Override
@@ -83,7 +83,7 @@ public final class ModuleGenerator extends AbstractCompositeGenerator<ModuleEffe
 
     @Override
     Member createMember(final CollisionDomain domain) {
-        return domain.addSecondary(this, prefixMember, BindingMapping.DATA_ROOT_SUFFIX);
+        return domain.addSecondary(this, prefixMember, Naming.DATA_ROOT_SUFFIX);
     }
 
     @Override
@@ -110,13 +110,13 @@ public final class ModuleGenerator extends AbstractCompositeGenerator<ModuleEffe
     }
 
     void addQNameConstant(final GeneratedTypeBuilderBase<?> 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));
     }
 
index 4c4196ad03de183babb604e79817fcbcc258e0dd..5953c7574269c6f23d54434cc90f952ffcbe5db7 100644 (file)
@@ -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
index 571e420ee2d6baa061968421b985f83133d68be4..266080593a5df22384d5cadd364493bfe05fd804 100644 (file)
@@ -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");
index 1bec0ff0da86f229dd298f1ecec476d3a34dfea9..a45063d9ca232dbc2289ef243d8fc6ad60e01df4 100644 (file)
@@ -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
index 673bcd4efde1709b01a0b7073d7c0248ba9a022f..5d1f4ce272450835592191d327e72f6b05fe02ff 100644 (file)
@@ -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
index 434710be84c23e4e95885511f5d5b58d6ac05356..2e67a63a16b72d17dc178a65a5935d5cabcab2e3 100644 (file)
@@ -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;
                     }
index c7b97ac0e5ebfcb58c088c4fac1c7918c59bb116..61274cb04f865b83ad8f363a94034ac9cf2812c7 100644 (file)
@@ -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;
             }
index 18f183b22dbad7bfbc626433761b096e5519060d..e0175d363efd38bd89fb7b0294a90ad321fe9fe6 100644 (file)
@@ -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;
             }
         }
index 25fe7bbb2b2098bce6a9f69fcc5763fbad42b724..b24264319a9ecffb653cdfba892f20c51205ea1a 100644 (file)
@@ -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<MethodSignature> 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;
index e2ce1057a2e5382bf4d6450b0a53ab4264adcb60..b36274a8a7375e26b8ca4373176235e07ce8dcae 100644 (file)
@@ -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()))
index 464102efba80657cb9855a43aeee3e26d0f14c65..96fc577d9dde44c5936ddcb57e39e7bc6654bfee 100644 (file)
@@ -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<GeneratedProperty> 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;
             }
 
index 2728e7c8b0d04bc66062f5a447d9038839b4c595..b0d26dce2d09cdde064453e5e0368199b457d3f3 100644 (file)
@@ -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<JavaTypeName, String>»
             /**
              * 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<JavaTypeName, String>»
             /**
              * 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»
index 7babdde669b733cba64bf987bee6b4a3302cbc4f..8049fa29706b08b9f475f98a9e448d7be88c312d 100644 (file)
@@ -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();
             }
         }
index d2dd7c02739264876e210a7be6fdc3e583be5d9e..a4b43f3db8ae32a1764ab33a9050381fcc757b09 100644 (file)
@@ -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<GeneratedProperty> 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»);
         }
index eca2aba2ee5b4dfdb505368301c94655f2827ff2..d7c422e33a4986b5a29682a6ce6dc7083ffec28d 100644 (file)
@@ -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<GeneratedProperty> keyProps) '''
-        this.key = base.«BindingMapping.IDENTIFIABLE_KEY_NAME»();
+        this.key = base.«IDENTIFIABLE_KEY_NAME»();
         «FOR field : keyProps»
             this.«field.fieldName» = base.«field.getterMethodName»();
         «ENDFOR»
index 534fab13bd6f0df2af2a21997dd559b0f610a229..38fb42811c259a8d7c084922e2e8a76376bb40de 100644 (file)
@@ -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»
                 };
         }
index 3ed8be3bb5f3f755d47c167f48a7e4077438fbdb..92079d50c2d8342bb23d3dd2980e5e4907ee6524 100644 (file)
@@ -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'
index e2b4215b4b9553efa34ea6748071fc1612e1a890..53900de421ecca9162bd5a12d1c3f30e6f5d559d 100644 (file)
@@ -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
index 788239eee816cf8e825283ffcd3795cb6b5d050e..f890b0a9d46dad3705fa396c8dd1a1bee96145c9 100644 (file)
@@ -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<CodeGenerator> GENERATORS = List.of(
index 58cfafd6d5d2894e6f8229b2e232370cbb95968b..d7ac386f8d363fd4ce4c50505c05d34c63768322 100644 (file)
@@ -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("</i>\n");
 
                     if (hasBuilderClass(schema)) {
-                        final String builderName = genType.getName() + BindingMapping.BUILDER_SUFFIX;
+                        final String builderName = genType.getName() + Naming.BUILDER_SUFFIX;
 
                         sb.append("\n<p>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;
         }
 
index 9b94f1e328b8687f62a0f036e8a5040a0dbc18aa..27315118c6a6cb67eb4f8e94a49f62c312781e81 100644 (file)
@@ -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
 
index 9bb9a6acb5f75def3f7246b214926329da7a9133..a83bf505e4758d34ea2b245b83d469a5409ad0fe 100644 (file)
@@ -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
index acc2fc39b61fa1ac2a941f4772789b5fc736c3e8..368bec84e9ea312913e8d9e208d2289f249821fd 100644 (file)
@@ -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());
         }
index 7b29f3c54016c3cded88f2d943f0fad7875c4b19..3018c3065f1d058bf772cdbf0aaa52859f79af43 100644 (file)
@@ -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 {
index 11dc334b5cf281e6ad465ba1ace29f5fa8c9580b..ffc2a6cd820d3a4e7f0a0cc081bc58261bfc67c0 100644 (file)
@@ -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,
index 09f7ddb936c8bbb06e99cd254e3e7200d4dbd01a..a816a600b0b5b3e848520289998f2fd2993e8715 100644 (file)
@@ -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);
index d241ae41df0b7054236c9a88119531e64abbc305..7cd300df96a0b6ec15601ffba14fd381b73448b1 100644 (file)
@@ -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;
index 9307657585813518033259d2dd84ac30d5b25280..13f0166590193f958e4cf58cdf7d9dce82005c88 100644 (file)
@@ -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<EnumPair> enums = enumTypeDef.getValues();
-        final Map<String, String> valueIds = BindingMapping.mapEnumAssignedNames(enums.stream().map(EnumPair::getName)
+        final Map<String, String> valueIds = Naming.mapEnumAssignedNames(enums.stream().map(EnumPair::getName)
             .collect(Collectors.toList()));
 
         for (EnumPair enumPair : enums) {
index 069366b2c128c23a24d111f606d6960afdf94b37..1f0a238d99e3d00c66f671359f08391ec2987712 100644 (file)
@@ -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 <T> Class<T> 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");
index fbcc51fc1223037861aaaf1adba11bb92c19d995..f716448cb8579fa786daec8a29850d3ca7bd0971 100644 (file)
@@ -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 {
index 1cff6edef7dd43401cdb0b1e1eb088b4ca6b9514..7a9dae3fb71450d35b44643a486122f341d46d32 100644 (file)
@@ -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());
         }
 
index d8912b57c2e8f7cca99e9d089e3aa13d53184db6..ce69b49b6557d103c4df9bcaf39c5c14eca96293 100644 (file)
@@ -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;
 
index de792c721bc1d24fff8ab319dd8b03069a67bf30..34ce3e23bd37d079460e4cbcd24db12a9a90d915 100644 (file)
@@ -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<QName> 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();
                 }
 
index 1d8f64af7734d05e441a814af3aa286c5aec0e2b..2d20f4ca6cb68a32c6a9064a8924e5d17462441e 100644 (file)
@@ -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<? extends DataContainer> 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) {
index d9640ba06ccfcf55b4c05f64f097f582b752f102..2aba738bf7a280bde49277dd88b17a7e329ba277 100644 (file)
@@ -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;
 }
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 81cf8aab123d1dfe8ec191d3bbbd8d9cf3d151d2..0afe783bd28002e0633bbad32253009a9b8b1a10 100644 (file)
@@ -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<String> 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);
     }
 
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 64299d9dea2c3e3909c9db3f513c30ed9b16e6b8..b984d48a4f5b3a96d1e02a3024e8ffb5dbff29cf 100644 (file)
@@ -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