Author: pauls
Date: Wed Mar 5 04:50:05 2008
New Revision: 633836
URL: http://svn.apache.org/viewvc?rev=633836&view=rev
Log:
The extensionmanager creates a classcastexception if more then framework is
around and both have extensions installed. This fixes the issue.
Modified:
felix/trunk/framework/src/main/java/org/apache/felix/framework/ExtensionManager.java
Modified:
felix/trunk/framework/src/main/java/org/apache/felix/framework/ExtensionManager.java
URL:
http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/ExtensionManager.java?rev=633836&r1=633835&r2=633836&view=diff
==============================================================================
---
felix/trunk/framework/src/main/java/org/apache/felix/framework/ExtensionManager.java
(original)
+++
felix/trunk/framework/src/main/java/org/apache/felix/framework/ExtensionManager.java
Wed Mar 5 04:50:05 2008
@@ -227,7 +227,7 @@
new AdminPermission(bundle,
AdminPermission.EXTENSIONLIFECYCLE));
}
- if (!bundle.getInfo().getProtectionDomain().implies(new
AllPermission()))
+ if (!((BundleProtectionDomain)
bundle.getInfo().getProtectionDomain()).impliesDirect(new AllPermission()))
{
throw new SecurityException("Extension Bundles must have
AllPermission");
}
@@ -577,8 +577,12 @@
for (Iterator iter = m_sourceToExtensions.values().iterator();
iter.hasNext();)
{
- Bundle bundle = (Bundle) iter.next();
- _add(bundle.getSymbolicName(), bundle);
+ List extensions = (List) iter.next();
+ for (Iterator extIter = extensions.iterator(); extIter.hasNext();)
+ {
+ Bundle bundle = (Bundle) extIter.next();
+ _add(bundle.getSymbolicName(), bundle);
+ }
}
}