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

commit 53ef813d19a55a13af00fb283e38f3bc8ba67fc1
Author: James Bognar <[email protected]>
AuthorDate: Fri May 8 15:04:39 2026 -0400

    refactor(inject): TODO-15 phase-3 batch 9 — migrate marshall internals to 
BeanInstantiator
    
    BeanInstantiator improvements:
    - Added beanSubType(ClassInfo) overload — convenience for ClassMeta / 
ClassInfo
      callers (extracts the underlying class via .inner()).
    - findBeanImpl() now skips the constructor-search step when beanSubType is 
an
      interface or abstract class.  Previously Class.newInstance() would throw
      InstantiationException and mask the cleaner "class is abstract" / "class 
is an
      interface" fallthrough that honors the registered fallback() supplier.  
Now
      abstract / interface bean types route to fallback as documented (matches 
the
      legacy silent()/orElse() behavior on BeanCreator).
    
    Migrated marshall call sites from legacy BeanCreator.of(...) to v2
    BeanInstantiator.of(...):
    - BeanMeta.java:976 — BeanFactory instantiation.
    - BeanContext.java:3743 — ObjectSwap subtype creation (uses new ClassInfo 
overload).
    - BeanPropertyMeta.java:171, 187 — ObjectSwap (beanSubType + addBean for the
      String/format constructor argument).
    - ClassMeta.java:1419 — ObjectSwap subtype creation.
    - EncoderSet.java:291 — Encoder subtype with cast; still catches 
ExecutableException.
    - HtmlBeanPropertyMeta.java — render field flipped to 
BeanInstantiator<HtmlRender>
      (abstract type — relies on the new abstract-class fallback fix); 
.orElse(null)
      rewritten as .fallback(() -> null).run().
    - ParserSession.java:326 / SerializerSession.java:507 — listener creation;
      null-guard ternary preserves "no listener configured -> null" semantics
      without forcing a default no-op listener instance.
    - VarResolver.java:246 — Var subtype with cast.
    
    Intentionally NOT migrated (kept on legacy BeanCreator for now):
    - BeanPropertyMeta.java:1105, 1164 (propMap / propList for Map/Collection
      property types).
    - BeanRegistry.java:147, 155 (Collection/Map subtype creation).
      BeanInstantiator's constructor-selection differs from BeanCreator on
      parameterized container types like TreeMap: canResolveAllParameters() 
accepts
      TreeMap(Map<? extends K, ? extends V>) (the copy ctor), then fails at 
actual
      injection because the bean store has no Map registered.  BeanCreator 
ended up
      picking the no-arg ctor in those cases.  Untangling that is its own task —
      these four sites stay on legacy BeanCreator until BeanInstantiator's
      constructor selection is hardened.
    
    Test:
    - BeanInstantiator_Test#n12_beanSubTypeNullThrows updated to disambiguate
      the now-overloaded beanSubType() (cast to Class<? extends SimpleBean>).
    
    Co-authored-by: Cursor <[email protected]>
