/** * Translates to java code corresponding to the YANG schema. * * @param yangFileInfo YANG file information * @param yangPlugin YANG plugin config * @throws IOException when fails to generate java code file the current node */ public static void translateToJava(List<YangFileInfo> yangFileInfo, YangPluginConfig yangPlugin) throws IOException { Iterator<YangFileInfo> yangFileIterator = yangFileInfo.iterator(); while (yangFileIterator.hasNext()) { YangFileInfo yangFile = yangFileIterator.next(); generateJavaCode(yangFile.getRootNode(), yangPlugin, yangFile.getYangFileName()); } }
/** * Resolves sub-module linking. * * @param yangFileInfo YANG file information * @throws DataModelException when belongs-to module node is not found */ public static void resolveLinkingForSubModule(List<YangFileInfo> yangFileInfo) throws DataModelException { Iterator<YangFileInfo> yangFileIterator = yangFileInfo.iterator(); while (yangFileIterator.hasNext()) { YangFileInfo yangFile = yangFileIterator.next(); YangNode yangNode = yangFile.getRootNode(); if (yangNode instanceof YangSubModule) { String belongsToModuleName = ((YangSubModule) yangNode).getBelongsTo().getBelongsToModuleName(); YangNode moduleNode = findBelongsToModuleNode(yangFileInfo, belongsToModuleName); ((YangSubModule) yangNode).getBelongsTo().setModuleNode(moduleNode); } } }