You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by jb...@apache.org on 2022/06/28 03:36:36 UTC

[karaf] branch main updated: [KARAF-7451] Upgrade extension to .cfg.json by default

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

jbonofre pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/karaf.git


The following commit(s) were added to refs/heads/main by this push:
     new 8c6dd57f41 [KARAF-7451] Upgrade extension to .cfg.json by default
     new 82fc025bf5 Merge pull request #1552 from jbonofre/KARAF-7451
8c6dd57f41 is described below

commit 8c6dd57f4146043177f5fd8ca2c4a17b660f227d
Author: Jean-Baptiste Onofré <jb...@apache.org>
AuthorDate: Wed Jun 22 18:54:01 2022 +0200

    [KARAF-7451] Upgrade extension to .cfg.json by default
---
 .../apache/karaf/config/core/impl/JsonConfigInstaller.java   | 12 +++++++++---
 .../karaf/config/core/impl/JsonConfigInstallerTest.java      |  4 ++--
 ...d.json => org.example.Arrays~no_update_required.cfg.json} |  0
 ...ired.json => org.example.Arrays~update_required.cfg.json} |  0
 manual/src/main/asciidoc/user-guide/configuration.adoc       |  2 +-
 5 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/config/src/main/java/org/apache/karaf/config/core/impl/JsonConfigInstaller.java b/config/src/main/java/org/apache/karaf/config/core/impl/JsonConfigInstaller.java
index 13991ec4ec..adaa794fbd 100644
--- a/config/src/main/java/org/apache/karaf/config/core/impl/JsonConfigInstaller.java
+++ b/config/src/main/java/org/apache/karaf/config/core/impl/JsonConfigInstaller.java
@@ -46,6 +46,8 @@ public class JsonConfigInstaller implements ArtifactInstaller, ConfigurationList
     public final static String EXT_ENV_VAR = "KARAF_JSON_CONFIG_EXTENSION";
     public final static String EXT_SYS_PROP = "karaf.json.config.extension";
 
+    public final static String DEFAULT_EXTENSION = ".cfg.json";
+
     private final static Logger LOGGER = LoggerFactory.getLogger(JsonConfigInstaller.class);
 
     private final ConfigurationAdmin configurationAdmin;
@@ -56,12 +58,16 @@ public class JsonConfigInstaller implements ArtifactInstaller, ConfigurationList
 
     @Override
     public boolean canHandle(File artifact) {
+        return artifact.getName().endsWith(getExtension());
+    }
+
+    private String getExtension() {
         String extension = (System.getenv(EXT_ENV_VAR) != null) ? System.getenv(EXT_ENV_VAR) : null;
         extension = (System.getProperty(EXT_SYS_PROP) != null) ? System.getProperty(EXT_SYS_PROP) : extension;
         if (extension == null) {
-            extension = ".json";
+            extension = DEFAULT_EXTENSION;
         }
-        return artifact.getName().endsWith(extension);
+        return extension;
     }
 
     @Override
@@ -132,7 +138,7 @@ public class JsonConfigInstaller implements ArtifactInstaller, ConfigurationList
     @Override
     public void configurationEvent(ConfigurationEvent event) {
         if (event.getType() == ConfigurationEvent.CM_DELETED) {
-            File file = new File(System.getProperty("karaf.etc"), event.getPid() + ".json");
+            File file = new File(System.getProperty("karaf.etc"), event.getPid() + getExtension());
             if (file.exists()) {
                 file.delete();
             }
diff --git a/config/src/test/java/org/apache/karaf/config/core/impl/JsonConfigInstallerTest.java b/config/src/test/java/org/apache/karaf/config/core/impl/JsonConfigInstallerTest.java
index 376ab26795..c132cb627f 100644
--- a/config/src/test/java/org/apache/karaf/config/core/impl/JsonConfigInstallerTest.java
+++ b/config/src/test/java/org/apache/karaf/config/core/impl/JsonConfigInstallerTest.java
@@ -40,7 +40,7 @@ public class JsonConfigInstallerTest {
 
     @Test
     public void KARAF_7097_update_required() throws Exception {
-        final String filename = "/org.example.Arrays~update_required.json";
+        final String filename = "/org.example.Arrays~update_required.cfg.json";
         final String pid = ConfigurationPID.parseFilename(filename).getPid();
         final String path = getClass().getResource(filename).getPath();
         final File artifact = new File(path);
@@ -68,7 +68,7 @@ public class JsonConfigInstallerTest {
 
     @Test
     public void KARAF_7097_no_update_required() throws Exception {
-        final String filename = "/org.example.Arrays~no_update_required.json";
+        final String filename = "/org.example.Arrays~no_update_required.cfg.json";
         final String pid = ConfigurationPID.parseFilename(filename).getPid();
         final String path = getClass().getResource(filename).getPath();
         final File artifact = new File(path);
diff --git a/config/src/test/resources/org.example.Arrays~no_update_required.json b/config/src/test/resources/org.example.Arrays~no_update_required.cfg.json
similarity index 100%
rename from config/src/test/resources/org.example.Arrays~no_update_required.json
rename to config/src/test/resources/org.example.Arrays~no_update_required.cfg.json
diff --git a/config/src/test/resources/org.example.Arrays~update_required.json b/config/src/test/resources/org.example.Arrays~update_required.cfg.json
similarity index 100%
rename from config/src/test/resources/org.example.Arrays~update_required.json
rename to config/src/test/resources/org.example.Arrays~update_required.cfg.json
diff --git a/manual/src/main/asciidoc/user-guide/configuration.adoc b/manual/src/main/asciidoc/user-guide/configuration.adoc
index 45c2437b0c..30505cd03d 100644
--- a/manual/src/main/asciidoc/user-guide/configuration.adoc
+++ b/manual/src/main/asciidoc/user-guide/configuration.adoc
@@ -200,7 +200,7 @@ If you want to disable the Karaf persistence manager, set the storage variable t
 
 You can also use config files wiht json format.
 
-By default, Apache Karaf loads all `*.json` files from the `etc` folder.
+By default, Apache Karaf loads all `*.cfg.json` files from the `etc` folder.
 
 You can change the file extension using `KARAF_JSON_CONFIG_EXTENSION` environment variable or `karaf.json.config.extension` system property.