/** * Based on mapping, find longest matching key and return value plus the * remaining part of namespace, with colons replaced by dots. Example: * Mapping [ 'urn:opendaylight:params:xml:ns:yang:controller' : * 'org.opendaylight.controller'] and module with namespace * 'urn:opendaylight:params:xml:ns:yang:controller:threads:api' will result * in 'org.opendaylight.controller.threads.api' . * * @throws IllegalStateException * if there is no mapping found. */ public String getPackageName(Module module) { Entry<String, String> longestMatch = null; int longestMatchLength = 0; String namespace = module.getNamespace().toString(); for (Entry<String, String> entry : namespacePrefixToPackageMap .entrySet()) { if (namespace.startsWith(entry.getKey()) && entry.getKey().length() > longestMatchLength) { longestMatch = entry; longestMatchLength = entry.getKey().length(); } } if (longestMatch != null) { return longestMatch.getValue() + sanitizePackage(namespace.substring(longestMatchLength)); } else { return BindingGeneratorUtil.moduleNamespaceToPackageName(module); } }
PackageTranslator packageTranslator = new PackageTranslator(namespaceToPackageMapping); Map<QName, ServiceInterfaceEntry> qNamesToSIEs = new HashMap<>(); Map<IdentitySchemaNode, ServiceInterfaceEntry> knownSEITracker = new HashMap<>(); String packageName = packageTranslator.getPackageName(module); Map<QName, ServiceInterfaceEntry> namesToSIEntries = ServiceInterfaceEntry .create(module, packageName, knownSEITracker); String packageName = packageTranslator.getPackageName(module); TypeProviderWrapper typeProviderWrapper = new TypeProviderWrapper( new TypeProviderImpl(resolveSchemaContext));
"No namespace to package mapping provided in additionalConfiguration"); PackageTranslator packageTranslator = new PackageTranslator(namespaceToPackageMapping); String packageName = packageTranslator.getPackageName(module); Map<QName, ServiceInterfaceEntry> namesToSIEntries = ServiceInterfaceEntry .create(module, packageName, knownSEITracker); String packageName = packageTranslator.getPackageName(module);
PackageTranslator packageTranslator = new PackageTranslator( namespaceToPackageMapping); String packageName = packageTranslator.getPackageName(module); Map<QName, ServiceInterfaceEntry> namesToSIEntries = ServiceInterfaceEntry .create(module, packageName,knownSEITracker); String packageName = packageTranslator.getPackageName(module); TypeProviderWrapper typeProviderWrapper = new TypeProviderWrapper( new TypeProviderImpl(resolveSchemaContext));