You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by cz...@apache.org on 2015/07/07 02:48:12 UTC

svn commit: r1689540 - in /felix/trunk/scr/src/main/java/org/apache/felix/scr/impl: TargetedPID.java config/ConfigurationSupport.java

Author: cziegeler
Date: Tue Jul  7 00:48:12 2015
New Revision: 1689540

URL: http://svn.apache.org/r1689540
Log:
FELIX-4951 : [DS][RFC-190] Correct pid handling

Modified:
    felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/TargetedPID.java
    felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ConfigurationSupport.java

Modified: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/TargetedPID.java
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/TargetedPID.java?rev=1689540&r1=1689539&r2=1689540&view=diff
==============================================================================
--- felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/TargetedPID.java (original)
+++ felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/TargetedPID.java Tue Jul  7 00:48:12 2015
@@ -25,7 +25,7 @@ import org.osgi.framework.Version;
 
 /**
  * Copied with modifications from felix configadmin.
- * 
+ *
  * The <code>TargetedPID</code> class represents a targeted PID as read
  * from a configuration object.
  * <p>
@@ -50,7 +50,7 @@ public class TargetedPID
      * <li><code>0</code> -- this PID is not targeted at all</li>
      * <li><code>1</code> -- this PID is targeted by the symbolic name</li>
      * <li><code>2</code> -- this PID is targeted by the symbolic name and version</li>
-     * <li><code>3</code> -- this PID is targeted by the symoblic name, version, and location</li>
+     * <li><code>3</code> -- this PID is targeted by the symbolic name, version, and location</li>
      * </ul>
      */
     private final short bindingLevel;

Modified: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ConfigurationSupport.java
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ConfigurationSupport.java?rev=1689540&r1=1689539&r2=1689540&view=diff
==============================================================================
--- felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ConfigurationSupport.java (original)
+++ felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ConfigurationSupport.java Tue Jul  7 00:48:12 2015
@@ -121,15 +121,15 @@ public class ConfigurationSupport implem
                         if ( cao instanceof ConfigurationAdmin )
                         {
                             final ConfigurationAdmin ca = ( ConfigurationAdmin ) cao;
-                            for (String confPid: confPids )
+                            for (final String confPid : confPids )
                             {
                                 final Collection<Configuration> factory = findFactoryConfigurations( ca, confPid,
                                         bundleContext.getBundle() );
                                 if ( !factory.isEmpty() )
                                 {
-                                    boolean created = false;
                                     for ( Configuration config: factory )
                                     {
+                                        boolean created = false;
                                         Activator.log( LogService.LOG_DEBUG, null,
                                                 "Configuring holder {0} with factory configuration {1}", new Object[] {
                                                         holder, config }, null );
@@ -142,8 +142,11 @@ public class ConfigurationSupport implem
                                                     config.getProperties(),
                                                     changeCount );
                                         }
+                                        if ( !created ) 
+                                        {
+                                        	return false;
+                                        }
                                     }
-                                    return created;
                                 }
                                 else
                                 {
@@ -162,11 +165,19 @@ public class ConfigurationSupport implem
                                             long changeCount = changeCounter.getChangeCount( singleton, false, -1 );
                                             holder.configurationUpdated( new TargetedPID( singleton.getPid() ), null,
                                                     singleton.getProperties(), changeCount );
-                                            return true;
                                         }
+                                        else
+                                        {
+                                        	return false;
+                                        }
+                                    }
+                                    else 
+                                    {
+                                    	return false;
                                     }
                                 }
                             }
+                            return !confPids.isEmpty();
                         }
                         else
                         {