From e28a4338beeb1da4a099bbae68bee779be66abbb Mon Sep 17 00:00:00 2001 From: "Lincoln Baxter, III" Date: Fri, 20 Sep 2013 17:08:17 -0400 Subject: [PATCH] Servlet 2.5 Facet should create web.xml in WAR projects when missing --- .../javaee/servlet/ServletFacetImpl_2_5.java | 13 ++++++++++++ .../javaee/servlet/ServletFacetTest.java | 20 +++++++++---------- 2 files changed, 22 insertions(+), 11 deletions(-) diff --git a/javaee/impl/src/main/java/org/jboss/forge/addon/javaee/servlet/ServletFacetImpl_2_5.java b/javaee/impl/src/main/java/org/jboss/forge/addon/javaee/servlet/ServletFacetImpl_2_5.java index 12b5649c6e..10e492f1e3 100644 --- a/javaee/impl/src/main/java/org/jboss/forge/addon/javaee/servlet/ServletFacetImpl_2_5.java +++ b/javaee/impl/src/main/java/org/jboss/forge/addon/javaee/servlet/ServletFacetImpl_2_5.java @@ -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; @@ -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() { diff --git a/javaee/tests/src/test/java/org/jboss/forge/addon/javaee/servlet/ServletFacetTest.java b/javaee/tests/src/test/java/org/jboss/forge/addon/javaee/servlet/ServletFacetTest.java index 09598a0d91..e6f90e6493 100644 --- a/javaee/tests/src/test/java/org/jboss/forge/addon/javaee/servlet/ServletFacetTest.java +++ b/javaee/tests/src/test/java/org/jboss/forge/addon/javaee/servlet/ServletFacetTest.java @@ -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; @@ -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)); } - } \ No newline at end of file