import java.util.List;
import java.util.Optional;
import java.util.function.Supplier;
-import org.junit.Before;
import org.junit.BeforeClass;
-import org.opendaylight.mdsal.binding.generator.api.BindingGenerator;
-import org.opendaylight.mdsal.binding.generator.impl.BindingGeneratorImpl;
+import org.opendaylight.mdsal.binding.generator.impl.DefaultBindingGenerator;
import org.opendaylight.mdsal.binding.java.api.generator.GeneratorJavaFile;
import org.opendaylight.mdsal.binding.java.api.generator.YangModuleInfoTemplate;
import org.opendaylight.mdsal.binding.model.api.Type;
import org.opendaylight.mdsal.binding.spec.naming.BindingMapping;
+import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
import org.opendaylight.yangtools.yang.model.api.Module;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils;
public abstract class BaseCompilationTest {
- protected BindingGenerator bindingGenerator;
-
@BeforeClass
public static void createTestDirs() {
if (CompilationTestUtils.TEST_DIR.exists()) {
assertTrue(CompilationTestUtils.COMPILER_OUTPUT_DIR.mkdirs());
}
- @Before
- public void init() {
- bindingGenerator = new BindingGeneratorImpl();
- }
-
protected static final void generateTestSources(final List<Type> types, final File sourcesOutputDir)
throws IOException {
types.sort((o1, o2) -> o2.getName().compareTo(o1.getName()));
}
}
- protected final List<Type> generateTestSources(final String resourceDirPath, final File sourcesOutputDir)
+ protected static final List<Type> generateTestSources(final String resourceDirPath, final File sourcesOutputDir)
throws IOException, URISyntaxException {
final List<File> sourceFiles = CompilationTestUtils.getSourceFiles(resourceDirPath);
- final SchemaContext context = YangParserTestUtils.parseYangFiles(sourceFiles);
- final List<Type> types = bindingGenerator.generateTypes(context);
+ final EffectiveModelContext context = YangParserTestUtils.parseYangFiles(sourceFiles);
+ final List<Type> types = new DefaultBindingGenerator().generateTypes(context);
generateTestSources(types, sourcesOutputDir);
// Also generate YangModuleInfo
final File file = new File(GeneratorJavaFile.packageToDirectory(sourcesOutputDir,
BindingMapping.getRootPackageName(module.getQNameModule())),
BindingMapping.MODULE_INFO_CLASS_NAME + ".java");
+ Files.createParentDirs(file);
Files.asCharSink(file, StandardCharsets.UTF_8).write(template.generate());
}