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