You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by dj...@apache.org on 2012/10/12 02:40:16 UTC

svn commit: r1397393 - in /felix/trunk/scr/src: main/java/org/apache/felix/scr/impl/helper/ main/java/org/apache/felix/scr/impl/manager/ test/java/org/apache/felix/scr/impl/helper/

Author: djencks
Date: Fri Oct 12 00:40:15 2012
New Revision: 1397393

URL: http://svn.apache.org/viewvc?rev=1397393&view=rev
Log:
FELIX-3680 move RefPair to its own class

Added:
    felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/RefPair.java   (with props)
Modified:
    felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/helper/BindMethod.java
    felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/AbstractComponentManager.java
    felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/DependencyManager.java
    felix/trunk/scr/src/test/java/org/apache/felix/scr/impl/helper/BindMethodTest.java

Modified: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/helper/BindMethod.java
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/helper/BindMethod.java?rev=1397393&r1=1397392&r2=1397393&view=diff
==============================================================================
--- felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/helper/BindMethod.java (original)
+++ felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/helper/BindMethod.java Fri Oct 12 00:40:15 2012
@@ -24,6 +24,7 @@ import java.lang.reflect.Method;
 
 import org.apache.felix.scr.impl.Activator;
 import org.apache.felix.scr.impl.manager.AbstractComponentManager;
+import org.apache.felix.scr.impl.manager.RefPair;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.ServiceReference;
 import org.osgi.service.log.LogService;
@@ -553,7 +554,7 @@ public class BindMethod extends BaseMeth
         return null;
     }
 
-    public AbstractComponentManager.RefPair getServiceObject( ServiceReference ref, BundleContext context )
+    public RefPair getServiceObject( ServiceReference ref, BundleContext context )
     {
         //??? this resolves which we need.... better way?
         if ( methodExists() )
@@ -568,15 +569,15 @@ public class BindMethod extends BaseMeth
                     return null;
                 }
 
-                return new AbstractComponentManager.RefPair(ref, service);
+                return new RefPair(ref, service);
             }
         }
