You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juneau.apache.org by ja...@apache.org on 2019/06/30 19:17:09 UTC
[juneau] branch master updated: JUNEAU-119 Review
RestContext/RestMethodContext properties for unnecessary lists-of-strings.
This is an automated email from the ASF dual-hosted git repository.
jamesbognar pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/juneau.git
The following commit(s) were added to refs/heads/master by this push:
new c33d936 JUNEAU-119 Review RestContext/RestMethodContext properties for unnecessary lists-of-strings.
c33d936 is described below
commit c33d9369d54b6f7f4fc41f42986f26ae7ce6a3ba
Author: JamesBognar <ja...@apache.org>
AuthorDate: Sun Jun 30 15:15:46 2019 -0400
JUNEAU-119 Review RestContext/RestMethodContext properties for
unnecessary lists-of-strings.
---
.../java/org/apache/juneau/config/store/ConfigFileStore.java | 10 +++++-----
.../apache/juneau/config/store/ConfigFileStoreBuilder.java | 2 +-
.../org/apache/juneau/config/store/ConfigFileStoreTest.java | 2 +-
.../src/main/java/org/apache/juneau/Context.java | 11 +++++++++++
4 files changed, 18 insertions(+), 7 deletions(-)
diff --git a/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/store/ConfigFileStore.java b/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/store/ConfigFileStore.java
index ece6933..d3785d2 100644
--- a/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/store/ConfigFileStore.java
+++ b/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/store/ConfigFileStore.java
@@ -164,12 +164,12 @@ public class ConfigFileStore extends ConfigStore {
*
* <h5 class='section'>Property:</h5>
* <ul>
- * <li><b>Name:</b> <js>"ConfigFileStore.extensions.ls"</js>
- * <li><b>Data type:</b> <c>String[]</c>
+ * <li><b>Name:</b> <js>"ConfigFileStore.extensions.s"</js>
+ * <li><b>Data type:</b> <c>String</c> (comma-delimited list)
* <li><b>Default:</b> <jk>"cfg"</jk>
* <li><b>Methods:</b>
* <ul>
- * <li class='jm'>{@link ConfigFileStoreBuilder#extensions(String...)}
+ * <li class='jm'>{@link ConfigFileStoreBuilder#extensions(String)}
* </ul>
* </ul>
*
@@ -177,7 +177,7 @@ public class ConfigFileStore extends ConfigStore {
* <p>
* Defines what file extensions to search for when the config name does not have an extension.
*/
- public static final String FILESTORE_extensions = PREFIX + ".extensions.ls";
+ public static final String FILESTORE_extensions = PREFIX + ".extensions.s";
//-------------------------------------------------------------------------------------------------------------------
// Predefined instances
@@ -225,7 +225,7 @@ public class ConfigFileStore extends ConfigStore {
dir.mkdirs();
charset = getProperty(FILESTORE_charset, Charset.class, Charset.defaultCharset());
updateOnWrite = getBooleanProperty(FILESTORE_updateOnWrite, false);
- extensions = getArrayProperty(FILESTORE_extensions, String.class, new String[]{"cfg"});
+ extensions = getCdlProperty(FILESTORE_extensions, "cfg");
WatcherSensitivity ws = getProperty(FILESTORE_watcherSensitivity, WatcherSensitivity.class, WatcherSensitivity.MEDIUM);
watcher = getBooleanProperty(FILESTORE_useWatcher, false) ? new WatcherThread(dir, ws) : null;
if (watcher != null)
diff --git a/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/store/ConfigFileStoreBuilder.java b/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/store/ConfigFileStoreBuilder.java
index 527eca2..0361744 100644
--- a/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/store/ConfigFileStoreBuilder.java
+++ b/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/store/ConfigFileStoreBuilder.java
@@ -218,7 +218,7 @@ public class ConfigFileStoreBuilder extends ConfigStoreBuilder {
* <br>The default is <js>"cfg"</js>.
* @return This object (for method chaining).
*/
- public ConfigFileStoreBuilder extensions(String...value) {
+ public ConfigFileStoreBuilder extensions(String value) {
super.set(FILESTORE_extensions, value);
return this;
}
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/config/store/ConfigFileStoreTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/config/store/ConfigFileStoreTest.java
index 0b7f96b..f5f68ce 100644
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/config/store/ConfigFileStoreTest.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/config/store/ConfigFileStoreTest.java
@@ -75,7 +75,7 @@ public class ConfigFileStoreTest {
@Test
public void testSimpleCreateAndDeleteWithMultipleSpecialExtension() throws Exception {
- ConfigFileStore fs = ConfigFileStore.create().directory(DIR).extensions("foo1","foo2").build();
+ ConfigFileStore fs = ConfigFileStore.create().directory(DIR).extensions("foo1,foo2").build();
assertNull(fs.write("X", null, "foo"));
assertEquals("foo", fs.read("X"));
assertFileExists("X.foo1");
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/Context.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/Context.java
index 5a0bf9d..30eb9fe 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/Context.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/Context.java
@@ -125,6 +125,17 @@ public abstract class Context {
}
/**
+ * Returns a property as a parsed comma-delimited list of strings.
+ *
+ * @param key The property name.
+ * @param def The default value.
+ * @return The property value, or the default value if it doesn't exist.
+ */
+ public final String[] getCdlProperty(String key, String def) {
+ return StringUtils.split(StringUtils.emptyIfNull(getProperty(key, String.class, def)));
+ }
+
+ /**
* Same as {@link #getStringProperty(String, String)} but returns a blank instead of the default value if it resolves to <js>"NONE"</js>.
*
* @param key The property name.