aries-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hao Zhong (JIRA)" <j...@apache.org>
Subject [jira] [Created] (ARIES-1749) WarToWabConverterImpl_updateBundleManifest can put duplicated items
Date Thu, 12 Oct 2017 10:56:00 GMT
Hao Zhong created ARIES-1749:
--------------------------------

             Summary: WarToWabConverterImpl_updateBundleManifest can put duplicated items
                 Key: ARIES-1749
                 URL: https://issues.apache.org/jira/browse/ARIES-1749
             Project: Aries
          Issue Type: Bug
            Reporter: Hao Zhong


The WarToWabConverterImpl_updateBundleManifest method has the following code:
{code:java}
 protected Manifest updateBundleManifest(Manifest manifest) throws IOException {
  ...
 webCPath = addSlash(webCPath);
          manifest.getMainAttributes().put(new Attributes.Name(WEB_CONTEXT_PATH), webCPath);
}
{code}
Here, getMainAttributes().put does not check whether the added item already exists, so duplicated
items can be added. ARIES-958 fixed a similar problem. The buggy code is 
{code:java}
public static Manifest parseManifest(InputStream in) throws IOException{
...
            if (namedAttribute == null) {
              man.getMainAttributes().put(new Attributes.Name(attributeName), attributeValue);
            } else {
              man.getAttributes(namedAttribute).put(new Attributes.Name(attributeName), attributeValue);
            }
{code}
The fixed code is 
{code:java}
public static Manifest parseManifest(InputStream in) throws IOException{
...
Attributes.Name nameToAdd = new Attributes.Name(attributeName);
            if (namedAttribute == null || !man.getMainAttributes().containsKey(nameToAdd))
{
              man.getMainAttributes().put(nameToAdd, attributeValue);
            } else {
              man.getAttributes(namedAttribute).put(nameToAdd, attributeValue);
            }
          }
}
{code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message