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 63d86992ed9426b395931b962123a874b390bf46 Author: James Bognar <[email protected]> AuthorDate: Fri May 8 15:09:20 2026 -0400 refactor(inject): TODO-15 phase-3 batch 10 — migrate cascade list helpers to BeanInstantiator Migrate the rest-server cascade-builder list helpers from legacy BeanCreator to v2 BeanInstantiator. Same surface, same semantics: Builder.append(Class) / append(Instance) stash a per-entry creator, the outer constructor materializes them all on .run() / stream-map. Files migrated: - RestConverterList — entries List<BeanInstantiator<RestConverter>>; type(v) -> beanSubType(v); impl(v) -> implementation(v); stream map(BeanCreator::run) -> map(BeanInstantiator::run). - RestGuardList — same shape. - RestMatcherList — same shape. - ResponseProcessorList.instantiate(Object o, BeanStore bs) — single BeanCreator.of(...).type((Class<?>)o).run() switched to BeanInstantiator with an unchecked cast to Class<? extends ResponseProcessor>; ExecutableException path preserved for the ConfigException wrap. Import sweep: dropped trailing "org.apache.juneau.cp.*" imports (only BeanCreator was being pulled in) and consolidated on "org.apache.juneau.commons.inject.*". Notes: - These Builders still extend the legacy BeanBuilder<T>, but BeanBuilder.beanStore() already returns the v2 BeanStore interface, so the inner BeanInstantiator call sites are clean. The outer BeanBuilder migration is its own task (depends on an outstanding builder-pattern parity API on BeanInstantiator). - Build clean; juneau-utest passes. Co-authored-by: Cursor <[email protected]> --- .../org/apache/juneau/rest/converter/RestConverterList.java | 11 +++++------ .../main/java/org/apache/juneau/rest/guard/RestGuardList.java | 11 +++++------ .../java/org/apache/juneau/rest/matcher/RestMatcherList.java | 11 +++++------ .../apache/juneau/rest/processor/ResponseProcessorList.java | 7 +++---- 4 files changed, 18 insertions(+), 22 deletions(-) diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/converter/RestConverterList.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/converter/RestConverterList.java index 2604123e51..fe25eb4d58 100644 --- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/converter/RestConverterList.java +++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/converter/RestConverterList.java @@ -21,8 +21,7 @@ import static org.apache.juneau.commons.utils.CollectionUtils.*; import java.util.*; import org.apache.juneau.*; -import org.apache.juneau.commons.inject.WritableBeanStore; -import org.apache.juneau.cp.*; +import org.apache.juneau.commons.inject.*; /** * A list of {@link RestConverter} objects. @@ -38,7 +37,7 @@ public class RestConverterList { */ public static class Builder extends BeanBuilder<RestConverterList> { - List<BeanCreator<RestConverter>> entries; + List<BeanInstantiator<RestConverter>> entries; /** * Create an empty builder. @@ -61,7 +60,7 @@ public class RestConverterList { }) public Builder append(Class<? extends RestConverter>...values) { for (var v : values) - entries.add(BeanCreator.of(RestConverter.class, beanStore()).type(v)); + entries.add(BeanInstantiator.of(RestConverter.class, beanStore()).beanSubType(v)); return this; } @@ -73,7 +72,7 @@ public class RestConverterList { */ public Builder append(RestConverter...values) { for (var v : values) - entries.add(BeanCreator.of(RestConverter.class, beanStore()).impl(v)); + entries.add(BeanInstantiator.of(RestConverter.class, beanStore()).implementation(v)); return this; } @@ -118,7 +117,7 @@ public class RestConverterList { builder .entries .stream() - .map(BeanCreator::run) + .map(BeanInstantiator::run) .toArray(RestConverter[]::new); // @formatter:on } diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/guard/RestGuardList.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/guard/RestGuardList.java index e97b1b9024..ce9be81b4d 100644 --- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/guard/RestGuardList.java +++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/guard/RestGuardList.java @@ -21,8 +21,7 @@ import static org.apache.juneau.commons.utils.CollectionUtils.*; import java.util.*; import org.apache.juneau.*; -import org.apache.juneau.commons.inject.WritableBeanStore; -import org.apache.juneau.cp.*; +import org.apache.juneau.commons.inject.*; /** * A list of {@link RestGuard} objects. @@ -38,7 +37,7 @@ public class RestGuardList { */ public static class Builder extends BeanBuilder<RestGuardList> { - List<BeanCreator<RestGuard>> entries; + List<BeanInstantiator<RestGuard>> entries; /** * Constructor. @@ -61,7 +60,7 @@ public class RestGuardList { }) public Builder append(Class<? extends RestGuard>...values) { for (var v : values) - entries.add(BeanCreator.of(RestGuard.class, beanStore()).type(v)); + entries.add(BeanInstantiator.of(RestGuard.class, beanStore()).beanSubType(v)); return this; } @@ -73,7 +72,7 @@ public class RestGuardList { */ public Builder append(RestGuard...values) { for (var v : values) - entries.add(BeanCreator.of(RestGuard.class, beanStore()).impl(v)); + entries.add(BeanInstantiator.of(RestGuard.class, beanStore()).implementation(v)); return this; } @@ -113,7 +112,7 @@ public class RestGuardList { * @param builder The builder containing the contents for this list. */ protected RestGuardList(Builder builder) { - entries = builder.entries.stream().map(BeanCreator::run).toArray(RestGuard[]::new); + entries = builder.entries.stream().map(BeanInstantiator::run).toArray(RestGuard[]::new); } /** diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/matcher/RestMatcherList.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/matcher/RestMatcherList.java index 81a64f9a2a..6394d4c130 100644 --- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/matcher/RestMatcherList.java +++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/matcher/RestMatcherList.java @@ -21,8 +21,7 @@ import static org.apache.juneau.commons.utils.CollectionUtils.*; import java.util.*; import org.apache.juneau.*; -import org.apache.juneau.commons.inject.WritableBeanStore; -import org.apache.juneau.cp.*; +import org.apache.juneau.commons.inject.*; /** * A list of {@link RestMatcher} objects. @@ -38,7 +37,7 @@ public class RestMatcherList { */ public static class Builder extends BeanBuilder<RestMatcherList> { - List<BeanCreator<RestMatcher>> entries; + List<BeanInstantiator<RestMatcher>> entries; /** * Constructor. @@ -61,7 +60,7 @@ public class RestMatcherList { }) public Builder append(Class<? extends RestMatcher>...values) { for (var v : values) - entries.add(BeanCreator.of(RestMatcher.class, beanStore()).type(v)); + entries.add(BeanInstantiator.of(RestMatcher.class, beanStore()).beanSubType(v)); return this; } @@ -73,7 +72,7 @@ public class RestMatcherList { */ public Builder append(RestMatcher...values) { for (var v : values) - entries.add(BeanCreator.of(RestMatcher.class, beanStore()).impl(v)); + entries.add(BeanInstantiator.of(RestMatcher.class, beanStore()).implementation(v)); return this; } @@ -114,7 +113,7 @@ public class RestMatcherList { * @param builder The builder containing the contents for this list. */ protected RestMatcherList(Builder builder) { - List<RestMatcher> l = builder.entries.stream().map(BeanCreator::run).toList(); + List<RestMatcher> l = builder.entries.stream().map(BeanInstantiator::run).toList(); optionalEntries = l.stream().filter(x -> ! x.required()).toArray(RestMatcher[]::new); requiredEntries = l.stream().filter(RestMatcher::required).toArray(RestMatcher[]::new); } diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/processor/ResponseProcessorList.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/processor/ResponseProcessorList.java index 8775002515..33fce40a0c 100644 --- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/processor/ResponseProcessorList.java +++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/processor/ResponseProcessorList.java @@ -22,10 +22,8 @@ import static org.apache.juneau.commons.utils.CollectionUtils.*; import java.util.*; import org.apache.juneau.*; -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.*; /** * A list of {@link ResponseProcessor} objects. @@ -104,11 +102,12 @@ public class ResponseProcessorList { return new Builder(beanStore); } + @SuppressWarnings("unchecked") private static ResponseProcessor instantiate(Object o, BeanStore bs) { if (o instanceof ResponseProcessor o2) return o2; try { - return BeanCreator.of(ResponseProcessor.class, bs).type((Class<?>)o).run(); + return BeanInstantiator.of(ResponseProcessor.class, bs).beanSubType((Class<? extends ResponseProcessor>) o).run(); } catch (ExecutableException e) { throw new ConfigException(e, "Could not instantiate class {0}", o); }
