package org.jboss.windup.testutil.basics; import java.nio.file.Path; import org.jboss.windup.config.DefaultEvaluationContext; import org.jboss.windup.config.GraphRewrite; import org.jboss.windup.config.RuleProvider; import org.jboss.windup.config.RuleSubset; import org.jboss.windup.graph.GraphContext; import org.ocpsoft.rewrite.config.Configuration; import org.ocpsoft.rewrite.param.DefaultParameterValueStore; import org.ocpsoft.rewrite.param.ParameterValueStore; import org.apache.commons.io.FileUtils; import org.apache.commons.lang.RandomStringUtils; /** * A class providing helping static methods for the tests in Windup. */ public class WindupTestUtilMethods { public static void runOnlyRuleProviders(Iterable<? extends RuleProvider> providers, GraphContext context) { GraphRewrite event = new GraphRewrite(context); DefaultEvaluationContext evaluationContext = createEvalContext(event); for (RuleProvider provider : providers) { Configuration configuration = provider.getConfiguration(null); RuleSubset.create(configuration).perform(event, evaluationContext); } } private static DefaultEvaluationContext createEvalContext(GraphRewrite event) { final DefaultEvaluationContext evaluationContext = new DefaultEvaluationContext(); final DefaultParameterValueStore values = new DefaultParameterValueStore(); evaluationContext.put(ParameterValueStore.class, values); return evaluationContext; } public static Path getTempDirectoryForGraph() { return FileUtils.getTempDirectory().toPath().resolve("Windup") .resolve("graph_" + RandomStringUtils.randomAlphanumeric(6)); } }