Author: cziegeler
Date: Sun Jul 12 09:30:36 2015
New Revision: 1690437

URL: http://svn.apache.org/r1690437
Log:
FELIX-4957 : [DS][RFC-212] Various issues with field references

Modified:
    
felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/helper/FieldHandler.java
    
felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/helper/FieldMethods.java
    
felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/SingleComponentManager.java

Modified: 
felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/helper/FieldHandler.java
URL: 
http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/helper/FieldHandler.java?rev=1690437&r1=1690436&r2=1690437&view=diff
==============================================================================
--- 
felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/helper/FieldHandler.java
 (original)
+++ 
felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/helper/FieldHandler.java
 Sun Jul 12 09:30:36 2015
@@ -498,6 +498,12 @@ public class FieldHandler
                     }
                 }
             }
+            
+            // null the field if optional and unary
+            if ( !metadata.isMultiple() && metadata.isOptional() )
+            {
+               this.setFieldValue(componentInstance, null);
+            }
         }
         catch ( final InvocationTargetException ite)
         {

Modified: 
felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/helper/FieldMethods.java
URL: 
http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/helper/FieldMethods.java?rev=1690437&r1=1690436&r2=1690437&view=diff
==============================================================================
--- 
felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/helper/FieldMethods.java
 (original)
+++ 
felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/helper/FieldMethods.java
 Sun Jul 12 09:30:36 2015
@@ -16,16 +16,14 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
-
 package org.apache.felix.scr.impl.helper;
 
-
 import org.apache.felix.scr.impl.metadata.DSVersion;
 import org.apache.felix.scr.impl.metadata.ReferenceMetadata;
 
 /**
- * @version $Rev$ $Date$
+ * FieldMethods provides implementations for bind/unbind/updated
+ * which handle manipulation of fields.
  */
 public class FieldMethods implements ReferenceMethods
 {

Modified: 
felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/SingleComponentManager.java
URL: 
http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/SingleComponentManager.java?rev=1690437&r1=1690436&r2=1690437&view=diff
==============================================================================
--- 
felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/SingleComponentManager.java
 (original)
+++ 
felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/SingleComponentManager.java
 Sun Jul 12 09:30:36 2015
@@ -897,7 +897,7 @@ public class SingleComponentManager<S> e
         }
     }
 
-    void ungetService( )
+    private void ungetService( )
     {
         deleteComponent( ComponentConstants.DEACTIVATION_REASON_UNSPECIFIED );
     }


Reply via email to