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 b9130cf  PropertyStore refactoring.
b9130cf is described below

commit b9130cf4f5523e3fd7bab579174a81b235b74d47
Author: JamesBognar <[email protected]>
AuthorDate: Sun Feb 7 16:12:22 2021 -0500

    PropertyStore refactoring.
---
 .../src/main/java/org/apache/juneau/config/Config.java    |  2 +-
 .../org/apache/juneau/config/store/ConfigFileStore.java   |  4 ++--
 .../src/main/java/org/apache/juneau/jena/RdfParser.java   |  4 ++--
 .../main/java/org/apache/juneau/jena/RdfSerializer.java   | 10 +++++-----
 .../src/main/java/org/apache/juneau/BeanContext.java      |  8 ++++----
 .../src/main/java/org/apache/juneau/PropertyStore.java    | 15 ++++++++++++++-
 .../java/org/apache/juneau/html/HtmlDocSerializer.java    |  2 +-
 .../main/java/org/apache/juneau/html/HtmlSerializer.java  |  2 +-
 .../org/apache/juneau/jsonschema/JsonSchemaGenerator.java |  2 +-
 .../main/java/org/apache/juneau/oapi/OpenApiParser.java   |  4 ++--
 .../java/org/apache/juneau/oapi/OpenApiSerializer.java    |  4 ++--
 .../java/org/apache/juneau/parser/InputStreamParser.java  |  2 +-
 .../main/java/org/apache/juneau/parser/ReaderParser.java  |  4 ++--
 .../apache/juneau/serializer/OutputStreamSerializer.java  |  2 +-
 .../java/org/apache/juneau/serializer/Serializer.java     |  6 +++---
 .../org/apache/juneau/serializer/WriterSerializer.java    |  4 ++--
 .../main/java/org/apache/juneau/uon/UonSerializer.java    |  2 +-
 .../java/org/apache/juneau/rest/mock/MockRestClient.java  |  6 +++---
 .../src/main/java/org/apache/juneau/rest/RestContext.java |  4 ++--
 .../java/org/apache/juneau/rest/RestOperationContext.java |  8 ++++----
 20 files changed, 54 insertions(+), 41 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 1b8c6fb..ce7480d 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
@@ -461,7 +461,7 @@ public final class Config extends Context implements 
ConfigEventListener, Writab
                        .build()
                        .createSession();
                binaryLineLength = ps.getInteger(CONFIG_binaryLineLength);
-               binaryFormat = ps.get(CONFIG_binaryFormat, BinaryFormat.class, 
BinaryFormat.BASE64);
+               binaryFormat = ps.get(CONFIG_binaryFormat, 
BinaryFormat.class).orElse(BinaryFormat.BASE64);
                multiLineValuesOnSeparateLines = 
