BUG-973: fixed (de)serialization of union type.
authorMartin Vitez <mvitez@cisco.com>
Thu, 22 May 2014 14:05:41 +0000 (16:05 +0200)
committerMartin Vitez <mvitez@cisco.com>
Mon, 26 May 2014 09:55:26 +0000 (09:55 +0000)
Signed-off-by: Martin Vitez <mvitez@cisco.com>
code-generator/binding-generator-impl/src/main/java/org/opendaylight/yangtools/sal/binding/generator/impl/BindingGeneratorImpl.xtend
code-generator/binding-generator-impl/src/main/java/org/opendaylight/yangtools/sal/binding/generator/impl/TransformerGenerator.xtend

index 366868d29d8e32c8f13d9eae51a6ffeb4baabe6a..ec1ec8fc6af0bed3c0ffb33ddae6fad66656ac92 100644 (file)
@@ -1490,7 +1490,7 @@ public class BindingGeneratorImpl implements BindingGenerator {
 
     private def Type createReturnTypeForUnion(GeneratedTOBuilder genTOBuilder, TypeDefinition<?> typeDef,
         GeneratedTypeBuilder typeBuilder, Module parentModule) {
-        val Type returnType = new ReferencedTypeImpl(genTOBuilder.packageName, genTOBuilder.name);
+        val GeneratedTOBuilderImpl returnType = new GeneratedTOBuilderImpl(genTOBuilder.packageName, genTOBuilder.name)
         genTOBuilder.setTypedef(true);
         genTOBuilder.setIsUnion(true);
         (typeProvider as TypeProviderImpl).addUnitsToGenTO(genTOBuilder, typeDef.getUnits());
@@ -1512,7 +1512,7 @@ public class BindingGeneratorImpl implements BindingGenerator {
         } else {
             types.add(unionBuilder.toInstance)
         }
-        return returnType
+        return returnType.toInstance
     }
 
     private def GeneratedTypeBuilder addDefaultInterfaceDefinition(String packageName, SchemaNode schemaNode) {
index 81f39e4e5de9c877c2badba835b02507f2fceac8..8821411022763d504a06e3fd9f1078005b898ee0 100644 (file)
@@ -1223,7 +1223,7 @@ class TransformerGenerator extends AbstractTransformerGenerator {
         return null;
     }
 
-    private def Class<?> generateValueTransformer(Class<?> inputType, Enumeration typeSpec, TypeDefinition<?> type) {
+    private def dispatch Class<?> generateValueTransformer(Class<?> inputType, Enumeration typeSpec, TypeDefinition<?> type) {
         var EnumerationType enumSchemaType
         if (type instanceof EnumerationType) {
             enumSchemaType = type as EnumerationType