You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Richard S. Hall (JIRA)" <ji...@apache.org> on 2013/01/24 15:39:12 UTC

[jira] [Reopened] (FELIX-3852) InstallBundle throws ClassCastException: java.util.jar.Attributes$Name cannot be cast to java.lang.String

     [ https://issues.apache.org/jira/browse/FELIX-3852?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Richard S. Hall reopened FELIX-3852:
------------------------------------


I believe there is an issue with this patch. The StringMap not only converts keys to strings, but it always deals with case insensitivity of keys too. That is why we override all of the methods. To make matters worse, we not only deal with case insensitivity, we also maintain the original key so that the user gets back the keys in the case they put them with.

I think we need to revert to what we had, but modify putAll() to call toString() on the keys it is putting.
                
> InstallBundle throws ClassCastException: java.util.jar.Attributes$Name cannot be cast to java.lang.String
> ---------------------------------------------------------------------------------------------------------
>
>                 Key: FELIX-3852
>                 URL: https://issues.apache.org/jira/browse/FELIX-3852
>             Project: Felix
>          Issue Type: Bug
>          Components: Framework
>    Affects Versions: framework-4.2.0
>            Reporter: Sahoo
>            Assignee: Sahoo
>            Priority: Critical
>             Fix For: framework-4.2.0
>
>         Attachments: Felix-3852.patch
>
>
> Caused by: org.osgi.framework.BundleException: Could not create bundle object.
>     at org.apache.felix.framework.Felix.installBundle(Felix.java:2885)
>     at org.apache.felix.framework.BundleContextImpl.installBundle(BundleContextImpl.java:165)
>     at org.apache.felix.framework.BundleContextImpl.installBundle(BundleContextImpl.java:138)
>     at org.glassfish.extras.osgicontainer.OSGiDeployer.installBundle(OSGiDeployer.java:114)
>     ... 47 more
> Caused by: java.lang.ClassCastException: java.util.jar.Attributes$Name cannot be cast to java.lang.String
>     at org.apache.felix.framework.util.StringMap.putAll(StringMap.java:89)
>     at org.apache.felix.framework.util.StringMap.<init>(StringMap.java:43)
>     at org.apache.felix.framework.cache.DirectoryRevision.getManifestHeader(DirectoryRevision.java:92)
>     at org.apache.felix.framework.BundleImpl.createRevision(BundleImpl.java:1188)
>     at org.apache.felix.framework.BundleImpl.<init>(BundleImpl.java:95)
>     at org.apache.felix.framework.Felix.installBundle(Felix.java:2832)
>     ... 50 more

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira