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 deacec0bea Clean up juneau-rest-server
deacec0bea is described below

commit deacec0bea68e7d26599822e6dccafcb2b86b56e
Author: James Bognar <[email protected]>
AuthorDate: Mon Jan 5 14:18:47 2026 -0500

    Clean up juneau-rest-server
---
 .../java/org/apache/juneau/cp/BasicBeanStore.java  |  26 ++--
 .../apache/juneau/cp/BeanCreateMethodFinder.java   |   4 +-
 .../java/org/apache/juneau/cp/BeanCreator.java     |  12 +-
 .../java/org/apache/juneau/rest/RestContext.java   |  12 +-
 .../apache/juneau/rest/stats/MethodInvoker.java    |   6 +-
 .../java/org/apache/juneau/cp/BeanStore_Test.java  | 168 ++++++++++-----------
 6 files changed, 119 insertions(+), 109 deletions(-)

diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/BasicBeanStore.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/BasicBeanStore.java
index 5529c10799..82631798e7 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/BasicBeanStore.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/BasicBeanStore.java
@@ -440,15 +440,15 @@ public class BasicBeanStore {
         * @param executable The constructor or method to get the params for.
         * @return A comma-delimited list of types that are missing from this 
factory, or <jk>null</jk> if none are missing.
         */
-       public String getMissingParams(ExecutableInfo executable) {
+       public String getMissingParams(ExecutableInfo executable, Object outer) 
{
                var params = executable.getParameters();
                List<String> l = list();
                loop: for (int i = 0; i < params.size(); i++) {
                        var pi = params.get(i);
                        var pt = pi.getParameterType();
-                       if (i == 0 && outer.isPresent() && 
pt.isInstance(outer.get()))
+                       if (i == 0 && nn(outer) && pt.isInstance(outer))
                                continue loop;
-                       if (pt.is(Optional.class) || 
pt.is(BasicBeanStore.class))
+                       if (pt.is(Optional.class))
                                continue loop;
                        var beanName = pi.getResolvedQualifier();  // Use 
@Named for bean injection
                        var ptc = pt.inner();
@@ -466,15 +466,19 @@ public class BasicBeanStore {
         * @param executable The constructor or method to get the params for.
         * @return The corresponding beans in this factory for the specified 
param types.
         */
-       public Object[] getParams(ExecutableInfo executable) {
+       public Object[] getParams(ExecutableInfo executable, Object outer) {
                var o = new Object[executable.getParameterCount()];
                for (var i = 0; i < executable.getParameterCount(); i++) {
                        var pi = executable.getParameter(i);
                        var pt = pi.getParameterType();
-                       var beanQualifier = pi.getResolvedQualifier();
-                       var ptc = pt.unwrap(Optional.class).inner();
-                       var o2 = beanQualifier == null ? getBean(ptc) : 
getBean(ptc, beanQualifier);
-                       o[i] = pt.is(Optional.class) ? o2 : o2.orElse(null);
+                       if (i == 0 && nn(outer) && pt.isInstance(outer)) {
+                               o[i] = outer;
+                       } else {
+                               var beanQualifier = pi.getResolvedQualifier();
+                               var ptc = pt.unwrap(Optional.class).inner();
+                               var o2 = beanQualifier == null ? getBean(ptc) : 
getBean(ptc, beanQualifier);
+                               o[i] = pt.is(Optional.class) ? o2 : 
o2.orElse(null);
+                       }
                }
                return o;
        }
@@ -485,13 +489,13 @@ public class BasicBeanStore {
         * @param executable The constructor or method to get the params for.
         * @return A comma-delimited list of types that are missing from this 
factory.
         */
-       public boolean hasAllParams(ExecutableInfo executable) {
+       public boolean hasAllParams(ExecutableInfo executable, Object outer) {
                loop: for (int i = 0; i < executable.getParameterCount(); i++) {
                        var pi = executable.getParameter(i);
                        var pt = pi.getParameterType();
-                       if (i == 0 && outer.isPresent() && 
pt.isInstance(outer.get()))
+                       if (i == 0 && nn(outer) && pt.isInstance(outer))
                                continue loop;
-                       if (pt.is(Optional.class) || 
pt.is(BasicBeanStore.class))
+                       if (pt.is(Optional.class))
                                continue loop;
                        var beanQualifier = pi.getResolvedQualifier();
                        var ptc = pt.inner();
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/BeanCreateMethodFinder.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/BeanCreateMethodFinder.java
index 5b9ea84f20..9d39147e01 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/BeanCreateMethodFinder.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/BeanCreateMethodFinder.java
@@ -148,11 +148,11 @@ public class BeanCreateMethodFinder<T> {
                                        && x.hasReturnType(beanType)
                                        && ! x.hasAnnotation(BeanIgnore.class)
                                        && filter.test(x)
-                                       && beanStore.hasAllParams(x)
+                                       && beanStore.hasAllParams(x, resource)
                                        && (x.isStatic() || nn(resource))
                        ).ifPresent(m -> {
                                method = m;
-                               args = beanStore.getParams(m);
+                               args = beanStore.getParams(m, resource);
                        });
                }
                return this;
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/BeanCreator.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/BeanCreator.java
index 5134fd632a..f367df6c79 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/BeanCreator.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/BeanCreator.java
@@ -157,6 +157,7 @@ public class BeanCreator<T> {
        private ClassInfo type;
        private Object builder;
        private T impl;
+       private Object outer;
 
        private boolean silent;
 
@@ -171,6 +172,11 @@ public class BeanCreator<T> {
                this.store = BasicBeanStore.of(store, store.outer.orElse(null));
        }
 
+       public BeanCreator<T> outer(Object outer) {
+               this.outer = outer;
+               return this;
+       }
+
        /**
         * Adds an argument to this creator.
         *
@@ -409,15 +415,15 @@ public class BeanCreator<T> {
        }
 
        private String getMissingParams(ExecutableInfo ei) {
-               return store.getMissingParams(ei);
+               return store.getMissingParams(ei, outer);
        }
 
        private Object[] getParams(ExecutableInfo ei) {
-               return store.getParams(ei);
+               return store.getParams(ei, outer);
        }
 
        private boolean hasAllParams(ExecutableInfo ei) {
-               return store.hasAllParams(ei);
+               return store.hasAllParams(ei, outer);
        }
 
        private boolean isStaticCreateMethod(MethodInfo m) {
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 cdf5143832..2475a39919 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
@@ -3814,10 +3814,10 @@ public class RestContext extends Context {
                        // @formatter:on
 
                        for (var m : map.values()) {
-                               if (! beanStore.hasAllParams(m))
-                                       throw servletException("Could not call 
@RestInit method {0}.{1}.  Could not find prerequisites: {2}.", 
cns(m.getDeclaringClass()), m.getSignature(), beanStore.getMissingParams(m));
+                               if (! beanStore.hasAllParams(m, r))
+                                       throw servletException("Could not call 
@RestInit method {0}.{1}.  Could not find prerequisites: {2}.", 
cns(m.getDeclaringClass()), m.getSignature(), beanStore.getMissingParams(m, r));
                                try {
-                                       m.invoke(r, beanStore.getParams(m));
+                                       m.invoke(r, beanStore.getParams(m, r));
                                } catch (Exception e) {
                                        throw servletException(e, "Exception 
thrown from @RestInit method {0}.{1}.", cns(m.getDeclaringClass()), 
m.getSignature());
                                }
@@ -4637,12 +4637,12 @@ public class RestContext extends Context {
 
                                                beanStore = 
BasicBeanStore.of(beanStore, 
resource.get()).addBean(RestOpContext.Builder.class, rocb);
                                                for (var m : initMap.values()) {
-                                                       if (! 
beanStore.hasAllParams(m)) {
+                                                       if (! 
beanStore.hasAllParams(m, resource.get())) {
                                                                throw 
servletException("Could not call @RestInit method {0}.{1}.  Could not find 
prerequisites: {2}.", cns(m.getDeclaringClass()), m.getSignature(),
-                                                                       
beanStore.getMissingParams(m));
+                                                                       
beanStore.getMissingParams(m, resource.get()));
                                                        }
                                                        try {
-                                                               
m.invoke(resource.get(), beanStore.getParams(m));
+                                                               
m.invoke(resource.get(), beanStore.getParams(m, resource.get()));
                                                        } catch (Exception e) {
                                                                throw 
servletException(e, "Exception thrown from @RestInit method {0}.{1}.", 
cns(m.getDeclaringClass()), m.getSignature());
                                                        }
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/stats/MethodInvoker.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/stats/MethodInvoker.java
index 7a706fd054..1c4976a15b 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/stats/MethodInvoker.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/stats/MethodInvoker.java
@@ -82,9 +82,9 @@ public class MethodInvoker {
         * @throws InvocationTargetException If method threw an exception.
         */
        public Object invoke(BasicBeanStore beanStore, Object o) throws 
IllegalAccessException, IllegalArgumentException, InvocationTargetException {
-               if (beanStore.hasAllParams(m))
-                       return invoke(o, beanStore.getParams(m));
-               throw illegalArg("Could not find prerequisites to invoke method 
''{0}'': {1}", getFullName(), beanStore.getMissingParams(m));
+               if (beanStore.hasAllParams(m, o))
+                       return invoke(o, beanStore.getParams(m, o));
+               throw illegalArg("Could not find prerequisites to invoke method 
''{0}'': {1}", getFullName(), beanStore.getMissingParams(m, o));
        }
 
        /**
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/cp/BeanStore_Test.java 
b/juneau-utest/src/test/java/org/apache/juneau/cp/BeanStore_Test.java
index 43d8089985..9e7d8846bd 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/cp/BeanStore_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/cp/BeanStore_Test.java
@@ -282,97 +282,97 @@ class BeanStore_Test extends TestBase {
 
                for (var b : array(b1p, b1c, b2p, b2c)) {
                        for (var e : array(c1, m1, m3)) {
-                               assertString(A1n, b.getMissingParams(e));
-                               assertFalse(b.hasAllParams(e));
+                               assertString(A1n, b.getMissingParams(e, outer));
+                               assertFalse(b.hasAllParams(e, outer));
                        }
                        for (var e : array(c2, m2)) {
-                               assertString(A1n+"@foo", b.getMissingParams(e));
-                               assertFalse(b.hasAllParams(e));
+                               assertString(A1n+"@foo", b.getMissingParams(e, 
outer));
+                               assertFalse(b.hasAllParams(e, outer));
                        }
                }
 
                for (var b : array(b1p, b1c, b2p, b2c)) {
-                       assertList(b.getParams(c1), pNull, pEmptyOptional, 
pIsBeanStore);
-                       assertList(b.getParams(c2), pNull, pEmptyOptional);
-                       assertList(b.getParams(m1), pNull, pEmptyOptional, 
pIsBeanStore);
-                       assertList(b.getParams(m2), pNull, pEmptyOptional);
-                       assertList(b.getParams(m3), pNull, pEmptyOptional, 
pIsBeanStore);
+                       assertList(b.getParams(c1, outer), pNull, 
pEmptyOptional, pIsBeanStore);
+                       assertList(b.getParams(c2, outer), pNull, 
pEmptyOptional);
+                       assertList(b.getParams(m1, outer), pNull, 
pEmptyOptional, pIsBeanStore);
+                       assertList(b.getParams(m2, outer), pNull, 
pEmptyOptional);
+                       assertList(b.getParams(m3, outer), pNull, 
pEmptyOptional, pIsBeanStore);
                }
 
                b1p.add(A1.class, a1a);
                b2p.add(A1.class, a1a);
                for (var b : array(b1p, b1c, b2p, b2c)) {
-                       assertNull(b.getMissingParams(c1));
-                       assertString(A1n+"@foo", b.getMissingParams(c2));
-                       assertNull(b.getMissingParams(m1));
-                       assertString(A1n+"@foo", b.getMissingParams(m2));
-                       assertNull(b.getMissingParams(m3));
-                       assertTrue(b.hasAllParams(c1));
-                       assertFalse(b.hasAllParams(c2));
-                       assertTrue(b.hasAllParams(m1));
-                       assertFalse(b.hasAllParams(m2));
-                       assertTrue(b.hasAllParams(m3));
-                       assertList(b.getParams(c1), pA1a, pEmptyOptional, 
pIsBeanStore);
-                       assertList(b.getParams(c2), pNull, pEmptyOptional);
-                       assertList(b.getParams(m1), pA1a, pEmptyOptional, 
pIsBeanStore);
-                       assertList(b.getParams(m2), pNull, pEmptyOptional);
-                       assertList(b.getParams(m3), pA1a, pEmptyOptional, 
pIsBeanStore);
+                       assertNull(b.getMissingParams(c1, outer));
+                       assertString(A1n+"@foo", b.getMissingParams(c2, outer));
+                       assertNull(b.getMissingParams(m1, outer));
+                       assertString(A1n+"@foo", b.getMissingParams(m2, outer));
+                       assertNull(b.getMissingParams(m3, outer));
+                       assertTrue(b.hasAllParams(c1, outer));
+                       assertFalse(b.hasAllParams(c2, outer));
+                       assertTrue(b.hasAllParams(m1, outer));
+                       assertFalse(b.hasAllParams(m2, outer));
+                       assertTrue(b.hasAllParams(m3, outer));
+                       assertList(b.getParams(c1, outer), pA1a, 
pEmptyOptional, pIsBeanStore);
+                       assertList(b.getParams(c2, outer), pNull, 
pEmptyOptional);
+                       assertList(b.getParams(m1, outer), pA1a, 
pEmptyOptional, pIsBeanStore);
+                       assertList(b.getParams(m2, outer), pNull, 
pEmptyOptional);
+                       assertList(b.getParams(m3, outer), pA1a, 
pEmptyOptional, pIsBeanStore);
                }
 
                b1p.add(A1.class, a1a, "foo");
                b2p.add(A1.class, a1a, "foo");
                for (var b : array(b1p, b1c, b2p, b2c)) {
                        for (var e : array(c1, c2, m1, m2, m3)) {
-                               assertNull(b.getMissingParams(e));
-                               assertTrue(b.hasAllParams(e));
+                               assertNull(b.getMissingParams(e, outer));
+                               assertTrue(b.hasAllParams(e, outer));
                        }
-                       assertList(b.getParams(c1), pA1a, pEmptyOptional, 
pIsBeanStore);
-                       assertList(b.getParams(c2), pA1a, pEmptyOptional);
-                       assertList(b.getParams(m1), pA1a, pEmptyOptional, 
pIsBeanStore);
-                       assertList(b.getParams(m2), pA1a, pEmptyOptional);
-                       assertList(b.getParams(m3), pA1a, pEmptyOptional, 
pIsBeanStore);
+                       assertList(b.getParams(c1, outer), pA1a, 
pEmptyOptional, pIsBeanStore);
+                       assertList(b.getParams(c2, outer), pA1a, 
pEmptyOptional);
+                       assertList(b.getParams(m1, outer), pA1a, 
pEmptyOptional, pIsBeanStore);
+                       assertList(b.getParams(m2, outer), pA1a, 
pEmptyOptional);
+                       assertList(b.getParams(m3, outer), pA1a, 
pEmptyOptional, pIsBeanStore);
                }
 
                b1p.add(A1.class, a1b, "bar");
                b2p.add(A1.class, a1b, "bar");
                for (var b : array(b1p, b1c, b2p, b2c)) {
                        for (var e : array(c1, c2, m1, m2, m3)) {
-                               assertNull(b.getMissingParams(e));
-                               assertTrue(b.hasAllParams(e));
+                               assertNull(b.getMissingParams(e, outer));
+                               assertTrue(b.hasAllParams(e, outer));
                        }
-                       assertList(b.getParams(c1), pA1a, pEmptyOptional, 
pIsBeanStore);
-                       assertList(b.getParams(c2), pA1a, pEmptyOptional);
-                       assertList(b.getParams(m1), pA1a, pEmptyOptional, 
pIsBeanStore);
-                       assertList(b.getParams(m2), pA1a, pEmptyOptional);
-                       assertList(b.getParams(m3), pA1a, pEmptyOptional, 
pIsBeanStore);
+                       assertList(b.getParams(c1, outer), pA1a, 
pEmptyOptional, pIsBeanStore);
+                       assertList(b.getParams(c2, outer), pA1a, 
pEmptyOptional);
+                       assertList(b.getParams(m1, outer), pA1a, 
pEmptyOptional, pIsBeanStore);
+                       assertList(b.getParams(m2, outer), pA1a, 
pEmptyOptional);
+                       assertList(b.getParams(m3, outer), pA1a, 
pEmptyOptional, pIsBeanStore);
                }
 
                b1p.add(A2.class, a2a, "bar");
                b2p.add(A2.class, a2a, "bar");
                for (var b : array(b1p, b1c, b2p, b2c)) {
                        for (var e : array(c1, c2, m1, m2, m3)) {
-                               assertNull(b.getMissingParams(e));
-                               assertTrue(b.hasAllParams(e));
+                               assertNull(b.getMissingParams(e, outer));
+                               assertTrue(b.hasAllParams(e, outer));
                        }
-                       assertList(b.getParams(c1), pA1a, pEmptyOptional, 
pIsBeanStore);
-                       assertList(b.getParams(c2), pA1a, pA2a);
-                       assertList(b.getParams(m1), pA1a, pEmptyOptional, 
pIsBeanStore);
-                       assertList(b.getParams(m2), pA1a, pA2a);
-                       assertList(b.getParams(m3), pA1a, pEmptyOptional, 
pIsBeanStore);
+                       assertList(b.getParams(c1, outer), pA1a, 
pEmptyOptional, pIsBeanStore);
+                       assertList(b.getParams(c2, outer), pA1a, pA2a);
+                       assertList(b.getParams(m1, outer), pA1a, 
pEmptyOptional, pIsBeanStore);
+                       assertList(b.getParams(m2, outer), pA1a, pA2a);
+                       assertList(b.getParams(m3, outer), pA1a, 
pEmptyOptional, pIsBeanStore);
                }
 
                b1p.add(A2.class, a2a, null);
                b2p.add(A2.class, a2a, null);
                for (var b : array(b1p, b1c, b2p, b2c)) {
                        for (var e : array(c1, c2, m1, m2, m3)) {
-                               assertNull(b.getMissingParams(e));
-                               assertTrue(b.hasAllParams(e));
+                               assertNull(b.getMissingParams(e, outer));
+                               assertTrue(b.hasAllParams(e, outer));
                        }
-                       assertList(b.getParams(c1), pA1a, pA2a, pIsBeanStore);
-                       assertList(b.getParams(c2), pA1a, pA2a);
-                       assertList(b.getParams(m1), pA1a, pA2a, pIsBeanStore);
-                       assertList(b.getParams(m2), pA1a, pA2a);
-                       assertList(b.getParams(m3), pA1a, pA2a, pIsBeanStore);
+                       assertList(b.getParams(c1, outer), pA1a, pA2a, 
pIsBeanStore);
+                       assertList(b.getParams(c2, outer), pA1a, pA2a);
+                       assertList(b.getParams(m1, outer), pA1a, pA2a, 
pIsBeanStore);
+                       assertList(b.getParams(m2, outer), pA1a, pA2a);
+                       assertList(b.getParams(m3, outer), pA1a, pA2a, 
pIsBeanStore);
                }
        }
 
@@ -412,70 +412,70 @@ class BeanStore_Test extends TestBase {
                var c2 = ci.getPublicConstructor(x -> 
x.hasParameterTypes(BeanStore_Test.class, A1.class, Optional.class)).get();
 
                for (var b : array(b1p, b1c, b2p, b2c)) {
-                       assertString(A1n, b.getMissingParams(c1));
-                       assertString(A1n+"@foo", b.getMissingParams(c2));
-                       assertFalse(b.hasAllParams(c1));
-                       assertFalse(b.hasAllParams(c2));
+                       assertString(A1n, b.getMissingParams(c1, this));
+                       assertString(A1n+"@foo", b.getMissingParams(c2, this));
+                       assertFalse(b.hasAllParams(c1, this));
+                       assertFalse(b.hasAllParams(c2, this));
                }
 
                for (var b : array(b1p, b1c, b2p, b2c)) {
-                       assertList(b.getParams(c1), pThis, pNull, 
pEmptyOptional, pIsBeanStore);
-                       assertList(b.getParams(c2), pThis, pNull, 
pEmptyOptional);
+                       assertList(b.getParams(c1, this), pThis, pNull, 
pEmptyOptional, pIsBeanStore);
+                       assertList(b.getParams(c2, this), pThis, pNull, 
pEmptyOptional);
                }
 
                b1p.add(A1.class, a1a);
                b2p.add(A1.class, a1a);
                for (var b : array(b1p, b1c, b2p, b2c)) {
-                       assertNull(b.getMissingParams(c1));
-                       assertString(A1n+"@foo", b.getMissingParams(c2));
-                       assertTrue(b.hasAllParams(c1));
-                       assertFalse(b.hasAllParams(c2));
-                       assertList(b.getParams(c1), pThis, pA1a, 
pEmptyOptional, pIsBeanStore);
-                       assertList(b.getParams(c2), pThis, pNull, 
pEmptyOptional);
+                       assertNull(b.getMissingParams(c1, this));
+                       assertString(A1n+"@foo", b.getMissingParams(c2, this));
+                       assertTrue(b.hasAllParams(c1, this));
+                       assertFalse(b.hasAllParams(c2, this));
+                       assertList(b.getParams(c1, this), pThis, pA1a, 
pEmptyOptional, pIsBeanStore);
+                       assertList(b.getParams(c2, this), pThis, pNull, 
pEmptyOptional);
                }
 
                b1p.add(A1.class, a1a, "foo");
                b2p.add(A1.class, a1a, "foo");
                for (var b : array(b1p, b1c, b2p, b2c)) {
                        for (var e : array(c1, c2)) {
-                               assertNull(b.getMissingParams(e));
-                               assertTrue(b.hasAllParams(e));
+                               assertNull(b.getMissingParams(e, this));
+                               assertTrue(b.hasAllParams(e, this));
                        }
-                       assertList(b.getParams(c1), pThis, pA1a, 
pEmptyOptional, pIsBeanStore);
-                       assertList(b.getParams(c2), pThis, pA1a, 
pEmptyOptional);
+                       assertList(b.getParams(c1, this), pThis, pA1a, 
pEmptyOptional, pIsBeanStore);
+                       assertList(b.getParams(c2, this), pThis, pA1a, 
pEmptyOptional);
                }
 
                b1p.add(A1.class, a1b, "bar");
                b2p.add(A1.class, a1b, "bar");
                for (var b : array(b1p, b1c, b2p, b2c)) {
                        for (var e : array(c1, c2)) {
-                               assertNull(b.getMissingParams(e));
-                               assertTrue(b.hasAllParams(e));
+                               assertNull(b.getMissingParams(e, this));
+                               assertTrue(b.hasAllParams(e, this));
                        }
-                       assertList(b.getParams(c1), pThis, pA1a, 
pEmptyOptional, pIsBeanStore);
-                       assertList(b.getParams(c2), pThis, pA1a, 
pEmptyOptional);
+                       assertList(b.getParams(c1, this), pThis, pA1a, 
pEmptyOptional, pIsBeanStore);
+                       assertList(b.getParams(c2, this), pThis, pA1a, 
pEmptyOptional);
                }
 
                b1p.add(A2.class, a2a, "bar");
                b2p.add(A2.class, a2a, "bar");
                for (var b : array(b1p, b1c, b2p, b2c)) {
                        for (var e : array(c1, c2)) {
-                               assertNull(b.getMissingParams(e));
-                               assertTrue(b.hasAllParams(e));
+                               assertNull(b.getMissingParams(e, this));
+                               assertTrue(b.hasAllParams(e, this));
                        }
-                       assertList(b.getParams(c1), pThis, pA1a, 
pEmptyOptional, pIsBeanStore);
-                       assertList(b.getParams(c2), pThis, pA1a, pA2a);
+                       assertList(b.getParams(c1, this), pThis, pA1a, 
pEmptyOptional, pIsBeanStore);
+                       assertList(b.getParams(c2, this), pThis, pA1a, pA2a);
                }
 
                b1p.add(A2.class, a2a, null);
                b2p.add(A2.class, a2a, null);
                for (var b : array(b1p, b1c, b2p, b2c)) {
                        for (var e : array(c1, c2)) {
-                               assertNull(b.getMissingParams(e));
-                               assertTrue(b.hasAllParams(e));
+                               assertNull(b.getMissingParams(e, this));
+                               assertTrue(b.hasAllParams(e, this));
                        }
-                       assertList(b.getParams(c1), pThis, pA1a, pA2a, 
pIsBeanStore);
-                       assertList(b.getParams(c2), pThis, pA1a, pA2a);
+                       assertList(b.getParams(c1, this), pThis, pA1a, pA2a, 
pIsBeanStore);
+                       assertList(b.getParams(c2, this), pThis, pA1a, pA2a);
                }
        }
 
@@ -536,9 +536,9 @@ class BeanStore_Test extends TestBase {
 
        @Test void d01_createBean_basic() {
                var bs = BasicBeanStore.create().outer(new 
BeanStore_Test()).build();
-               assertNotNull(BeanCreator.of(D1a.class, bs).run());
-               assertNotNull(BeanCreator.of(D1b.class, bs).run());
-               assertThrows(IllegalArgumentException.class, () -> 
BeanCreator.of(null, bs).run());
+               assertNotNull(BeanCreator.of(D1a.class, bs).outer(this).run());
+               assertNotNull(BeanCreator.of(D1b.class, bs).outer(this).run());
+               assertThrows(IllegalArgumentException.class, () -> 
BeanCreator.of(null, bs).outer(this).run());
        }
 
        public static class D2 {
@@ -734,7 +734,7 @@ class BeanStore_Test extends TestBase {
        }
 
        @Test void d15_createBean_constructors_namedBean_withOuter() {
-               var bs = BasicBeanStore.create().outer(new 
BeanStore_Test()).build();
+               var bs = 
BasicBeanStore.create().build().addBean(BeanStore_Test.class, new 
BeanStore_Test());
                assertThrowsWithMessage(ExecutableException.class, "Could not 
instantiate class "+D15.class.getName()+": Public constructor found but could 
not find prerequisites: Integer,String@foo or String@foo.", 
()->BeanCreator.of(D15.class, bs).run());
                bs.add(String.class, "bar", "foo");
                assertString("bar", BeanCreator.of(D15.class, bs).run().a);

Reply via email to