From 542d16ecdcbf72ca57fdc62a01e631a45d575af1 Mon Sep 17 00:00:00 2001 From: Stefan Seifert Date: Tue, 9 Jan 2024 18:11:42 +0100 Subject: [PATCH] additional comments --- .../plugins/sling/util/JsonOsgiConfigUtil.java | 15 ++++++++++++--- .../JsonOsgiConfigPostProcessorTest.java | 4 ++-- .../ProvisioningOsgiConfigPostProcessorTest.java | 2 +- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/conga-sling-plugin/src/main/java/io/wcm/devops/conga/plugins/sling/util/JsonOsgiConfigUtil.java b/conga-sling-plugin/src/main/java/io/wcm/devops/conga/plugins/sling/util/JsonOsgiConfigUtil.java index b358e4e..3928e58 100644 --- a/conga-sling-plugin/src/main/java/io/wcm/devops/conga/plugins/sling/util/JsonOsgiConfigUtil.java +++ b/conga-sling-plugin/src/main/java/io/wcm/devops/conga/plugins/sling/util/JsonOsgiConfigUtil.java @@ -35,6 +35,7 @@ import org.apache.sling.provisioning.model.Model; import org.apache.sling.provisioning.model.RunMode; import org.apache.sling.provisioning.model.Section; +import org.jetbrains.annotations.Nullable; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; @@ -42,7 +43,7 @@ import io.wcm.devops.conga.plugins.sling.postprocessor.JsonOsgiConfigPostProcessor; /** - * Helper class for reading JSON files. + * Transforms a combined JSON file to provisioning model with OSGi configurations and repoinit statements. */ public final class JsonOsgiConfigUtil { @@ -89,6 +90,9 @@ public static Model readToProvisioningModel(File file) throws IOException { return model; } + /** + * Detect entries describing OSGi configurations and repoinit statements. + */ @SuppressWarnings("unchecked") private static void processEntry(Feature feature, String key, Object value) throws IOException { Matcher configurationsKeyMatcher = KEY_PATTERN_CONFIGURATIONS.matcher(key); @@ -118,14 +122,16 @@ private static void processEntry(Feature feature, String key, Object value) thro } } - private static String[] toRunModes(String runModesString) { + private static String @Nullable [] toRunModes(String runModesString) { if (StringUtils.isBlank(runModesString)) { return null; } return StringUtils.split(runModesString, ","); } - + /** + * Convert OSGi configurations to Provisioning model configurations with associated run modes. + */ @SuppressWarnings("unchecked") private static void processOsgiConfiguration(Feature feature, String[] runModes, Map configurations) throws IOException { RunMode runMode = feature.getOrCreateRunMode(runModes); @@ -146,6 +152,9 @@ private static void processOsgiConfiguration(Feature feature, String[] runModes, } } + /** + * Convert repoinit statements to Provisioning model additional sections with associated run modes. + */ private static void processRepoInit(Feature feature, String[] runModes, Collection repoinits) { Section section = new Section(ProvisioningUtil.REPOINIT_SECTION); feature.getAdditionalSections().add(section); diff --git a/conga-sling-plugin/src/test/java/io/wcm/devops/conga/plugins/sling/postprocessor/JsonOsgiConfigPostProcessorTest.java b/conga-sling-plugin/src/test/java/io/wcm/devops/conga/plugins/sling/postprocessor/JsonOsgiConfigPostProcessorTest.java index 0f57164..19a1734 100644 --- a/conga-sling-plugin/src/test/java/io/wcm/devops/conga/plugins/sling/postprocessor/JsonOsgiConfigPostProcessorTest.java +++ b/conga-sling-plugin/src/test/java/io/wcm/devops/conga/plugins/sling/postprocessor/JsonOsgiConfigPostProcessorTest.java @@ -54,7 +54,7 @@ class JsonOsgiConfigPostProcessorTest { void setUp(TestInfo testInfo) throws IOException { underTest = new PluginManagerImpl().get(JsonOsgiConfigPostProcessor.NAME, PostProcessorPlugin.class); - // prepare target dirctory + // prepare target directory targetDir = new File("target/JsonOsgiConfigPostProcessorTest_" + testInfo.getDisplayName()); if (targetDir.exists()) { FileUtils.deleteDirectory(targetDir); @@ -64,7 +64,7 @@ void setUp(TestInfo testInfo) throws IOException { @Test void testJsonFile() throws Exception { - // post process example valid provisioning file + // post process example JSON file File provisioningFile = new File(targetDir, "sample.osgiconfig.json"); FileUtils.copyFile(new File(getClass().getResource("/osgi-config-json/sample.osgiconfig.json").toURI()), provisioningFile); postProcess(provisioningFile); diff --git a/conga-sling-plugin/src/test/java/io/wcm/devops/conga/plugins/sling/postprocessor/ProvisioningOsgiConfigPostProcessorTest.java b/conga-sling-plugin/src/test/java/io/wcm/devops/conga/plugins/sling/postprocessor/ProvisioningOsgiConfigPostProcessorTest.java index f090573..34f4275 100644 --- a/conga-sling-plugin/src/test/java/io/wcm/devops/conga/plugins/sling/postprocessor/ProvisioningOsgiConfigPostProcessorTest.java +++ b/conga-sling-plugin/src/test/java/io/wcm/devops/conga/plugins/sling/postprocessor/ProvisioningOsgiConfigPostProcessorTest.java @@ -54,7 +54,7 @@ class ProvisioningOsgiConfigPostProcessorTest { void setUp(TestInfo testInfo) throws IOException { underTest = new PluginManagerImpl().get(ProvisioningOsgiConfigPostProcessor.NAME, PostProcessorPlugin.class); - // prepare target dirctory + // prepare target directory targetDir = new File("target/ProvisioningOsgiConfigPostProcessorTest_" + testInfo.getDisplayName()); if (targetDir.exists()) { FileUtils.deleteDirectory(targetDir);