for (final Module contextModule : contextModules) {
genCtx = ModuleToGenType.generate(contextModule, genTypeBuilders, context, typeProvider,
- verboseClassComments);
+ genCtx, verboseClassComments);
}
for (final Module contextModule : contextModules) {
genCtx = AugmentToGenType.generate(contextModule, context, genCtx,
import java.util.Map;
import java.util.regex.Pattern;
import org.opendaylight.mdsal.binding.javav2.generator.util.BindingTypes;
+import org.opendaylight.mdsal.binding.javav2.generator.util.JavaIdentifier;
+import org.opendaylight.mdsal.binding.javav2.generator.util.NonJavaCharsConverter;
import org.opendaylight.mdsal.binding.javav2.generator.util.Types;
import org.opendaylight.mdsal.binding.javav2.generator.util.generated.type.builder.GeneratedTypeBuilderImpl;
import org.opendaylight.mdsal.binding.javav2.model.api.GeneratedType;
verboseClassComments) {
Preconditions.checkArgument(module != null, "Module reference cannot be NULL.");
final String packageName = BindingMapping.getRootPackageName(module);
- final String moduleName = BindingMapping.getClassName(module.getName()) + postfix;
+ final String moduleName = BindingMapping.getClassName(NonJavaCharsConverter.convertIdentifier(module.getName
+ (), JavaIdentifier.CLASS)) + postfix;
final GeneratedTypeBuilderImpl moduleBuilder = new GeneratedTypeBuilderImpl(packageName, moduleName);
moduleBuilder.setDescription(createDescription(module, verboseClassComments));
String genTypeName;
if (prefix == null) {
- genTypeName = BindingMapping.getClassName(schemaNodeName);
+ genTypeName = BindingMapping.getClassName(NonJavaCharsConverter.convertIdentifier(schemaNodeName,
+ JavaIdentifier.CLASS));
} else {
- genTypeName = prefix + BindingMapping.getClassName(schemaNodeName);
+ genTypeName = prefix + BindingMapping.getClassName(NonJavaCharsConverter.convertIdentifier
+ (schemaNodeName, JavaIdentifier.CLASS));
}
final GeneratedTypeBuilderImpl newType = new GeneratedTypeBuilderImpl(packageName, genTypeName);
}
static Map<Module, ModuleContext> generate(final Module module, Map<String, Map<String, GeneratedTypeBuilder>>
- genTypeBuilders, final SchemaContext schemaContext, TypeProvider typeProvider, final boolean verboseClassComments) {
+ genTypeBuilders, final SchemaContext schemaContext, TypeProvider typeProvider, Map<Module,
+ ModuleContext> genCtx, final boolean verboseClassComments) {
- Map<Module, ModuleContext> genCtx = new HashMap<>();
genCtx.put(module, new ModuleContext());
genCtx = allTypeDefinitionsToGenTypes(module, genCtx, typeProvider);
import java.util.Set;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import org.opendaylight.mdsal.binding.javav2.spec.runtime.BindingNamespaceType;
import org.opendaylight.yangtools.yang.model.api.Module;
/**
packageNameBuilder.append("rev");
packageNameBuilder.append(PACKAGE_DATE_FORMAT.get().format(module.getRevision()));
- //seems to be duplicate call, because normalizing is run again on full packagename + localName
+ //seems to be duplicate call, because normalizing is run again on full package name + localName
//return normalizePackageName(packageNameBuilder.toString(), null);
return packageNameBuilder.toString();
}
builder.append('.');
}
- //TODO: incorporate use of PackageNameNormalizer (impl in progress)
- //TODO: to not to worry about various characters in identifiers,
- //TODO: relying on https://docs.oracle.com/javase/tutorial/java/package/namingpkgs.html
+ //FIXME: use https://git.opendaylight.org/gerrit/#/c/52007/ when merged
//FIXME: delete this custom check when naming convention patch above is merged
if (Character.isDigit(p.charAt(0)) || BindingMapping.JAVA_RESERVED_WORDS.contains(p)) {