You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by fm...@apache.org on 2009/12/08 16:53:42 UTC

svn commit: r888451 - /felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/AbstractComponentManager.java

Author: fmeschbe
Date: Tue Dec  8 15:53:42 2009
New Revision: 888451

URL: http://svn.apache.org/viewvc?rev=888451&view=rev
Log:
FELIX-1927 Apply patch by Lukas Kolisko (thanks)

Modified:
    felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/AbstractComponentManager.java

Modified: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/AbstractComponentManager.java
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/AbstractComponentManager.java?rev=888451&r1=888450&r2=888451&view=diff
==============================================================================
--- felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/AbstractComponentManager.java (original)
+++ felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/AbstractComponentManager.java Tue Dec  8 15:53:42 2009
@@ -33,6 +33,7 @@
 import org.apache.felix.scr.impl.ComponentActivatorTask;
 import org.apache.felix.scr.impl.metadata.ComponentMetadata;
 import org.apache.felix.scr.impl.metadata.ReferenceMetadata;
+import org.apache.felix.scr.impl.metadata.ServiceMetadata;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.InvalidSyntaxException;
 import org.osgi.framework.ServicePermission;
@@ -534,18 +535,22 @@
         boolean allowed = true;
         if ( System.getSecurityManager() != null )
         {
-            final String[] services = getComponentMetadata().getServiceMetadata().getProvides();
-            if ( services != null && services.length > 0 )
+            final ServiceMetadata serviceMetadata = getComponentMetadata().getServiceMetadata();
+            if ( serviceMetadata != null )
             {
-                final Bundle bundle = getBundle();
-                for ( int i = 0; i < services.length; i++ )
+                final String[] services = serviceMetadata.getProvides();
+                if ( services != null && services.length > 0 )
                 {
-                    final Permission perm = new ServicePermission( services[i], ServicePermission.REGISTER );
-                    if ( !bundle.hasPermission( perm ) )
+                    final Bundle bundle = getBundle();
+                    for ( int i = 0; i < services.length; i++ )
                     {
-                        log( LogService.LOG_INFO, "Permission to register service {0} is denied", new Object[]
-                            { services[i] }, null );
-                        allowed = false;
+                        final Permission perm = new ServicePermission( services[i], ServicePermission.REGISTER );
+                        if ( !bundle.hasPermission( perm ) )
+                        {
+                            log( LogService.LOG_INFO, "Permission to register service {0} is denied", new Object[]
+                                { services[i] }, null );
+                            allowed = false;
+                        }
                     }
                 }
             }