Skip to content

Commit

Permalink
Servlet 2.5 Facet should create web.xml in WAR projects when missing
Browse files Browse the repository at this point in the history
  • Loading branch information
lincolnthree committed Sep 20, 2013
1 parent 7a9b8e7 commit e28a433
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 11 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
import org.jboss.forge.addon.dependencies.builder.DependencyBuilder;
import org.jboss.forge.addon.projects.dependencies.DependencyInstaller;
import org.jboss.forge.addon.projects.facets.MetadataFacet;
import org.jboss.forge.addon.projects.facets.PackagingFacet;
import org.jboss.forge.addon.resource.FileResource;
import org.jboss.forge.furnace.util.Streams;
import org.jboss.forge.furnace.versions.SingleVersion;
Expand All @@ -44,6 +45,18 @@ public boolean isInstalled()
return super.isInstalled() && getConfigFile().exists() && "2.5".equals(getConfig().getVersionAsString());
}

@Override
public boolean install()
{
if (!getConfigFile().exists()
&& getFaceted().getFacet(PackagingFacet.class)
.getPackagingType().equalsIgnoreCase("war"))
{
saveConfig(getConfig());
}
return super.install();
}

@Override
public Version getSpecVersion()
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,6 @@

package org.jboss.forge.addon.javaee.servlet;

import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;

import javax.inject.Inject;

import org.jboss.arquillian.container.test.api.Deployment;
Expand Down Expand Up @@ -67,29 +64,30 @@ public void testWebXMLInitialInfo_3_0() throws Exception
{
Project project = projectFactory.createTempProject();
ServletFacet_3_0 facet = facetFactory.install(project, ServletFacet_3_0.class);
assertNotNull(facet);
assertTrue(project.hasFacet(ServletFacet.class));
Assert.assertFalse(facet.getConfigFile().exists());
Assert.assertNotNull(facet);
Assert.assertTrue(project.hasFacet(ServletFacet.class));
WebAppDescriptor config = facet.getConfig();
assertNotNull(config);
Assert.assertNotNull(config);
String projectName = project.getFacet(MetadataFacet.class).getProjectName();
Assert.assertFalse(config.getAllDisplayName().isEmpty());
Assert.assertEquals(projectName, config.getAllDisplayName().get(0));
Assert.assertFalse(facet.getConfigFile().exists());
}


@Test
public void testWebXMLInitialInfo_2_5() throws Exception
{
Project project = projectFactory.createTempProject();
ServletFacet_2_5 facet = facetFactory.install(project, ServletFacet_2_5.class);
assertNotNull(facet);
assertTrue(project.hasFacet(ServletFacet.class));
Assert.assertTrue(facet.getConfigFile().exists());
Assert.assertNotNull(facet);
Assert.assertTrue(project.hasFacet(ServletFacet.class));
org.jboss.shrinkwrap.descriptor.api.webapp25.WebAppDescriptor config = facet.getConfig();
assertNotNull(config);
Assert.assertNotNull(config);
String projectName = project.getFacet(MetadataFacet.class).getProjectName();
Assert.assertFalse(config.getAllDisplayName().isEmpty());
Assert.assertEquals(projectName, config.getAllDisplayName().get(0));
}


}

0 comments on commit e28a433

Please sign in to comment.