getBoolean(CONFIG_multiLineValuesOnSeparateLines, false);
                readOnly = getBoolean(CONFIG_readOnly, false);
        }
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 88e34a8..b523655 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
@@ -240,10 +240,10 @@ public class ConfigFileStore extends ConfigStore {
                try {
                        dir = new File(ps.getString(FILESTORE_directory, 
".")).getCanonicalFile();
                        dir.mkdirs();
-                       charset = ps.get(FILESTORE_charset, Charset.class, 
Charset.defaultCharset());
+                       charset = ps.get(FILESTORE_charset, 
Charset.class).orElse(Charset.defaultCharset());
                        updateOnWrite = 
ps.getBoolean(FILESTORE_enableUpdateOnWrite);
                        extensions = ps.getCdl(FILESTORE_extensions, "cfg");
-                       WatcherSensitivity ws = 
ps.get(FILESTORE_watcherSensitivity, WatcherSensitivity.class, 
WatcherSensitivity.MEDIUM);
+                       WatcherSensitivity ws = 
ps.get(FILESTORE_watcherSensitivity, 
WatcherSensitivity.class).orElse(WatcherSensitivity.MEDIUM);
                        watcher = ps.getBoolean(FILESTORE_enableWatcher) ? new 
WatcherThread(dir, ws) : null;
                        if (watcher != null)
                                watcher.start();
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 a5298d8..c2cebbd 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
@@ -133,7 +133,7 @@ public class RdfParser extends ReaderParser implements 
RdfCommon, RdfMetaProvide
                rdfLanguage = ps.getString(RDF_language, "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, RdfCollectionFormat.DEFAULT);
+               collectionFormat = ps.get(RDF_collectionFormat, 
RdfCollectionFormat.class).orElse(RdfCollectionFormat.DEFAULT);
 
                ASortedMap<String,Object> m = ASortedMap.create();
                for (String k : getPropertyKeys("RdfCommon"))
@@ -152,7 +152,7 @@ public class RdfParser extends ReaderParser implements 
RdfCommon, RdfMetaProvide
        }
 
        private static String getConsumes(PropertyStore ps) {
-               String rdfLanguage = ps.get(RDF_language, String.class, 
"RDF/XML-ABBREV");
+               String rdfLanguage = ps.get(RDF_language, 
String.class).orElse("RDF/XML-ABBREV");
                switch(rdfLanguage) {
                        case "RDF/XML":
                        case "RDF/XML-ABBREV": return "text/xml+rdf";
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 3e29cb7..8af4ee8 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
@@ -296,10 +296,10 @@ public class RdfSerializer extends WriterSerializer 
implements RdfCommon, RdfMet
                looseCollections = ps.getBoolean(RDF_looseCollections);
                autoDetectNamespaces = ! 
ps.getBoolean(RDF_disableAutoDetectNamespaces);
                rdfLanguage = ps.getString(RDF_language, "RDF/XML-ABBREV");
-               juneauNs = ps.get(RDF_juneauNs, Namespace.class, 
DEFAULT_JUNEAU_NS);
-               juneauBpNs = ps.get(RDF_juneauBpNs, Namespace.class, 
DEFAULT_JUNEAUBP_NS);
-               collectionFormat = ps.get(RDF_collectionFormat, 
RdfCollectionFormat.class, RdfCollectionFormat.DEFAULT);
-               namespaces = ps.get(RDF_namespaces, Namespace[].class, new 
Namespace[0]);
+               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);
+               namespaces = ps.get(RDF_namespaces, 
Namespace[].class).orElse(new Namespace[0]);
                addBeanTypes = ps.getBoolean(RDF_addBeanTypes, 
ps.getBoolean(SERIALIZER_addBeanTypes));
 
                ASortedMap<String,Object> m = ASortedMap.create();
@@ -320,7 +320,7 @@ public class RdfSerializer extends WriterSerializer 
implements RdfCommon, RdfMet
        }
 
        private static String getProduces(PropertyStore ps) {
-               String rdfLanguage = ps.get(RDF_language, String.class, 
"RDF/XML-ABBREV");
+               String rdfLanguage = ps.get(RDF_language, 
String.class).orElse("RDF/XML-ABBREV");
                switch(rdfLanguage) {
                        case "RDF/XML": return "text/xml+rdf+abbrev";
                        case "RDF/XML-ABBREV": return "text/xml+rdf";
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 b93ec9d..2ad81ac 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
@@ -2128,10 +2128,10 @@ public class BeanContext extends Context implements 
MetaProvider {
                findFluentSetters = ps.getBoolean(BEAN_findFluentSetters);
                typePropertyName = ps.getString(BEAN_typePropertyName, "_type");
 
-               beanConstructorVisibility = 
ps.get(BEAN_beanConstructorVisibility, Visibility.class, PUBLIC);
-               beanClassVisibility = ps.get(BEAN_beanClassVisibility, 
Visibility.class, PUBLIC);
-               beanMethodVisibility = ps.get(BEAN_beanMethodVisibility, 
Visibility.class, PUBLIC);
-               beanFieldVisibility = ps.get(BEAN_beanFieldVisibility, 
Visibility.class, PUBLIC);
+               beanConstructorVisibility = 
ps.get(BEAN_beanConstructorVisibility, Visibility.class).orElse(PUBLIC);
+               beanClassVisibility = ps.get(BEAN_beanClassVisibility, 
Visibility.class).orElse(PUBLIC);
+               beanMethodVisibility = ps.get(BEAN_beanMethodVisibility, 
Visibility.class).orElse(PUBLIC);
+               beanFieldVisibility = ps.get(BEAN_beanFieldVisibility, 
Visibility.class).orElse(PUBLIC);
 
                notBeanClasses = ps.getClassArray(BEAN_notBeanClasses, 
DEFAULT_NOTBEAN_CLASSES);
 
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 2d16724..09e4486 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
@@ -323,12 +323,25 @@ public final class PropertyStore {
         * @param def The default value.
         * @return The property value, or the default value if it doesn't exist.
         */
-       public <T> T get(String key, Class<T> c, T def) {
+       @Deprecated
+       private <T> T get(String key, Class<T> c, T def) {
                Property p = findProperty(key);
                return p == null ? def : p.as(c);
        }
 
        /**
+        * Returns the property value with the specified name.
+        *
+        * @param key The property name.
+        * @param c The class to cast or convert the value to.
+        * @return The property value, never <jk>null</jk>
+        */
+       public <T> Optional<T> get(String key, Class<T> c) {
+               Property p = findProperty(key);
+               return Optional.ofNullable(p == null ? null : p.as(c));
+       }
+
+       /**
         * Shortcut for calling <code>getProperty(key, Boolean.<jk>class</jk>, 
def)</code>.
         *
         * @param key The property name.
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 ed67442..d8999a0 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
@@ -770,7 +770,7 @@ public class HtmlDocSerializer extends 
HtmlStrippedDocSerializer {
                header = ps.getArray(HTMLDOC_header, String.class);
                nav = ps.getArray(HTMLDOC_nav, String.class);
                aside = ps.getArray(HTMLDOC_aside, String.class);
-               asideFloat = ps.get(HTMLDOC_asideFloat, AsideFloat.class, 
AsideFloat.RIGHT);
+               asideFloat = ps.get(HTMLDOC_asideFloat, 
AsideFloat.class).orElse(AsideFloat.RIGHT);
                footer = ps.getArray(HTMLDOC_footer, String.class);
                nowrap = ps.getBoolean(HTMLDOC_nowrap);
                navlinks = ps.getArray(HTMLDOC_navlinks, String.class);
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 3b39c0c..425b26a 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
@@ -715,7 +715,7 @@ public class HtmlSerializer extends XmlSerializer 
implements HtmlMetaProvider, H
         */
        public HtmlSerializer(PropertyStore ps, String produces, String accept) 
{
                super(ps, produces, accept);
-               uriAnchorText = ps.get(HTML_uriAnchorText, AnchorText.class, 
AnchorText.TO_STRING);
+               uriAnchorText = ps.get(HTML_uriAnchorText, 
AnchorText.class).orElse(AnchorText.TO_STRING);
                detectLabelParameters = ! 
ps.getBoolean(HTML_disableDetectLabelParameters);
                detectLinksInStrings = ! 
ps.getBoolean(HTML_disableDetectLinksInStrings);
                labelParameter = ps.getString(HTML_labelParameter, "label");
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 57a094b..57f7bf1 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
@@ -326,7 +326,7 @@ public class JsonSchemaGenerator extends 
BeanTraverseContext implements JsonSche
                addDescriptionsTo = 
TypeCategory.parse(ps.getString(JSONSCHEMA_addDescriptionsTo));
 
                Set<Pattern> ignoreTypes = new LinkedHashSet<>();
-               for (String s : split(ps.get(JSONSCHEMA_ignoreTypes, 
String.class, "")))
+               for (String s : split(ps.get(JSONSCHEMA_ignoreTypes, 
String.class).orElse("")))
                        ignoreTypes.add(Pattern.compile(s.replace(".", 
"\\.").replace("*", ".*")));
                this.ignoreTypes = ignoreTypes;
 
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiParser.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiParser.java
index f1da291..03df6e9 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiParser.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiParser.java
@@ -75,8 +75,8 @@ public class OpenApiParser extends UonParser implements 
OpenApiMetaProvider, Ope
         */
        public OpenApiParser(PropertyStore ps, String...consumes) {
                super(ps, consumes);
-               format = ps.get(OAPI_format, HttpPartFormat.class, 
HttpPartFormat.NO_FORMAT);
-               collectionFormat = ps.get(OAPI_collectionFormat, 
HttpPartCollectionFormat.class, HttpPartCollectionFormat.NO_COLLECTION_FORMAT);
+               format = ps.get(OAPI_format, 
HttpPartFormat.class).orElse(HttpPartFormat.NO_FORMAT);
+               collectionFormat = ps.get(OAPI_collectionFormat, 
HttpPartCollectionFormat.class).orElse(HttpPartCollectionFormat.NO_COLLECTION_FORMAT);
        }
 
        @Override /* Context */
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiSerializer.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiSerializer.java
index 3c8c19a..c1d7e4d 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiSerializer.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiSerializer.java
@@ -90,8 +90,8 @@ public class OpenApiSerializer extends UonSerializer 
implements OpenApiMetaProvi
                        produces,
                        accept
                );
-               format = ps.get(OAPI_format, HttpPartFormat.class, 
HttpPartFormat.NO_FORMAT);
-               collectionFormat = ps.get(OAPI_collectionFormat, 
HttpPartCollectionFormat.class, HttpPartCollectionFormat.NO_COLLECTION_FORMAT);
+               format = ps.get(OAPI_format, 
HttpPartFormat.class).orElse(HttpPartFormat.NO_FORMAT);
+               collectionFormat = ps.get(OAPI_collectionFormat, 
HttpPartCollectionFormat.class).orElse(HttpPartCollectionFormat.NO_COLLECTION_FORMAT);
        }
 
        /**
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/InputStreamParser.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/InputStreamParser.java
index c1dd00b..348ec46 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/InputStreamParser.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/InputStreamParser.java
@@ -106,7 +106,7 @@ public abstract class InputStreamParser extends Parser {
         */
        protected InputStreamParser(PropertyStore ps, String...consumes) {
                super(ps, consumes);
-               binaryFormat = ps.get(ISPARSER_binaryFormat, 
BinaryFormat.class, BinaryFormat.HEX);
+               binaryFormat = ps.get(ISPARSER_binaryFormat, 
BinaryFormat.class).orElse(BinaryFormat.HEX);
        }
 
        @Override /* Parser */
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ReaderParser.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ReaderParser.java
index b42459d..b0356fb 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ReaderParser.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ReaderParser.java
@@ -164,8 +164,8 @@ public abstract class ReaderParser extends Parser {
        protected ReaderParser(PropertyStore ps, String...consumes) {
                super(ps, consumes);
 
-               streamCharset = ps.get(RPARSER_streamCharset, Charset.class, 
IOUtils.UTF8);
-               fileCharset = ps.get(RPARSER_fileCharset, Charset.class, 
Charset.defaultCharset());
+               streamCharset = ps.get(RPARSER_streamCharset, 
Charset.class).orElse(IOUtils.UTF8);
+               fileCharset = ps.get(RPARSER_fileCharset, 
Charset.class).orElse(Charset.defaultCharset());
        }
 
        @Override /* Parser */
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/OutputStreamSerializer.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/OutputStreamSerializer.java
index ef0b951..aea4de2 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/OutputStreamSerializer.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/OutputStreamSerializer.java
@@ -122,7 +122,7 @@ public abstract class OutputStreamSerializer extends 
Serializer {
        protected OutputStreamSerializer(PropertyStore ps, String produces, 
String accept) {
                super(ps, produces, accept);
 
-               binaryFormat = ps.get(OSSERIALIZER_binaryFormat, 
BinaryFormat.class, BinaryFormat.HEX);
+               binaryFormat = ps.get(OSSERIALIZER_binaryFormat, 
BinaryFormat.class).orElse(BinaryFormat.HEX);
        }
 
        
//-----------------------------------------------------------------------------------------------------------------
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/Serializer.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/Serializer.java
index a79b897..04ca261 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/Serializer.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/Serializer.java
@@ -834,9 +834,9 @@ public abstract class Serializer extends 
BeanTraverseContext {
                sortCollections = ps.getBoolean(SERIALIZER_sortCollections);
                sortMaps = ps.getBoolean(SERIALIZER_sortMaps);
                addRootType = ps.getBoolean(SERIALIZER_addRootType);
-               uriContext = ps.get(SERIALIZER_uriContext, UriContext.class, 
UriContext.DEFAULT);
-               uriResolution = ps.get(SERIALIZER_uriResolution, 
UriResolution.class, UriResolution.NONE);
-               uriRelativity = ps.get(SERIALIZER_uriRelativity, 
UriRelativity.class, UriRelativity.RESOURCE);
+               uriContext = ps.get(SERIALIZER_uriContext, 
UriContext.class).orElse(UriContext.DEFAULT);
+               uriResolution = ps.get(SERIALIZER_uriResolution, 
UriResolution.class).orElse(UriResolution.NONE);
+               uriRelativity = ps.get(SERIALIZER_uriRelativity, 
UriRelativity.class).orElse(UriRelativity.RESOURCE);
                listener = ps.getClass(SERIALIZER_listener, 
SerializerListener.class);
 
                this.produces = MediaType.of(produces);
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 f548ea2..b10c748 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
@@ -341,8 +341,8 @@ public abstract class WriterSerializer extends Serializer {
 
                maxIndent = ps.getInteger(WSERIALIZER_maxIndent, 100);
                quoteChar = ps.getString(WSERIALIZER_quoteChar, "\"").charAt(0);
-               streamCharset = ps.get(WSERIALIZER_streamCharset, 
Charset.class, IOUtils.UTF8);
-               fileCharset = ps.get(WSERIALIZER_fileCharset, Charset.class, 
Charset.defaultCharset());
+               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);
        }
 
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 29d3310..f479ab2 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
@@ -413,7 +413,7 @@ public class UonSerializer extends WriterSerializer 
implements HttpPartSerialize
                super(ps, produces, accept);
                encoding = ps.getBoolean(UON_encoding);
                addBeanTypes = ps.getBoolean(UON_addBeanTypes, 
ps.getBoolean(SERIALIZER_addBeanTypes));
-               paramFormat = ps.get(UON_paramFormat, ParamFormat.class, 
ParamFormat.UON);
+               paramFormat = ps.get(UON_paramFormat, 
ParamFormat.class).orElse(ParamFormat.UON);
                quoteChar = ps.getString(WSERIALIZER_quoteChar, "'").charAt(0);
        }
 
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 abb3d09..ff19e1d 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
@@ -270,9 +270,9 @@ public class MockRestClient extends RestClient implements 
HttpClientConnection {
                try {
                        PropertyStoreBuilder psb = ps.builder();
                        Object restBean = 
ps.getInstance(MOCKRESTCLIENT_restBean, Object.class, null);
-                       String contextPath = ps.get(MOCKRESTCLIENT_contextPath, 
String.class, null);
-                       String servletPath = ps.get(MOCKRESTCLIENT_servletPath, 
String.class, null);
-                       String rootUrl = ps.get(RESTCLIENT_rootUri, 
String.class, "http://localhost";);
+                       String contextPath = ps.get(MOCKRESTCLIENT_contextPath, 
String.class).orElse(null);
+                       String servletPath = ps.get(MOCKRESTCLIENT_servletPath, 
String.class).orElse(null);
+                       String rootUrl = ps.get(RESTCLIENT_rootUri, 
String.class).orElse("http://localhost";);
 
                        Class<?> c = restBean instanceof Class ? 
(Class<?>)restBean : restBean.getClass();
                        if (! REST_CONTEXTS.containsKey(c)) {
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 92a8e86..146616a 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
@@ -3530,8 +3530,8 @@ public class RestContext extends BeanContext {
 
                        uriContext = nullIfEmpty(ps.getString(REST_uriContext));
                        uriAuthority = 
nullIfEmpty(ps.getString(REST_uriAuthority));
-                       uriResolution = ps.get(REST_uriResolution, 
UriResolution.class, UriResolution.ROOT_RELATIVE);
-                       uriRelativity = ps.get(REST_uriRelativity, 
UriRelativity.class, UriRelativity.RESOURCE);
+                       uriResolution = ps.get(REST_uriResolution, 
UriResolution.class).orElse(UriResolution.ROOT_RELATIVE);
+                       uriRelativity = ps.get(REST_uriRelativity, 
UriRelativity.class).orElse(UriRelativity.RESOURCE);
 
                        allowBodyParam = ! 
ps.getBoolean(REST_disableAllowBodyParam);
                        allowedHeaderParams = 
newCaseInsensitiveSet(ps.getNoneableString(REST_allowedHeaderParams, 
"Accept,Content-Type"));
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOperationContext.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOperationContext.java
index 110bbdb..fba57ee 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOperationContext.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOperationContext.java
@@ -794,16 +794,16 @@ public class RestOperationContext extends BeanContext 
implements Comparable<Rest
                        }
                        hierarchyDepth = _hierarchyDepth;
 
-                       String _httpMethod = ps.get(RESTOP_httpMethod, 
String.class, null);
+                       String _httpMethod = ps.get(RESTOP_httpMethod, 
String.class).orElse(null);
                        if (_httpMethod == null)
                                _httpMethod = 
HttpUtils.detectHttpMethod(method, true, "GET");
                        if ("METHOD".equals(_httpMethod))
                                _httpMethod = "*";
                        httpMethod = _httpMethod.toUpperCase(Locale.ENGLISH);
 
-                       defaultCharset = ps.get(REST_defaultCharset, 
String.class, "utf-8");
+                       defaultCharset = ps.get(REST_defaultCharset, 
String.class).orElse("utf-8");
 
-                       maxInput = 
StringUtils.parseLongWithSuffix(ps.get(REST_maxInput, String.class, "100M"));
+                       maxInput = 
StringUtils.parseLongWithSuffix(ps.get(REST_maxInput, 
String.class).orElse("100M"));
 
                        responseMeta = ResponseBeanMeta.create(mi, ps);
 
@@ -995,7 +995,7 @@ public class RestOperationContext extends BeanContext 
implements Comparable<Rest
                if (x.isEmpty())
                        x = 
beanFactory.getBean(RestMatcherList.class).orElse(x);
 
-               String clientVersion = properties.get(RESTOP_clientVersion, 
String.class, null);
+               String clientVersion = properties.get(RESTOP_clientVersion, 
String.class).orElse(null);
                if (clientVersion != null)
                        x.add(new 
ClientVersionMatcher(context.getClientVersionHeader(), mi));
 

Reply via email to