You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by cs...@apache.org on 2015/04/29 09:16:33 UTC

svn commit: r1676682 - in /aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container: AbstractServiceReferenceRecipe.java ReferenceRecipe.java

Author: cschneider
Date: Wed Apr 29 07:16:31 2015
New Revision: 1676682

URL: http://svn.apache.org/r1676682
Log:
[ARIES-1314] Fixing some warnings

Modified:
    aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/AbstractServiceReferenceRecipe.java
    aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/ReferenceRecipe.java

Modified: aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/AbstractServiceReferenceRecipe.java
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/AbstractServiceReferenceRecipe.java?rev=1676682&r1=1676681&r2=1676682&view=diff
==============================================================================
--- aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/AbstractServiceReferenceRecipe.java (original)
+++ aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/AbstractServiceReferenceRecipe.java Wed Apr 29 07:16:31 2015
@@ -71,6 +71,7 @@ import org.slf4j.LoggerFactory;
  *
  * @version $Rev$, $Date$
  */
+@SuppressWarnings("rawtypes")
 public abstract class AbstractServiceReferenceRecipe extends AbstractRecipe implements ServiceListener, SatisfiableRecipe {
 
     private static final Logger LOGGER = LoggerFactory.getLogger(AbstractServiceReferenceRecipe.class);
@@ -112,12 +113,7 @@ public abstract class AbstractServiceRef
         this.optional = (metadata.getAvailability() == ReferenceMetadata.AVAILABILITY_OPTIONAL);
         this.filter = createOsgiFilter(metadata, null);
         
-        if (System.getSecurityManager() != null) {
-            accessControlContext = createAccessControlContext();
-        } else
-        {
-        	accessControlContext = null;
-        }
+        accessControlContext = (System.getSecurityManager() != null) ? createAccessControlContext() : null;
     }
 
 
@@ -233,63 +229,61 @@ public abstract class AbstractServiceRef
         return null;
     }
 
-	protected Object getServiceSecurely(final ServiceReference serviceReference) {
-		if (accessControlContext == null) {
-			return getBundleContextForServiceLookup().getService(
-					serviceReference);
-
-		} else {
-			// If we're operating with security, use the privileges of the bundle
-			// we're managing to do the lookup
-			return AccessController.doPrivileged(
-					new PrivilegedAction<Object>() {
-						public Object run() {
-							return getBundleContextForServiceLookup()
-									.getService(serviceReference);
-						}
-					}, accessControlContext);
-		}
-	}
-    
+    @SuppressWarnings("unchecked")
+    protected Object getServiceSecurely(final ServiceReference serviceReference) {
+        if (accessControlContext == null) {
+            return getBundleContextForServiceLookup().getService(serviceReference);
+        } else {
+            // If we're operating with security, use the privileges of the bundle
+            // we're managing to do the lookup
+            return AccessController.doPrivileged(new PrivilegedAction<Object>() {
+                public Object run() {
+                    return getBundleContextForServiceLookup().getService(serviceReference);
+                }
+            }, accessControlContext);
+        }
+    }
 
