throw new NullPointerException("Target type not yet generated: " + targetSchemaNode);
}
- final String augmentNamespacePackageName =
- BindingGeneratorUtil.packageNameForAugmentedGeneratedType(basePackageName, targetPath);
+ final String augmentPackageName =
+ BindingGeneratorUtil.packageNameWithNamespacePrefix(basePackageName, BindingNamespaceType.Data);
if (!(targetSchemaNode instanceof ChoiceSchemaNode)) {
- genCtx = GenHelperUtil.addRawAugmentGenTypeDefinition(module, augmentNamespacePackageName,
- targetTypeBuilder.toInstance(), schemaPathAugmentListEntry.getValue(), genTypeBuilders, genCtx,
+ genCtx = GenHelperUtil.addRawAugmentGenTypeDefinition(module, augmentPackageName,
+ targetTypeBuilder.toInstance(), targetSchemaNode, schemaPathAugmentListEntry.getValue(), genTypeBuilders, genCtx,
schemaContext, verboseClassComments, typeProvider, BindingNamespaceType.Data);
} else {
genCtx = generateTypesFromAugmentedChoiceCases(schemaContext, module, basePackageName,
(AugmentationSchema)usesNodeParent);
}
genCtx = GenHelperUtil.addRawAugmentGenTypeDefinition(module, packageName,
- targetTypeBuilder.toInstance(), schemaPathAugmentListEntry, genTypeBuilders, genCtx,
+ targetTypeBuilder.toInstance(), targetSchemaNode, schemaPathAugmentListEntry, genTypeBuilders, genCtx,
schemaContext, verboseClassComments, typeProvider, namespaceType);
return genCtx;
} else {
}
static Map<Module, ModuleContext> addRawAugmentGenTypeDefinition(final Module module, final String augmentPackageName,
- final Type targetTypeRef, final List<AugmentationSchema> schemaPathAugmentListEntry,
+ final Type targetTypeRef, final SchemaNode targetNode, final List<AugmentationSchema> schemaPathAugmentListEntry,
final Map<String, Map<String, GeneratedTypeBuilder>> genTypeBuilders, final Map<Module, ModuleContext> genCtx,
final SchemaContext schemaContext, final boolean verboseClassComments, final TypeProvider typeProvider,
final BindingNamespaceType namespaceType) {
break;
}
- boolean isTypeNormalized = false;
if (augIdentifier == null) {
- augIdentifier = augGenTypeName(augmentBuilders, targetTypeRef.getName());
- isTypeNormalized = true;
+ augIdentifier = new StringBuilder(module.getName())
+ .append('_').append(targetNode.getQName().getLocalName()).toString();
}
GeneratedTypeBuilderImpl augTypeBuilder = new GeneratedTypeBuilderImpl(augmentPackageName, augIdentifier,
- false, isTypeNormalized);
+ true, false);
augTypeBuilder.addImplementsType(BindingTypes.TREE_NODE);
augTypeBuilder.addImplementsType(parameterizedTypeFor(BindingTypes.INSTANTIABLE, augTypeBuilder));
final DataSchemaNode origSchNode = mock(DataSchemaNode.class);
when(origSchNode.getPath()).thenReturn(path);
when(origSchNode.isAddedByUses()).thenReturn(true);
+ when(origSchNode.getQName()).thenReturn(QName.create("test", "2017-04-04", "aug-node"));
final Optional optionalSchemaNode = Optional.of(origSchNode);
when(targetSchNode.getOriginal()).thenReturn(optionalSchemaNode);
when(moduleAug.getDataChildByName(qnamePath)).thenReturn(targetSchNode);
assertNotNull(result);
final ModuleContext moduleContext = result.get(moduleAug);
assertTrue(moduleContext.getAugmentations().get(0).getName().contains("Augm"));
- assertEquals("pckg.name.data.aug", moduleContext.getAugmentations().get(0).getPackageName());
+ assertEquals("pckg.name.data", moduleContext.getAugmentations().get(0).getPackageName());
assertTrue(moduleContext.getChildNode(path).getName().contains("Augm"));
assertEquals("pckg.name", moduleContext.getChildNode(path).getPackageName());
}
when(groupingDefinition.getQName()).thenReturn(qnamePath);
final DataSchemaNode schNode = mock(DataSchemaNode.class);
when(schNode.getPath()).thenReturn(path);
+ when(schNode.getQName()).thenReturn(QName.create("test", "2017-04-04", "aug-node"));
when(groupingDefinition.getDataChildByName(qnamePath)).thenReturn(schNode);
groupings.add(groupingDefinition);
when(moduleAug.getGroupings()).thenReturn(groupings);
when(groupingDefinition.getQName()).thenReturn(qnamePath);
final ChoiceSchemaNode schNode = mock(ChoiceSchemaNode.class);
when(schNode.getPath()).thenReturn(path);
+ when(schNode.getQName()).thenReturn(QName.create("test", "2017-04-04", "aug-node"));
when(groupingDefinition.getDataChildByName(qnamePath)).thenReturn(schNode);
groupings.add(groupingDefinition);
when(moduleAug.getGroupings()).thenReturn(groupings);
* @return string with valid JAVA package name
* @throws NullPointerException if any of the arguments are null
*/
- public static String packageNameWithNamespacePrefix(final String basePackageName, final
- BindingNamespaceType namespaceType) {
+ public static String packageNameWithNamespacePrefix(final String basePackageName,
+ final BindingNamespaceType namespaceType) {
final StringBuilder sb = new StringBuilder();
sb.append(basePackageName)
.append('.')