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);