/**
*
*/
package org.minnal.generator.test;
import java.io.File;
import java.util.Arrays;
import org.minnal.generator.core.AbstractGenerator;
import org.minnal.instrument.entity.AggregateRootScanner;
import org.minnal.utils.scanner.Scanner;
import org.minnal.utils.scanner.Scanner.Listener;
/**
* @author ganeshs
*/
public class TestsGenerator extends AbstractGenerator {
private String projectDir;
private String[] packages;
private String baseTestClass;
public TestsGenerator(String projectDir, String[] packages, String baseTestClass) {
super(new File(projectDir));
this.packages = Arrays.copyOf(packages, packages.length);
this.projectDir = projectDir;
this.baseTestClass = baseTestClass;
}
@Override
public void init() {
Scanner<Class<?>> scanner = new AggregateRootScanner(packages);
scanner.scan(new Listener<Class<?>>() {
public void handle(Class<?> entityClass) {
addGenerator(new ResourceClassTestGenerator(projectDir, entityClass, baseTestClass));
}
});
}
public static void main(String[] args) {
String projectDir = args.length > 0 ? args[0] : System.getProperty("user.dir");
String baseTestClass = args.length > 0 ? args[1] : "org.minnal.test.BaseMinnalResourceTest";
String[] packages = args.length > 1 ? args[2].split(",") : new String[]{};
TestsGenerator generator = new TestsGenerator(projectDir, packages, baseTestClass);
generator.init();
generator.generate();
}
}