Fixed enum resolving in TypeProviderImpl.getTypeDefaultConstruction. 27/3427/1
authorMartin Vitez <mvitez@cisco.com>
Wed, 4 Dec 2013 08:59:32 +0000 (09:59 +0100)
committerMartin Vitez <mvitez@cisco.com>
Wed, 4 Dec 2013 08:59:32 +0000 (09:59 +0100)
Signed-off-by: Martin Vitez <mvitez@cisco.com>
code-generator/binding-generator-impl/src/test/java/org/opendaylight/yangtools/sal/binding/generator/impl/TypeProviderIntegrationTest.java
code-generator/binding-type-provider/src/main/java/org/opendaylight/yangtools/sal/binding/yang/types/TypeProviderImpl.java

index e02778224bea202453afb0978d2ab71aef87d751..d007f892656915366430cac7cb5ef636644c9182 100644 (file)
@@ -111,7 +111,7 @@ public class TypeProviderIntegrationTest {
 
         leaf = (LeafSchemaNode) m.getDataChildByName("ext-enumeration");
         actual = provider.getTypeDefaultConstruction(leaf);
-        assertEquals("new " + PKG + "MyEnumeration(" + PKG + "MyEnumeration.Seven)", actual);
+        assertEquals(PKG + "MyEnumeration.Seven", actual);
     }
 
     @Test
index 568428738bfb78247b33bdbaa109e26d42556008..712cc1924e8277a8c094781dcaa629ac2ecb58f2 100644 (file)
@@ -69,6 +69,7 @@ import org.opendaylight.yangtools.yang.model.api.type.PatternConstraint;
 import org.opendaylight.yangtools.yang.model.api.type.StringTypeDefinition;
 import org.opendaylight.yangtools.yang.model.api.type.UnionTypeDefinition;
 import org.opendaylight.yangtools.yang.model.util.DataNodeIterator;
+import org.opendaylight.yangtools.yang.model.util.EnumerationType;
 import org.opendaylight.yangtools.yang.model.util.ExtendedType;
 import org.opendaylight.yangtools.yang.model.util.Int16;
 import org.opendaylight.yangtools.yang.model.util.Int32;
@@ -1342,7 +1343,7 @@ public final class TypeProviderImpl implements TypeProvider {
         }
         sb.append(result);
 
-        if (type instanceof ExtendedType && !(base instanceof LeafrefTypeDefinition)) {
+        if (type instanceof ExtendedType && !(base instanceof LeafrefTypeDefinition) && !(base instanceof EnumerationType)) {
             QName qname = type.getPath().getPath().get(0);
             Module m = schemaContext.findModuleByNamespaceAndRevision(qname.getNamespace(), qname.getRevision());
             String basePackageName = BindingGeneratorUtil.moduleNamespaceToPackageName(m);