Skip to content

Commit

Permalink
WINDUP-448: Initial transformer.
Browse files Browse the repository at this point in the history
  • Loading branch information
jsight committed Jan 15, 2015
1 parent 55730cc commit 16d754a
Show file tree
Hide file tree
Showing 15 changed files with 566 additions and 450 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,9 @@
import org.jboss.windup.graph.model.WindupVertexFrame;
import org.jboss.windup.util.exception.WindupException;
import org.ocpsoft.rewrite.context.EvaluationContext;
import org.ocpsoft.rewrite.param.DefaultParameterStore;
import org.ocpsoft.rewrite.param.DefaultParameterValueStore;
import org.ocpsoft.rewrite.param.ParameterStore;
import org.ocpsoft.rewrite.param.ParameterValueStore;
import org.ocpsoft.rewrite.param.Parameterized;

Expand Down Expand Up @@ -116,10 +118,12 @@ public void rollback()

DefaultParameterValueStore original = (DefaultParameterValueStore) DefaultParameterValueStore
.getInstance(context);

for (Entry<ParameterValueStore, Map<String, Iterable<? extends WindupVertexFrame>>> entry : valueStores
.entrySet())
{
ParameterValueStore valueStore = entry.getKey();
ParameterStore store = DefaultParameterStore.getInstance(context);
Map<String, Iterable<? extends WindupVertexFrame>> variables = entry.getValue();
try
{
Expand Down
5 changes: 5 additions & 0 deletions config/impl/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,11 @@
<artifactId>jgrapht-core</artifactId>
<version>0.9.0</version>
</dependency>
<dependency>
<groupId>org.ocpsoft.rewrite</groupId>
<artifactId>rewrite-impl</artifactId>
<version>3.0.0-SNAPSHOT</version>
</dependency>

<!-- Addon Dependencies -->
<dependency>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,7 @@
import org.jboss.forge.arquillian.archive.ForgeArchive;
import org.jboss.forge.furnace.repositories.AddonDependencyEntry;
import org.jboss.forge.furnace.util.Iterators;
import org.jboss.forge.furnace.util.Predicate;
import org.jboss.shrinkwrap.api.ShrinkWrap;
import org.jboss.windup.config.RulePhase;
import org.jboss.windup.config.WindupRuleProvider;
import org.jboss.windup.exec.WindupProcessor;
import org.jboss.windup.exec.configuration.WindupConfiguration;
import org.jboss.windup.graph.GraphContext;
Expand All @@ -38,88 +35,89 @@
@RunWith(Arquillian.class)
public class XmlJonasConfigTest
{

@Deployment
@Dependencies({
@AddonDependency(name = "org.jboss.windup.config:windup-config"),
@AddonDependency(name = "org.jboss.windup.exec:windup-exec"),
@AddonDependency(name = "org.jboss.windup.rules.apps:rules-java", version = "2.0.0-SNAPSHOT"),
@AddonDependency(name = "org.jboss.windup.rules.apps:rules-java-ee", version = "2.0.0-SNAPSHOT"),
@AddonDependency(name = "org.jboss.windup.rexster:rexster", version = "2.0.0-SNAPSHOT"),
@AddonDependency(name = "org.jboss.windup.rules.apps:rules-xml"),
@AddonDependency(name = "org.jboss.windup.ext:windup-config-groovy", version = "2.0.0-SNAPSHOT"),
@AddonDependency(name = "org.jboss.windup.reporting:windup-reporting"),
@AddonDependency(name = "org.jboss.forge.furnace.container:cdi")
})
public static ForgeArchive getDeployment()
{
final ForgeArchive archive = ShrinkWrap.create(ForgeArchive.class)
.addBeansXML()
.addClass(XmlJonasConfigTest.class)
.addAsResource(new File("src/test/resources/xml/jonasConfigExample.xml"),
XML_FILE)
.addAsAddonDependencies(
AddonDependencyEntry.create("org.jboss.windup.config:windup-config"),
AddonDependencyEntry.create("org.jboss.windup.exec:windup-exec"),
AddonDependencyEntry.create("org.jboss.windup.rules.apps:rules-java"),
AddonDependencyEntry.create("org.jboss.windup.rules.apps:rules-java-ee"),
AddonDependencyEntry.create("org.jboss.windup.rules.apps:rules-xml"),
AddonDependencyEntry.create("org.jboss.windup.ext:windup-config-groovy"),
AddonDependencyEntry.create("org.jboss.windup.reporting:windup-reporting"),
AddonDependencyEntry.create("org.jboss.forge.furnace.container:cdi")
);

return archive;
}

@Inject
private WindupProcessor processor;

public static String XML_FILE = "/org/jboss/windup/addon/xml/jonasConfigExample.xml";
@Deployment
@Dependencies({
@AddonDependency(name = "org.jboss.windup.config:windup-config"),
@AddonDependency(name = "org.jboss.windup.exec:windup-exec"),
@AddonDependency(name = "org.jboss.windup.rules.apps:rules-java", version = "2.0.0-SNAPSHOT"),
@AddonDependency(name = "org.jboss.windup.rules.apps:rules-java-ee", version = "2.0.0-SNAPSHOT"),
@AddonDependency(name = "org.jboss.windup.rexster:rexster", version = "2.0.0-SNAPSHOT"),
@AddonDependency(name = "org.jboss.windup.rules.apps:rules-xml"),
@AddonDependency(name = "org.jboss.windup.ext:windup-config-groovy", version = "2.0.0-SNAPSHOT"),
@AddonDependency(name = "org.jboss.windup.reporting:windup-reporting"),
@AddonDependency(name = "org.jboss.forge.furnace.container:cdi")
})
public static ForgeArchive getDeployment()
{
final ForgeArchive archive = ShrinkWrap.create(ForgeArchive.class)
.addBeansXML()
.addAsResource(new File("src/test/resources/xml/jonasConfigExample.xml"),
XML_FILE)
.addAsAddonDependencies(
AddonDependencyEntry.create("org.jboss.windup.config:windup-config"),
AddonDependencyEntry.create("org.jboss.windup.exec:windup-exec"),
AddonDependencyEntry.create("org.jboss.windup.rules.apps:rules-java"),
AddonDependencyEntry.create("org.jboss.windup.rules.apps:rules-java-ee"),
AddonDependencyEntry.create("org.jboss.windup.rules.apps:rules-xml"),
AddonDependencyEntry.create("org.jboss.windup.ext:windup-config-groovy"),
AddonDependencyEntry.create("org.jboss.windup.reporting:windup-reporting"),
AddonDependencyEntry.create("org.jboss.forge.furnace.container:cdi")
);

return archive;
}

@Inject
private WindupProcessor processor;

@Inject
private GraphContextFactory factory;
public static String XML_FILE = "/org/jboss/windup/addon/xml/jonasConfigExample.xml";

@Test
public void testHintsAndClassificationOperation() throws Exception
@Inject
private GraphContextFactory factory;

@Test
public void testHintsAndClassificationOperation() throws Exception
{
try (GraphContext context = factory.create())
{
try (GraphContext context = factory.create())
ProjectModel pm = context.getFramed().addVertex(null, ProjectModel.class);
pm.setName("Main Project");
FileModel inputPath = context.getFramed().addVertex(null, FileModel.class);
inputPath.setFilePath("src/test/resources/");

Path outputPath = Paths.get(FileUtils.getTempDirectory().toString(), "windup_"
+ UUID.randomUUID().toString());
FileUtils.deleteDirectory(outputPath.toFile());
Files.createDirectories(outputPath);

inputPath.setProjectModel(pm);
pm.setRootFileModel(inputPath);
WindupConfiguration windupConfiguration = new WindupConfiguration()
.setGraphContext(context);
windupConfiguration.setInputPath(Paths.get(inputPath.getFilePath()));
windupConfiguration.setOutputDirectory(outputPath);
processor.execute(windupConfiguration);

GraphService<ClassificationModel> classificationService = new GraphService<>(context,
ClassificationModel.class);

List<ClassificationModel> classifications = Iterators.asList(classificationService.findAll());
boolean jonasClassification = false;
for (ClassificationModel model : classifications)
{
ProjectModel pm = context.getFramed().addVertex(null, ProjectModel.class);
pm.setName("Main Project");
FileModel inputPath = context.getFramed().addVertex(null, FileModel.class);
inputPath.setFilePath("src/test/resources/");

Path outputPath = Paths.get(FileUtils.getTempDirectory().toString(), "windup_"
+ UUID.randomUUID().toString());
FileUtils.deleteDirectory(outputPath.toFile());
Files.createDirectories(outputPath);

inputPath.setProjectModel(pm);
pm.setRootFileModel(inputPath);
WindupConfiguration windupConfiguration = new WindupConfiguration()
.setGraphContext(context);
windupConfiguration.setInputPath(Paths.get(inputPath.getFilePath()));
windupConfiguration.setOutputDirectory(outputPath);
processor.execute(windupConfiguration);

GraphService<ClassificationModel> classificationService = new GraphService<>(context,
ClassificationModel.class);

List<ClassificationModel> classifications = Iterators.asList(classificationService.findAll());
boolean jonasClassification = false;
for (ClassificationModel model : classifications)
String classification = model.getClassification();
if (classification.contains("JOnAS Web Descriptor"))
{
String classification = model.getClassification();
if(classification.contains("JOnAS Web Descriptor")) {
jonasClassification = true;
}
jonasClassification = true;
}
if(!jonasClassification) {
fail("No Jonas Web Descriptor classification found, even though there is an xml file");
}
Assert.assertEquals(1, classifications.size());

}
if (!jonasClassification)
{
fail("No Jonas Web Descriptor classification found, even though there is an xml file");
}
Assert.assertEquals(1, classifications.size());

}
}
}
Loading

0 comments on commit 16d754a

Please sign in to comment.