---
 .../juneau/commons/inject/BeanInstantiator.java    | 23 +++++++++++++++++++++-
 .../main/java/org/apache/juneau/BeanContext.java   |  3 +--
 .../src/main/java/org/apache/juneau/BeanMeta.java  |  4 ++--
 .../java/org/apache/juneau/BeanPropertyMeta.java   |  5 +++--
 .../src/main/java/org/apache/juneau/ClassMeta.java |  4 ++--
 .../org/apache/juneau/encoders/EncoderSet.java     |  9 ++++-----
 .../apache/juneau/html/HtmlBeanPropertyMeta.java   |  8 ++++----
 .../org/apache/juneau/parser/ParserSession.java    |  5 +++--
 .../java/org/apache/juneau/parser/ParserSet.java   |  1 -
 .../juneau/serializer/SerializerSession.java       |  5 +++--
 .../apache/juneau/serializer/SerializerSet.java    |  1 -
 .../java/org/apache/juneau/svl/VarResolver.java    | 11 ++++++-----
 .../org/apache/juneau/svl/VarResolverSession.java  |  1 -
 .../java/org/apache/juneau/rest/RestChildren.java  |  1 -
 .../java/org/apache/juneau/rest/RestOpSession.java |  1 -
 .../org/apache/juneau/rest/RestOperations.java     |  1 -
 .../java/org/apache/juneau/rest/RestSession.java   |  1 -
 .../org/apache/juneau/rest/annotation/Rest.java    |  1 -
 .../juneau/rest/annotation/RestAnnotation.java     |  1 -
 .../org/apache/juneau/rest/arg/RestOpArgList.java  |  1 -
 .../apache/juneau/rest/config/DefaultConfig.java   |  1 -
 .../juneau/rest/debug/BasicDebugEnablement.java    |  1 -
 .../apache/juneau/rest/logger/BasicCallLogger.java |  1 -
 .../rest/logger/BasicDisabledCallLogger.java       |  1 -
 .../juneau/rest/logger/BasicTestCallLogger.java    |  1 -
 .../org/apache/juneau/rest/logger/CallLogger.java  |  1 -
 .../apache/juneau/rest/logger/CallLoggerRule.java  |  2 --
 .../apache/juneau/rest/stats/MethodExecStats.java  |  1 -
 .../apache/juneau/rest/stats/MethodExecStore.java  |  1 -
 .../org/apache/juneau/rest/stats/ThrownStore.java  |  1 -
 .../commons/inject/BeanInstantiator_Test.java      |  2 +-
 .../java/org/apache/juneau/rest/Swagger_Test.java  |  1 -
 .../rest/annotation/RestAnnotation_Test.java       |  1 -
 .../annotation/Rest_BeanCreatorOverrides_Test.java |  1 -
 34 files changed, 51 insertions(+), 52 deletions(-)

diff --git 
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/inject/BeanInstantiator.java
 
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/inject/BeanInstantiator.java
index 0425ee7a8e..c0edc4023e 100644
--- 
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/inject/BeanInstantiator.java
+++ 
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/inject/BeanInstantiator.java
@@ -481,6 +481,24 @@ public class BeanInstantiator<T> {
                return this;
        }
 
