Skip to content

Commit

Permalink
REST XML Config strategy shouldn't rely on Servlet 3.0 facet only
Browse files Browse the repository at this point in the history
  • Loading branch information
gastaldi committed Jun 18, 2015
1 parent cd9a4fd commit 0834591
Showing 1 changed file with 13 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@

import java.util.List;

import org.jboss.forge.addon.javaee.servlet.ServletFacet_3_0;
import org.jboss.forge.addon.javaee.servlet.ServletFacet;
import org.jboss.forge.addon.projects.Project;
import org.jboss.forge.furnace.util.Assert;
import org.jboss.shrinkwrap.descriptor.api.webapp30.WebAppDescriptor;
import org.jboss.shrinkwrap.descriptor.api.webcommon30.ServletMappingType;
import org.jboss.shrinkwrap.descriptor.api.webapp.WebAppCommonDescriptor;
import org.jboss.shrinkwrap.descriptor.api.webcommon.ServletMappingCommonType;

/**
* Configures the Rest facet through the web.xml
Expand All @@ -38,13 +38,14 @@ public String getApplicationPath()
return path;
}

@SuppressWarnings("unchecked")
@Override
public void install(Project project)
{
if (!installedInWebXML(project))
{
ServletFacet_3_0 servlet = project.getFacet(ServletFacet_3_0.class);
WebAppDescriptor config = servlet.getConfig();
ServletFacet servlet = project.getFacet(ServletFacet.class);
WebAppCommonDescriptor config = (WebAppCommonDescriptor) servlet.getConfig();

config.createServlet().servletName(JAXRS_SERVLET).loadOnStartup(1);
String urlPattern = path;
Expand All @@ -62,15 +63,17 @@ private boolean installedInWebXML(Project project)
return getServletPath(project) != null;
}

@SuppressWarnings("unchecked")
static String getServletPath(Project project)
{
String servletPath = null;
if (project.hasFacet(ServletFacet_3_0.class))
if (project.hasFacet(ServletFacet.class))
{
ServletFacet_3_0 servlet = project.getFacet(ServletFacet_3_0.class);
WebAppDescriptor config = servlet.getConfig();
List<ServletMappingType<WebAppDescriptor>> allServletMapping = config.getAllServletMapping();
for (ServletMappingType<WebAppDescriptor> servletMappingType : allServletMapping)
ServletFacet servlet = project.getFacet(ServletFacet.class);
WebAppCommonDescriptor config = (WebAppCommonDescriptor) servlet.getConfig();

List<ServletMappingCommonType> allServletMapping = config.getAllServletMapping();
for (ServletMappingCommonType servletMappingType : allServletMapping)
{
if (JAXRS_SERVLET.equals(servletMappingType.getServletName()))
{
Expand Down

0 comments on commit 0834591

Please sign in to comment.