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 86c8661 PropertyStore refactoring.
86c8661 is described below
commit 86c866154da2969aef1f4640b44a772c66aa9063
Author: JamesBognar <[email protected]>
AuthorDate: Sun Feb 7 16:49:18 2021 -0500
PropertyStore refactoring.
---
.../main/java/org/apache/juneau/config/Config.java | 2 +-
.../apache/juneau/config/store/ConfigFileStore.java | 2 +-
.../main/java/org/apache/juneau/jena/RdfParser.java | 2 +-
.../java/org/apache/juneau/jena/RdfSerializer.java | 2 +-
.../main/java/org/apache/juneau/BeanContext.java | 2 +-
.../main/java/org/apache/juneau/PropertyStore.java | 21 +++++----------------
.../org/apache/juneau/html/HtmlDocSerializer.java | 2 +-
.../java/org/apache/juneau/html/HtmlSerializer.java | 2 +-
.../juneau/jsonschema/JsonSchemaGenerator.java | 4 ++--
.../apache/juneau/serializer/WriterSerializer.java | 2 +-
.../org/apache/juneau/soap/SoapXmlSerializer.java | 2 +-
.../java/org/apache/juneau/uon/UonSerializer.java | 2 +-
.../org/apache/juneau/rest/client/RestClient.java | 2 +-
.../org/apache/juneau/rest/mock/MockRestClient.java | 4 ++--
.../java/org/apache/juneau/rest/RestContext.java | 8 ++++----
.../java/org/apache/juneau/ContextCacheTest.java | 2 +-
16 files changed, 25 insertions(+), 36 deletions(-)
diff --git
a/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/Config.java
b/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/Config.java
index 52559a8..9ac813d 100644
---
a/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/Config.java
+++
b/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/Config.java
@@ -446,7 +446,7 @@ public final class Config extends Context implements
ConfigEventListener, Writab
public Config(PropertyStore ps) throws IOException {
super(ps, true);
- name = ps.getString(CONFIG_name, "Configuration.cfg");
+ name = ps.getString(CONFIG_name).orElse("Configuration.cfg");
store = ps.getInstance(CONFIG_store, ConfigStore.class,
ConfigFileStore.DEFAULT);
configMap = store.getMap(name);
configMap.register(this);
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 3c090cc..b8c0673 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
@@ -238,7 +238,7 @@ public class ConfigFileStore extends ConfigStore {
protected ConfigFileStore(PropertyStore ps) {
super(ps);
try {
- dir = new File(ps.getString(FILESTORE_directory,
".")).getCanonicalFile();
+ dir = new
File(ps.getString(FILESTORE_directory).orElse(".")).getCanonicalFile();
dir.mkdirs();
charset = ps.get(FILESTORE_charset,
Charset.class).orElse(Charset.defaultCharset());
updateOnWrite =
ps.getBoolean(FILESTORE_enableUpdateOnWrite).orElse(false);
diff --git
a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfParser.java
b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfParser.java
index d82023b..c745d22 100644
---
a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfParser.java
+++
b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfParser.java
@@ -130,7 +130,7 @@ public class RdfParser extends ReaderParser implements
RdfCommon, RdfMetaProvide
super(ps, consumes);
trimWhitespace =
ps.getBoolean(RDF_trimWhitespace).orElse(false);
looseCollections =
ps.getBoolean(RDF_looseCollections).orElse(false);
- rdfLanguage = ps.getString(RDF_language, "RDF/XML-ABBREV");
+ rdfLanguage =
ps.getString(RDF_language).orElse("RDF/XML-ABBREV");
juneauNs = ps.getInstance(RDF_juneauNs, Namespace.class,
DEFAULT_JUNEAU_NS);
juneauBpNs = ps.getInstance(RDF_juneauBpNs, Namespace.class,
DEFAULT_JUNEAUBP_NS);
collectionFormat = ps.get(RDF_collectionFormat,
RdfCollectionFormat.class).orElse(RdfCollectionFormat.DEFAULT);
diff --git
a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfSerializer.java
b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfSerializer.java
index f6adbcf..7c9e561 100644
---
a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfSerializer.java
+++
b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfSerializer.java
@@ -295,7 +295,7 @@ public class RdfSerializer extends WriterSerializer
implements RdfCommon, RdfMet
useXmlNamespaces = !
ps.getBoolean(RDF_disableUseXmlNamespaces).orElse(false);
looseCollections =
ps.getBoolean(RDF_looseCollections).orElse(false);
autoDetectNamespaces = !
ps.getBoolean(RDF_disableAutoDetectNamespaces).orElse(false);
- rdfLanguage = ps.getString(RDF_language, "RDF/XML-ABBREV");
+ rdfLanguage =
ps.getString(RDF_language).orElse("RDF/XML-ABBREV");
juneauNs = ps.get(RDF_juneauNs,
Namespace.class).orElse(DEFAULT_JUNEAU_NS);
juneauBpNs = ps.get(RDF_juneauBpNs,
Namespace.class).orElse(DEFAULT_JUNEAUBP_NS);
collectionFormat = ps.get(RDF_collectionFormat,
RdfCollectionFormat.class).orElse(RdfCollectionFormat.DEFAULT);
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContext.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContext.java
index fb83ab6..c6af320 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContext.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContext.java
@@ -2126,7 +2126,7 @@ public class BeanContext extends Context implements
MetaProvider {
useJavaBeanIntrospector =
ps.getBoolean(BEAN_useJavaBeanIntrospector).orElse(false);
sortProperties =
ps.getBoolean(BEAN_sortProperties).orElse(false);
findFluentSetters =
ps.getBoolean(BEAN_findFluentSetters).orElse(false);
- typePropertyName = ps.getString(BEAN_typePropertyName, "_type");
+ typePropertyName =
ps.getString(BEAN_typePropertyName).orElse("_type");
beanConstructorVisibility =
ps.get(BEAN_beanConstructorVisibility, Visibility.class).orElse(PUBLIC);
beanClassVisibility = ps.get(BEAN_beanClassVisibility,
Visibility.class).orElse(PUBLIC);
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/PropertyStore.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/PropertyStore.java
index 161be63..16fb8ff 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/PropertyStore.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/PropertyStore.java
@@ -384,24 +384,13 @@ public final class PropertyStore {
}
/**
- * Shortcut for calling <code>getProperty(key, String.<jk>class</jk>,
def)</code>.
+ * Shortcut for calling <code>get(key, String.<jk>class</jk>)</code>.
*
* @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 getString(String key, String def) {
- return get(key, String.class, def);
- }
-
- /**
- * Shortcut for calling <code>getProperty(key, String.<jk>class</jk>,
<jk>null</jk>)</code>.
- *
- * @param key The property name.
- * @return The property value, or the <jk>null</jk> if it doesn't exist.
+ * @return The property value, never <jk>null</jk>.
*/
- public final String getString(String key) {
- return getString(key, null);
+ public final Optional<String> getString(String key) {
+ return Optional.ofNullable(find(key, String.class));
}
/**
@@ -416,7 +405,7 @@ public final class PropertyStore {
}
/**
- * Same as {@link #getString(String, String)} but returns a blank
instead of the default value if it resolves to <js>"NONE"</js>.
+ * Same as {@link #getString(String)} but returns a blank instead of
the default value if it resolves to <js>"NONE"</js>.
*
* @param key The property name.
* @param def The default value.
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlDocSerializer.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlDocSerializer.java
index 3a6d5b0a..fa796fd 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlDocSerializer.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlDocSerializer.java
@@ -774,7 +774,7 @@ public class HtmlDocSerializer extends
HtmlStrippedDocSerializer {
footer = ps.getArray(HTMLDOC_footer, String.class);
nowrap = ps.getBoolean(HTMLDOC_nowrap).orElse(false);
navlinks = ps.getArray(HTMLDOC_navlinks, String.class);
- noResultsMessage = ps.getString(HTMLDOC_noResultsMessage,
"<p>no results</p>");
+ noResultsMessage =
ps.getString(HTMLDOC_noResultsMessage).orElse("<p>no results</p>");
template = ps.getInstance(HTMLDOC_template,
HtmlDocTemplate.class, BasicHtmlDocTemplate.class);
widgets = new HtmlWidgetMap();
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializer.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializer.java
index e5d7035..792ed92 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializer.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializer.java
@@ -718,7 +718,7 @@ public class HtmlSerializer extends XmlSerializer
implements HtmlMetaProvider, H
uriAnchorText = ps.get(HTML_uriAnchorText,
AnchorText.class).orElse(AnchorText.TO_STRING);
detectLabelParameters = !
ps.getBoolean(HTML_disableDetectLabelParameters).orElse(false);
detectLinksInStrings = !
ps.getBoolean(HTML_disableDetectLinksInStrings).orElse(false);
- labelParameter = ps.getString(HTML_labelParameter, "label");
+ labelParameter =
ps.getString(HTML_labelParameter).orElse("label");
addKeyValueTableHeaders =
ps.getBoolean(HTML_addKeyValueTableHeaders).orElse(false);
addBeanTypes = ps.getFirstBoolean(HTML_addBeanTypes,
SERIALIZER_addBeanTypes).orElse(false);
}
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/JsonSchemaGenerator.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/JsonSchemaGenerator.java
index 0eda3c2..3dda385 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/JsonSchemaGenerator.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/JsonSchemaGenerator.java
@@ -322,8 +322,8 @@ public class JsonSchemaGenerator extends
BeanTraverseContext implements JsonSche
allowNestedExamples =
ps.getBoolean(JSONSCHEMA_allowNestedExamples).orElse(false);
allowNestedDescriptions =
ps.getBoolean(JSONSCHEMA_allowNestedDescriptions).orElse(false);
beanDefMapper = ps.getInstance(JSONSCHEMA_beanDefMapper,
BeanDefMapper.class, BasicBeanDefMapper.class);
- addExamplesTo =
TypeCategory.parse(ps.getString(JSONSCHEMA_addExamplesTo));
- addDescriptionsTo =
TypeCategory.parse(ps.getString(JSONSCHEMA_addDescriptionsTo));
+ addExamplesTo =
TypeCategory.parse(ps.getString(JSONSCHEMA_addExamplesTo).orElse(null));
+ addDescriptionsTo =
TypeCategory.parse(ps.getString(JSONSCHEMA_addDescriptionsTo).orElse(null));
Set<Pattern> ignoreTypes = new LinkedHashSet<>();
for (String s : split(ps.get(JSONSCHEMA_ignoreTypes,
String.class).orElse("")))
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/WriterSerializer.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/WriterSerializer.java
index 478c273..b62ac87 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/WriterSerializer.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/WriterSerializer.java
@@ -340,7 +340,7 @@ public abstract class WriterSerializer extends Serializer {
super(ps, produces, accept);
maxIndent = ps.getInteger(WSERIALIZER_maxIndent).orElse(100);
- quoteChar = ps.getString(WSERIALIZER_quoteChar, "\"").charAt(0);
+ quoteChar =
ps.getString(WSERIALIZER_quoteChar).orElse("\"").charAt(0);
streamCharset = ps.get(WSERIALIZER_streamCharset,
Charset.class).orElse(IOUtils.UTF8);
fileCharset = ps.get(WSERIALIZER_fileCharset,
Charset.class).orElse(Charset.defaultCharset());
useWhitespace =
ps.getBoolean(WSERIALIZER_useWhitespace).orElse(false);
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializer.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializer.java
index 289ac74..7f74852 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializer.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializer.java
@@ -82,7 +82,7 @@ public final class SoapXmlSerializer extends XmlSerializer
implements SoapXmlMet
*/
public SoapXmlSerializer(PropertyStore ps) {
super(ps, "text/xml", "text/xml+soap");
- soapAction = ps.getString(SOAPXML_SOAPAction,
"http://www.w3.org/2003/05/soap-envelope");
+ soapAction =
ps.getString(SOAPXML_SOAPAction).orElse("http://www.w3.org/2003/05/soap-envelope");
}
@Override /* Context */
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializer.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializer.java
index 43109f2..0590ed5 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializer.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializer.java
@@ -414,7 +414,7 @@ public class UonSerializer extends WriterSerializer
implements HttpPartSerialize
encoding = ps.getBoolean(UON_encoding).orElse(false);
addBeanTypes = ps.getFirstBoolean(UON_addBeanTypes,
SERIALIZER_addBeanTypes).orElse(false);
paramFormat = ps.get(UON_paramFormat,
ParamFormat.class).orElse(ParamFormat.UON);
- quoteChar = ps.getString(WSERIALIZER_quoteChar, "'").charAt(0);
+ quoteChar =
ps.getString(WSERIALIZER_quoteChar).orElse("'").charAt(0);
}
@Override /* Context */
diff --git
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClient.java
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClient.java
index 4fac9e0..a76085d 100644
---
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClient.java
+++
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClient.java
@@ -2042,7 +2042,7 @@ public class RestClient extends BeanContext implements
HttpClient, Closeable, Re
this.keepHttpClientOpen =
ps.getBoolean(RESTCLIENT_keepHttpClientOpen).orElse(false);
this.errorCodes = ps.getInstance(RESTCLIENT_errorCodes,
Predicate.class, ERROR_CODES_DEFAULT);
this.executorServiceShutdownOnClose =
ps.getBoolean(RESTCLIENT_executorServiceShutdownOnClose).orElse(false);
- this.rootUri =
StringUtils.nullIfEmpty(ps.getString(RESTCLIENT_rootUri, "").replaceAll("\\/$",
""));
+ this.rootUri =
StringUtils.nullIfEmpty(ps.getString(RESTCLIENT_rootUri).orElse("").replaceAll("\\/$",
""));
this.leakDetection =
ps.getBoolean(RESTCLIENT_leakDetection).orElse(isDebug());
this.ignoreErrors =
ps.getBoolean(RESTCLIENT_ignoreErrors).orElse(false);
this.logger = ps.getInstance(RESTCLIENT_logger, Logger.class,
Logger.getLogger(RestClient.class.getName()));
diff --git
a/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock/MockRestClient.java
b/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock/MockRestClient.java
index ff19e1d..a4c57c6 100644
---
a/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock/MockRestClient.java
+++
b/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock/MockRestClient.java
@@ -257,8 +257,8 @@ public class MockRestClient extends RestClient implements
HttpClientConnection {
ps = getPropertyStore();
this.restBeanCtx = ps.getInstance(MOCKRESTCLIENT_restBeanCtx,
RestContext.class);
this.restObject = restBeanCtx.getResource();
- this.contextPath = ps.getString(MOCKRESTCLIENT_contextPath, "");
- this.servletPath = ps.getString(MOCKRESTCLIENT_servletPath, "");
+ this.contextPath =
ps.getString(MOCKRESTCLIENT_contextPath).orElse("");
+ this.servletPath =
ps.getString(MOCKRESTCLIENT_servletPath).orElse("");
this.pathVars = ps.getMap(MOCKRESTCLIENT_pathVars,
String.class);
HttpClientConnectionManager ccm =
getHttpClientConnectionManager();
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java
index 2e02dc6..d0cfade 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java
@@ -3528,8 +3528,8 @@ public class RestContext extends BeanContext {
opParams = createRestOperationParams(r, ps,
bf).asArray();
hookMethodParams = createHookMethodParams(r, ps,
bf).asArray();
- uriContext = nullIfEmpty(ps.getString(REST_uriContext));
- uriAuthority =
nullIfEmpty(ps.getString(REST_uriAuthority));
+ uriContext =
nullIfEmpty(ps.getString(REST_uriContext).orElse(null));
+ uriAuthority =
nullIfEmpty(ps.getString(REST_uriAuthority).orElse(null));
uriResolution = ps.get(REST_uriResolution,
UriResolution.class).orElse(UriResolution.ROOT_RELATIVE);
uriRelativity = ps.get(REST_uriRelativity,
UriRelativity.class).orElse(UriRelativity.RESOURCE);
@@ -3538,7 +3538,7 @@ public class RestContext extends BeanContext {
allowedMethodParams =
newCaseInsensitiveSet(ps.getNoneableString(REST_allowedMethodParams,
"HEAD,OPTIONS"));
allowedMethodHeaders =
newCaseInsensitiveSet(ps.getNoneableString(REST_allowedMethodHeaders, ""));
renderResponseStackTraces =
ps.getBoolean(REST_renderResponseStackTraces).orElse(false);
- clientVersionHeader =
ps.getString(REST_clientVersionHeader, "X-Client-Version");
+ clientVersionHeader =
ps.getString(REST_clientVersionHeader).orElse("X-Client-Version");
debugEnablement = createDebugEnablement(r, ps, bf);
@@ -5311,7 +5311,7 @@ public class RestContext extends BeanContext {
defaultDebug = isDebug() ? Enablement.ALWAYS :
Enablement.NEVER;
x.defaultEnable(defaultDebug);
- for (Map.Entry<String,String> e :
splitMap(properties.getString(REST_debugOn, ""), true).entrySet()) {
+ for (Map.Entry<String,String> e :
splitMap(properties.getString(REST_debugOn).orElse(""), true).entrySet()) {
String k = e.getKey(), v = e.getValue();
if (v.isEmpty())
v = "ALWAYS";
diff --git a/juneau-utest/src/test/java/org/apache/juneau/ContextCacheTest.java
b/juneau-utest/src/test/java/org/apache/juneau/ContextCacheTest.java
index 2a20bcf..c93b269 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/ContextCacheTest.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/ContextCacheTest.java
@@ -132,7 +132,7 @@ public class ContextCacheTest {
public A(PropertyStore ps) {
super(ps, true);
- f1 = getPropertyStore().getString("A.f1", "xxx");
+ f1 = getPropertyStore().getString("A.f1").orElse("xxx");
}
@Override