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 bf1735c  REST refactoring.
bf1735c is described below

commit bf1735c5501db69449b6cf5ef3caef26a61a5a1f
Author: JamesBognar <[email protected]>
AuthorDate: Tue Jan 12 19:20:07 2021 -0500

    REST refactoring.
---
 .../java/org/apache/juneau/rest/RestContext.java   |  84 +++++++---------
 .../org/apache/juneau/rest/RestMethodContext.java  | 110 +++++++++------------
 2 files changed, 83 insertions(+), 111 deletions(-)

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 4d2936f..0b29710 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
@@ -4011,30 +4011,26 @@ public class RestContext extends BeanContext {
         * @seealso #REST_serializers
         */
        protected SerializerGroup createSerializers(Object resource, 
BeanFactory beanFactory, PropertyStore ps) throws Exception {
-               Object x = getArrayProperty(REST_serializers, Object.class);
-               if (x == null)
-                       x = beanFactory.createBeanViaMethod(Serializer[].class, 
resource, "createSerializers", null);
-               if (x == null)
-                       x = beanFactory.createBeanViaMethod(Class[].class, 
resource, "createSerializers", null);
-               if (x == null) {
-                       x = 
beanFactory.createBeanViaMethod(SerializerGroup.class, resource, 
"createSerializers", null);
-                       if (x != null)
-                               return (SerializerGroup)x;
-               }
-               if (x == null)
-                       x = 
beanFactory.getBean(Serializer[].class).orElse(null);
-               if (x == null) {
-                       x = 
beanFactory.getBean(SerializerGroup.class).orElse(null);
-                       if (x != null)
-                               return (SerializerGroup)x;
+               SerializerGroup g = 
beanFactory.getBean(SerializerGroup.class).orElse(null);
+
+               if (g == null) {
+                       Object[] x = getArrayProperty(REST_serializers, 
Object.class);
+                       if (x == null)
+                               x = 
beanFactory.getBean(Serializer[].class).orElse(null);
+                       if (x == null)
+                               x = new Serializer[0];
+                       g = SerializerGroup
+                               .create()
+                               .append(x)
+                               .apply(ps)
+                               .build();
                }
-               if (x == null)
-                       x = new Serializer[0];
-               return SerializerGroup
-                       .create()
-                       .append((Object[])x)
-                       .apply(ps)
-                       .build();
+
+               g = BeanFactory.of(beanFactory, resource)
+                       .addBean(SerializerGroup.class, g)
+                       .createBeanViaMethod(SerializerGroup.class, resource, 
"createSerializers", g);
+
+               return g;
        }
 
        /**
@@ -4067,30 +4063,26 @@ public class RestContext extends BeanContext {
         * @seealso #REST_parsers
         */
        protected ParserGroup createParsers(Object resource, BeanFactory 
beanFactory, PropertyStore ps) throws Exception {
-               Object x = getArrayProperty(REST_parsers, Object.class);
-               if (x == null)
-                       x = beanFactory.createBeanViaMethod(Parser[].class, 
resource, "createParsers", null);
-               if (x == null)
-                       x = beanFactory.createBeanViaMethod(Class[].class, 
resource, "createParsers", null);
-               if (x == null) {
-                       x = beanFactory.createBeanViaMethod(ParserGroup.class, 
resource, "createParsers", null);
-                       if (x != null)
-                               return (ParserGroup)x;
-               }
-               if (x == null)
-                       x = beanFactory.getBean(Parser[].class).orElse(null);
-               if (x == null) {
-                       x = beanFactory.getBean(ParserGroup.class).orElse(null);
-                       if (x != null)
-                               return (ParserGroup)x;
+               ParserGroup g = 
beanFactory.getBean(ParserGroup.class).orElse(null);
+
+               if (g == null) {
+                       Object[] x = getArrayProperty(REST_parsers, 
Object.class);
+                       if (x == null)
+                               x = 
beanFactory.getBean(Parser[].class).orElse(null);
+                       if (x == null)
+                               x = new Parser[0];
+                       g = ParserGroup
+                               .create()
+                               .append(x)
+                               .apply(ps)
+                               .build();
                }
-               if (x == null)
-                       x = new Parser[0];
-               return ParserGroup
-                       .create()
-                       .append((Object[])x)
-                       .apply(ps)
-                       .build();
+
+               g = BeanFactory.of(beanFactory, resource)
+                       .addBean(ParserGroup.class, g)
+                       .createBeanViaMethod(ParserGroup.class, resource, 
"createParsers", g);
+
+               return g;
        }
 
        /**
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestMethodContext.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestMethodContext.java
index 69bcac0..a50bca3 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestMethodContext.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestMethodContext.java
@@ -562,7 +562,7 @@ public class RestMethodContext extends BeanContext 
implements Comparable<RestMet
                        PropertyStore ps = getPropertyStore();
                        Object r = context.getResource();
 
-                       beanFactory = new BeanFactory(context.getBeanFactory(), 
r)
+                       beanFactory = new BeanFactory(context.rootBeanFactory, 
r)
                                .addBean(RestMethodContext.class, this)
                                .addBean(Method.class, method);
                        beanFactory.addBean(BeanFactory.class, beanFactory);
@@ -944,39 +944,29 @@ public class RestMethodContext extends BeanContext 
implements Comparable<RestMet
         * @seealso #REST_serializers
         */
        protected SerializerGroup createSerializers(Object resource, 
BeanFactory beanFactory, PropertyStore ps) throws Exception {
-               Object x = getArrayProperty(REST_serializers, Object.class);
-               if (x == null)
-                       x = beanFactory.createBeanViaMethod(Serializer[].class, 
resource, "createSerializers", null, Method.class);
-               if (x == null)
-                       x = beanFactory.createBeanViaMethod(Class[].class, 
resource, "createSerializers", null, Method.class);
-               if (x == null) {
-                       x = 
beanFactory.createBeanViaMethod(SerializerGroup.class, resource, 
"createSerializers", null, Method.class);
-                       if (x != null)
-                               return (SerializerGroup)x;
-               }
-               if (x == null)
-                       x = beanFactory.createBeanViaMethod(Serializer[].class, 
resource, "createSerializers", null);
-               if (x == null)
-                       x = beanFactory.createBeanViaMethod(Class[].class, 
resource, "createSerializers", null);
-               if (x == null) {
-                       x = 
beanFactory.createBeanViaMethod(SerializerGroup.class, resource, 
"createSerializers", null);
-                       if (x != null)
-                               return (SerializerGroup)x;
-               }
-               if (x == null)
-                       x = 
beanFactory.getBean(Serializer[].class).orElse(null);
-               if (x == null) {
-                       x = 
beanFactory.getBean(SerializerGroup.class).orElse(null);
-                       if (x != null)
-                               return (SerializerGroup)x;
+               SerializerGroup g = 
beanFactory.getBean(SerializerGroup.class).orElse(null);
+
+               if (g == null) {
+                       Object[] x = getArrayProperty(REST_serializers, 
Object.class);
+                       if (x == null)
+                               x = 
beanFactory.getBean(Serializer[].class).orElse(null);
+                       if (x == null)
+                               x = new Serializer[0];
+                       g = SerializerGroup
+                               .create()
+                               .append(x)
+                               .apply(ps)
+                               .build();
                }
-               if (x == null)
-                       x = new Serializer[0];
-               return SerializerGroup
-                       .create()
-                       .append((Object[])x)
-                       .apply(ps)
-                       .build();
+
+               g = BeanFactory.of(beanFactory, resource)
+                       .addBean(SerializerGroup.class, g)
+                       .createBeanViaMethod(SerializerGroup.class, resource, 
"createSerializers", g, Method.class);
+               g = BeanFactory.of(beanFactory, resource)
+                       .addBean(SerializerGroup.class, g)
+                       .createBeanViaMethod(SerializerGroup.class, resource, 
"createSerializers", g);
+
+               return g;
        }
 
        /**
@@ -1009,39 +999,29 @@ public class RestMethodContext extends BeanContext 
implements Comparable<RestMet
         * @seealso #REST_parsers
         */
        protected ParserGroup createParsers(Object resource, BeanFactory 
beanFactory, PropertyStore ps) throws Exception {
-               Object x = getArrayProperty(REST_parsers, Object.class);
-               if (x == null)
-                       x = beanFactory.createBeanViaMethod(Parser[].class, 
resource, "createParsers", null, Method.class);
-               if (x == null)
-                       x = beanFactory.createBeanViaMethod(Class[].class, 
resource, "createParsers", null, Method.class);
-               if (x == null) {
-                       x = beanFactory.createBeanViaMethod(ParserGroup.class, 
resource, "createParsers", null, Method.class);
-                       if (x != null)
-                               return (ParserGroup)x;
-               }
-               if (x == null)
-                       x = beanFactory.createBeanViaMethod(Parser[].class, 
resource, "createParsers", null);
-               if (x == null)
-                       x = beanFactory.createBeanViaMethod(Class[].class, 
resource, "createParsers", null);
-               if (x == null) {
-                       x = beanFactory.createBeanViaMethod(ParserGroup.class, 
resource, "createParsers", null);
-                       if (x != null)
-                               return (ParserGroup)x;
-               }
-               if (x == null)
-                       x = beanFactory.getBean(Parser[].class).orElse(null);
-               if (x == null) {
-                       x = beanFactory.getBean(ParserGroup.class).orElse(null);
-                       if (x != null)
-                               return (ParserGroup)x;
+               ParserGroup g = 
beanFactory.getBean(ParserGroup.class).orElse(null);
+
+               if (g == null) {
+                       Object[] x = getArrayProperty(REST_parsers, 
Object.class);
+                       if (x == null)
+                               x = 
beanFactory.getBean(Parser[].class).orElse(null);
+                       if (x == null)
+                               x = new Parser[0];
+                       g = ParserGroup
+                               .create()
+                               .append(x)
+                               .apply(ps)
+                               .build();
                }
-               if (x == null)
-                       x = new Parser[0];
-               return ParserGroup
-                       .create()
-                       .append((Object[])x)
-                       .apply(ps)
-                       .build();
+
+               g = BeanFactory.of(beanFactory, resource)
+                       .addBean(ParserGroup.class, g)
+                       .createBeanViaMethod(ParserGroup.class, resource, 
"createParsers", g, Method.class);
+               g = BeanFactory.of(beanFactory, resource)
+                       .addBean(ParserGroup.class, g)
+                       .createBeanViaMethod(ParserGroup.class, resource, 
"createParsers", g);
+
+               return g;
        }
 
        /**

Reply via email to