+       /**
+        * Specifies a subclass of the bean type to create, via a {@link 
ClassInfo} reference.
+        *
+        * <p>
+        * Convenience overload of {@link #beanSubType(Class)} that accepts 
{@link ClassInfo} (or any subtype such
+        * as {@code ClassMeta}).  The underlying class is extracted via {@link 
ClassInfo#inner()} and the
+        * subtype-relationship check happens at runtime.
+        *
+        * @param value The subclass type to create.  Cannot be <jk>null</jk>.
+        * @return This object.
+        * @throws IllegalArgumentException If {@code value} is <jk>null</jk> 
or its underlying class is not a subclass of {@code beanType}.
+        */
+       @SuppressWarnings("unchecked")
+       public BeanInstantiator<T> beanSubType(ClassInfo value) {
+               assertArgNotNull(ARG_value, value);
+               return beanSubType((Class<? extends T>) value.inner());
+       }
+
        /**
         * Specifies the builder type to use for creating the bean.
         *
@@ -1280,7 +1298,10 @@ public class BeanInstantiator<T> {
                        .orElse(null);
 
                // Look for Bean().
-               if (bean == null) {
+               // Skip constructor invocation when beanSubType is abstract or 
an interface — Class.newInstance() would
+               // throw InstantiationException, masking the more useful "class 
is abstract"/"class is an interface"
+               // fallthrough below (which honors the registered fallback 
supplier when present).
+               if (bean == null && ! beanSubType.isInterface() && ! 
beanSubType.isAbstract()) {
                        log("Attempting Bean() constructor");
                        // If builder was detected but has no build method, 
pass it as extra bean for constructors
                        Object[] constructorExtraBeans = builder2 != null ? new 
Object[]{builder2} : new Object[0];
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContext.java 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContext.java
index 15ae62abaf..1bd732cd2d 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContext.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContext.java
@@ -41,7 +41,6 @@ import org.apache.juneau.commons.function.*;
 import org.apache.juneau.commons.inject.*;
 import org.apache.juneau.commons.reflect.*;
 import org.apache.juneau.commons.reflect.Visibility;
-import org.apache.juneau.cp.*;
 import org.apache.juneau.json5.*;
 import org.apache.juneau.marshaller.*;
 import org.apache.juneau.serializer.*;
@@ -3740,7 +3739,7 @@ public class BeanContext extends Context implements 
ConversionFinder {
                        } else {
                                var ci = info((Class<?>)x);
                                if (ci.isAssignableTo(ObjectSwap.class))
-                                       
objectSwapsList.add(BeanCreator.of(ObjectSwap.class).type(ci).run());
+                                       
objectSwapsList.add(BeanInstantiator.of(ObjectSwap.class).beanSubType(ci).run());
                                else if (ci.isAssignableTo(Surrogate.class))
                                        
objectSwapsList.addAll(SurrogateSwap.findObjectSwaps(ci.inner(), this));
                                else
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanMeta.java 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanMeta.java
index a7ba9fbc45..cf18daee01 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanMeta.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanMeta.java
@@ -37,7 +37,7 @@ import org.apache.juneau.commons.lang.*;
 import org.apache.juneau.commons.reflect.*;
 import org.apache.juneau.commons.reflect.Visibility;
 import org.apache.juneau.commons.utils.*;
-import org.apache.juneau.cp.*;
+import org.apache.juneau.commons.inject.*;
 
 /**
  * Encapsulates all access to the properties of a bean class (like a souped-up 
{@link java.beans.BeanInfo}).
@@ -973,7 +973,7 @@ public class BeanMeta<T> {
                        if (opt.isPresent())
                                return opt.get();
                }
-               return (BeanFactory) BeanCreator.of((Class)fc).run();
+               return (BeanFactory) BeanInstantiator.of((Class)fc).run();
        }
 
        /*
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanPropertyMeta.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanPropertyMeta.java
index 239203f42d..f57bc58e0a 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanPropertyMeta.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanPropertyMeta.java
@@ -38,6 +38,7 @@ import org.apache.juneau.commons.collections.*;
 import org.apache.juneau.commons.lang.*;
 import org.apache.juneau.commons.reflect.*;
 import org.apache.juneau.commons.reflect.ReflectionUtils;
+import org.apache.juneau.commons.inject.*;
 import org.apache.juneau.cp.*;
 import org.apache.juneau.internal.*;
 import org.apache.juneau.parser.*;
@@ -168,7 +169,7 @@ public class BeanPropertyMeta implements 
Comparable<BeanPropertyMeta> {
                private static ObjectSwap beanpSwap(AnnotationInfo<Beanp> ai) {
                        var p = ai.inner();
                        if (! p.format().isEmpty())
-                               return 
BeanCreator.of(ObjectSwap.class).type(StringFormatSwap.class).arg(String.class, 
p.format()).run();
+                               return 
BeanInstantiator.of(ObjectSwap.class).beanSubType(StringFormatSwap.class).addBean(String.class,
 p.format()).run();
                        return null;
                }
 
@@ -184,7 +185,7 @@ public class BeanPropertyMeta implements 
Comparable<BeanPropertyMeta> {
                                return null;
                        var ci = info(c);
                        if (ci.isAssignableTo(ObjectSwap.class)) {
-                               var ps = 
BeanCreator.of(ObjectSwap.class).type(ci).run();
+                               var ps = 
BeanInstantiator.of(ObjectSwap.class).beanSubType(ci).run();
                                if (nn(ps.forMediaTypes()))
                                        throw unsupportedOp("TODO - Media types 
on swaps not yet supported on bean properties.");
                                if (nn(ps.withTemplate()))
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ClassMeta.java 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ClassMeta.java
index fe564c4a67..5509e15b5e 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ClassMeta.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ClassMeta.java
@@ -41,7 +41,7 @@ import org.apache.juneau.commons.conversion.*;
 import org.apache.juneau.commons.function.*;
 import org.apache.juneau.commons.reflect.*;
 import org.apache.juneau.commons.utils.*;
-import org.apache.juneau.cp.*;
+import org.apache.juneau.commons.inject.*;
 import org.apache.juneau.json.*;
 import org.apache.juneau.swap.*;
 
@@ -1416,7 +1416,7 @@ public class ClassMeta<T> extends ClassInfoTyped<T> {
                var ci = info(c);
 
                if (ci.isAssignableTo(ObjectSwap.class)) {
-                       var ps = 
BeanCreator.of(ObjectSwap.class).type(ci).run();
+                       var ps = 
BeanInstantiator.of(ObjectSwap.class).beanSubType(ci).run();
                        if (s.mediaTypes().length > 0)
                                
ps.forMediaTypes(MediaType.ofAll(s.mediaTypes()));
                        if (! s.template().isEmpty())
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/encoders/EncoderSet.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/encoders/EncoderSet.java
index c2b6e53208..4555c70cbb 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/encoders/EncoderSet.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/encoders/EncoderSet.java
@@ -26,11 +26,8 @@ import java.util.*;
 import java.util.concurrent.*;
 
 import org.apache.juneau.*;
-import org.apache.juneau.commons.inject.BasicBeanStore2;
-import org.apache.juneau.commons.inject.BeanStore;
-import org.apache.juneau.commons.inject.WritableBeanStore;
+import org.apache.juneau.commons.inject.*;
 import org.apache.juneau.commons.reflect.*;
-import org.apache.juneau.cp.*;
 
 /**
  * Represents the set of {@link Encoder encoders} keyed by codings.
@@ -288,7 +285,9 @@ public class EncoderSet {
                if (o instanceof Encoder o2)
                        return o2;
                try {
-                       return BeanCreator.of(Encoder.class, 
bs).type((Class<?>)o).run();
+                       @SuppressWarnings("unchecked")
+                       var subType = (Class<? extends Encoder>) o;
+                       return BeanInstantiator.of(Encoder.class, 
bs).beanSubType(subType).run();
                } catch (ExecutableException e) {
                        throw toRex(e);
                }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlBeanPropertyMeta.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlBeanPropertyMeta.java
index b4ca7ddc22..d1fbded5a8 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlBeanPropertyMeta.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlBeanPropertyMeta.java
@@ -20,7 +20,7 @@ import static org.apache.juneau.commons.utils.Utils.*;
 
 import org.apache.juneau.*;
 import org.apache.juneau.commons.reflect.*;
-import org.apache.juneau.cp.*;
+import org.apache.juneau.commons.inject.*;
 import org.apache.juneau.html.annotation.*;
 
 /**
@@ -41,7 +41,7 @@ public class HtmlBeanPropertyMeta extends 
ExtendedBeanPropertyMeta {
                boolean noTables;
                boolean noTableHeaders;
                HtmlFormat format = HtmlFormat.HTML;
-               BeanCreator<HtmlRender> render = 
BeanCreator.of(HtmlRender.class);
+               BeanInstantiator<HtmlRender> render = 
BeanInstantiator.of(HtmlRender.class);
                String link;
                String anchorText;
                String style;
@@ -55,7 +55,7 @@ public class HtmlBeanPropertyMeta extends 
ExtendedBeanPropertyMeta {
                        if (html.noTableHeaders())
                                noTableHeaders = html.noTableHeaders();
                        if (html.render() != HtmlRender.class)
-                               render.type(html.render());
+                               render.beanSubType(html.render());
                        if (! html.link().isEmpty())
                                link = html.link();
                        if (! html.anchorText().isEmpty())
@@ -99,7 +99,7 @@ public class HtmlBeanPropertyMeta extends 
ExtendedBeanPropertyMeta {
                format = b.format;
                noTables = b.noTables;
                noTableHeaders = b.noTableHeaders;
-               render = b.render.orElse(null);
+               render = b.render.fallback(() -> null).run();
                link = b.link;
                anchorText = b.anchorText;
                style = b.style;
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserSession.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserSession.java
index 14e11977d2..dec16703ca 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserSession.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserSession.java
@@ -36,7 +36,7 @@ import org.apache.juneau.collections.*;
 import org.apache.juneau.commons.collections.FluentMap;
 import org.apache.juneau.commons.function.*;
 import org.apache.juneau.commons.reflect.*;
-import org.apache.juneau.cp.*;
+import org.apache.juneau.commons.inject.*;
 import org.apache.juneau.httppart.*;
 import org.apache.juneau.objecttools.*;
 import org.apache.juneau.swap.*;
@@ -323,7 +323,8 @@ public class ParserSession extends BeanSession {
                outer = builder.outer;
                schema = builder.schema;
                trimStrings = builder.trimStrings;
-               listener = 
BeanCreator.of(ParserListener.class).type(ctx.getListener()).orElse(null);
+               var listenerCls = ctx.getListener();
+               listener = listenerCls == null ? null : 
BeanInstantiator.of(listenerCls).fallback(() -> null).run();
                sbStack = new ArrayDeque<>();
        }
 
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserSet.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserSet.java
index 211d60ade6..ff3de55382 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserSet.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserSet.java
@@ -31,7 +31,6 @@ import java.util.function.*;
 import java.util.stream.*;
 
 import org.apache.juneau.*;
-import org.apache.juneau.cp.*;
 
 /**
  * Represents a group of {@link Parser Parsers} that can be looked up by media 
type.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerSession.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerSession.java
index dffbd780e4..af725e0130 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerSession.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerSession.java
@@ -33,7 +33,7 @@ import org.apache.juneau.*;
 import org.apache.juneau.commons.function.*;
 import org.apache.juneau.commons.collections.FluentMap;
 import org.apache.juneau.commons.reflect.*;
-import org.apache.juneau.cp.*;
+import org.apache.juneau.commons.inject.*;
 import org.apache.juneau.httppart.*;
 import org.apache.juneau.parser.*;
 import org.apache.juneau.soap.*;
@@ -504,7 +504,8 @@ public class SerializerSession extends BeanTraverseSession {
                UriContext uriContext = builder.uriContext;
                uriResolver = UriResolver.of(ctx.getUriResolution(), 
ctx.getUriRelativity(), uriContext);
                vrs = builder.resolver;
-               listener = 
BeanCreator.of(SerializerListener.class).type(ctx.getListener()).orElse(null);
+               var listenerCls = ctx.getListener();
+               listener = listenerCls == null ? null : 
BeanInstantiator.of(listenerCls).fallback(() -> null).run();
                keepNullProperties = builder.keepNullProperties;
                trimStrings = builder.trimStrings;
                addBeanTypes = builder.addBeanTypes;
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerSet.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerSet.java
index bc40c13463..bb35e50598 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerSet.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerSet.java
@@ -33,7 +33,6 @@ import java.util.function.*;
 import java.util.stream.*;
 
 import org.apache.juneau.*;
-import org.apache.juneau.cp.*;
 
 /**
  * Represents a group of {@link Serializer Serializers} that can be looked up 
by media type.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/VarResolver.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/VarResolver.java
index 5f7b8cea7f..b593180116 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/VarResolver.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/VarResolver.java
@@ -23,9 +23,7 @@ import java.util.*;
 import java.util.concurrent.*;
 
 import org.apache.juneau.*;
-import org.apache.juneau.commons.inject.BasicBeanStore2;
-import org.apache.juneau.commons.inject.BeanStore;
-import org.apache.juneau.commons.inject.WritableBeanStore;
+import org.apache.juneau.commons.inject.*;
 import org.apache.juneau.cp.*;
 import org.apache.juneau.svl.vars.*;
 
@@ -242,8 +240,11 @@ public class VarResolver {
        }
 
        private static Var toVar(BeanStore bs, Object o) {
-               if (o instanceof Class o2)
-                       return BeanCreator.of(Var.class, bs).type(o2).run();
+               if (o instanceof Class<?> o2) {
+                       @SuppressWarnings("unchecked")
+                       var subType = (Class<? extends Var>) o2;
+                       return BeanInstantiator.of(Var.class, 
bs).beanSubType(subType).run();
+               }
                return (Var)o;
        }
 
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/VarResolverSession.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/VarResolverSession.java
index d84fd045a8..6ed2549d8e 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/VarResolverSession.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/VarResolverSession.java
@@ -30,7 +30,6 @@ import java.util.*;
 import org.apache.juneau.commons.collections.*;
 import org.apache.juneau.commons.lang.*;
 import org.apache.juneau.commons.inject.*;
-import org.apache.juneau.cp.*;
 
 /**
  * A var resolver session that combines a {@link VarResolver} with one or more 
session objects.
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestChildren.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestChildren.java
index 41d303eb64..842146bb76 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestChildren.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestChildren.java
@@ -23,7 +23,6 @@ import java.util.*;
 
 import org.apache.juneau.*;
 import org.apache.juneau.commons.inject.WritableBeanStore;
-import org.apache.juneau.cp.*;
 import org.apache.juneau.rest.annotation.*;
 import org.apache.juneau.rest.util.*;
 
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOpSession.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOpSession.java
index 29579698f3..d1fbde0023 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOpSession.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOpSession.java
@@ -24,7 +24,6 @@ import org.apache.http.*;
 import org.apache.juneau.*;
 import org.apache.juneau.commons.collections.FluentMap;
 import org.apache.juneau.commons.inject.*;
-import org.apache.juneau.cp.*;
 import org.apache.juneau.http.response.*;
 import org.apache.juneau.rest.logger.*;
 
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOperations.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOperations.java
index 122d36411f..30b9e71742 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOperations.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOperations.java
@@ -23,7 +23,6 @@ import java.util.*;
 
 import org.apache.juneau.*;
 import org.apache.juneau.commons.inject.WritableBeanStore;
-import org.apache.juneau.cp.*;
 import org.apache.juneau.http.response.*;
 import org.apache.juneau.rest.annotation.*;
 
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestSession.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestSession.java
index 8f50ecc25a..0fff547f06 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestSession.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestSession.java
@@ -28,7 +28,6 @@ import org.apache.juneau.*;
 import org.apache.juneau.commons.collections.FluentMap;
 import org.apache.juneau.commons.inject.*;
 import org.apache.juneau.commons.lang.*;
-import org.apache.juneau.cp.*;
 import org.apache.juneau.http.response.*;
 import org.apache.juneau.rest.annotation.*;
 import org.apache.juneau.rest.logger.*;
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/Rest.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/Rest.java
index 5c9312a78d..863f29cddc 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/Rest.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/Rest.java
@@ -25,7 +25,6 @@ import java.util.*;
 import org.apache.juneau.*;
 import org.apache.juneau.commons.annotation.*;
 import org.apache.juneau.config.*;
-import org.apache.juneau.cp.*;
 import org.apache.juneau.encoders.*;
 import org.apache.juneau.http.annotation.*;
 import org.apache.juneau.httppart.*;
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestAnnotation.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestAnnotation.java
index 182e434c7c..b4d5a50198 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestAnnotation.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestAnnotation.java
@@ -23,7 +23,6 @@ import org.apache.juneau.encoders.*;
 import org.apache.juneau.http.annotation.*;
 import org.apache.juneau.httppart.*;
 import org.apache.juneau.commons.annotation.*;
-import org.apache.juneau.cp.*;
 import org.apache.juneau.rest.arg.*;
 import org.apache.juneau.rest.converter.*;
 import org.apache.juneau.rest.debug.*;
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/arg/RestOpArgList.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/arg/RestOpArgList.java
index 3e335c137c..2076a1f6b1 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/arg/RestOpArgList.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/arg/RestOpArgList.java
@@ -23,7 +23,6 @@ import java.util.*;
 
 import org.apache.juneau.*;
 import org.apache.juneau.commons.inject.WritableBeanStore;
-import org.apache.juneau.cp.*;
 
 /**
  * A list of {@link RestOpArg} classes.
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/config/DefaultConfig.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/config/DefaultConfig.java
index 4041497b6f..152c0b36f8 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/config/DefaultConfig.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/config/DefaultConfig.java
@@ -17,7 +17,6 @@
 package org.apache.juneau.rest.config;
 
 import org.apache.juneau.annotation.*;
-import org.apache.juneau.cp.*;
 import org.apache.juneau.encoders.*;
 import org.apache.juneau.oapi.*;
 import org.apache.juneau.rest.annotation.*;
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/debug/BasicDebugEnablement.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/debug/BasicDebugEnablement.java
index 4631406f8c..f623988850 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/debug/BasicDebugEnablement.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/debug/BasicDebugEnablement.java
@@ -26,7 +26,6 @@ import org.apache.juneau.*;
 import org.apache.juneau.commons.inject.BeanStore;
 import org.apache.juneau.commons.reflect.*;
 import org.apache.juneau.commons.utils.*;
-import org.apache.juneau.cp.*;
 import org.apache.juneau.rest.*;
 import org.apache.juneau.rest.annotation.*;
 import org.apache.juneau.svl.*;
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/logger/BasicCallLogger.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/logger/BasicCallLogger.java
index e342cdacbf..53bf84048c 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/logger/BasicCallLogger.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/logger/BasicCallLogger.java
@@ -20,7 +20,6 @@ import static java.util.logging.Level.*;
 import static org.apache.juneau.rest.logger.CallLoggingDetail.*;
 
 import org.apache.juneau.commons.inject.*;
-import org.apache.juneau.cp.*;
 import org.apache.juneau.rest.*;
 
 /**
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/logger/BasicDisabledCallLogger.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/logger/BasicDisabledCallLogger.java
index adb214328e..3424e03e38 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/logger/BasicDisabledCallLogger.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/logger/BasicDisabledCallLogger.java
@@ -17,7 +17,6 @@
 package org.apache.juneau.rest.logger;
 
 import org.apache.juneau.commons.inject.BeanStore;
-import org.apache.juneau.cp.*;
 
 /**
  * Default implementation of a {@link CallLogger} that never logs REST calls.
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/logger/BasicTestCallLogger.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/logger/BasicTestCallLogger.java
index 7c27549146..fa3452d1ac 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/logger/BasicTestCallLogger.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/logger/BasicTestCallLogger.java
@@ -22,7 +22,6 @@ import static org.apache.juneau.commons.utils.Utils.*;
 import static org.apache.juneau.rest.logger.CallLoggingDetail.*;
 
 import org.apache.juneau.commons.inject.BeanStore;
-import org.apache.juneau.cp.*;
 import org.apache.juneau.rest.*;
 
 import jakarta.servlet.http.*;
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/logger/CallLogger.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/logger/CallLogger.java
index 0fdc6a2ea8..bef11129a7 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/logger/CallLogger.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/logger/CallLogger.java
@@ -33,7 +33,6 @@ import org.apache.juneau.*;
 import org.apache.juneau.commons.collections.*;
 import org.apache.juneau.commons.inject.*;
 import org.apache.juneau.commons.utils.*;
-import org.apache.juneau.cp.*;
 import org.apache.juneau.rest.annotation.*;
 import org.apache.juneau.rest.stats.*;
 import org.apache.juneau.rest.util.*;
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/logger/CallLoggerRule.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/logger/CallLoggerRule.java
index 9687174f55..0425e88c75 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/logger/CallLoggerRule.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/logger/CallLoggerRule.java
@@ -25,8 +25,6 @@ import java.util.logging.*;
 import org.apache.juneau.*;
 import org.apache.juneau.commons.collections.*;
 import org.apache.juneau.commons.inject.BeanStore;
-import org.apache.juneau.cp.*;
-
 import jakarta.servlet.http.*;
 
 /**
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/stats/MethodExecStats.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/stats/MethodExecStats.java
index fddf15b991..935771c94a 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/stats/MethodExecStats.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/stats/MethodExecStats.java
@@ -26,7 +26,6 @@ import java.util.concurrent.atomic.*;
 import org.apache.juneau.*;
 import org.apache.juneau.commons.collections.*;
 import org.apache.juneau.commons.inject.BeanStore;
-import org.apache.juneau.cp.*;
 
 /**
  * Method execution statistics.
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/stats/MethodExecStore.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/stats/MethodExecStore.java
index c03732c304..37b1c5ce43 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/stats/MethodExecStore.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/stats/MethodExecStore.java
@@ -24,7 +24,6 @@ import java.util.concurrent.*;
 
 import org.apache.juneau.*;
 import org.apache.juneau.commons.inject.*;
-import org.apache.juneau.cp.*;
 
 /**
  * Method execution statistics database.
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/stats/ThrownStore.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/stats/ThrownStore.java
index d75b326233..f15655a6e1 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/stats/ThrownStore.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/stats/ThrownStore.java
@@ -26,7 +26,6 @@ import java.util.concurrent.*;
 
 import org.apache.juneau.*;
 import org.apache.juneau.commons.inject.*;
-import org.apache.juneau.cp.*;
 
 /**
  * An in-memory cache of thrown exceptions.
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/commons/inject/BeanInstantiator_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/commons/inject/BeanInstantiator_Test.java
index b769dc426e..689568b378 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/commons/inject/BeanInstantiator_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/commons/inject/BeanInstantiator_Test.java
@@ -3360,7 +3360,7 @@ class BeanInstantiator_Test extends TestBase {
                @Test
                void n12_beanSubTypeNullThrows() {
                        var creator = BeanInstantiator.of(SimpleBean.class);
-                       assertThrows(IllegalArgumentException.class, () -> 
creator.beanSubType(null));
+                       assertThrows(IllegalArgumentException.class, () -> 
creator.beanSubType((Class<? extends SimpleBean>) null));
                }
        }
 
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/rest/Swagger_Test.java 
b/juneau-utest/src/test/java/org/apache/juneau/rest/Swagger_Test.java
index dc1d1f9441..f113d61d9a 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/rest/Swagger_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/rest/Swagger_Test.java
@@ -29,7 +29,6 @@ import org.apache.juneau.commons.annotation.Schema;
 import org.apache.juneau.commons.annotation.ExternalDocs;
 import org.apache.juneau.commons.lang.*;
 import org.apache.juneau.commons.inject.*;
-import org.apache.juneau.cp.*;
 import org.apache.juneau.http.annotation.*;
 import org.apache.juneau.http.annotation.Tag;
 import org.apache.juneau.json.*;
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestAnnotation_Test.java
index aba4a74a33..e921a8e3ab 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestAnnotation_Test.java
@@ -21,7 +21,6 @@ import static org.apache.juneau.junit.bct.BctAssertions.*;
 import static org.junit.jupiter.api.Assertions.*;
 
 import org.apache.juneau.*;
-import org.apache.juneau.cp.*;
 import org.apache.juneau.encoders.*;
 import org.apache.juneau.httppart.*;
 import org.apache.juneau.parser.*;
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/Rest_BeanCreatorOverrides_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/Rest_BeanCreatorOverrides_Test.java
index eb18fb2845..1203a338b5 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/Rest_BeanCreatorOverrides_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/Rest_BeanCreatorOverrides_Test.java
@@ -20,7 +20,6 @@ import static org.junit.jupiter.api.Assertions.*;
 
 import org.apache.juneau.*;
 import org.apache.juneau.commons.inject.BeanStore;
-import org.apache.juneau.cp.*;
 import org.apache.juneau.rest.*;
 import org.apache.juneau.rest.debug.*;
 import org.apache.juneau.rest.staticfile.*;


Reply via email to