SLING-8749 - [cp2fm] empty configurations have to be included in the
resulting Feature Model
diff --git a/src/main/java/org/apache/sling/feature/cpconverter/handlers/AbstractConfigurationEntryHandler.java b/src/main/java/org/apache/sling/feature/cpconverter/handlers/AbstractConfigurationEntryHandler.java
index 235d658..bb933de 100644
--- a/src/main/java/org/apache/sling/feature/cpconverter/handlers/AbstractConfigurationEntryHandler.java
+++ b/src/main/java/org/apache/sling/feature/cpconverter/handlers/AbstractConfigurationEntryHandler.java
@@ -58,11 +58,6 @@
             return;
         }
 
-        if (configurationProperties.isEmpty()) {
-            logger.info("No configuration properties found for configuration {}", path);
-            return;
-        }
-
         Matcher matcher = getPattern().matcher(path);
         String runMode = null;
         // we are pretty sure it matches, here
diff --git a/src/test/java/org/apache/sling/feature/cpconverter/handlers/ConfigurationEntryHandlerTest.java b/src/test/java/org/apache/sling/feature/cpconverter/handlers/ConfigurationEntryHandlerTest.java
index 3a5fba3..dd28084 100644
--- a/src/test/java/org/apache/sling/feature/cpconverter/handlers/ConfigurationEntryHandlerTest.java
+++ b/src/test/java/org/apache/sling/feature/cpconverter/handlers/ConfigurationEntryHandlerTest.java
@@ -94,10 +94,13 @@
 
         assertEquals(expectedConfigurationsSize, configurations.size());
 
-        if (expectedConfigurationsSize > 0) {
-            Configuration configuration = configurations.get(0);
+        Configuration configuration = configurations.get(0);
 
-            assertTrue(configuration.getPid(), configuration.getPid().startsWith(EXPECTED_PID));
+        assertTrue(configuration.getPid(), configuration.getPid().startsWith(EXPECTED_PID));
+
+        if (configuration.getPid().contains(".empty")) {
+            assertTrue(configuration.getProperties().isEmpty());
+        } else {
             assertEquals("Unmatching size: " + configuration.getProperties().size(), 2, configuration.getProperties().size());
         }
     }
@@ -107,19 +110,19 @@
         String path = "/jcr_root/apps/asd/config/";
 
         return Arrays.asList(new Object[][] {
-            { path + EXPECTED_PID + ".empty.cfg", 0, new PropertiesConfigurationEntryHandler() },
+            { path + EXPECTED_PID + ".empty.cfg", 1, new PropertiesConfigurationEntryHandler() },
             { path + EXPECTED_PID + ".cfg", 1, new PropertiesConfigurationEntryHandler() },
 
-            { path + EXPECTED_PID + ".empty.cfg.json", 0, new JsonConfigurationEntryHandler() },
+            { path + EXPECTED_PID + ".empty.cfg.json", 1, new JsonConfigurationEntryHandler() },
             { path + EXPECTED_PID + ".cfg.json", 1, new JsonConfigurationEntryHandler() },
 
-            { path + EXPECTED_PID + ".empty.config", 0, new ConfigurationEntryHandler() },
+            { path + EXPECTED_PID + ".empty.config", 1, new ConfigurationEntryHandler() },
             { path + EXPECTED_PID + ".config", 1, new ConfigurationEntryHandler() },
 
-            { path + EXPECTED_PID + ".empty.xml", 0, new XmlConfigurationEntryHandler() },
+            { path + EXPECTED_PID + ".empty.xml", 1, new XmlConfigurationEntryHandler() },
             { path + EXPECTED_PID + ".xml", 1, new XmlConfigurationEntryHandler() },
 
-            { path + EXPECTED_PID + ".empty.xml.cfg", 0, new PropertiesConfigurationEntryHandler() },
+            { path + EXPECTED_PID + ".empty.xml.cfg", 1, new PropertiesConfigurationEntryHandler() },
             { path + EXPECTED_PID + ".xml.cfg", 1, new PropertiesConfigurationEntryHandler() },
 
             // runmode aware folders