Author: pauls
Date: Fri Jun 22 15:32:43 2018
New Revision: 1834142

URL: http://svn.apache.org/viewvc?rev=1834142&view=rev
Log:
FELIX-5800: minor refactoring to not do the prop sub twice.

Modified:
    
felix/trunk/framework/src/main/java/org/apache/felix/framework/ExtensionManager.java

Modified: 
felix/trunk/framework/src/main/java/org/apache/felix/framework/ExtensionManager.java
URL: 
http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/ExtensionManager.java?rev=1834142&r1=1834141&r2=1834142&view=diff
==============================================================================
--- 
felix/trunk/framework/src/main/java/org/apache/felix/framework/ExtensionManager.java
 (original)
+++ 
felix/trunk/framework/src/main/java/org/apache/felix/framework/ExtensionManager.java
 Fri Jun 22 15:32:43 2018
@@ -337,7 +337,7 @@ class ExtensionManager implements Conten
             }
         }
 
-        if(sysprops != null && 
"true".equalsIgnoreCase(felix._getProperty(FelixConstants.USE_PROPERTY_SUBSTITUTION_IN_SYSTEMPACKAGES))
 )
+        if(sysprops != null && 
"true".equalsIgnoreCase(felix._getProperty(FelixConstants.USE_PROPERTY_SUBSTITUTION_IN_SYSTEMPACKAGES)))
         {
             config.put(Constants.FRAMEWORK_SYSTEMPACKAGES, 
Util.getPropertyWithSubs(Util.toProperties(config), 
Constants.FRAMEWORK_SYSTEMPACKAGES));
         }
@@ -346,12 +346,28 @@ class ExtensionManager implements Conten
             config.put(Constants.FRAMEWORK_SYSTEMPACKAGES, 
Util.getPropertyWithSubs(Util.toProperties(config), 
Constants.FRAMEWORK_SYSTEMPACKAGES));
         }
 
+        String syspropsExtra = 
felix._getProperty(Constants.FRAMEWORK_SYSTEMPACKAGES_EXTRA);
+        if (syspropsExtra != null && 
"true".equalsIgnoreCase(felix._getProperty(FelixConstants.USE_PROPERTY_SUBSTITUTION_IN_SYSTEMPACKAGES)))
+        {
+            config.put(Constants.FRAMEWORK_SYSTEMPACKAGES_EXTRA, 
Util.getPropertyWithSubs(Util.toProperties(config), 
Constants.FRAMEWORK_SYSTEMPACKAGES_EXTRA));
+        }
+
         String syscaps = 
felix._getProperty(Constants.FRAMEWORK_SYSTEMCAPABILITIES);
-        if(syscaps == null)
+        if(syscaps != null && 
"true".equalsIgnoreCase(felix._getProperty(FelixConstants.USE_PROPERTY_SUBSTITUTION_IN_SYSTEMPACKAGES)))
+        {
+            config.put(Constants.FRAMEWORK_SYSTEMCAPABILITIES, 
Util.getPropertyWithSubs(Util.toProperties(config), 
Constants.FRAMEWORK_SYSTEMCAPABILITIES));
+        }
+        else if(syscaps == null)
         {
             config.put(Constants.FRAMEWORK_SYSTEMCAPABILITIES, 
Util.getPropertyWithSubs(Util.toProperties(config), 
Constants.FRAMEWORK_SYSTEMCAPABILITIES));
         }
 
+        String syscapsExtra = 
felix._getProperty(Constants.FRAMEWORK_SYSTEMCAPABILITIES_EXTRA);
+        if (syscapsExtra != null && 
"true".equalsIgnoreCase(felix._getProperty(FelixConstants.USE_PROPERTY_SUBSTITUTION_IN_SYSTEMPACKAGES)))
+        {
+            config.put(Constants.FRAMEWORK_SYSTEMCAPABILITIES_EXTRA, 
Util.getPropertyWithSubs(Util.toProperties(config), 
Constants.FRAMEWORK_SYSTEMCAPABILITIES_EXTRA));
+        }
+
         m_systemBundleRevision.update(config);
     }
 
@@ -914,18 +930,12 @@ class ExtensionManager implements Conten
             // We must construct the system bundle's export metadata.
             // Get configuration property that specifies which class path
             // packages should be exported by the system bundle.
-            String syspkgs =
-                
"true".equalsIgnoreCase(configProps.getProperty(FelixConstants.USE_PROPERTY_SUBSTITUTION_IN_SYSTEMPACKAGES))
 ?
-                    Util.getPropertyWithSubs(configProps, 
FelixConstants.FRAMEWORK_SYSTEMPACKAGES) :
-                    
configProps.getProperty(FelixConstants.FRAMEWORK_SYSTEMPACKAGES);
+            String syspkgs = 
configProps.getProperty(FelixConstants.FRAMEWORK_SYSTEMPACKAGES);
 
             syspkgs = (syspkgs == null) ? "" : syspkgs;
 
             // If any extra packages are specified, then append them.
-            String pkgextra =
-                
"true".equalsIgnoreCase(configProps.getProperty(FelixConstants.USE_PROPERTY_SUBSTITUTION_IN_SYSTEMPACKAGES))
 ?
-                    Util.getPropertyWithSubs(configProps, 
FelixConstants.FRAMEWORK_SYSTEMPACKAGES_EXTRA) :
-                    
configProps.getProperty(FelixConstants.FRAMEWORK_SYSTEMPACKAGES_EXTRA);
+            String pkgextra = 
configProps.getProperty(FelixConstants.FRAMEWORK_SYSTEMPACKAGES_EXTRA);
 
             syspkgs = ((pkgextra == null) || (pkgextra.trim().length() == 0))
                 ? syspkgs : syspkgs + (pkgextra.trim().startsWith(",") ? 
pkgextra : "," + pkgextra);
@@ -934,15 +944,16 @@ class ExtensionManager implements Conten
 
             // The system bundle alsp provides framework generic capabilities
             // as well as arbitrary user-defined generic capabilities. We must
-            // construct the system bundle's capabilitie metadata. Get the
+            // construct the system bundle's capabilities metadata. Get the
             // configuration property that specifies which capabilities should
             // be provided by the system bundle.
-            String syscaps = Util.getPropertyWithSubs(configProps, 
Constants.FRAMEWORK_SYSTEMCAPABILITIES);
+            String syscaps = 
configProps.getProperty(Constants.FRAMEWORK_SYSTEMCAPABILITIES);
 
             syscaps = (syscaps == null) ? "" : syscaps;
 
             // If any extra capabilities are specified, then append them.
-            String capextra = Util.getPropertyWithSubs(configProps, 
Constants.FRAMEWORK_SYSTEMCAPABILITIES_EXTRA);
+            String capextra = 
configProps.getProperty(Constants.FRAMEWORK_SYSTEMCAPABILITIES_EXTRA);
+
             syscaps = ((capextra == null) || (capextra.trim().length() == 0))
                 ? syscaps : syscaps + (capextra.trim().startsWith(",") ? 
capextra : "," + capextra);
 


Reply via email to