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 <james.bog...@salesforce.com>
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

Reply via email to