Fix ClassCastException in Permissions (FELIX-3101).

git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1169678 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/framework.security/src/main/java/org/apache/felix/framework/SecurityProviderImpl.java b/framework.security/src/main/java/org/apache/felix/framework/SecurityProviderImpl.java
index 5427a83..2a06343 100644
--- a/framework.security/src/main/java/org/apache/felix/framework/SecurityProviderImpl.java
+++ b/framework.security/src/main/java/org/apache/felix/framework/SecurityProviderImpl.java
@@ -69,7 +69,7 @@
      */
     public Object getSignerMatcher(final Bundle bundle, int signersType)
     {
-        BundleRevisionImpl module = ((BundleRevisionImpl) bundle.adapt(BundleRevision.class));
+        BundleRevisionImpl module = (BundleRevisionImpl) bundle.adapt(BundleRevision.class);
         return m_parser.getDNChains(module, module.getContent(), signersType);
     }
 
diff --git a/framework.security/src/main/java/org/apache/felix/framework/security/util/Conditions.java b/framework.security/src/main/java/org/apache/felix/framework/security/util/Conditions.java
index 485652c..34468eb 100644
--- a/framework.security/src/main/java/org/apache/felix/framework/security/util/Conditions.java
+++ b/framework.security/src/main/java/org/apache/felix/framework/security/util/Conditions.java
@@ -129,6 +129,10 @@
     public boolean isSatisfied(List posts, Permissions permissions,
         Permission permission)
     {
+        if (m_conditionInfos == null)
+        {
+            return true;
+        }
         boolean check = true;
         for (int i = 0; i < m_conditionInfos.length; i++)
         {
diff --git a/framework.security/src/main/java/org/apache/felix/framework/security/util/Permissions.java b/framework.security/src/main/java/org/apache/felix/framework/security/util/Permissions.java
index 651b2cd..ea190c7 100644
--- a/framework.security/src/main/java/org/apache/felix/framework/security/util/Permissions.java
+++ b/framework.security/src/main/java/org/apache/felix/framework/security/util/Permissions.java
@@ -505,7 +505,7 @@
             {
                 inner = new HashMap();
                 m_permissionCache.put(encoded,
-                    new SoftReference(inner, m_queue));
+                    new SoftReference(inner));
             }
 
             inner.put(new Entry(permission.getClass()), new Entry(permission));
diff --git a/framework.security/src/main/java/org/apache/felix/framework/security/util/TrustManager.java b/framework.security/src/main/java/org/apache/felix/framework/security/util/TrustManager.java
index 1f32e91..5b2520e 100644
--- a/framework.security/src/main/java/org/apache/felix/framework/security/util/TrustManager.java
+++ b/framework.security/src/main/java/org/apache/felix/framework/security/util/TrustManager.java
@@ -18,7 +18,9 @@
  */
 package org.apache.felix.framework.security.util;
 
+import java.io.File;
 import java.io.InputStream;
+import java.io.PrintStream;
 import java.security.KeyStore;
 import java.security.cert.CertificateFactory;
 import java.util.ArrayList;
@@ -119,7 +121,7 @@
 
     private void initCaCerts() throws Exception
     {
-        final Collection result = new ArrayList();
+    	final Collection result = new ArrayList();
 
         if (m_storeList.trim().length() != 0)
         {