This is an automated email from the ASF dual-hosted git repository.

kwin pushed a commit to branch bugfix/SLING-12479-prevent-NPE-with-PID-not-set
in repository 
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-installer-factory-configuration.git

commit bf79f3869e672f2f8bcb55186088490de42266a3
Author: Konrad Windszus <[email protected]>
AuthorDate: Tue Nov 12 16:26:10 2024 +0100

    SLING-12479 Prevent NPE when PID is not set
---
 .../impl/ConfigurationSerializerWebConsolePlugin.java            | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git 
a/src/main/java/org/apache/sling/installer/factories/configuration/impl/ConfigurationSerializerWebConsolePlugin.java
 
b/src/main/java/org/apache/sling/installer/factories/configuration/impl/ConfigurationSerializerWebConsolePlugin.java
index 307bca3..b7a1ca9 100644
--- 
a/src/main/java/org/apache/sling/installer/factories/configuration/impl/ConfigurationSerializerWebConsolePlugin.java
+++ 
b/src/main/java/org/apache/sling/installer/factories/configuration/impl/ConfigurationSerializerWebConsolePlugin.java
@@ -120,10 +120,6 @@ public class ConfigurationSerializerWebConsolePlugin 
extends GenericServlet {
         }
         
         MetatypeHandler metatypeHandler = new MetatypeHandler(metatypeService, 
bundleContext);
-        Dictionary<String, Object> mergedProperties = 
ConfigTaskCreator.getDefaultProperties(infoProvider, pid);
-        if (mergedProperties == null) {
-            mergedProperties = new Hashtable<>();
-        }
         ConfigurationSerializerFactory.Format serializationFormat = 
Format.JSON;
         if (format != null && !format.trim().isEmpty()) {
             try {
@@ -230,8 +226,11 @@ public class ConfigurationSerializerWebConsolePlugin 
extends GenericServlet {
             tr(pw);
             tdLabel(pw, "Serialized Configuration Properties");
             tdContent(pw);
-            
             Configuration configuration = 
configurationAdmin.getConfiguration(pid, null);
+            Dictionary<String, Object> mergedProperties = 
ConfigTaskCreator.getDefaultProperties(infoProvider, pid);
+            if (mergedProperties == null) {
+                mergedProperties = new Hashtable<>();
+            }
             Dictionary<String, Object> properties = 
configuration.getProperties();
             if (properties == null) {
                 pw.print("<p class='ui-state-error-text'>");

Reply via email to