[shrinkwrap-issues] [JBoss JIRA] Updated: (SHRINKDESC-96) WebAppDescriptor.getServletMappings() fails if a mapping is defined for a servlet with no definition

Lincoln Baxter III (JIRA) jira-events at lists.jboss.org
Tue Sep 27 14:21:27 EDT 2011


     [ https://issues.jboss.org/browse/SHRINKDESC-96?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Lincoln Baxter III updated SHRINKDESC-96:
-----------------------------------------

    Description: 
{code}

   @Override
   public List<ServletMappingDef> getServletMappings()
   {
      final List<ServletMappingDef> mappings = new ArrayList<ServletMappingDef>();
      for (final Node mappingNode : model.get(NODE_NAME_SERVLET_MAPPINGS))
      {
         final String servletName = mappingNode.getSingle(NODE_NAME_SERVLET_NAME).getText();

         ServletDef servletDef = null;
         List<ServletDef> servlets = getServlets();
         for (ServletDef servlet : servlets)
         {
            if (Strings.areEqualTrimmed(servlet.getName(), servletName))
            {
               servletDef = servlet;
            }
         }

         final ServletMappingDef servletMapping = new ServletMappingDefImpl(getDescriptorName(), getRootNode(),
                  ((ServletDefImpl) servletDef).getNode(), mappingNode);
         mappings.add(servletMapping);
      }
      return mappings;
   }
{code}

Specifically:

{code}

         final ServletMappingDef servletMapping = new ServletMappingDefImpl(getDescriptorName(), getRootNode(),
                  ((ServletDefImpl) servletDef).getNode(), mappingNode);
         mappings.add(servletMapping);
{code}

Because servletDef is null here:

{code}
 ((ServletDefImpl) servletDef).getNode()
{code}

  was:
{code}

   @Override
   public List<ServletMappingDef> getServletMappings()
   {
      final List<ServletMappingDef> mappings = new ArrayList<ServletMappingDef>();
      for (final Node mappingNode : model.get(NODE_NAME_SERVLET_MAPPINGS))
      {
         final String servletName = mappingNode.getSingle(NODE_NAME_SERVLET_NAME).getText();

         ServletDef servletDef = null;
         List<ServletDef> servlets = getServlets();
         for (ServletDef servlet : servlets)
         {
            if (Strings.areEqualTrimmed(servlet.getName(), servletName))
            {
               servletDef = servlet;
            }
         }

         final ServletMappingDef servletMapping = new ServletMappingDefImpl(getDescriptorName(), getRootNode(),
                  ((ServletDefImpl) servletDef).getNode(), mappingNode);
         mappings.add(servletMapping);
      }
      return mappings;
   }
{code}

Specifically:

{code}

         final ServletMappingDef servletMapping = new ServletMappingDefImpl(getDescriptorName(), getRootNode(),
                  ((ServletDefImpl) servletDef).getNode(), mappingNode);
         mappings.add(servletMapping);
{code}

Because this is null:

{code}
 ((ServletDefImpl) servletDef).getNode()
{code}



> WebAppDescriptor.getServletMappings() fails if a mapping is defined for a servlet with no definition
> ----------------------------------------------------------------------------------------------------
>
>                 Key: SHRINKDESC-96
>                 URL: https://issues.jboss.org/browse/SHRINKDESC-96
>             Project: ShrinkWrap Descriptors
>          Issue Type: Bug
>    Affects Versions: 1.1.0-beta-1
>            Reporter: Lincoln Baxter III
>
> {code}
>    @Override
>    public List<ServletMappingDef> getServletMappings()
>    {
>       final List<ServletMappingDef> mappings = new ArrayList<ServletMappingDef>();
>       for (final Node mappingNode : model.get(NODE_NAME_SERVLET_MAPPINGS))
>       {
>          final String servletName = mappingNode.getSingle(NODE_NAME_SERVLET_NAME).getText();
>          ServletDef servletDef = null;
>          List<ServletDef> servlets = getServlets();
>          for (ServletDef servlet : servlets)
>          {
>             if (Strings.areEqualTrimmed(servlet.getName(), servletName))
>             {
>                servletDef = servlet;
>             }
>          }
>          final ServletMappingDef servletMapping = new ServletMappingDefImpl(getDescriptorName(), getRootNode(),
>                   ((ServletDefImpl) servletDef).getNode(), mappingNode);
>          mappings.add(servletMapping);
>       }
>       return mappings;
>    }
> {code}
> Specifically:
> {code}
>          final ServletMappingDef servletMapping = new ServletMappingDefImpl(getDescriptorName(), getRootNode(),
>                   ((ServletDefImpl) servletDef).getNode(), mappingNode);
>          mappings.add(servletMapping);
> {code}
> Because servletDef is null here:
> {code}
>  ((ServletDefImpl) servletDef).getNode()
> {code}

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the shrinkwrap-issues mailing list