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

commit 87d018d89944bf6a576e5275b6cb5b8bc370dd87
Author: JamesBognar <[email protected]>
AuthorDate: Sun Feb 7 17:13:26 2021 -0500

    PropertyStore refactoring.
---
 .../src/main/java/org/apache/juneau/PropertyStore.java   | 16 ++--------------
 .../src/main/java/org/apache/juneau/parser/Parser.java   |  2 +-
 .../java/org/apache/juneau/serializer/Serializer.java    |  2 +-
 .../main/java/org/apache/juneau/rest/RestContext.java    |  6 +++---
 .../java/org/apache/juneau/rest/RestContextBuilder.java  |  2 +-
 .../apache/juneau/rest/RestOperationContextBuilder.java  |  2 +-
 6 files changed, 9 insertions(+), 21 deletions(-)

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 d0e78fa..ccc4333 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
@@ -405,23 +405,11 @@ public final class PropertyStore {
         *
         * @param key The property name.
         * @param type The class type of the property.
-        * @param def The default value.
         * @return The property value, or the default value if it doesn't exist.
         */
-       public <T> Class<? extends T> getClass(String key, Class<T> type, 
Class<? extends T> def) {
+       public <T> Optional<Class<? extends T>> getClass(String key, Class<T> 
type) {
                Property p = findProperty(key);
-               return p == null ? def : (Class<T>)p.as(Class.class);
-       }
-
-       /**
-        * Returns the class property with the specified name.
-        *
-        * @param key The property name.
-        * @param type The class type of the property.
-        * @return The property value, or <jk>null</jk> if it doesn't exist.
-        */
-       public final <T> Class<? extends T> getClass(String key, Class<T> type) 
{
-               return getClass(key, type, null);
+               return Optional.ofNullable(p == null ? null : 
(Class<T>)p.as(Class.class));
        }
 
        /**
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/Parser.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/Parser.java
index 06addec..76d82ba 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/Parser.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/Parser.java
@@ -544,7 +544,7 @@ public abstract class Parser extends BeanContext {
                autoCloseStreams = 
ps.getBoolean(PARSER_autoCloseStreams).orElse(false);
                debugOutputLines = 
ps.getInteger(PARSER_debugOutputLines).orElse(5);
                unbuffered = ps.getBoolean(PARSER_unbuffered).orElse(false);
-               listener = ps.getClass(PARSER_listener, ParserListener.class);
+               listener = ps.getClass(PARSER_listener, 
ParserListener.class).orElse(null);
                this.consumes = new MediaType[consumes.length];
                for (int i = 0; i < consumes.length; i++) {
                        this.consumes[i] = MediaType.of(consumes[i]);
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 4d2fbdd..1d77766 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
@@ -837,7 +837,7 @@ public abstract class Serializer extends 
BeanTraverseContext {
                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);
+               listener = ps.getClass(SERIALIZER_listener, 
SerializerListener.class).orElse(null);
 
                this.produces = MediaType.of(produces);
                this.accept = accept == null ? MediaRanges.of(produces) : 
MediaRanges.of(accept);
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 90d8d62..be96e8c 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
@@ -5454,7 +5454,7 @@ public class RestContext extends BeanContext {
                RestOperationsBuilder x = RestOperations
                        .create()
                        .beanFactory(beanFactory)
-                       
.implClass(properties.getClass(REST_restOperationsClass, null));
+                       
.implClass(properties.getClass(REST_restOperationsClass, 
RestOperations.class).orElse(null));
 
                ClassInfo rci = ClassInfo.of(resource);
 
@@ -5478,7 +5478,7 @@ public class RestContext extends BeanContext {
                                        RestOperationContext roc = 
RestOperationContext
                                                .create(mi.inner(), this)
                                                .beanFactory(beanFactory)
-                                               
.implClass(properties.getClass(REST_restOperationContextClass, 
RestOperationContext.class))
+                                               
.implClass(properties.getClass(REST_restOperationContextClass, 
RestOperationContext.class).orElse(null))
                                                .build();
 
                                        String httpMethod = roc.getHttpMethod();
@@ -5573,7 +5573,7 @@ public class RestContext extends BeanContext {
                RestChildrenBuilder x = RestChildren
                        .create()
                        .beanFactory(beanFactory)
-                       .implClass(properties.getClass(REST_restChildrenClass, 
RestChildren.class));
+                       .implClass(properties.getClass(REST_restChildrenClass, 
RestChildren.class).orElse(null));
 
                // Initialize our child resources.
                for (Object o : properties.getArray(REST_children, 
Object.class)) {
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContextBuilder.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContextBuilder.java
index 8a2f061..29bf666 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContextBuilder.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContextBuilder.java
@@ -184,7 +184,7 @@ public class RestContextBuilder extends BeanContextBuilder 
implements ServletCon
        @Override /* BeanContextBuilder */
        public RestContext build() {
                try {
-                       Class<? extends RestContext> c = 
getPropertyStore().getClass(REST_contextClass, RestContext.class, 
getDefaultImplClass());
+                       Class<? extends RestContext> c = 
getPropertyStore().getClass(REST_contextClass, 
RestContext.class).orElse(getDefaultImplClass());
                        return BeanFactory.of(beanFactory, 
resource.get()).addBeans(RestContextBuilder.class, this).createBean(c);
                } catch (Exception e) {
                        throw toHttpException(e, InternalServerError.class);
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOperationContextBuilder.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOperationContextBuilder.java
index 3515511..c368aa2 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOperationContextBuilder.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOperationContextBuilder.java
@@ -49,7 +49,7 @@ public class RestOperationContextBuilder extends 
BeanContextBuilder {
 
                        Class<? extends RestOperationContext> ic = implClass;
                        if (ic == null)
-                               ic = ps.getClass(RESTOP_contextClass, 
RestOperationContext.class, getDefaultImplClass());
+                               ic = ps.getClass(RESTOP_contextClass, 
RestOperationContext.class).orElse(getDefaultImplClass());
 
                        return 
BeanFactory.of(beanFactory).addBean(RestOperationContextBuilder.class, 
this).createBean(ic);
                } catch (Exception e) {

Reply via email to