private final Map<SchemaPath, GeneratedType> allGroupings = new HashMap<SchemaPath, GeneratedType>();
/**
- * Only parent constructor is invoked.
+ * Constant with the concrete name of namespace.
*/
-
private final static String YANG_EXT_NAMESPACE = "urn:opendaylight:yang:extension:yang-ext";
+
+ /**
+ * Constant with the concrete name of identifier.
+ */
private final static String AUGMENT_IDENTIFIER_NAME = "augment-identifier";
+ /**
+ * Only parent constructor is invoked.
+ */
public BindingGeneratorImpl() {
super();
}
final String enumerationName = parseToClassName(enumName);
final EnumBuilder enumBuilder = typeBuilder.addEnumeration(enumerationName);
+ enumBuilder.updateEnumPairsFromEnumTypeDef(enumTypeDef);
- if (enumBuilder != null) {
- final List<EnumPair> enums = enumTypeDef.getValues();
- if (enums != null) {
- int listIndex = 0;
- for (final EnumPair enumPair : enums) {
- if (enumPair != null) {
- final String enumPairName = parseToClassName(enumPair.getName());
- Integer enumPairValue = enumPair.getValue();
-
- if (enumPairValue == null) {
- enumPairValue = listIndex;
- }
- enumBuilder.addValue(enumPairName, enumPairValue);
- listIndex++;
- }
- }
- }
- return enumBuilder;
- }
+ return enumBuilder;
}
return null;
}
return augTypeBuilder;
}
+ /**
+ *
+ * @param unknownSchemaNodes
+ * @return
+ */
private String getAugmentIdentifier(List<UnknownSchemaNode> unknownSchemaNodes) {
String ret = null;
for (UnknownSchemaNode unknownSchemaNode : unknownSchemaNodes) {
* BitsTypeDefinition} which are also added to <code>typeBuilder</code> as
* enclosing transfer object.
*
+ * If more then one generated TO builder is created for enclosing then all
+ * of the generated TO builders are added to <code>typeBuilder</code> as
+ * enclosing transfer objects.
+ *
* @param typeDef
* type definition which can be of type <code>UnionType</code> or
* <code>BitsTypeDefinition</code>
private GeneratedTOBuilder addTOToTypeBuilder(TypeDefinition<?> typeDef, GeneratedTypeBuilder typeBuilder,
String leafName, Module parentModule) {
final String classNameFromLeaf = parseToClassName(leafName);
- GeneratedTOBuilder genTOBuilder = null;
+ List<GeneratedTOBuilder> genTOBuilders = new ArrayList<>();
final String packageName = typeBuilder.getFullyQualifiedName();
if (typeDef instanceof UnionTypeDefinition) {
- genTOBuilder = ((TypeProviderImpl) typeProvider).provideGeneratedTOBuilderForUnionTypeDefinition(
- packageName, typeDef, classNameFromLeaf, parentModule);
+ genTOBuilders.addAll(((TypeProviderImpl) typeProvider).provideGeneratedTOBuildersForUnionTypeDef(
+ packageName, typeDef, classNameFromLeaf));
} else if (typeDef instanceof BitsTypeDefinition) {
- genTOBuilder = ((TypeProviderImpl) typeProvider).provideGeneratedTOBuilderForBitsTypeDefinition(
- packageName, typeDef, classNameFromLeaf);
+ genTOBuilders.add(((TypeProviderImpl) typeProvider).provideGeneratedTOBuilderForBitsTypeDefinition(
+ packageName, typeDef, classNameFromLeaf));
}
- if (genTOBuilder != null) {
- typeBuilder.addEnclosingTransferObject(genTOBuilder);
- return genTOBuilder;
+ if (genTOBuilders != null && !genTOBuilders.isEmpty()) {
+ for (GeneratedTOBuilder genTOBuilder : genTOBuilders) {
+ typeBuilder.addEnclosingTransferObject(genTOBuilder);
+ }
+ return genTOBuilders.get(0);
}
return null;