}
final String packageName = packageNameForGeneratedType(basePackageName, node.getPath());
final GeneratedTypeBuilder genType = addDefaultInterfaceDefinition(packageName, node, childOf);
- genType.addComment(node.getDescription());
- genType.setDescription(createDescription(node, genType.getFullyQualifiedName()));
- genType.setModuleName(module.getName());
- genType.setReference(node.getReference());
- genType.setSchemaPath(node.getPath().getPathFromRoot());
if (node instanceof DataNodeContainer) {
genCtx.get(module).addChildNodeType(node, genType);
groupingsToGenTypes(module, ((DataNodeContainer) node).getGroupings());
processUsesAugments((DataNodeContainer) node, module);
+ addImplementedInterfaceFromUses((DataNodeContainer) node, genType);
}
+ genType.addComment(node.getDescription());
+ genType.setDescription(createDescription(node, genType.getFullyQualifiedName()));
+ genType.setModuleName(module.getName());
+ genType.setReference(node.getReference());
+ genType.setSchemaPath(node.getPath().getPathFromRoot());
return genType;
}
genCtx.get(module).addChildNodeType(notification, notificationInterface);
// Notification object
+ groupingsToGenTypes(module, notification.getGroupings());
+ addImplementedInterfaceFromUses(notification, notificationInterface);
resolveDataSchemaNodes(module, basePackageName, notificationInterface, notificationInterface,
notification.getChildNodes());
private void groupingToGenType(final String basePackageName, final GroupingDefinition grouping, final Module module) {
final String packageName = packageNameForGeneratedType(basePackageName, grouping.getPath());
final GeneratedTypeBuilder genType = addDefaultInterfaceDefinition(packageName, grouping);
+ groupingsToGenTypes(module, grouping.getGroupings());
+ addImplementedInterfaceFromUses(grouping, genType);
genCtx.get(module).addGroupingType(grouping.getPath(), genType);
resolveDataSchemaNodes(module, basePackageName, genType, genType, grouping.getChildNodes());
- groupingsToGenTypes(module, grouping.getGroupings());
processUsesAugments(grouping, module);
}
augSchemaNodeToMethods(module, basePackageName, augTypeBuilder, augTypeBuilder, augSchema.getChildNodes());
augmentBuilders.put(augTypeName, augTypeBuilder);
- genCtx.get(module).addTargetToAugmentation(targetTypeRef, augTypeBuilder);
+ if(!augSchema.getChildNodes().isEmpty()) {
+ genCtx.get(module).addTargetToAugmentation(targetTypeRef, augTypeBuilder);
+ genCtx.get(module).addTypeToAugmentation(augTypeBuilder, augSchema);
+
+ }
genCtx.get(module).addAugmentType(augTypeBuilder);
- genCtx.get(module).addTypeToAugmentation(augTypeBuilder, augSchema);
return augTypeBuilder;
}
if (caseNode != null && !caseNode.isAddedByUses() && !caseNode.isAugmenting()) {
final String packageName = packageNameForGeneratedType(basePackageName, caseNode.getPath());
final GeneratedTypeBuilder caseTypeBuilder = addDefaultInterfaceDefinition(packageName, caseNode);
+ addImplementedInterfaceFromUses(caseNode, caseTypeBuilder);
caseTypeBuilder.addImplementsType(refChoiceType);
genCtx.get(module).addCaseType(caseNode.getPath(), caseTypeBuilder);
genCtx.get(module).addChoiceToCaseMapping(refChoiceType, caseTypeBuilder, caseNode);
} else if (typeDef instanceof BitsTypeDefinition) {
genTOBuilder = addTOToTypeBuilder(typeDef, typeBuilder, leaf, parentModule);
if (genTOBuilder != null) {
- returnType = new ReferencedTypeImpl(genTOBuilder.getPackageName(), genTOBuilder.getName());
+ returnType = genTOBuilder.toInstance();
}
} else {
final Restrictions restrictions = BindingGeneratorUtil.getRestrictions(typeDef);
// GeneratedType for this type definition should be already
// created
QName qname = typeDef.getQName();
- Module unionModule = null;
- String prefix = qname.getPrefix();
- if (prefix == null || prefix.isEmpty() || prefix.equals(module.getPrefix())) {
- unionModule = module;
- } else {
- unionModule = findModuleFromImports(module.getImports(), qname.getPrefix());
- }
+ Module unionModule = schemaContext.findModuleByNamespaceAndRevision(qname.getNamespace(),
+ qname.getRevision());
final ModuleContext mc = genCtx.get(unionModule);
returnType = mc.getTypedefs().get(typeDef.getPath());
} else {
}
} else if (typeDef instanceof BitsTypeDefinition) {
final GeneratedTOBuilder genTOBuilder = addTOToTypeBuilder(typeDef, typeBuilder, node, parentModule);
- returnType = new ReferencedTypeImpl(genTOBuilder.getPackageName(), genTOBuilder.getName());
+ returnType = genTOBuilder.toInstance();
} else {
final Restrictions restrictions = BindingGeneratorUtil.getRestrictions(typeDef);
returnType = typeProvider.javaTypeForSchemaDefinitionType(typeDef, node, restrictions);
it.addImplementsType(augmentable(it));
}
- if (schemaNode instanceof DataNodeContainer) {
- addImplementedInterfaceFromUses((DataNodeContainer) schemaNode, it);
- }
-
return it;
}
private boolean hasBuilderClass(final SchemaNode schemaNode) {
if (schemaNode instanceof ContainerSchemaNode || schemaNode instanceof ListSchemaNode ||
- schemaNode instanceof RpcDefinition || schemaNode instanceof NotificationDefinition)
+ schemaNode instanceof RpcDefinition || schemaNode instanceof NotificationDefinition) {
return true;
+ }
return false;
}