You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juneau.apache.org by ja...@apache.org on 2026/05/11 19:44:51 UTC
(juneau) 10/19: refactor(inject): TODO-15 phase-3 batch 10 — migrate cascade list helpers to BeanInstantiator
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 <ja...@jamesbog-ltmjqf2.internal.salesforce.com>
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 <cu...@cursor.com>
---
.../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);
}