You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by su...@apache.org on 2018/11/04 18:27:56 UTC
groovy git commit: Add `importProperties` to `GProperties`
Repository: groovy
Updated Branches:
refs/heads/master 257f764dc -> 44b7cdc4e
Add `importProperties` to `GProperties`
Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/44b7cdc4
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/44b7cdc4
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/44b7cdc4
Branch: refs/heads/master
Commit: 44b7cdc4e59f6e370725f317709fd58c4c040395
Parents: 257f764
Author: Daniel Sun <su...@apache.org>
Authored: Mon Nov 5 02:26:01 2018 +0800
Committer: Daniel Sun <su...@apache.org>
Committed: Mon Nov 5 02:27:35 2018 +0800
----------------------------------------------------------------------
src/main/groovy/groovy/util/GProperties.groovy | 18 +++++++++++++-----
src/test/groovy/util/GPropertiesTest.groovy | 8 ++++++++
2 files changed, 21 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/groovy/blob/44b7cdc4/src/main/groovy/groovy/util/GProperties.groovy
----------------------------------------------------------------------
diff --git a/src/main/groovy/groovy/util/GProperties.groovy b/src/main/groovy/groovy/util/GProperties.groovy
index e9565f0..efcdca1 100644
--- a/src/main/groovy/groovy/util/GProperties.groovy
+++ b/src/main/groovy/groovy/util/GProperties.groovy
@@ -90,7 +90,7 @@ class GProperties extends Properties {
private static final String LEFT_CURLY_BRACE = '{'
private static final String RIGHT_CURLY_BRACE = '}'
private static final String COMMA = ','
- private final List<GProperties> importPropertiesList = new LinkedList<>()
+ private final List<Properties> importPropertiesList = new LinkedList<>()
GProperties() {
this((Properties) null)
@@ -135,7 +135,7 @@ class GProperties extends Properties {
String value = super.getProperty(key)
if (null == value) {
- for (GProperties importProperties : importPropertiesList) {
+ for (Properties importProperties : importPropertiesList) {
value = importProperties.getProperty(key)
if (null != value) {
@@ -290,7 +290,7 @@ class GProperties extends Properties {
synchronized void load(Reader reader) throws IOException {
reader.withReader {
super.load(it)
- importProperties()
+ _importProperties()
}
}
@@ -298,11 +298,19 @@ class GProperties extends Properties {
synchronized void load(InputStream inStream) throws IOException {
inStream.withStream {
super.load(it)
- importProperties()
+ _importProperties()
}
}
- private void importProperties() {
+ synchronized void importProperties(Properties properties) {
+ if (importPropertiesList.contains(properties)) {
+ return
+ }
+
+ importPropertiesList << properties
+ }
+
+ private void _importProperties() {
String importPropertiesPaths = super.getProperty(IMPORT_PROPERTIES_KEY)
if (!importPropertiesPaths?.trim()) {
http://git-wip-us.apache.org/repos/asf/groovy/blob/44b7cdc4/src/test/groovy/util/GPropertiesTest.groovy
----------------------------------------------------------------------
diff --git a/src/test/groovy/util/GPropertiesTest.groovy b/src/test/groovy/util/GPropertiesTest.groovy
index e7fb691..5e84d54 100644
--- a/src/test/groovy/util/GPropertiesTest.groovy
+++ b/src/test/groovy/util/GPropertiesTest.groovy
@@ -29,6 +29,14 @@ class GPropertiesTest extends GroovyTestCase {
assert 'Hi' == gp.getProperty('greeting.word2')
}
+ void testImportProperties2() {
+ def gp = new GProperties()
+ gp.importProperties(System.getProperties())
+
+ // JAVA 8'S CLASS VERSION IS 52.0
+ assert new BigDecimal('52.0').compareTo(gp.getBigDecimal('java.class.version')) <= 0
+ }
+
void testInterpolate() {
def gp = new GProperties()
gp.load(GPropertiesTest.getResourceAsStream('/groovy/util/gproperties.properties'))