X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=binding2%2Fmdsal-binding2-generator-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fmdsal%2Fbinding%2Fjavav2%2Fgenerator%2Fimpl%2FModuleContext.java;h=df15698b2f732ec2ce0385846997bfc4cf25a940;hb=692617fbbea85ebf33981f003ebea531297263bb;hp=d72226afc0d586d6851be3a89dacd071bdd786cb;hpb=8fe6ecf508ecab6bd98f6f5188a8d380b05dda93;p=mdsal.git diff --git a/binding2/mdsal-binding2-generator-impl/src/main/java/org/opendaylight/mdsal/binding/javav2/generator/impl/ModuleContext.java b/binding2/mdsal-binding2-generator-impl/src/main/java/org/opendaylight/mdsal/binding/javav2/generator/impl/ModuleContext.java index d72226afc0..df15698b2f 100644 --- a/binding2/mdsal-binding2-generator-impl/src/main/java/org/opendaylight/mdsal/binding/javav2/generator/impl/ModuleContext.java +++ b/binding2/mdsal-binding2-generator-impl/src/main/java/org/opendaylight/mdsal/binding/javav2/generator/impl/ModuleContext.java @@ -42,7 +42,7 @@ import org.opendaylight.yangtools.yang.model.api.TypeDefinition; @Beta public final class ModuleContext { private GeneratedTypeBuilder moduleNode; - private final List genTOs = new ArrayList<>(); + private final Map genTOs = new HashMap<>(); private final Map typedefs = new HashMap<>(); private final Map childNodes = new HashMap<>(); private final BiMap dataTypes = HashBiMap.create(); @@ -57,7 +57,7 @@ public final class ModuleContext { private final Multimap choiceToCases = HashMultimap.create(); private final BiMap caseTypeToSchema = HashBiMap.create(); private final Map innerTypes = new HashMap<>(); - + private final Map keyTypes = new HashMap<>(); List getGeneratedTypes() { final List result = new ArrayList<>(); @@ -66,7 +66,7 @@ public final class ModuleContext { result.add(this.moduleNode.toInstance()); } - result.addAll(this.genTOs.stream().map(GeneratedTOBuilder::toInstance).collect(Collectors.toList())); + result.addAll(this.genTOs.values().stream().map(GeneratedTOBuilder::toInstance).collect(Collectors.toList())); result.addAll(this.typedefs.values().stream().filter(b -> b != null).collect(Collectors.toList())); result.addAll(this.dataTypes.values().stream().map(GeneratedTypeBuilder::toInstance).collect(Collectors.toList())); result.addAll(this.groupings.values().stream().map(GeneratedTypeBuilder::toInstance).collect(Collectors.toList())); @@ -74,7 +74,7 @@ public final class ModuleContext { result.addAll(this.identities.values().stream().map(GeneratedTOBuilder::toInstance).collect(Collectors.toList())); result.addAll(this.topLevelNodes.stream().map(GeneratedTypeBuilder::toInstance).collect(Collectors.toList())); result.addAll(this.augmentations.stream().map(GeneratedTypeBuilder::toInstance).collect(Collectors.toList())); - + result.addAll(this.keyTypes.values().stream().map(GeneratedTypeBuilder::toInstance).collect(Collectors.toList())); return ImmutableList.copyOf(result); } @@ -102,8 +102,8 @@ public final class ModuleContext { this.moduleNode = moduleNode; } - public void addGeneratedTOBuilder(final GeneratedTOBuilder b) { - this.genTOs.add(b); + public void addGeneratedTOBuilder(final SchemaPath schemaPath, final GeneratedTOBuilder b) { + this.genTOs.put(schemaPath, b); } public void addChildNodeType(final SchemaNode p, final GeneratedTypeBuilder b) { @@ -222,4 +222,16 @@ public final class ModuleContext { return this.innerTypes.get(path); } + + void addKeyType(final SchemaPath path, final GeneratedTypeBuilder genType) { + this.keyTypes.put(path, genType); + } + + public GeneratedTypeBuilder getKeyType(final SchemaPath path) { + return this.keyTypes.get(path); + } + + public GeneratedTOBuilder getKeyGenTO(final SchemaPath path) { + return this.genTOs.get(path); + } }