import org.opendaylight.controller.sal.binding.model.api.GeneratedType;
import org.opendaylight.controller.sal.binding.model.api.Type;
import org.opendaylight.controller.sal.java.api.generator.GeneratorJavaFile;
+import org.opendaylight.controller.yang.model.api.Module;
import org.opendaylight.controller.yang.model.api.SchemaContext;
import org.opendaylight.controller.yang2sources.spi.CodeGenerator;
@Override
public Collection<File> generateSources(SchemaContext context,
- File outputBaseDir, Set<String> yangModulesNames) throws IOException {
+ File outputBaseDir, Set<Module> yangModules) throws IOException {
final BindingGenerator bindingGenerator = new BindingGeneratorImpl();
final List<Type> types = bindingGenerator.generateTypes(context);
Set<Module> yangModules = parser
.parseYangModelsFromStreams(yangFiles);
- Set<String> yangModulesNames = new HashSet<String>();
- for (Module module : yangModules) {
- yangModulesNames.add(module.getName());
- }
-
List<InputStream> yangFilesFromDependencies = getFilesFromDependenciesAsStream();
Set<Module> yangModulesFromDependencies = parser
.parseYangModelsFromStreams(yangFilesFromDependencies);
Util.message(
"No %s file found in %s or in dependencies",
LOG_PREFIX, Util.YANG_SUFFIX, yangFilesRootDir));
- Set<String> names = Collections.emptySet();
- return new ContextHolder(null, names);
+ Set<Module> modules = Collections.emptySet();
+ return new ContextHolder(null, modules);
}
SchemaContext resolveSchemaContext = parser
getLog().info(
Util.message("%s files parsed from %s", LOG_PREFIX,
Util.YANG_SUFFIX, yangFiles));
- return new ContextHolder(resolveSchemaContext, yangModulesNames);
+ return new ContextHolder(resolveSchemaContext, yangModules);
// MojoExecutionException is thrown since execution cannot continue
} catch (Exception e) {
project.addCompileSourceRoot(outputDir.getPath());
}
Collection<File> generated = g.generateSources(context.getContext(),
- outputDir, context.getYangModulesNames());
+ outputDir, context.getYangModules());
getLog().info(
Util.message("Sources generated by %s: %s", LOG_PREFIX,
codeGeneratorCfg.getCodeGeneratorClass(), generated));
private class ContextHolder {
private final SchemaContext context;
- private final Set<String> yangModulesNames;
+ private final Set<Module> yangModules;
private ContextHolder(SchemaContext context,
- Set<String> yangModulesNames) {
+ Set<Module> yangModules) {
this.context = context;
- this.yangModulesNames = yangModulesNames;
+ this.yangModules = yangModules;
}
public SchemaContext getContext() {
return context;
}
- public Set<String> getYangModulesNames() {
- return yangModulesNames;
+ public Set<Module> getYangModules() {
+ return yangModules;
}
}
import org.junit.Test;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
+import org.opendaylight.controller.yang.model.api.Module;
import org.opendaylight.controller.yang.model.api.SchemaContext;
import org.opendaylight.controller.yang.model.parser.api.YangModelParser;
import org.opendaylight.controller.yang2sources.plugin.ConfigArg.CodeGeneratorArg;
@Override
public Collection<File> generateSources(SchemaContext context,
- File baseDir, Set<String> yangModulesNames) {
+ File baseDir, Set<Module> yangModules) {
called++;
outputDir = baseDir;
return Lists.newArrayList();
import java.util.Collection;
import java.util.Set;
+import org.opendaylight.controller.yang.model.api.Module;
import org.opendaylight.controller.yang.model.api.SchemaContext;
/**
* @param outputBaseDir
* expected output directory for generated sources configured by
* user
- * @param yangModulesNames
- * name of yangs provided by current module
+ * @param yangModules
+ * yang modules parsed from yangFilesRootDir
* @return collection of files that were generated from schema context
* @throws IOException
*/
Collection<File> generateSources(SchemaContext context, File outputBaseDir,
- Set<String> yangModulesNames) throws IOException;
+ Set<Module> yangModules) throws IOException;
}