use of org.walkmod.commands.AddTransformationCommand in project walkmod-core by walkmod.
the class YAMLConfigurationProviderTest method testAddChainTransformation.
@Test
public void testAddChainTransformation() throws Exception {
Map<String, String> params = new HashMap<String, String>();
params.put("refactoringConfigFile", "src/conf/refactoring-methods.json");
AddTransformationCommand command = new AddTransformationCommand("walkmod:commons:method-refactor", null, false, null, null, null, params, false);
File file = new File("src/test/resources/yaml/addchain.yml");
if (file.exists()) {
file.delete();
}
file.createNewFile();
FileUtils.write(file, "");
try {
YAMLConfigurationProvider provider = new YAMLConfigurationProvider(file.getPath());
Configuration conf = new ConfigurationImpl();
provider.init(conf);
TransformationConfig transformationCfg = command.buildTransformationCfg();
provider.addTransformationConfig(null, null, transformationCfg, false, null, null);
String output = FileUtils.readFileToString(file);
String desiredOutput = "transformations:\n";
desiredOutput += "- type: \"walkmod:commons:method-refactor\"\n";
desiredOutput += " params:\n";
desiredOutput += " refactoringConfigFile: \"src/conf/refactoring-methods.json\"";
Assert.assertEquals(desiredOutput, output);
} finally {
if (file.exists()) {
file.delete();
}
}
}
use of org.walkmod.commands.AddTransformationCommand in project walkmod-core by walkmod.
the class WalkModDispatcher method execute.
public void execute(JCommander jcommander, String[] args) throws Exception {
commands.put("add", new AddTransformationCommand(jcommander));
commands.put("add-excludes", new AddExcludesCommand(jcommander));
commands.put("add-includes", new AddIncludesCommand(jcommander));
commands.put("add-module", new AddModuleCommand(jcommander));
commands.put("add-plugin", new AddPluginCommand(jcommander));
commands.put("add-provider", new AddCfgProviderCommand(jcommander));
commands.put("apply", new ApplyCommand(jcommander));
commands.put("chains", new PrintChainsCommand(jcommander));
commands.put("check", new CheckCommand(jcommander));
commands.put("init", new InitCommand(jcommander));
commands.put("inspect", new InspectCommand(jcommander));
commands.put("install", new InstallCommand(jcommander));
commands.put("modules", new PrintModulesCommand(jcommander));
commands.put("patch", new PatchCommand(jcommander));
commands.put("providers", new PrintProvidersCommand(jcommander));
commands.put("rm", new RemoveTransformationCommand(jcommander));
commands.put("rm-excludes", new RemoveExcludesCommand(jcommander));
commands.put("rm-includes", new RemoveIncludesCommand(jcommander));
commands.put("rm-chain", new RemoveChainCommand(jcommander));
commands.put("rm-module", new RemoveModuleCommand(jcommander));
commands.put("rm-plugin", new RemovePluginCommand(jcommander));
commands.put("rm-provider", new RemoveProviderCommand(jcommander));
commands.put("set-reader", new SetReaderCommand(jcommander));
commands.put("set-writer", new SetWriterCommand(jcommander));
commands.put("transformations", new PrintTransformationsCommand(jcommander));
commands.put("plugins", new PrintPluginsCommand(jcommander));
commands.put("--version", new VersionCommand());
commands.put("--help", new HelpCommand(jcommander));
Set<String> keys = commands.keySet();
for (String key : keys) {
if (!key.startsWith("--")) {
jcommander.addCommand(key, commands.get(key));
} else {
jcommander.addCommand(key, commands.get(key), "-" + key.charAt(2));
}
JCommander aux = jcommander.getCommands().get(key);
aux.setProgramName("walkmod " + key);
aux.setAcceptUnknownOptions(false);
}
if (args == null || args.length == 0) {
printHeader();
new HelpCommand(jcommander).execute();
} else {
try {
jcommander.parse(args);
} catch (ParameterException e) {
System.out.println(e.getMessage());
System.out.println("Run walkmod --help to see the accepted parameters");
return;
}
String command = jcommander.getParsedCommand();
printHeader();
Command commandObject = commands.get(command.substring("walkmod ".length(), command.length()));
commandObject.execute();
if (commandObject instanceof AsciiTableAware) {
AsciiTableAware aux = (AsciiTableAware) commandObject;
V2_AsciiTable table = aux.getTable();
if (table != null) {
V2_AsciiTableRenderer rend = new V2_AsciiTableRenderer();
rend.setTheme(V2_E_TableThemes.UTF_LIGHT.get());
rend.setWidth(new AsciiTableWidth(50));
RenderedTable rt = rend.render(table);
System.out.println(rt);
}
}
}
}
use of org.walkmod.commands.AddTransformationCommand in project walkmod-core by walkmod.
the class XMLConfigurationProviderTest method testAddMultipleTransformationWithPath.
@Test
public void testAddMultipleTransformationWithPath() throws Exception {
File aux = new File("src/test/resources/xml");
aux.mkdirs();
File xml = new File(aux, "walkmod.xml");
XMLConfigurationProvider prov = new XMLConfigurationProvider(xml.getPath(), false);
try {
prov.createConfig();
AddTransformationCommand command = new AddTransformationCommand("imports-cleaner", null, false, null, "src", null, null, false);
prov.addTransformationConfig(null, "src", command.buildTransformationCfg(), false, null, null);
String content = FileUtils.readFileToString(xml);
System.out.println(content);
command = new AddTransformationCommand("license-header", null, false, null, "src", null, null, false);
prov.addTransformationConfig(null, "src", command.buildTransformationCfg(), false, null, null);
content = FileUtils.readFileToString(xml);
Assert.assertTrue(content.contains("imports-cleaner") && content.contains("license-header") && content.contains("src"));
} finally {
xml.delete();
}
}
use of org.walkmod.commands.AddTransformationCommand in project walkmod-core by walkmod.
the class XMLConfigurationProviderTest method testAddExternalTransformation.
@Test
public void testAddExternalTransformation() throws Exception {
File aux = new File("src/test/resources/xml");
aux.mkdirs();
File xml = new File(aux, "walkmod.xml");
XMLConfigurationProvider prov = new XMLConfigurationProvider(xml.getPath(), false);
try {
prov.createConfig();
AddTransformationCommand command = new AddTransformationCommand("com.metricstream:metricstream:AddCurlyBraces", null, false, null, null, null, null, false);
prov.addTransformationConfig(null, null, command.buildTransformationCfg(), false, null, null);
prov.load();
Collection<PluginConfig> plugins = prov.getConfiguration().getPlugins();
boolean containsMetricStream = false;
Iterator<PluginConfig> it = plugins.iterator();
while (it.hasNext() && !containsMetricStream) {
PluginConfig next = it.next();
containsMetricStream = next.getGroupId().equals("com.metricstream") && next.getArtifactId().equals("walkmod-metricstream-plugin");
}
Assert.assertTrue(containsMetricStream);
} finally {
xml.delete();
}
}
use of org.walkmod.commands.AddTransformationCommand in project walkmod-core by walkmod.
the class XMLConfigurationProviderTest method testAddConfigurationParameter.
@Test
public void testAddConfigurationParameter() throws Exception {
AddTransformationCommand command = new AddTransformationCommand("imports-cleaner", "mychain", false, null, null, null, null, false);
File aux = new File("src/test/resources/xmlparams");
aux.mkdirs();
File xml = new File(aux, "walkmod.xml");
XMLConfigurationProvider prov = new XMLConfigurationProvider(xml.getPath(), false);
try {
prov.createConfig();
TransformationConfig transfCfg = command.buildTransformationCfg();
prov.addTransformationConfig("mychain", null, transfCfg, false, null, null);
prov.addConfigurationParameter("testParam", "hello", "imports-cleaner", null, null, null, false);
String output = FileUtils.readFileToString(xml);
System.out.println(output);
Assert.assertTrue(output.contains("testParam") && output.contains("hello"));
} finally {
FileUtils.deleteDirectory(aux);
}
}
Aggregations