Update byte-buddy integration
[mdsal.git] / binding / mdsal-binding-dom-codec / src / main / java / org / opendaylight / mdsal / binding / dom / codec / impl / UnionTypeCodec.java
index b7779a6f90137d9516327c1f7cc8f75857073946..94ab6595a4c2935d9492039ba0b2145665ea7a48 100644 (file)
@@ -12,13 +12,13 @@ import java.lang.reflect.Method;
 import java.util.LinkedHashSet;
 import java.util.Set;
 import java.util.concurrent.Callable;
+import org.opendaylight.mdsal.binding.generator.util.BaseYangTypesProvider;
 import org.opendaylight.mdsal.binding.spec.naming.BindingMapping;
-import org.opendaylight.mdsal.binding.yang.types.BaseYangTypes;
-import org.opendaylight.yangtools.concepts.Codec;
+import org.opendaylight.yangtools.concepts.IllegalArgumentCodec;
+import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
 import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.Module;
-import org.opendaylight.yangtools.yang.model.api.RevisionAwareXPath;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
+import org.opendaylight.yangtools.yang.model.api.PathExpression;
 import org.opendaylight.yangtools.yang.model.api.SchemaNode;
 import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
 import org.opendaylight.yangtools.yang.model.api.type.LeafrefTypeDefinition;
@@ -41,10 +41,11 @@ final class UnionTypeCodec extends ReflectionBasedCodec {
                 if (subtype instanceof LeafrefTypeDefinition) {
                     addLeafrefValueCodec(unionCls, unionType, bindingCodecContext, values, subtype);
                 } else {
-                    final Method valueGetter =
-                            unionCls.getMethod("get" + BindingMapping.getClassName(subtype.getQName()));
+                    final Method valueGetter = unionCls.getMethod(BindingMapping.GETTER_PREFIX
+                        + BindingMapping.getClassName(subtype.getQName()));
                     final Class<?> valueType = valueGetter.getReturnType();
-                    final Codec<Object, Object> valueCodec = bindingCodecContext.getCodec(valueType, subtype);
+                    final IllegalArgumentCodec<Object, Object> valueCodec =
+                            bindingCodecContext.getCodec(valueType, subtype);
 
                     values.add(new UnionValueOptionContext(unionCls, valueType, valueGetter, valueCodec));
                 }
@@ -72,9 +73,9 @@ final class UnionTypeCodec extends ReflectionBasedCodec {
     private static void addLeafrefValueCodec(final Class<?> unionCls, final UnionTypeDefinition unionType,
             final BindingCodecContext bindingCodecContext, final Set<UnionValueOptionContext> values,
             final TypeDefinition<?> subtype) throws NoSuchMethodException {
-        final SchemaContext schemaContext = bindingCodecContext.getRuntimeContext().getSchemaContext();
+        final EffectiveModelContext schemaContext = bindingCodecContext.getRuntimeContext().getEffectiveModelContext();
         final Module module = schemaContext.findModule(subtype.getQName().getModule()).get();
-        final RevisionAwareXPath xpath = ((LeafrefTypeDefinition) subtype).getPathStatement();
+        final PathExpression xpath = ((LeafrefTypeDefinition) subtype).getPathStatement();
         // find schema node in schema context by xpath of leafref
         final SchemaNode dataNode;
         if (xpath.isAbsolute()) {
@@ -86,18 +87,18 @@ final class UnionTypeCodec extends ReflectionBasedCodec {
         final LeafSchemaNode typeNode = (LeafSchemaNode) dataNode;
 
         // prepare name of type form return type of referenced leaf
-        final String typeName = BindingMapping.getClassName(BaseYangTypes.BASE_YANG_TYPES_PROVIDER
+        final String typeName = BindingMapping.getClassName(BaseYangTypesProvider.INSTANCE
                 .javaTypeForSchemaDefinitionType(typeNode.getType(), typeNode).getName());
 
         // get method via reflection from generated code according to
         // get_TypeName_Value method
-        final Method valueGetterParent = unionCls
-                .getMethod(new StringBuilder("get").append(typeName).append(className).append("Value").toString());
+        final Method valueGetterParent = unionCls.getMethod(new StringBuilder().append(BindingMapping.GETTER_PREFIX)
+            .append(typeName).append(className).append("Value").toString());
         final Class<?> returnType = valueGetterParent.getReturnType();
 
         // prepare codec of union subtype according to return type of referenced
         // leaf
-        final Codec<Object, Object> valueCodec = bindingCodecContext.getCodec(returnType, subtype);
+        final IllegalArgumentCodec<Object, Object> valueCodec = bindingCodecContext.getCodec(returnType, subtype);
         values.add(new UnionValueOptionContext(unionCls, returnType, valueGetterParent, valueCodec));
     }