From 052dbfaa463d9e113c42882e3497cabc9f0ae5b2 Mon Sep 17 00:00:00 2001 From: virustotalop Date: Thu, 31 Mar 2022 04:51:50 -0700 Subject: [PATCH] Add node combining Start preparing for 2.4.0 --- README.md | 4 ++-- build.gradle | 2 +- .../clubobsidian/wrappy/ConfigurationSection.java | 5 +++++ .../wrappy/test/config/TestConfigurationYaml.java | 13 ++++++++++++- test.yml | 4 ++++ 5 files changed, 24 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 4d69a7a..3ce62ef 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,7 @@ repositories { maven { url 'https://jitpack.io' } } -compile 'com.github.clubobsidian:wrappy:2.3.2' +compile 'com.github.clubobsidian:wrappy:2.4.0' ``` ### Maven @@ -43,7 +43,7 @@ compile 'com.github.clubobsidian:wrappy:2.3.2' com.github.clubobsidian wrappy - 2.3.2 + 2.4.0 ``` diff --git a/build.gradle b/build.gradle index dae3be1..f5e9ee2 100644 --- a/build.gradle +++ b/build.gradle @@ -23,7 +23,7 @@ dependencies { shadowJar { baseName = 'wrappy' classifier = null - version = '2.3.2' + version = '2.4.0' } artifacts { diff --git a/src/main/java/com/clubobsidian/wrappy/ConfigurationSection.java b/src/main/java/com/clubobsidian/wrappy/ConfigurationSection.java index 91406b7..26a250b 100644 --- a/src/main/java/com/clubobsidian/wrappy/ConfigurationSection.java +++ b/src/main/java/com/clubobsidian/wrappy/ConfigurationSection.java @@ -180,6 +180,11 @@ public ConfigurationSection getConfigurationSection(String path) { section.node = NodeUtil.parsePath(this.node, path); return section; } + + public ConfigurationSection combine(ConfigurationSection from) { + this.node.mergeFrom(from.node); + return this; + } public boolean exists(String path) { return !NodeUtil.parsePath(this.node, path).virtual(); diff --git a/src/test/java/com/clubobsidian/wrappy/test/config/TestConfigurationYaml.java b/src/test/java/com/clubobsidian/wrappy/test/config/TestConfigurationYaml.java index 6dd76f9..b1eb32c 100644 --- a/src/test/java/com/clubobsidian/wrappy/test/config/TestConfigurationYaml.java +++ b/src/test/java/com/clubobsidian/wrappy/test/config/TestConfigurationYaml.java @@ -20,7 +20,6 @@ import org.junit.Test; import java.io.File; -import java.time.DayOfWeek; import java.util.List; import java.util.Map; @@ -262,4 +261,16 @@ public void testParsePath() { public void testGetName() { assertEquals(config.getConfigurationSection("section").getName(), "section"); } + + @Test + public void testCombine() { + ConfigurationSection first = config.getConfigurationSection("section"); + ConfigurationSection second = config.getConfigurationSection("section2"); + second.combine(first); + assertNotEquals(5, first.getInteger("value2")); + assertEquals(7, second.getInteger("value")); + assertEquals(5, second.getInteger("value2")); + assertEquals(1, second.getInteger("map-value.test")); + assertEquals("section2", second.getName()); + } } \ No newline at end of file diff --git a/test.yml b/test.yml index fd16236..aed89e0 100644 --- a/test.yml +++ b/test.yml @@ -1,5 +1,9 @@ section: value: 7 + map-value: + test: 1 +section2: + value2: 5 key: value integer: 5 long: 6