-	/**
-	 * We may need to execute code within a doPrivileged block, and if so, it should be the 
-	 * privileges of the bundle with the blueprint file that get used, not the privileges 
-	 * of blueprint-core. To achieve this we use an access context. 
-	 * @return
-	 */
+    /**
+     * We may need to execute code within a doPrivileged block, and if so, it should be the privileges of the
+     * bundle with the blueprint file that get used, not the privileges of blueprint-core. To achieve this we
+     * use an access context.
+     * 
+     * @return
+     */
     private AccessControlContext createAccessControlContext() {
-        return new AccessControlContext(AccessController.getContext(),
-                new DomainCombiner() {               
-                    public ProtectionDomain[] combine(ProtectionDomain[] arg0,
-                                                      ProtectionDomain[] arg1) {                    
-                        return new ProtectionDomain[] { new ProtectionDomain(null, null) {                        
-                            public boolean implies(Permission permission) {                                                           
-                                return getBundleContextForServiceLookup().getBundle().hasPermission(permission);
-                            }
-                        } 
-                    };
-                }
+        return new AccessControlContext(AccessController.getContext(), new DomainCombiner() {
+            public ProtectionDomain[] combine(ProtectionDomain[] arg0, ProtectionDomain[] arg1) {
+                ProtectionDomain protectionDomain = new ProtectionDomain(null, null) {
+                    public boolean implies(Permission permission) {
+                        return getBundleContextForServiceLookup().getBundle().hasPermission(permission);
+                    }
+                };
+                return new ProtectionDomain[] {
+                    protectionDomain
+                };
+            }
         });
     }
 
+    @SuppressWarnings("unchecked")
     protected void createListeners() {
-            if (listenersRecipe != null) {
-                List<Listener> listeners = (List<Listener>) listenersRecipe.create();
-                for (Listener listener : listeners) {
-                    List<Class> classList = new ArrayList<Class>();
-                    Class clz = getInterfaceClass();
-                    if (clz != null) { 
-                        classList.add(clz);
-                    } else {
-                        classList.add(Object.class);
-                    }
-                    listener.init(classList);
+        if (listenersRecipe != null) {
+            List<Listener> listeners = (List<Listener>)listenersRecipe.create();
+            for (Listener listener : listeners) {
+                List<Class> classList = new ArrayList<Class>();
+                Class clz = getInterfaceClass();
+                if (clz != null) {
+                    classList.add(clz);
+                } else {
+                    classList.add(Object.class);
                 }
-                this.listeners = listeners;
-            } else {
-                this.listeners = Collections.emptyList();
+                listener.init(classList);
             }
+            this.listeners = listeners;
+        } else {
+            this.listeners = Collections.emptyList();
+        }
     }
 
     protected List<Class<?>> loadAllClasses(Iterable<String> interfaceNames) {

Modified: aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/ReferenceRecipe.java
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/ReferenceRecipe.java?rev=1676682&r1=1676681&r2=1676682&view=diff
==============================================================================
--- aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/ReferenceRecipe.java (original)
+++ aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/ReferenceRecipe.java Wed Apr 29 07:16:31 2015
@@ -52,6 +52,7 @@ import org.slf4j.LoggerFactory;
  *
  * @version $Rev$, $Date$
  */
+@SuppressWarnings("rawtypes")
 public class ReferenceRecipe extends AbstractServiceReferenceRecipe {
 
     private static final Logger LOGGER = LoggerFactory.getLogger(ReferenceRecipe.class);
@@ -206,7 +207,7 @@ public class ReferenceRecipe extends Abs
             if (isStarted() && trackedServiceReference == null && metadata.getTimeout() > 0
                     && metadata.getAvailability() == ServiceReferenceMetadata.AVAILABILITY_MANDATORY) {
                 //Here we want to get the blueprint bundle itself, so don't use #getBundleContextForServiceLookup()
-                blueprintContainer.getEventDispatcher().blueprintEvent(new BlueprintEvent(BlueprintEvent.WAITING, blueprintContainer.getBundleContext().getBundle(), blueprintContainer.getExtenderBundle(), new String[] { getOsgiFilter() }));
+                blueprintContainer.getEventDispatcher().blueprintEvent(createWaitingevent());
                 monitor.wait(metadata.getTimeout());
             }
             Object result = null;
@@ -255,6 +256,13 @@ public class ReferenceRecipe extends Abs
         }
     }
 
+    private BlueprintEvent createWaitingevent() {
+        return new BlueprintEvent(BlueprintEvent.WAITING, 
+                                  blueprintContainer.getBundleContext().getBundle(), 
+                                  blueprintContainer.getExtenderBundle(), 
+                                  new String[] { getOsgiFilter() });
+    }
+
     private ServiceReference getServiceReference() throws InterruptedException {
         synchronized (monitor) {
             if (!optional) {