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