-        return new AbstractComponentManager.RefPair(ref, null);
+        return new RefPair(ref, null);
     }
 
     protected Object[] getParameters( Method method, Object rawParameter )
     {
-        AbstractComponentManager.RefPair refPair = ( AbstractComponentManager.RefPair ) rawParameter;
+        RefPair refPair = ( RefPair ) rawParameter;
         if (m_paramStyle == SERVICE_REFERENCE )
         {
             return new Object[] {refPair.getRef()};

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=1397393&r1=1397392&r2=1397393&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 Fri Oct 12 00:40:15 2012
@@ -909,33 +909,6 @@ public abstract class AbstractComponentM
 
     abstract void invokeUnbindMethod( DependencyManager dependencyManager, ServiceReference oldRef );
 
-    public static class RefPair
-    {
-        private final ServiceReference ref;
-        private Object serviceObject;
-
-        public RefPair( ServiceReference ref, Object serviceObject )
-        {
-            this.ref = ref;
-            this.serviceObject = serviceObject;
-        }
-
-        public ServiceReference getRef()
-        {
-            return ref;
-        }
-
-        public Object getServiceObject()
-        {
-            return serviceObject;
-        }
-
-        public void setServiceObject( Object serviceObject )
-        {
-            this.serviceObject = serviceObject;
-        }
-    }
-
     Map getDependencyMap()
     {
         return ( Map ) m_dependencies_map.get();

Modified: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/DependencyManager.java
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/DependencyManager.java?rev=1397393&r1=1397392&r2=1397393&view=diff
==============================================================================
--- felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/DependencyManager.java (original)
+++ felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/DependencyManager.java Fri Oct 12 00:40:15 2012
@@ -810,14 +810,14 @@ public class DependencyManager implement
      *      if the service is bound or <code>null</code> if the service is not
      *      bound.
      */
-    private AbstractComponentManager.RefPair getBoundService( ServiceReference serviceReference )
+    private RefPair getBoundService( ServiceReference serviceReference )
     {
         Map dependencyMap = m_componentManager.getDependencyMap();
         if (dependencyMap == null)
         {
             return null;
         }
-        return ( AbstractComponentManager.RefPair ) (( Map ) dependencyMap.get( this )).get(serviceReference);
+        return ( RefPair ) (( Map ) dependencyMap.get( this )).get(serviceReference);
     }
 
 
@@ -835,7 +835,7 @@ public class DependencyManager implement
     Object getService( ServiceReference serviceReference )
     {
         // check whether we already have the service and return that one
-        AbstractComponentManager.RefPair refPair = getBoundService( serviceReference );
+        RefPair refPair = getBoundService( serviceReference );
         if ( refPair != null && refPair.getServiceObject() != null )
         {
             return refPair.getServiceObject();
@@ -866,7 +866,7 @@ public class DependencyManager implement
             }
             else
             {
-                refPair = new AbstractComponentManager.RefPair( serviceReference,  serviceObject );
+                refPair = new RefPair( serviceReference,  serviceObject );
                 ((Map)m_componentManager.getDependencyMap().get( this )).put( serviceReference, refPair );
             }
         }
@@ -886,7 +886,7 @@ public class DependencyManager implement
         Map dependencyMap = m_componentManager.getDependencyMap();
         if ( dependencyMap != null )
         {
-            AbstractComponentManager.RefPair refPair  = ( AbstractComponentManager.RefPair ) ((Map ) dependencyMap.get( this )).get( serviceReference );
+            RefPair refPair  = ( RefPair ) ((Map ) dependencyMap.get( this )).get( serviceReference );
             if ( refPair != null && refPair.getServiceObject() != null )
             {
                 BundleComponentActivator activator = m_componentManager.getActivator();
@@ -1004,7 +1004,7 @@ public class DependencyManager implement
             {
                 for ( int index = 0; index < refs.length; index++ )
                 {
-                    AbstractComponentManager.RefPair refPair = m_bindMethods.getBind().getServiceObject( refs[index], m_componentManager.getActivator().getBundleContext() );
+                    RefPair refPair = m_bindMethods.getBind().getServiceObject( refs[index], m_componentManager.getActivator().getBundleContext() );
                     // success is if we have the minimal required number of services bound
                     if ( refPair != null )
                     {
@@ -1021,7 +1021,7 @@ public class DependencyManager implement
             ServiceReference ref = getFrameworkServiceReference();
             if ( ref != null )
             {
-                AbstractComponentManager.RefPair refPair = m_bindMethods.getBind().getServiceObject( ref, m_componentManager.getActivator().getBundleContext() );
+                RefPair refPair = m_bindMethods.getBind().getServiceObject( ref, m_componentManager.getActivator().getBundleContext() );
                 // success is if we have the minimal required number of services bound
                 if ( refPair != null )
                 {
@@ -1077,7 +1077,7 @@ public class DependencyManager implement
         for ( Iterator i = parameters.entrySet().iterator(); i.hasNext(); )
         {
             Map.Entry entry = ( Map.Entry ) i.next();
-            if ( invokeBindMethod( componentInstance, ( AbstractComponentManager.RefPair ) entry.getValue() ) )
+            if ( invokeBindMethod( componentInstance, ( RefPair ) entry.getValue() ) )
             {
                 success = true;
             }
@@ -1158,7 +1158,7 @@ public class DependencyManager implement
                 }
                 Map deps = ( Map ) dependencyMap.get( this );
                 BundleContext bundleContext = m_componentManager.getActivator().getBundleContext();
-                AbstractComponentManager.RefPair refPair = m_bindMethods.getBind().getServiceObject( ref, bundleContext );
+                RefPair refPair = m_bindMethods.getBind().getServiceObject( ref, bundleContext );
                 if ( refPair == null )
                 {
                     //reference deactivated while we are processing.
@@ -1196,7 +1196,7 @@ public class DependencyManager implement
      *      be handed over to the bind method but the service cannot be
      *      retrieved using the service reference.
      */
-    private boolean invokeBindMethod( Object componentInstance, AbstractComponentManager.RefPair refPair )
+    private boolean invokeBindMethod( Object componentInstance, RefPair refPair )
     {
         // The bind method is only invoked if the implementation object is not
         // null. This is valid for both immediate and delayed components
@@ -1243,7 +1243,7 @@ public class DependencyManager implement
         // null. This is valid for both immediate and delayed components
         if ( componentInstance != null )
         {
-            AbstractComponentManager.RefPair refPair = ( AbstractComponentManager.RefPair ) ((Map )m_componentManager.getDependencyMap().get( this )).get( ref );
+            RefPair refPair = ( RefPair ) ((Map )m_componentManager.getDependencyMap().get( this )).get( ref );
             MethodResult methodResult = m_bindMethods.getUpdated().invoke( componentInstance, refPair, MethodResult.VOID );
             if ( methodResult != null)
             {
@@ -1277,7 +1277,7 @@ public class DependencyManager implement
         // null. This is valid for both immediate and delayed components
         if ( componentInstance != null )
         {
-            AbstractComponentManager.RefPair refPair = ( AbstractComponentManager.RefPair ) ((Map )m_componentManager.getDependencyMap().get( this )).get( ref );
+            RefPair refPair = ( RefPair ) ((Map )m_componentManager.getDependencyMap().get( this )).get( ref );
             MethodResult methodResult = m_bindMethods.getUnbind().invoke( componentInstance, refPair, MethodResult.VOID );
             if ( methodResult != null )
             {

Added: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/RefPair.java
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/RefPair.java?rev=1397393&view=auto
==============================================================================
--- felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/RefPair.java (added)
+++ felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/RefPair.java Fri Oct 12 00:40:15 2012
@@ -0,0 +1,53 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+
+package org.apache.felix.scr.impl.manager;
+
+import org.osgi.framework.ServiceReference;
+
+/**
+ * @version $Rev:$ $Date:$
+ */
+public class RefPair
+{
+    private final ServiceReference ref;
+    private Object serviceObject;
+
+    public RefPair( ServiceReference ref, Object serviceObject )
+    {
+        this.ref = ref;
+        this.serviceObject = serviceObject;
+    }
+
+    public ServiceReference getRef()
+    {
+        return ref;
+    }
+
+    public Object getServiceObject()
+    {
+        return serviceObject;
+    }
+
+    public void setServiceObject( Object serviceObject )
+    {
+        this.serviceObject = serviceObject;
+    }
+}

Propchange: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/RefPair.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/RefPair.java
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/RefPair.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: felix/trunk/scr/src/test/java/org/apache/felix/scr/impl/helper/BindMethodTest.java
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/test/java/org/apache/felix/scr/impl/helper/BindMethodTest.java?rev=1397393&r1=1397392&r2=1397393&view=diff
==============================================================================
--- felix/trunk/scr/src/test/java/org/apache/felix/scr/impl/helper/BindMethodTest.java (original)
+++ felix/trunk/scr/src/test/java/org/apache/felix/scr/impl/helper/BindMethodTest.java Fri Oct 12 00:40:15 2012
@@ -23,6 +23,7 @@ import junit.framework.TestCase;
 
 import org.apache.felix.scr.impl.manager.AbstractComponentManager;
 import org.apache.felix.scr.impl.manager.ImmediateComponentManager;
+import org.apache.felix.scr.impl.manager.RefPair;
 import org.apache.felix.scr.impl.manager.components.FakeService;
 import org.apache.felix.scr.impl.manager.components.T1;
 import org.apache.felix.scr.impl.manager.components.T1a;
@@ -435,7 +436,7 @@ public class BindMethodTest extends Test
         ImmediateComponentManager icm = new ImmediateComponentManager( null, null, metadata, new ComponentMethods() );
         BindMethod bm = new BindMethod( icm, methodName, component.getClass(),
                 FakeService.class.getName(), isDS11, false );
-        AbstractComponentManager.RefPair refPair = bm.getServiceObject( m_serviceReference, m_context );
+        RefPair refPair = bm.getServiceObject( m_serviceReference, m_context );
         bm.invoke( component, refPair, null );
         assertEquals( expectCallPerformed, component.callPerformed );
     }