import org.junit.After;
import org.junit.Before;
+import org.junit.Ignore;
import org.junit.Test;
import org.opendaylight.controller.binding.generator.util.generated.type.builder.GeneratedTypeBuilderImpl;
import org.opendaylight.controller.sal.binding.generator.api.BindingGenerator;
import org.opendaylight.controller.sal.binding.generator.impl.BindingGeneratorImpl;
+import org.opendaylight.controller.sal.binding.model.api.Enumeration;
import org.opendaylight.controller.sal.binding.model.api.GeneratedTransferObject;
import org.opendaylight.controller.sal.binding.model.api.GeneratedType;
import org.opendaylight.controller.sal.binding.model.api.Type;
public class GeneratorJavaFileTest {
private static final String FS = File.separator;
- private static final String PATH = "test-dir";
+ private static final String PATH = "target/test/test-dir";
private final File testDir = new File(PATH);
- private static final String GENERATOR_OUTPUT_PATH = "src/test/resources/src";
+ private static final String GENERATOR_OUTPUT_PATH = "target/test/src";
private static final File GENERATOR_OUTPUT = new File(GENERATOR_OUTPUT_PATH);
- private static final String COMPILER_OUTPUT_PATH = "src/test/resources/bin";
+ private static final String COMPILER_OUTPUT_PATH = "target/test/bin";
private static final File COMPILER_OUTPUT = new File(COMPILER_OUTPUT_PATH);
@Before
public void init() {
- assertTrue(testDir.mkdir());
+ assertTrue(testDir.mkdirs());
assertTrue(COMPILER_OUTPUT.mkdirs());
assertTrue(GENERATOR_OUTPUT.mkdirs());
}
@After
public void cleanUp() {
- deleteTestDir(testDir);
- deleteTestDir(COMPILER_OUTPUT);
- deleteTestDir(GENERATOR_OUTPUT);
+ if(testDir.exists()) {
+ deleteTestDir(testDir);
+ }
+ if(COMPILER_OUTPUT.exists()) {
+ deleteTestDir(COMPILER_OUTPUT);
+ }
+ if(GENERATOR_OUTPUT.exists()) {
+ deleteTestDir(GENERATOR_OUTPUT);
+ }
}
@Test
types.add(t3);
GeneratorJavaFile generator = new GeneratorJavaFile(
new InterfaceGenerator(), types);
- generator.generateToFile(PATH);
+ generator.generateToFile(new File(PATH));
String[] files = new File(PATH + FS + "org" + FS + "opendaylight" + FS
+ "controller" + FS + "gen").list();
List<String> filesList = Arrays.asList(files);
- assertEquals(3, files.length);
+ assertEquals(6, files.length);
assertTrue(filesList.contains("Type1.java"));
assertTrue(filesList.contains("Type2.java"));
assertTrue(filesList.contains("Type3.java"));
+ assertTrue(filesList.contains("Type1Builder.java"));
+ assertTrue(filesList.contains("Type2Builder.java"));
+ assertTrue(filesList.contains("Type3Builder.java"));
}
+ @Ignore
@Test
public void compilationTest() throws Exception {
final YangParserImpl parser = new YangParserImpl();
final BindingGenerator bindingGenerator = new BindingGeneratorImpl();
- final File sourcesDir = new File("src/test/resources/yang");
+ final String resPath = getClass().getResource("/yang").getPath();
+ final File sourcesDir = new File(resPath);
final List<File> sourceFiles = new ArrayList<File>();
final File[] fileArray = sourcesDir.listFiles();
final List<Type> types = bindingGenerator.generateTypes(context);
final Set<GeneratedType> typesToGenerate = new HashSet<GeneratedType>();
final Set<GeneratedTransferObject> tosToGenerate = new HashSet<GeneratedTransferObject>();
+ final Set<Enumeration> enumerationToGenerate = new HashSet<Enumeration>();
for (Type type : types) {
if (type instanceof GeneratedType
&& !(type instanceof GeneratedTransferObject)) {
if (type instanceof GeneratedTransferObject) {
tosToGenerate.add((GeneratedTransferObject) type);
}
+ if (type instanceof Enumeration) {
+ enumerationToGenerate.add((Enumeration) type);
+ }
}
final GeneratorJavaFile generator = new GeneratorJavaFile(
- typesToGenerate, tosToGenerate);
- generator.generateToFile(GENERATOR_OUTPUT_PATH);
+ typesToGenerate, tosToGenerate, enumerationToGenerate);
+ generator.generateToFile(new File(GENERATOR_OUTPUT_PATH));
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
StandardJavaFileManager fileManager = compiler.getStandardFileManager(
null, null, null);
List<File> filesList = getJavaFiles(new File(GENERATOR_OUTPUT_PATH));
+ File current = new File(System.getProperty("user.dir"));
+ File parentPath = current.getParentFile().getParentFile();
+ File f = new File(parentPath,"yang/yang-binding/src/main/java/org/opendaylight/controller/yang/binding/DataObject.java"
+ );
+ filesList.add(f);
Iterable<? extends JavaFileObject> compilationUnits = fileManager
.getJavaFileObjectsFromFiles(filesList);
- Iterable<String> options = Arrays.asList(new String[] { "-d",
- COMPILER_OUTPUT_PATH });
+ Iterable<String> options = Arrays.asList(new String[]{"-d", COMPILER_OUTPUT_PATH});
boolean compiled = compiler.getTask(null, null, null, options, null,
compilationUnits).call();
assertTrue(compiled);
/**
* Search recursively given directory for *.java files.
*
- * @param directory
- * directory to search
+ * @param directory directory to search
* @return List of java files found
*/
private List<File> getJavaFiles(File directory) {
}
return result;
}
-
}