package org.testng.eclipse.refactoring;
import org.eclipse.jdt.core.dom.AST;
import org.eclipse.jdt.core.dom.CompilationUnit;
import org.eclipse.jdt.core.dom.ImportDeclaration;
import org.eclipse.jdt.core.dom.rewrite.ASTRewrite;
import org.eclipse.jdt.core.dom.rewrite.ListRewrite;
import org.testng.eclipse.ui.conversion.IRewriteProvider;
public class ImportAssertRewriter implements IRewriteProvider {
private String m_assert;
public ImportAssertRewriter(String node) {
m_assert = node;
}
public ASTRewrite createRewriter(CompilationUnit astRoot, AST ast) {
final ASTRewrite result = ASTRewrite.create(astRoot.getAST());
TestNGVisitor visitor = new TestNGVisitor();
astRoot.accept(visitor);
//
// Add a static import for this method
//
ListRewrite lr = result.getListRewrite(astRoot, CompilationUnit.IMPORTS_PROPERTY);
ImportDeclaration id = ast.newImportDeclaration();
id.setStatic(true);
id.setName(ast.newName("org.testng.AssertJUnit." + m_assert));
lr.insertFirst(id, null);
return result;
}
public String getName() {
return "Add static import 'org.testng.AssertJUnit." + m_assert + "'";
}
}