From efe62825e553bba75a415d2f5917b558b2863064 Mon Sep 17 00:00:00 2001 From: Tony Tkacik Date: Mon, 9 Dec 2013 14:56:41 +0100 Subject: [PATCH] Fixed missing static constant QNAME in identity classes. Signed-off-by: Tony Tkacik --- .../binding/generator/impl/BindingGeneratorImpl.xtend | 8 ++++++-- .../sal/binding/generator/impl/ModuleContext.java | 11 ++++++----- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/code-generator/binding-generator-impl/src/main/java/org/opendaylight/yangtools/sal/binding/generator/impl/BindingGeneratorImpl.xtend b/code-generator/binding-generator-impl/src/main/java/org/opendaylight/yangtools/sal/binding/generator/impl/BindingGeneratorImpl.xtend index 4d694bba92..88fb52d463 100644 --- a/code-generator/binding-generator-impl/src/main/java/org/opendaylight/yangtools/sal/binding/generator/impl/BindingGeneratorImpl.xtend +++ b/code-generator/binding-generator-impl/src/main/java/org/opendaylight/yangtools/sal/binding/generator/impl/BindingGeneratorImpl.xtend @@ -573,8 +573,12 @@ public class BindingGeneratorImpl implements BindingGenerator { val gto = new GeneratedTOBuilderImpl(returnTypePkgName, returnTypeName).toInstance(); newType.setExtendsType(gto); } - newType.setAbstract(true); - genCtx.get(module).addIdentityType(newType) + newType.setAbstract(true); + val qname = identity.QName; + newType.addConstant(QName.typeForClass,"QNAME",''' + org.opendaylight.yangtools.yang.common.QName.create("«qname.namespace»","«qname.formattedRevision»","«qname.localName»") + '''); + genCtx.get(module).addIdentityType(identity.QName,newType) } /** diff --git a/code-generator/binding-generator-impl/src/main/java/org/opendaylight/yangtools/sal/binding/generator/impl/ModuleContext.java b/code-generator/binding-generator-impl/src/main/java/org/opendaylight/yangtools/sal/binding/generator/impl/ModuleContext.java index cf4885faa5..c57f6226fc 100644 --- a/code-generator/binding-generator-impl/src/main/java/org/opendaylight/yangtools/sal/binding/generator/impl/ModuleContext.java +++ b/code-generator/binding-generator-impl/src/main/java/org/opendaylight/yangtools/sal/binding/generator/impl/ModuleContext.java @@ -17,6 +17,7 @@ import java.util.Set; import org.opendaylight.yangtools.sal.binding.model.api.Type; import org.opendaylight.yangtools.sal.binding.model.api.type.builder.GeneratedTOBuilder; import org.opendaylight.yangtools.sal.binding.model.api.type.builder.GeneratedTypeBuilder; +import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.AugmentationSchema; import org.opendaylight.yangtools.yang.model.api.SchemaPath; @@ -27,7 +28,7 @@ public final class ModuleContext { private final Map childNodes = new HashMap(); private final Map groupings = new HashMap(); private final Map cases = new HashMap(); - private final Set identities = new HashSet(); + private final Map identities = new HashMap<>(); private final Set topLevelNodes = new HashSet(); private final List augmentations = new ArrayList(); private final Map typeToAugmentation = new HashMap<>(); @@ -58,7 +59,7 @@ public final class ModuleContext { for (GeneratedTypeBuilder b : cases.values()) { result.add(b.toInstance()); } - for (GeneratedTOBuilder b : identities) { + for (GeneratedTOBuilder b : identities.values()) { result.add(b.toInstance()); } for (GeneratedTypeBuilder b : topLevelNodes) { @@ -110,8 +111,8 @@ public final class ModuleContext { cases.put(p, b); } - public void addIdentityType(GeneratedTOBuilder b) { - identities.add(b); + public void addIdentityType(QName name,GeneratedTOBuilder b) { + identities.put(name,b); } public void addTopLevelNodeType(GeneratedTypeBuilder b) { @@ -138,7 +139,7 @@ public final class ModuleContext { return cases; } - public Set getIdentities() { + public Map getIdentities() { return identities; } -- 2.36.6