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

commit 5747a3c9f92f2bb58c527f2904aaf65f9fc10987
Author: James Bognar <[email protected]>
AuthorDate: Mon Jan 5 10:24:47 2026 -0500

    Clean up juneau-rest-server
---
 .../juneau/commons/utils/PredicateUtils.java       |   6 +
 .../apache/juneau/cp/BeanCreateMethodFinder.java   |  72 +---
 .../main/java/org/apache/juneau/cp/BeanStore.java  |  48 ---
 .../juneau/rest/springboot/SpringBeanStore.java    |  26 --
 .../java/org/apache/juneau/rest/RestContext.java   |  82 +++--
 .../java/org/apache/juneau/cp/BeanStore_Test.java  | 367 ++++-----------------
 .../rest/springboot/SpringBeanStore_Test.java      |  33 --
 7 files changed, 111 insertions(+), 523 deletions(-)

diff --git 
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/utils/PredicateUtils.java
 
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/utils/PredicateUtils.java
index 542ade7fb4..808dde66d5 100644
--- 
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/utils/PredicateUtils.java
+++ 
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/utils/PredicateUtils.java
@@ -16,6 +16,7 @@
  */
 package org.apache.juneau.commons.utils;
 
+import java.util.concurrent.*;
 import java.util.function.*;
 
 /**
@@ -98,5 +99,10 @@ public final class PredicateUtils {
                return (predicate == null || predicate.test(value));
        }
 
+       public static <T> Predicate<T> distinctByKey(Function<? super T, ?> 
keyExtractor) {
+           var seen = ConcurrentHashMap.newKeySet();
+           return t -> seen.add(keyExtractor.apply(t));
+       }
+
        private PredicateUtils() {}
 }
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 e0ac9200d9..ff133d11f8 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
@@ -90,8 +90,6 @@ public class BeanCreateMethodFinder<T> {
        private MethodInfo method;
        private Object[] args;
 
-       private Supplier<T> def = () -> null;
-
        BeanCreateMethodFinder(Class<T> beanType, Class<?> resourceClass, 
BeanStore beanStore) {
                this.beanType = assertArgNotNull("beanType", beanType);
                this.resource = null;
@@ -145,14 +143,14 @@ public class BeanCreateMethodFinder<T> {
         */
        public BeanCreateMethodFinder<T> find(Predicate<MethodInfo> filter) {
                // @formatter:off
-       if (method == null) {
-               info(resourceClass).getPublicMethod(
-                       x -> x.isNotDeprecated()
-                               && x.hasReturnType(beanType)
-                               && ! x.hasAnnotation(BeanIgnore.class)
-                               && filter.test(x)
-                               && beanStore.hasAllParams(x)
-                               && (x.isStatic() || nn(resource))
+               if (method == null) {
+                       info(resourceClass).getPublicMethod(
+                               x -> x.isNotDeprecated()
+                                       && x.hasReturnType(beanType)
+                                       && ! x.hasAnnotation(BeanIgnore.class)
+                                       && filter.test(x)
+                                       && beanStore.hasAllParams(x)
+                                       && (x.isStatic() || nn(resource))
                        ).ifPresent(m -> {
                                method = m;
                                args = beanStore.getParams(m);
@@ -162,16 +160,6 @@ public class BeanCreateMethodFinder<T> {
                // @formatter:on
        }
 
-       /**
-        * Shortcut for calling <c>find(<jv>x</jv> -&gt; 
<jv>x</jv>.hasName(<jv>methodName</jv>))</c>.
-        *
-        * @param methodName The method name to match.
-        * @return This object.
-        */
-       public BeanCreateMethodFinder<T> find(String methodName) {
-               return find(x -> x.hasName(methodName));
-       }
-
        /**
         * Executes the matched method and returns the result.
         *
@@ -182,7 +170,7 @@ public class BeanCreateMethodFinder<T> {
        public T run() throws ExecutableException {
                if (nn(method))
                        return (T)method.invoke(resource, args);
-               return def.get();
+               return null;
        }
 
        /**
@@ -198,46 +186,4 @@ public class BeanCreateMethodFinder<T> {
                        consumer.accept(t);
                return t;
        }
-
-       /**
-        * Identical to {@link #find(Predicate)} but named for fluent-style 
calls.
-        *
-        * @param filter The predicate to apply.
-        * @return This object.
-        */
-       public BeanCreateMethodFinder<T> thenFind(Predicate<MethodInfo> filter) 
{
-               return find(filter);
-       }
-
-       /**
-        * Identical to {@link #find(Predicate)} but named for fluent-style 
calls.
-        *
-        * @param methodName The method name to match.
-        * @return This object.
-        */
-       public BeanCreateMethodFinder<T> thenFind(String methodName) {
-               return find(methodName);
-       }
-
-       /**
-        * A default value to return if no matching methods were found.
-        *
-        * @param def The default value.
-        * @return This object.
-        */
-       public BeanCreateMethodFinder<T> withDefault(Supplier<T> def) {
-               assertArgNotNull("def", def);
-               this.def = def;
-               return this;
-       }
-
-       /**
-        * A default value to return if no matching methods were found.
-        *
-        * @param def The default value.  Can be <jk>null</jk>.
-        * @return This object.
-        */
-       public BeanCreateMethodFinder<T> withDefault(T def) {
-               return withDefault(() -> def);
-       }
 }
\ No newline at end of file
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/BeanStore.java 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/BeanStore.java
index d1de10eeba..f4f8765124 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/BeanStore.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/BeanStore.java
@@ -584,54 +584,6 @@ public class BeanStore {
                return entries.stream().anyMatch(x -> x.matches(beanType, 
name)) || parent.map(x -> x.hasBean(beanType, name)).orElse(false);
        }
 
-       /**
-        * Removes an unnamed bean from this store.
-        *
-        * @param beanType The bean type being removed.
-        * @return This object.
-        */
-       public BeanStore removeBean(Class<?> beanType) {
-               return removeBean(beanType, null);
-       }
-
-       /**
-        * Removes a named bean from this store.
-        *
-        * @param beanType The bean type being removed.
-        * @param name The bean name to remove.
-        * @return This object.
-        */
-       public BeanStore removeBean(Class<?> beanType, String name) {
-               assertCanWrite();
-               try (var x = lock.write()) {
-                       if (name == null)
-                               unnamedEntries.remove(beanType);
-                       entries.removeIf(y -> y.matches(beanType, name));
-               }
-               return this;
-       }
-
-       /**
-        * Returns all the beans in this store of the specified type.
-        *
-        * <p>
-        * Returns both named and unnamed beans.
-        *
-        * <p>
-        * The results from the parent bean store are appended to the list of 
beans from this beans store.
-        *
-        * @param <T> The bean type to return.
-        * @param beanType The bean type to return.
-        * @return The bean entries.  Never <jk>null</jk>.
-        */
-       public <T> Stream<BeanStoreEntry<T>> stream(Class<T> beanType) {
-               @SuppressWarnings("unchecked")
-               var s = entries.stream().filter(x -> x.matches(beanType)).map(x 
-> (BeanStoreEntry<T>)x);
-               if (parent.isPresent())
-                       s = Stream.concat(s, parent.get().stream(beanType));
-               return s;
-       }
-
        protected FluentMap<String,Object> properties() {
                // @formatter:off
                return filteredBeanPropertyMap()
diff --git 
a/juneau-rest/juneau-rest-server-springboot/src/main/java/org/apache/juneau/rest/springboot/SpringBeanStore.java
 
b/juneau-rest/juneau-rest-server-springboot/src/main/java/org/apache/juneau/rest/springboot/SpringBeanStore.java
index 9e162d5d4b..497349a275 100644
--- 
a/juneau-rest/juneau-rest-server-springboot/src/main/java/org/apache/juneau/rest/springboot/SpringBeanStore.java
+++ 
b/juneau-rest/juneau-rest-server-springboot/src/main/java/org/apache/juneau/rest/springboot/SpringBeanStore.java
@@ -85,30 +85,4 @@ public class SpringBeanStore extends BeanStore {
                }
                return opte();
        }
-
-       @Override /* Overridden from BeanStore */
-       public SpringBeanStore removeBean(Class<?> beanType) {
-               super.removeBean(beanType);
-               return this;
-       }
-
-       @Override /* Overridden from BeanStore */
-       public SpringBeanStore removeBean(Class<?> beanType, String name) {
-               super.removeBean(beanType, name);
-               return this;
-       }
-
-       @SuppressWarnings("unchecked")
-       @Override
-       public <T> Stream<BeanStoreEntry<T>> stream(Class<T> c) {
-               try {
-                       var o = super.stream(c);
-                       if (appContext.isPresent())
-                               o = Stream.concat(o, 
appContext.get().getBeansOfType(c).entrySet().stream().map(x -> 
BeanStoreEntry.create(c, () -> x.getValue(), x.getKey())));
-                       return o;
-               } catch (Exception e) {
-                       e.printStackTrace();
-               }
-               return Collections.emptyList().stream().map(x -> 
(BeanStoreEntry<T>)x);
-       }
 }
\ No newline at end of file
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 8419074291..53255d74f1 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
@@ -22,6 +22,7 @@ import static 
org.apache.juneau.commons.reflect.ReflectionUtils.*;
 import static org.apache.juneau.commons.utils.AssertionUtils.*;
 import static org.apache.juneau.commons.utils.ClassUtils.*;
 import static org.apache.juneau.commons.utils.CollectionUtils.*;
+import static org.apache.juneau.commons.utils.PredicateUtils.*;
 import static org.apache.juneau.commons.utils.IoUtils.*;
 import static org.apache.juneau.commons.utils.StringUtils.*;
 import static org.apache.juneau.commons.utils.Utils.*;
@@ -199,23 +200,20 @@ public class RestContext extends Context {
                
//-----------------------------------------------------------------------------------------------------------------
 
                private static <T extends Annotation> Stream<Method> 
getAnnotatedMethods(Supplier<?> resource, Class<T> annotation) {
-                       var r = resource.get();
-                       var seen = new LinkedHashSet<String>();
-
-                       return 
ClassInfo.ofProxy(r).getAllMethodsTopDown().stream()
+                       return 
ClassInfo.ofProxy(resource.get()).getAllMethodsTopDown().stream()
                                .filter(y -> y.hasAnnotation(annotation))
-                               .filter(y -> seen.add(y.getSignature()))
+                               .filter(distinctByKey(MethodInfo::getSignature))
                                .map(y -> y.accessible().inner());
                }
 
-               private static boolean isRestBeanMethod(MethodInfo mi) {
-                       return isRestBeanMethod(mi, null);
+               private static boolean isRestInjectMethod(MethodInfo mi) {
+                       return isRestInjectMethod(mi, null);
                }
 
-               private static boolean isRestBeanMethod(MethodInfo mi, String 
name) {
+               private static boolean isRestInjectMethod(MethodInfo mi, String 
name) {
                        return mi.getAnnotations(RestInject.class)
                                .map(AnnotationInfo::inner)
-                               .filter(x -> nn(x) && x.methodScope().length == 
0 && (name == null || x.name().equals(name)))
+                               .filter(x -> nn(x) && x.methodScope().length == 
0 && (n(name) || eq(x.name(), name)))
                                .findFirst()
                                .isPresent();
                }
@@ -1810,7 +1808,7 @@ public class RestContext extends Context {
                                        // @formatter:off
                                        beanStore
                                                .createMethodFinder(rt)
-                                               .find(Builder::isRestBeanMethod)
+                                               
.find(Builder::isRestInjectMethod)
                                                .run(y -> beanStore.add(rt, y, 
name));
                                        // @formatter:on
                                }
@@ -3881,7 +3879,7 @@ public class RestContext extends Context {
                        // @formatter:off
                        v.get().build()
                                .createMethodFinder(BeanStore.class)
-                               .find(Builder::isRestBeanMethod)
+                               .find(Builder::isRestInjectMethod)
                                .run(x -> v.get().impl(x));
                        // @formatter:on
 
@@ -3911,7 +3909,7 @@ public class RestContext extends Context {
                        beanStore.getBean(CallLogger.class).ifPresent(x -> 
creator.impl(x));
 
                        // Replace with bean from:  @RestInject public [static] 
CallLogger xxx(<args>)
-                       
beanStore.createMethodFinder(CallLogger.class).find(Builder::isRestBeanMethod).run(x
 -> creator.impl(x));
+                       
beanStore.createMethodFinder(CallLogger.class).find(Builder::isRestInjectMethod).run(x
 -> creator.impl(x));
 
                        return creator;
                }
@@ -3958,7 +3956,7 @@ public class RestContext extends Context {
                        beanStore.getBean(Config.class).ifPresent(x -> 
v.set(x));
 
                        // Replace with bean from:  @RestInject public [static] 
Config xxx(<args>)
-                       
beanStore.createMethodFinder(Config.class).addBean(Config.class, 
v.get()).find(Builder::isRestBeanMethod).run(x -> v.set(x));
+                       
beanStore.createMethodFinder(Config.class).addBean(Config.class, 
v.get()).find(Builder::isRestInjectMethod).run(x -> v.set(x));
 
                        return v.get();
                }
@@ -3982,7 +3980,7 @@ public class RestContext extends Context {
                        beanStore.getBean(DebugEnablement.class).ifPresent(x -> 
creator.impl(x));
 
                        // Replace with bean from:  @RestInject public [static] 
DebugEnablement xxx(<args>)
-                       
beanStore.createMethodFinder(DebugEnablement.class).find(Builder::isRestBeanMethod).run(x
 -> creator.impl(x));
+                       
beanStore.createMethodFinder(DebugEnablement.class).find(Builder::isRestInjectMethod).run(x
 -> creator.impl(x));
 
                        return creator;
                }
@@ -4004,7 +4002,7 @@ public class RestContext extends Context {
                        beanStore.getBean(NamedAttributeMap.class, 
"defaultRequestAttributes").ifPresent(x -> v.set(x));
 
                        // Replace with bean from:  
@RestInject(name="defaultRequestAttributes") public [static] NamedAttributeMap 
xxx(<args>)
-                       
beanStore.createMethodFinder(NamedAttributeMap.class).addBean(NamedAttributeMap.class,
 v.get()).find(x -> isRestBeanMethod(x, "defaultRequestAttributes")).run(x -> 
v.set(x));
+                       
beanStore.createMethodFinder(NamedAttributeMap.class).addBean(NamedAttributeMap.class,
 v.get()).find(x -> isRestInjectMethod(x, "defaultRequestAttributes")).run(x -> 
v.set(x));
 
                        return v.get();
                }
@@ -4027,7 +4025,7 @@ public class RestContext extends Context {
                        beanStore.getBean(HeaderList.class, 
"defaultRequestHeaders").ifPresent(x -> v.set(x));
 
                        // Replace with bean from:  
@RestInject(name="defaultRequestHeaders") public [static] HeaderList xxx(<args>)
-                       
beanStore.createMethodFinder(HeaderList.class).addBean(HeaderList.class, 
v.get()).find(x -> isRestBeanMethod(x, "defaultRequestHeaders")).run(x -> 
v.set(x));
+                       
beanStore.createMethodFinder(HeaderList.class).addBean(HeaderList.class, 
v.get()).find(x -> isRestInjectMethod(x, "defaultRequestHeaders")).run(x -> 
v.set(x));
 
                        return v.get();
                }
@@ -4050,7 +4048,7 @@ public class RestContext extends Context {
                        beanStore.getBean(HeaderList.class, 
"defaultResponseHeaders").ifPresent(x -> v.set(x));
 
                        // Replace with bean from:  
@RestInject(name="defaultResponseHeaders") public [static] HeaderList 
xxx(<args>)
-                       
beanStore.createMethodFinder(HeaderList.class).addBean(HeaderList.class, 
v.get()).find(x -> isRestBeanMethod(x, "defaultResponseHeaders")).run(x -> 
v.set(x));
+                       
beanStore.createMethodFinder(HeaderList.class).addBean(HeaderList.class, 
v.get()).find(x -> isRestInjectMethod(x, "defaultResponseHeaders")).run(x -> 
v.set(x));
 
                        return v.get();
                }
@@ -4070,7 +4068,7 @@ public class RestContext extends Context {
                        var v = 
Value.of(MethodList.of(getAnnotatedMethods(resource, 
RestDestroy.class).collect(Collectors.toList())));
 
                        // Replace with bean from:  
@RestInject(name="destroyMethods") public [static] MethodList xxx(<args>)
-                       
beanStore.createMethodFinder(MethodList.class).addBean(MethodList.class, 
v.get()).find(x -> isRestBeanMethod(x, "destroyMethods")).run(x -> v.set(x));
+                       
beanStore.createMethodFinder(MethodList.class).addBean(MethodList.class, 
v.get()).find(x -> isRestInjectMethod(x, "destroyMethods")).run(x -> v.set(x));
 
                        return v.get();
                }
@@ -4102,7 +4100,7 @@ public class RestContext extends Context {
                        beanStore.getBean(EncoderSet.class).ifPresent(x -> 
v.get().impl(x));
 
                        // Replace with bean from:  @RestInject public [static] 
EncoderSet xxx(<args>)
-                       
beanStore.createMethodFinder(EncoderSet.class).addBean(EncoderSet.Builder.class,
 v.get()).find(Builder::isRestBeanMethod).run(x -> v.get().impl(x));
+                       
beanStore.createMethodFinder(EncoderSet.class).addBean(EncoderSet.Builder.class,
 v.get()).find(Builder::isRestInjectMethod).run(x -> v.get().impl(x));
 
                        return v.get();
                }
@@ -4122,7 +4120,7 @@ public class RestContext extends Context {
                        Value<MethodList> v = 
Value.of(MethodList.of(getAnnotatedMethods(resource, 
RestEndCall.class).collect(Collectors.toList())));
 
                        // Replace with bean from:  
@RestInject(name="endCallMethods") public [static] MethodList xxx(<args>)
-                       
beanStore.createMethodFinder(MethodList.class).addBean(MethodList.class, 
v.get()).find(x -> isRestBeanMethod(x, "endCallMethods")).run(x -> v.set(x));
+                       
beanStore.createMethodFinder(MethodList.class).addBean(MethodList.class, 
v.get()).find(x -> isRestInjectMethod(x, "endCallMethods")).run(x -> v.set(x));
 
                        return v.get();
                }
@@ -4152,7 +4150,7 @@ public class RestContext extends Context {
                        
beanStore.getBean(JsonSchemaGenerator.class).ifPresent(x -> v.get().impl(x));
 
                        // Replace with bean from:  @RestInject public [static] 
JsonSchemaGenerator xxx(<args>)
-                       
beanStore.createMethodFinder(JsonSchemaGenerator.class).addBean(JsonSchemaGenerator.Builder.class,
 v.get()).find(Builder::isRestBeanMethod).run(x -> v.get().impl(x));
+                       
beanStore.createMethodFinder(JsonSchemaGenerator.class).addBean(JsonSchemaGenerator.Builder.class,
 v.get()).find(Builder::isRestInjectMethod).run(x -> v.get().impl(x));
 
                        return v.get();
                }
@@ -4182,7 +4180,7 @@ public class RestContext extends Context {
                        beanStore.getBean(Logger.class).ifPresent(x -> 
v.set(x));
 
                        // Replace with bean from:  @RestInject public [static] 
Logger xxx(<args>)
-                       
beanStore.createMethodFinder(Logger.class).addBean(Logger.class, 
v.get()).find(Builder::isRestBeanMethod).run(x -> v.set(x));
+                       
beanStore.createMethodFinder(Logger.class).addBean(Logger.class, 
v.get()).find(Builder::isRestInjectMethod).run(x -> v.set(x));
 
                        return v.get();
                }
@@ -4209,7 +4207,7 @@ public class RestContext extends Context {
                        beanStore.getBean(Messages.class).ifPresent(x -> 
v.get().impl(x));
 
                        // Replace with bean from:  @RestInject public [static] 
Messages xxx(<args>)
-                       
beanStore.createMethodFinder(Messages.class).addBean(Messages.Builder.class, 
v.get()).find(Builder::isRestBeanMethod).run(x -> v.get().impl(x));
+                       
beanStore.createMethodFinder(Messages.class).addBean(Messages.Builder.class, 
v.get()).find(Builder::isRestInjectMethod).run(x -> v.get().impl(x));
 
                        return v.get();
                }
@@ -4239,7 +4237,7 @@ public class RestContext extends Context {
                        beanStore.getBean(MethodExecStore.class).ifPresent(x -> 
v.get().impl(x));
 
                        // Replace with bean from:  @RestInject public [static] 
MethodExecStore xxx(<args>)
-                       
beanStore.createMethodFinder(MethodExecStore.class).addBean(MethodExecStore.Builder.class,
 v.get()).find(Builder::isRestBeanMethod).run(x -> v.get().impl(x));
+                       
beanStore.createMethodFinder(MethodExecStore.class).addBean(MethodExecStore.Builder.class,
 v.get()).find(Builder::isRestInjectMethod).run(x -> v.get().impl(x));
 
                        return v.get();
                }
@@ -4270,7 +4268,7 @@ public class RestContext extends Context {
                        beanStore.getBean(ParserSet.class).ifPresent(x -> 
v.get().impl(x));
 
                        // Replace with bean from:  @RestInject public [static] 
ParserSet xxx(<args>)
-                       
beanStore.createMethodFinder(ParserSet.class).addBean(ParserSet.Builder.class, 
v.get()).find(Builder::isRestBeanMethod).run(x -> v.get().impl(x));
+                       
beanStore.createMethodFinder(ParserSet.class).addBean(ParserSet.Builder.class, 
v.get()).find(Builder::isRestInjectMethod).run(x -> v.get().impl(x));
 
                        return v.get();
                }
@@ -4306,7 +4304,7 @@ public class RestContext extends Context {
                        defaultClasses().get(HttpPartParser.class).ifPresent(x 
-> v.get().type(x));
 
                        // Replace with bean from:  @RestInject public [static] 
HttpPartParser xxx(<args>)
-                       
beanStore.createMethodFinder(HttpPartParser.class).addBean(HttpPartParser.Creator.class,
 v.get()).find(Builder::isRestBeanMethod).run(x -> v.get().impl(x));
+                       
beanStore.createMethodFinder(HttpPartParser.class).addBean(HttpPartParser.Creator.class,
 v.get()).find(Builder::isRestInjectMethod).run(x -> v.get().impl(x));
 
                        return v.get();
                }
@@ -4342,7 +4340,7 @@ public class RestContext extends Context {
                        
defaultClasses().get(HttpPartSerializer.class).ifPresent(x -> v.get().type(x));
 
                        // Replace with bean from:  @RestInject public [static] 
HttpPartSerializer xxx(<args>)
-                       
beanStore.createMethodFinder(HttpPartSerializer.class).addBean(HttpPartSerializer.Creator.class,
 v.get()).find(Builder::isRestBeanMethod).run(x -> v.get().impl(x));
+                       
beanStore.createMethodFinder(HttpPartSerializer.class).addBean(HttpPartSerializer.Creator.class,
 v.get()).find(Builder::isRestInjectMethod).run(x -> v.get().impl(x));
 
                        return v.get();
                }
@@ -4362,7 +4360,7 @@ public class RestContext extends Context {
                        Value<MethodList> v = 
Value.of(MethodList.of(getAnnotatedMethods(resource, 
RestPostCall.class).collect(Collectors.toList())));
 
                        // Replace with bean from:  
@RestInject(name="postCallMethods") public [static] MethodList xxx(<args>)
-                       
beanStore.createMethodFinder(MethodList.class).addBean(MethodList.class, 
v.get()).find(x -> isRestBeanMethod(x, "postCallMethods")).run(x -> v.set(x));
+                       
beanStore.createMethodFinder(MethodList.class).addBean(MethodList.class, 
v.get()).find(x -> isRestInjectMethod(x, "postCallMethods")).run(x -> v.set(x));
 
                        return v.get();
                }
@@ -4390,7 +4388,7 @@ public class RestContext extends Context {
                                .collect(Collectors.toList())));
 
                        // Replace with bean from:  
@RestInject(name="postInitChildFirstMethods") public [static] MethodList 
xxx(<args>)
-                       
beanStore.createMethodFinder(MethodList.class).addBean(MethodList.class, 
v.get()).find(x -> isRestBeanMethod(x, "postInitChildFirstMethods")).run(x -> 
v.set(x));
+                       
beanStore.createMethodFinder(MethodList.class).addBean(MethodList.class, 
v.get()).find(x -> isRestInjectMethod(x, "postInitChildFirstMethods")).run(x -> 
v.set(x));
 
                        return v.get();
                }
@@ -4407,9 +4405,7 @@ public class RestContext extends Context {
                protected MethodList createPostInitMethods(BeanStore beanStore, 
Supplier<?> resource) {
 
                        // Default value.
-                       var r = resource.get();
                        var ap = AP;
-                       var ci = ClassInfo.ofProxy(r);
                        Value<MethodList> v = 
Value.of(MethodList.of(getAnnotatedMethods(resource, RestPostInit.class)
                                .filter(m -> {
                                        var mi = MethodInfo.of(m);
@@ -4420,7 +4416,7 @@ public class RestContext extends Context {
                                .collect(Collectors.toList())));
 
                        // Replace with bean from:  
@RestInject(name="postInitMethods") public [static] MethodList xxx(<args>)
-                       
beanStore.createMethodFinder(MethodList.class).addBean(MethodList.class, 
v.get()).find(x -> isRestBeanMethod(x, "postInitMethods")).run(x -> v.set(x));
+                       
beanStore.createMethodFinder(MethodList.class).addBean(MethodList.class, 
v.get()).find(x -> isRestInjectMethod(x, "postInitMethods")).run(x -> v.set(x));
 
                        return v.get();
                }
@@ -4440,7 +4436,7 @@ public class RestContext extends Context {
                        Value<MethodList> v = 
Value.of(MethodList.of(getAnnotatedMethods(resource, 
RestPreCall.class).collect(Collectors.toList())));
 
                        // Replace with bean from:  
@RestInject(name="preCallMethods") public [static] MethodList xxx(<args>)
-                       
beanStore.createMethodFinder(MethodList.class).addBean(MethodList.class, 
v.get()).find(x -> isRestBeanMethod(x, "preCallMethods")).run(x -> v.set(x));
+                       
beanStore.createMethodFinder(MethodList.class).addBean(MethodList.class, 
v.get()).find(x -> isRestInjectMethod(x, "preCallMethods")).run(x -> v.set(x));
 
                        return v.get();
                }
@@ -4483,7 +4479,7 @@ public class RestContext extends Context {
                        
beanStore.getBean(ResponseProcessorList.class).ifPresent(x -> v.get().impl(x));
 
                        // Replace with bean from:  @RestInject public [static] 
ResponseProcessorList xxx(<args>)
-                       
beanStore.createMethodFinder(ResponseProcessorList.class).addBean(ResponseProcessorList.Builder.class,
 v.get()).find(Builder::isRestBeanMethod).run(x -> v.get().impl(x));
+                       
beanStore.createMethodFinder(ResponseProcessorList.class).addBean(ResponseProcessorList.Builder.class,
 v.get()).find(Builder::isRestInjectMethod).run(x -> v.get().impl(x));
 
                        return v.get();
                }
@@ -4546,7 +4542,7 @@ public class RestContext extends Context {
                        }
 
                        // Replace with bean from:  @RestInject public [static] 
RestChildren xxx(<args>)
-                       
beanStore.createMethodFinder(RestChildren.class).addBean(RestChildren.Builder.class,
 v.get()).find(Builder::isRestBeanMethod).run(x -> v.get().impl(x));
+                       
beanStore.createMethodFinder(RestChildren.class).addBean(RestChildren.Builder.class,
 v.get()).find(Builder::isRestInjectMethod).run(x -> v.get().impl(x));
 
                        return v.get();
                }
@@ -4585,7 +4581,7 @@ public class RestContext extends Context {
                        beanStore.getBean(RestOpArgList.class).ifPresent(x -> 
v.get().impl(x));
 
                        // Replace with bean from:  @RestInject public [static] 
RestOpArgList xxx(<args>)
-                       
beanStore.createMethodFinder(RestOpArgList.class).addBean(RestOpArgList.Builder.class,
 v.get()).find(Builder::isRestBeanMethod).run(x -> v.get().impl(x));
+                       
beanStore.createMethodFinder(RestOpArgList.class).addBean(RestOpArgList.Builder.class,
 v.get()).find(Builder::isRestInjectMethod).run(x -> v.get().impl(x));
 
                        return v.get();
                }
@@ -4684,7 +4680,7 @@ public class RestContext extends Context {
                        }
 
                        // Replace with bean from:  @RestInject public [static] 
RestOperations xxx(<args>)
-                       
beanStore.createMethodFinder(RestOperations.class).addBean(RestOperations.Builder.class,
 v.get()).find(Builder::isRestBeanMethod).run(x -> v.get().impl(x));
+                       
beanStore.createMethodFinder(RestOperations.class).addBean(RestOperations.Builder.class,
 v.get()).find(Builder::isRestInjectMethod).run(x -> v.get().impl(x));
 
                        return v.get();
                }
@@ -4715,7 +4711,7 @@ public class RestContext extends Context {
                        beanStore.getBean(SerializerSet.class).ifPresent(x -> 
v.get().impl(x));
 
                        // Replace with bean from:  @RestInject public [static] 
SerializerSet xxx(<args>)
-                       
beanStore.createMethodFinder(SerializerSet.class).addBean(SerializerSet.Builder.class,
 v.get()).find(Builder::isRestBeanMethod).run(x -> v.get().impl(x));
+                       
beanStore.createMethodFinder(SerializerSet.class).addBean(SerializerSet.Builder.class,
 v.get()).find(Builder::isRestInjectMethod).run(x -> v.get().impl(x));
 
                        return v.get();
                }
@@ -4735,7 +4731,7 @@ public class RestContext extends Context {
                        Value<MethodList> v = 
Value.of(MethodList.of(getAnnotatedMethods(resource, 
RestStartCall.class).collect(Collectors.toList())));
 
                        // Replace with bean from:  
@RestInject(name="startCallMethods") public [static] MethodList xxx(<args>)
-                       
beanStore.createMethodFinder(MethodList.class).addBean(MethodList.class, 
v.get()).find(x -> isRestBeanMethod(x, "startCallMethods")).run(x -> v.set(x));
+                       
beanStore.createMethodFinder(MethodList.class).addBean(MethodList.class, 
v.get()).find(x -> isRestInjectMethod(x, "startCallMethods")).run(x -> 
v.set(x));
 
                        return v.get();
                }
@@ -4763,7 +4759,7 @@ public class RestContext extends Context {
                        beanStore.getBean(StaticFiles.class).ifPresent(x -> 
creator.impl(x));
 
                        // Replace with bean from:  @RestInject public [static] 
StaticFiles xxx(<args>)
-                       
beanStore.createMethodFinder(StaticFiles.class).find(Builder::isRestBeanMethod).run(x
 -> creator.impl(x));
+                       
beanStore.createMethodFinder(StaticFiles.class).find(Builder::isRestInjectMethod).run(x
 -> creator.impl(x));
 
                        return creator;
                }
@@ -4812,7 +4808,7 @@ public class RestContext extends Context {
                        beanStore.getBean(SwaggerProvider.class).ifPresent(x -> 
creator.impl(x));
 
                        // Replace with bean from:  @RestInject public [static] 
SwaggerProvider xxx(<args>)
-                       
beanStore.createMethodFinder(SwaggerProvider.class).find(Builder::isRestBeanMethod).run(x
 -> creator.impl(x));
+                       
beanStore.createMethodFinder(SwaggerProvider.class).find(Builder::isRestInjectMethod).run(x
 -> creator.impl(x));
 
                        return creator;
                }
@@ -4846,7 +4842,7 @@ public class RestContext extends Context {
                        beanStore.getBean(ThrownStore.class).ifPresent(x -> 
v.get().impl(x));
 
                        // Replace with bean from:  @RestInject public [static] 
ThrownStore xxx(<args>)
-                       
beanStore.createMethodFinder(ThrownStore.class).addBean(ThrownStore.Builder.class,
 v.get()).find(Builder::isRestBeanMethod).run(x -> v.get().impl(x));
+                       
beanStore.createMethodFinder(ThrownStore.class).addBean(ThrownStore.Builder.class,
 v.get()).find(Builder::isRestInjectMethod).run(x -> v.get().impl(x));
 
                        return v.get();
                }
@@ -4903,7 +4899,7 @@ public class RestContext extends Context {
                        beanStore.getBean(VarResolver.class).ifPresent(x -> 
v.get().impl(x));
 
                        // Replace with bean from:  @RestInject public [static] 
VarResolver xxx(<args>)
-                       
beanStore.createMethodFinder(VarResolver.class).addBean(VarResolver.Builder.class,
 v.get()).find(Builder::isRestBeanMethod).run(x -> v.get().impl(x));
+                       
beanStore.createMethodFinder(VarResolver.class).addBean(VarResolver.Builder.class,
 v.get()).find(Builder::isRestInjectMethod).run(x -> v.get().impl(x));
 
                        return v.get();
                }
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 37d16a631f..e4856b645c 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
@@ -86,8 +86,6 @@ class BeanStore_Test extends TestBase {
                        assertThrowsWithMessage(IllegalStateException.class, 
"Method cannot be used because BeanStore is read-only.", 
()->b.addSupplier(A1.class, ()->a1a));
                        assertThrowsWithMessage(IllegalStateException.class, 
"Method cannot be used because BeanStore is read-only.", 
()->b.addSupplier(A1.class, ()->a1a, "foo"));
                        assertThrowsWithMessage(IllegalStateException.class, 
"Method cannot be used because BeanStore is read-only.", b::clear);
-                       assertThrowsWithMessage(IllegalStateException.class, 
"Method cannot be used because BeanStore is read-only.", 
()->b.removeBean(A1.class));
-                       assertThrowsWithMessage(IllegalStateException.class, 
"Method cannot be used because BeanStore is read-only.", 
()->b.removeBean(A1.class, "foo"));
                }
 
                for (var b : array(b1c, b2c)) {
@@ -98,8 +96,6 @@ class BeanStore_Test extends TestBase {
                        b.addSupplier(A1.class, ()->a1a);
                        b.addSupplier(A1.class, ()->a1a, "foo");
                        b.clear();
-                       b.removeBean(A1.class);
-                       b.removeBean(A1.class, "foo");
                }
        }
 
@@ -141,56 +137,56 @@ class BeanStore_Test extends TestBase {
                        assertTrue(b.hasBean(A1.class));
                        assertEquals(a1a, b.getBean(A1.class).get());
                }
-
-               b1p.add(A1.class, a1b);
-               b2p.add(A1.class, a1b);
-               for (var b : array(b1p, b1c, b2p, b2c)) {
-                       assertTrue(b.hasBean(A1.class));
-                       assertEquals(a1b, b.getBean(A1.class).get());
-                       assertList(b.stream(A1.class).map(BeanStoreEntry::get), 
a1b, a1a);
-               }
-
-               b1c.add(A2.class, a2a);
-               b2c.add(A2.class, a2a);
-               for (var b : array(b1p, b2p)) {
-                       assertFalse(b.hasBean(A2.class));
-                       assertEmpty(b.getBean(A2.class));
-                       assertEmpty(b.stream(A2.class));
-               }
-               for (var b : array(b1c, b2c)) {
-                       assertTrue(b.hasBean(A2.class));
-                       assertEquals(a2a, b.getBean(A2.class).get());
-                       assertList(b.stream(A2.class).map(BeanStoreEntry::get), 
a2a);
-               }
-
-               
assertMatchesGlob("{entries=[{type=A1,bean="+Utils.id(a1b)+"},{type=A1,bean="+Utils.id(a1a)+"}],identity=*}",
 b1p);
-               
assertMatchesGlob("{entries=[{type=A2,bean="+Utils.id(a2a)+"}],identity=*,parent={entries=[{type=A1,bean="+Utils.id(a1b)+"},{type=A1,bean="+Utils.id(a1a)+"}],identity=*}}",
 b1c);
-               
assertMatchesGlob("{entries=[{type=A1,bean="+Utils.id(a1b)+"},{type=A1,bean="+Utils.id(a1a)+"}],identity=*,threadSafe=true}",
 b2p);
-               
assertMatchesGlob("{entries=[{type=A2,bean="+Utils.id(a2a)+"}],identity=*,parent={entries=[{type=A1,bean="+Utils.id(a1b)+"},{type=A1,bean="+Utils.id(a1a)+"}],identity=*,threadSafe=true},threadSafe=true}",
 b2c);
-
-               b1p.removeBean(A1.class);
-               b1c.clear().addBean(A1.class, a1a);
-               b2p.removeBean(A1.class);
-               b2c.clear().addBean(A1.class, a1a);
-
-               for (var b : array(b1p, b2p)) {
-                       assertFalse(b.hasBean(A1.class));
-                       assertEmpty(b.getBean(A1.class));
-                       assertEmpty(b.stream(A1.class));
-               }
-               for (var b : array(b1c, b2c)) {
-                       assertTrue(b.hasBean(A1.class));
-                       assertEquals(a1a, b.getBean(A1.class).get());
-                       assertList(b.stream(A1.class).map(BeanStoreEntry::get), 
a1a);
-               }
-
-               b1c.removeBean(A1.class);
-               b2c.removeBean(A1.class);
-               for (var b : array(b1p, b1c, b2p, b2c)) {
-                       assertFalse(b.hasBean(A1.class));
-                       assertEmpty(b.getBean(A1.class));
-                       assertEmpty(b.stream(A1.class));
-               }
+//
+//             b1p.add(A1.class, a1b);
+//             b2p.add(A1.class, a1b);
+//             for (var b : array(b1p, b1c, b2p, b2c)) {
+//                     assertTrue(b.hasBean(A1.class));
+//                     assertEquals(a1b, b.getBean(A1.class).get());
+//                     assertList(b.stream(A1.class).map(BeanStoreEntry::get), 
a1b, a1a);
+//             }
+//
+//             b1c.add(A2.class, a2a);
+//             b2c.add(A2.class, a2a);
+//             for (var b : array(b1p, b2p)) {
+//                     assertFalse(b.hasBean(A2.class));
+//                     assertEmpty(b.getBean(A2.class));
+//                     assertEmpty(b.stream(A2.class));
+//             }
+//             for (var b : array(b1c, b2c)) {
+//                     assertTrue(b.hasBean(A2.class));
+//                     assertEquals(a2a, b.getBean(A2.class).get());
+//                     assertList(b.stream(A2.class).map(BeanStoreEntry::get), 
a2a);
+//             }
+//
+//             
assertMatchesGlob("{entries=[{type=A1,bean="+Utils.id(a1b)+"},{type=A1,bean="+Utils.id(a1a)+"}],identity=*}",
 b1p);
+//             
assertMatchesGlob("{entries=[{type=A2,bean="+Utils.id(a2a)+"}],identity=*,parent={entries=[{type=A1,bean="+Utils.id(a1b)+"},{type=A1,bean="+Utils.id(a1a)+"}],identity=*}}",
 b1c);
+//             
assertMatchesGlob("{entries=[{type=A1,bean="+Utils.id(a1b)+"},{type=A1,bean="+Utils.id(a1a)+"}],identity=*,threadSafe=true}",
 b2p);
+//             
assertMatchesGlob("{entries=[{type=A2,bean="+Utils.id(a2a)+"}],identity=*,parent={entries=[{type=A1,bean="+Utils.id(a1b)+"},{type=A1,bean="+Utils.id(a1a)+"}],identity=*,threadSafe=true},threadSafe=true}",
 b2c);
+//
+//             b1p.removeBean(A1.class);
+//             b1c.clear().addBean(A1.class, a1a);
+//             b2p.removeBean(A1.class);
+//             b2c.clear().addBean(A1.class, a1a);
+//
+//             for (var b : array(b1p, b2p)) {
+//                     assertFalse(b.hasBean(A1.class));
+//                     assertEmpty(b.getBean(A1.class));
+//                     assertEmpty(b.stream(A1.class));
+//             }
+//             for (var b : array(b1c, b2c)) {
+//                     assertTrue(b.hasBean(A1.class));
+//                     assertEquals(a1a, b.getBean(A1.class).get());
+//                     assertList(b.stream(A1.class).map(BeanStoreEntry::get), 
a1a);
+//             }
+//
+//             b1c.removeBean(A1.class);
+//             b2c.removeBean(A1.class);
+//             for (var b : array(b1p, b1c, b2p, b2c)) {
+//                     assertFalse(b.hasBean(A1.class));
+//                     assertEmpty(b.getBean(A1.class));
+//                     assertEmpty(b.stream(A1.class));
+//             }
        }
 
        @Test void a05_addNamedBeans() {
@@ -206,13 +202,13 @@ class BeanStore_Test extends TestBase {
                        b.addBean(A1.class, a1e);
                }
 
-               for (var b : array(b1p, b2p)) {
-                       assertList(b.stream(A1.class).map(BeanStoreEntry::get), 
a1d,a1c,a1b,a1a);
-               }
-               for (var b : array(b1c, b2c)) {
-                       assertList(b.stream(A1.class).map(BeanStoreEntry::get), 
a1e,a1d,a1c,a1b,a1a);
-               }
-
+//             for (var b : array(b1p, b2p)) {
+//                     assertList(b.stream(A1.class).map(BeanStoreEntry::get), 
a1d,a1c,a1b,a1a);
+//             }
+//             for (var b : array(b1c, b2c)) {
+//                     assertList(b.stream(A1.class).map(BeanStoreEntry::get), 
a1e,a1d,a1c,a1b,a1a);
+//             }
+//
                for (var b : array(b1p, b1c, b2p, b2c)) {
                        assertEquals(a1b, b.getBean(A1.class, "foo").get());
                        assertEquals(a1d, b.getBean(A1.class, "bar").get());
@@ -510,34 +506,6 @@ class BeanStore_Test extends TestBase {
                public C createA7() { throw new RuntimeException("foo"); }
        }
 
-       @Test void c01_createMethodFinder_instanceMethods() throws Exception {
-               var x = new C1();
-               var b1p = BeanStore.create().build();
-               var b1c = BeanStore.create().parent(b1p).build();
-               var b2p = BeanStore.create().build();
-               var b2c = BeanStore.create().outer(x).parent(b2p).build();
-               var b3p = BeanStore.create().build();
-               var b3c = BeanStore.create().outer(this).parent(b3p).build();
-
-               for (var m : array("createA0", "createA2", "createA3", 
"createA4", "createA5", "createA6")) {
-                       for (var b : array(b1c, b2c, b3c)) {
-                               assertNull(b.createMethodFinder(C.class, 
x).find(m).run());
-                               assertNull(b.createMethodFinder(C.class, 
C1.class).find(m).run());
-                       }
-                       for (var b : array(b2c, b3c)) {
-                               
assertNull(b.createMethodFinder(C.class).find(m).run());
-                       }
-               }
-               assertNotNull(b1c.createMethodFinder(C.class, 
x).find("createA1").run());
-               assertNull(b1c.createMethodFinder(C.class, 
C1.class).find("createA1").run());
-               
assertNotNull(b2c.createMethodFinder(C.class).find("createA1").run());
-               
assertNull(b3c.createMethodFinder(C.class).find("createA1").run());
-               assertThrowsWithMessage(Exception.class, "foo", 
()->b1c.createMethodFinder(C.class, x).find("createA7").run());
-               assertNull(b1c.createMethodFinder(C.class, 
C1.class).find("createA7").run());
-               assertThrowsWithMessage(Exception.class, "foo", 
()->b2c.createMethodFinder(C.class).find("createA7").run());
-               
assertNull(b3c.createMethodFinder(C.class).find("createA7").run());
-       }
-
        // Static methods.
        public static class C2 {
                public static C createB1() { return new C(); }
@@ -549,34 +517,6 @@ class BeanStore_Test extends TestBase {
                public static C createB7() { throw new RuntimeException("foo"); 
}
        }
 
-       @Test void c02_createMethodFinder_staticMethods() throws Exception {
-               var x = new C2();
-               var b1p = BeanStore.create().build();
-               var b1c = BeanStore.create().parent(b1p).build();
-               var b2p = BeanStore.create().build();
-               var b2c = BeanStore.create().outer(x).parent(b2p).build();
-               var b3p = BeanStore.create().build();
-               var b3c = BeanStore.create().outer(this).parent(b3p).build();
-
-               for (var m : array("createB0", "createB2", "createB3", 
"createB4", "createB5", "createB6")) {
-                       for (var b : array(b1c, b2c, b3c)) {
-                               assertNull(b.createMethodFinder(C.class, 
x).find(m).run());
-                               assertNull(b.createMethodFinder(C.class, 
C2.class).find(m).run());
-                       }
-                       for (var b : array(b2c, b3c)) {
-                               
assertNull(b.createMethodFinder(C.class).find(m).run());
-                       }
-               }
-               assertNotNull(b1c.createMethodFinder(C.class, 
x).find("createB1").run());
-               assertNotNull(b1c.createMethodFinder(C.class, 
C2.class).find("createB1").run());
-               
assertNotNull(b2c.createMethodFinder(C.class).find("createB1").run());
-               
assertNull(b3c.createMethodFinder(C.class).find("createB1").run());
-               assertThrowsWithMessage(Exception.class, "foo", 
()->b1c.createMethodFinder(C.class, x).find("createB7").run());
-               assertThrowsWithMessage(Exception.class, "foo", 
()->b1c.createMethodFinder(C.class, C2.class).find("createB7").run());
-               assertThrowsWithMessage(Exception.class, "foo", 
()->b2c.createMethodFinder(C.class).find("createB7").run());
-               
assertNull(b3c.createMethodFinder(C.class).find("createB7").run());
-       }
-
        // Bean matching.
        public static class C3 {
                public C createC1(A1 a) { return new C(); }
@@ -587,193 +527,6 @@ class BeanStore_Test extends TestBase {
                public static C createC6(BeanStore bs) { assertNotNull(bs); 
return new C(); }
        }
 
-       @Test void c03_createMethodFinder_beanMatching() throws Exception {
-               var x = new C3();
-               var b1p = BeanStore.create().build();
-               var b1c = BeanStore.create().parent(b1p).build();
-               var b2p = BeanStore.create().build();
-               var b2c = BeanStore.create().outer(x).parent(b2p).build();
-               var b3p = BeanStore.create().build();
-               var b3c = BeanStore.create().outer(this).parent(b3p).build();
-
-               for (var b : array(b1c, b2c, b3c)) {
-                       assertNull(b.createMethodFinder(C.class, 
x).find("createC1").run());
-                       assertNull(b.createMethodFinder(C.class, 
x).find("createC2").run());
-                       assertNull(b.createMethodFinder(C.class, 
x).find("createC3").run().a);
-                       assertNull(b.createMethodFinder(C.class, 
x).find("createC4").run());
-                       assertNull(b.createMethodFinder(C.class, 
x).find("createC5").run().a);
-                       assertNotNull(b.createMethodFinder(C.class, 
x).find("createC6").run());
-               }
-
-               b1p.addBean(A1.class, new A1());
-               b2p.addBean(A1.class, new A1());
-               b3p.addBean(A1.class, new A1());
-               for (var b : array(b1c, b2c)) {
-                       assertNotNull(b.createMethodFinder(C.class, 
x).find("createC1").run());
-                       assertNotNull(b.createMethodFinder(C.class, 
x).find("createC2").run());
-                       assertNotNull(b.createMethodFinder(C.class, 
x).find("createC3").run().a);
-                       assertNull(b.createMethodFinder(C.class, 
x).find("createC4").run());
-                       assertNull(b.createMethodFinder(C.class, 
x).find("createC5").run().a);
-                       assertNotNull(b.createMethodFinder(C.class, 
x).find("createC6").run());
-                       assertNull(b.createMethodFinder(C.class, 
C3.class).find("createC1").run());
-                       assertNotNull(b.createMethodFinder(C.class, 
C3.class).find("createC2").run());
-                       assertNotNull(b.createMethodFinder(C.class, 
C3.class).find("createC3").run().a);
-                       assertNull(b.createMethodFinder(C.class, 
C3.class).find("createC4").run());
-                       assertNull(b.createMethodFinder(C.class, 
C3.class).find("createC5").run().a);
-                       assertNotNull(b.createMethodFinder(C.class, 
C3.class).find("createC6").run());
-               }
-               
assertNotNull(b2c.createMethodFinder(C.class).find("createC1").run());
-               
assertNotNull(b2c.createMethodFinder(C.class).find("createC2").run());
-               
assertNotNull(b2c.createMethodFinder(C.class).find("createC3").run().a);
-               
assertNull(b2c.createMethodFinder(C.class).find("createC4").run());
-               
assertNull(b2c.createMethodFinder(C.class).find("createC5").run().a);
-               
assertNotNull(b2c.createMethodFinder(C.class).find("createC6").run());
-               for (var m : 
array("createC1","createC2","createC3","createC4","createC5","createC6")) {
-                       
assertNull(b3c.createMethodFinder(C.class).find(m).run());
-               }
-
-               b1p.clear().addSupplier(A1.class, A1::new);
-               b2p.clear().addSupplier(A1.class, A1::new);
-               for (var b : array(b1c, b2c)) {
-                       assertNotNull(b.createMethodFinder(C.class, 
x).find("createC1").run());
-                       assertNotNull(b.createMethodFinder(C.class, 
x).find("createC2").run());
-                       assertNotNull(b.createMethodFinder(C.class, 
x).find("createC3").run().a);
-                       assertNull(b.createMethodFinder(C.class, 
x).find("createC4").run());
-                       assertNull(b.createMethodFinder(C.class, 
x).find("createC5").run().a);
-                       assertNotNull(b.createMethodFinder(C.class, 
x).find("createC6").run());
-                       assertNull(b.createMethodFinder(C.class, 
C3.class).find("createC1").run());
-                       assertNotNull(b.createMethodFinder(C.class, 
C3.class).find("createC2").run());
-                       assertNotNull(b.createMethodFinder(C.class, 
C3.class).find("createC3").run().a);
-                       assertNull(b.createMethodFinder(C.class, 
C3.class).find("createC4").run());
-                       assertNull(b.createMethodFinder(C.class, 
C3.class).find("createC5").run().a);
-                       assertNotNull(b.createMethodFinder(C.class, 
C3.class).find("createC6").run());
-               }
-               
assertNotNull(b2c.createMethodFinder(C.class).find("createC1").run());
-               
assertNotNull(b2c.createMethodFinder(C.class).find("createC2").run());
-               assertInstanceOf(A1.class, 
b2c.createMethodFinder(C.class).find("createC3").run().a);
-               
assertNull(b2c.createMethodFinder(C.class).find("createC4").run());
-               
assertNull(b2c.createMethodFinder(C.class).find("createC5").run().a);
-               
assertNotNull(b2c.createMethodFinder(C.class).find("createC6").run());
-               for (var m : 
array("createC1","createC2","createC3","createC4","createC5","createC6")) {
-                       
assertNull(b3c.createMethodFinder(C.class).find(m).run());
-               }
-
-               b1p.clear().add(A1.class, null);
-               b2p.clear().add(A1.class, null);
-               for (var b : array(b1c, b2c)) {
-                       assertNotNull(b.createMethodFinder(C.class, 
x).find("createC1").run());
-                       assertNotNull(b.createMethodFinder(C.class, 
x).find("createC2").run());
-                       assertNull(b.createMethodFinder(C.class, 
x).find("createC3").run().a);
-                       assertNull(b.createMethodFinder(C.class, 
x).find("createC4").run());
-                       assertNull(b.createMethodFinder(C.class, 
x).find("createC5").run().a);
-                       assertNotNull(b.createMethodFinder(C.class, 
x).find("createC6").run());
-                       assertNull(b.createMethodFinder(C.class, 
C3.class).find("createC1").run());
-                       assertNotNull(b.createMethodFinder(C.class, 
C3.class).find("createC2").run());
-                       assertNull(b.createMethodFinder(C.class, 
C3.class).find("createC3").run().a);
-                       assertNull(b.createMethodFinder(C.class, 
C3.class).find("createC4").run());
-                       assertNull(b.createMethodFinder(C.class, 
C3.class).find("createC5").run().a);
-                       assertNotNull(b.createMethodFinder(C.class, 
C3.class).find("createC6").run());
-               }
-               
assertNotNull(b2c.createMethodFinder(C.class).find("createC1").run());
-               
assertNotNull(b2c.createMethodFinder(C.class).find("createC2").run());
-               
assertNull(b2c.createMethodFinder(C.class).find("createC3").run().a);
-               
assertNull(b2c.createMethodFinder(C.class).find("createC4").run());
-               
assertNull(b2c.createMethodFinder(C.class).find("createC5").run().a);
-               
assertNotNull(b2c.createMethodFinder(C.class).find("createC6").run());
-               for (var m : 
array("createC1","createC2","createC3","createC4","createC5","createC6")) {
-                       
assertNull(b3c.createMethodFinder(C.class).find(m).run());
-               }
-
-               b1p.clear().addBean(A1.class, new A1()).add(A1.class, new A1(), 
"Foo");
-               b2p.clear().addBean(A1.class, new A1()).add(A1.class, new A1(), 
"Foo");
-               for (var b : array(b1c, b2c)) {
-                       assertNotNull(b.createMethodFinder(C.class, 
x).find("createC1").run());
-                       assertNotNull(b.createMethodFinder(C.class, 
x).find("createC2").run());
-                       assertNotNull(b.createMethodFinder(C.class, 
x).find("createC3").run().a);
-                       assertNotNull(b.createMethodFinder(C.class, 
x).find("createC4").run());
-                       assertNotNull(b.createMethodFinder(C.class, 
x).find("createC5").run().a);
-                       assertNotNull(b.createMethodFinder(C.class, 
x).find("createC6").run());
-                       assertNull(b.createMethodFinder(C.class, 
C3.class).find("createC1").run());
-                       assertNotNull(b.createMethodFinder(C.class, 
C3.class).find("createC2").run());
-                       assertNotNull(b.createMethodFinder(C.class, 
C3.class).find("createC3").run().a);
-                       assertNotNull(b.createMethodFinder(C.class, 
C3.class).find("createC4").run());
-                       assertNotNull(b.createMethodFinder(C.class, 
C3.class).find("createC5").run().a);
-                       assertNotNull(b.createMethodFinder(C.class, 
C3.class).find("createC6").run());
-               }
-               
assertNotNull(b2c.createMethodFinder(C.class).find("createC1").run());
-               
assertNotNull(b2c.createMethodFinder(C.class).find("createC2").run());
-               
assertNotNull(b2c.createMethodFinder(C.class).find("createC3").run().a);
-               
assertNotNull(b2c.createMethodFinder(C.class).find("createC4").run());
-               
assertNotNull(b2c.createMethodFinder(C.class).find("createC5").run().a);
-               
assertNotNull(b2c.createMethodFinder(C.class).find("createC6").run());
-               for (var m : 
array("createC1","createC2","createC3","createC4","createC5","createC6")) {
-                       
assertNull(b3c.createMethodFinder(C.class).find(m).run());
-               }
-       }
-
-       // Bean matching.
-       public static class C4 {
-               public static String createC1(A1 a) { return "createC1"; }
-               public static String createC2() { return "createC2"; }
-       }
-
-       @Test void c04_createMethodFinder_beanMatching_requiredArgs() throws 
Exception {
-               var x = new C4();
-               var b1p = BeanStore.create().build();
-               var b1c = BeanStore.create().outer(x).parent(b1p).build();
-
-               assertString("createC2", 
b1c.createMethodFinder(String.class).find("createC1").thenFind("createC2").run());
-               assertString("createC2", 
b1c.createMethodFinder(String.class).find("createC2").thenFind("createC1").run());
-
-               b1p.add(A1.class, null);
-               assertString("createC1", 
b1c.createMethodFinder(String.class).find("createC1").thenFind("createC2").run());
-               assertString("createC2", 
b1c.createMethodFinder(String.class).find("createC2").thenFind("createC1").run());
-               assertString("createC1", 
b1c.createMethodFinder(String.class).find(x2->x2.hasName("createC1") && 
x2.hasAllParameters(A1.class)).thenFind(x2->x2.hasName("createC2") && 
x2.hasAllParameters(A1.class)).run());
-               assertString("createC1", 
b1c.createMethodFinder(String.class).find(x2->x2.hasName("createC2") && 
x2.hasAllParameters(A1.class)).thenFind(x2->x2.hasName("createC1") && 
x2.hasAllParameters(A1.class)).run());
-
-               b1p.clear();
-               assertString("createC1", 
b1c.createMethodFinder(String.class).addBean(A1.class, 
null).find("createC1").thenFind("createC2").run());
-               assertString("createC2", 
b1c.createMethodFinder(String.class).addBean(A1.class, 
null).find("createC2").thenFind("createC1").run());
-               assertString("createC1", 
b1c.createMethodFinder(String.class).addBean(A1.class, 
null).find(x2->x2.hasName("createC1") && 
x2.hasAllParameters(A1.class)).thenFind(x2->x2.hasName("createC2") && 
x2.hasAllParameters(A1.class)).run());
-               assertString("createC1", 
b1c.createMethodFinder(String.class).addBean(A1.class, 
null).find(x2->x2.hasName("createC2") && 
x2.hasAllParameters(A1.class)).thenFind(x2->x2.hasName("createC1") && 
x2.hasAllParameters(A1.class)).run());
-
-               assertString("X", 
b1c.createMethodFinder(String.class).withDefault("X").run());
-               assertString("X", 
b1c.createMethodFinder(String.class).withDefault(()->"X").run());
-
-               b1c.createMethodFinder(String.class).withDefault("X").run(y -> 
assertString("X", y));
-       }
-
-       // Bean matching.
-       public class C5 {
-               public String createC1(A1 a) { return "createC1"; }
-               public String createC2() { return "createC2"; }
-       }
-
-       @Test void 
c05_createMethodFinder_beanMatching_requiredArgs_innerClass() throws Exception {
-               var x = new C5();
-               var b1p = BeanStore.create().build();
-               var b1c = BeanStore.create().outer(x).parent(b1p).build();
-
-               assertString("createC2", 
b1c.createMethodFinder(String.class).find("createC1").thenFind("createC2").run());
-               assertString("createC2", 
b1c.createMethodFinder(String.class).find("createC2").thenFind("createC1").run());
-
-               b1p.add(A1.class, null);
-               assertString("createC1", 
b1c.createMethodFinder(String.class).find("createC1").thenFind("createC2").run());
-               assertString("createC2", 
b1c.createMethodFinder(String.class).find("createC2").thenFind("createC1").run());
-               assertString("createC1", 
b1c.createMethodFinder(String.class).find(x2->x2.hasName("createC1") && 
x2.hasAllParameters(A1.class)).thenFind(x2->x2.hasName("createC2") && 
x2.hasAllParameters(A1.class)).run());
-               assertString("createC1", 
b1c.createMethodFinder(String.class).find(x2->x2.hasName("createC2") && 
x2.hasAllParameters(A1.class)).thenFind(x2->x2.hasName("createC1") && 
x2.hasAllParameters(A1.class)).run());
-
-               b1p.clear();
-               assertString("createC1", 
b1c.createMethodFinder(String.class).addBean(A1.class, 
null).find("createC1").thenFind("createC2").run());
-               assertString("createC2", 
b1c.createMethodFinder(String.class).addBean(A1.class, 
null).find("createC2").thenFind("createC1").run());
-               assertString("createC1", 
b1c.createMethodFinder(String.class).addBean(A1.class, 
null).find(x2->x2.hasName("createC1") && 
x2.hasAllParameters(A1.class)).thenFind(x2->x2.hasName("createC2") && 
x2.hasAllParameters(A1.class)).run());
-               assertString("createC1", 
b1c.createMethodFinder(String.class).addBean(A1.class, 
null).find(x2->x2.hasName("createC2") && 
x2.hasAllParameters(A1.class)).thenFind(x2->x2.hasName("createC1") && 
x2.hasAllParameters(A1.class)).run());
-
-               assertString("X", 
b1c.createMethodFinder(String.class).withDefault("X").run());
-               assertString("X", 
b1c.createMethodFinder(String.class).withDefault(()->"X").run());
-
-               b1c.createMethodFinder(String.class).withDefault("X").run(y -> 
assertString("X", y));
-       }
 
        
//-----------------------------------------------------------------------------------------------------------------
        // createBean()
@@ -852,8 +605,6 @@ class BeanStore_Test extends TestBase {
                assertEquals(d5c, bs.createBean(D5.class).run());
                bs.add(String.class, "x");
                assertEquals(d5b, bs.createBean(D5.class).run());
-               bs.removeBean(Integer.class);
-               assertEquals(d5a, bs.createBean(D5.class).run());
        }
 
        public static class D6 {
@@ -923,8 +674,6 @@ class BeanStore_Test extends TestBase {
                assertString("s=foo", bs.createBean(D10.class).run().a);
                bs.add(Integer.class, 1);
                assertString("s=foo,i=1", bs.createBean(D10.class).run().a);
-               bs.removeBean(String.class);
-               assertString("i=1", bs.createBean(D10.class).run().a);
        }
 
        public static class D11 {
@@ -941,8 +690,6 @@ class BeanStore_Test extends TestBase {
                assertString("s=foo", bs.createBean(D11.class).run().a);
                bs.add(Integer.class, 1);
                assertString("s=foo,i=1", bs.createBean(D11.class).run().a);
-               bs.removeBean(String.class);
-               assertString("i=1", bs.createBean(D11.class).run().a);
        }
 
        public static class D12 {
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/rest/springboot/SpringBeanStore_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/rest/springboot/SpringBeanStore_Test.java
index e69c6ed3eb..4546804fbd 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/rest/springboot/SpringBeanStore_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/rest/springboot/SpringBeanStore_Test.java
@@ -33,37 +33,4 @@ class SpringBeanStore_Test extends TestBase {
                assertSame(store, result);
                assertInstanceOf(SpringBeanStore.class, result);
        }
-
-       @Test
-       void a02_fluentChaining_removeBean_byClass() {
-               // Test that removeBean(Class) returns SpringBeanStore (not 
BeanStore)
-               var store = new SpringBeanStore(opte(), opte(), null);
-
-               SpringBeanStore result = store.removeBean(String.class);
-
-               assertSame(store, result);
-               assertInstanceOf(SpringBeanStore.class, result);
-       }
-
-       @Test
-       void a03_fluentChaining_removeBean_byClassAndName() {
-               // Test that removeBean(Class, String) returns SpringBeanStore 
(not BeanStore)
-               var store = new SpringBeanStore(opte(), opte(), null);
-
-               SpringBeanStore result = store.removeBean(String.class, 
"testBean");
-
-               assertSame(store, result);
-               assertInstanceOf(SpringBeanStore.class, result);
-       }
-
-       @Test
-       void a04_fluentChaining_complex() {
-               // Test chaining multiple fluent calls
-               var store = new SpringBeanStore(opte(), opte(), null);
-
-               SpringBeanStore result = 
store.removeBean(String.class).removeBean(Integer.class, "myInt").clear();
-
-               assertSame(store, result);
-               assertInstanceOf(SpringBeanStore.class, result);
-       }
 }
\ No newline at end of file

Reply via email to