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 e272c36e9e Utility class cleanup
e272c36e9e is described below
commit e272c36e9e03b02c62860b2b504391fb9a53a1e7
Author: James Bognar <[email protected]>
AuthorDate: Fri Oct 31 13:10:36 2025 -0400
Utility class cleanup
---
TODO.md | 3 ++
.../apache/juneau/bean/jsonschema/JsonSchema.java | 1 +
.../org/apache/juneau/bean/openapi3/OpenApi.java | 1 +
.../org/apache/juneau/bean/swagger/Swagger.java | 1 +
.../common/reflect}/BeanRuntimeException.java | 46 +++++++++++++++-------
.../main/java/org/apache/juneau/config/Entry.java | 1 +
.../main/java/org/apache/juneau/jena/RdfUtils.java | 1 +
.../java/org/apache/juneau/BeanDictionaryMap.java | 1 +
.../src/main/java/org/apache/juneau/BeanMap.java | 1 +
.../java/org/apache/juneau/BeanPropertyMeta.java | 1 +
.../main/java/org/apache/juneau/BeanRegistry.java | 1 +
.../java/org/apache/juneau/ContextSession.java | 1 +
.../java/org/apache/juneau/ExtendedBeanMeta.java | 2 +
.../apache/juneau/ExtendedBeanPropertyMeta.java | 2 +
.../java/org/apache/juneau/ExtendedClassMeta.java | 2 +
.../org/apache/juneau/collections/JsonMap.java | 1 +
.../apache/juneau/internal/DelegateBeanMap.java | 1 +
.../java/org/apache/juneau/parser/ParserPipe.java | 1 +
.../apache/juneau/serializer/SerializerPipe.java | 1 +
.../java/org/apache/juneau/xml/XmlBeanMeta.java | 1 +
.../main/java/org/apache/juneau/xml/XmlUtils.java | 1 +
.../apache/juneau/BasicRuntimeException_Test.java | 13 +-----
.../java/org/apache/juneau/BeanConfig_Test.java | 1 +
23 files changed, 58 insertions(+), 27 deletions(-)
diff --git a/TODO.md b/TODO.md
index 96a6345652..7dd6059481 100644
--- a/TODO.md
+++ b/TODO.md
@@ -1,5 +1,7 @@
# TODO List
+**Last generated TODO number: TODO-73**
+
This file tracks pending tasks for the Apache Juneau project. For completed
items, see [TODO-completed.md](TODO-completed.md).
## Issues to Fix
@@ -19,6 +21,7 @@ This file tracks pending tasks for the Apache Juneau project.
For completed item
- **Phase 1**: ✅ Break up compound declarations (completed - 26 instances)
- **Phase 2**: ✅ Convert safe patterns in local variable declarations
(completed - 276 files)
- [ ] TODO-54 Search for places in code where Calendar should be replaced with
ZonedDateTime.
+- [ ] TODO-73 Move reflection classes (ClassInfo, ConstructorInfo,
ExecutableInfo, FieldInfo, MethodInfo, ParamInfo) from
org.apache.juneau.reflect to org.apache.juneau.common.reflect. See
TODO-reflectionMigrationPlan.md for details.
## Framework Improvements
diff --git
a/juneau-bean/juneau-bean-jsonschema/src/main/java/org/apache/juneau/bean/jsonschema/JsonSchema.java
b/juneau-bean/juneau-bean-jsonschema/src/main/java/org/apache/juneau/bean/jsonschema/JsonSchema.java
index 768f5390f2..4b8d566916 100644
---
a/juneau-bean/juneau-bean-jsonschema/src/main/java/org/apache/juneau/bean/jsonschema/JsonSchema.java
+++
b/juneau-bean/juneau-bean-jsonschema/src/main/java/org/apache/juneau/bean/jsonschema/JsonSchema.java
@@ -25,6 +25,7 @@ import java.util.*;
import org.apache.juneau.*;
import org.apache.juneau.annotation.*;
+import org.apache.juneau.common.reflect.*;
import org.apache.juneau.json.*;
import org.apache.juneau.parser.*;
import org.apache.juneau.serializer.*;
diff --git
a/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/OpenApi.java
b/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/OpenApi.java
index 6552786f35..93852be5f6 100644
---
a/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/OpenApi.java
+++
b/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/OpenApi.java
@@ -26,6 +26,7 @@ import java.util.*;
import org.apache.juneau.*;
import org.apache.juneau.common.collections.*;
+import org.apache.juneau.common.reflect.*;
import org.apache.juneau.json.*;
import org.apache.juneau.objecttools.*;
diff --git
a/juneau-bean/juneau-bean-swagger-v2/src/main/java/org/apache/juneau/bean/swagger/Swagger.java
b/juneau-bean/juneau-bean-swagger-v2/src/main/java/org/apache/juneau/bean/swagger/Swagger.java
index 4c631d1021..4c2aaad1c5 100644
---
a/juneau-bean/juneau-bean-swagger-v2/src/main/java/org/apache/juneau/bean/swagger/Swagger.java
+++
b/juneau-bean/juneau-bean-swagger-v2/src/main/java/org/apache/juneau/bean/swagger/Swagger.java
@@ -27,6 +27,7 @@ import java.util.*;
import org.apache.juneau.*;
import org.apache.juneau.collections.*;
import org.apache.juneau.common.collections.*;
+import org.apache.juneau.common.reflect.*;
import org.apache.juneau.json.*;
import org.apache.juneau.objecttools.*;
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanRuntimeException.java
b/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/reflect/BeanRuntimeException.java
similarity index 63%
rename from
juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanRuntimeException.java
rename to
juneau-core/juneau-common/src/main/java/org/apache/juneau/common/reflect/BeanRuntimeException.java
index 2e2eaec669..68bfd919d8 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanRuntimeException.java
+++
b/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/reflect/BeanRuntimeException.java
@@ -14,28 +14,50 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.juneau;
+package org.apache.juneau.common.reflect;
import static org.apache.juneau.common.utils.Utils.*;
import java.text.*;
/**
- * General bean runtime operation exception.
+ * A {@link RuntimeException} wrapper around common reflection exceptions.
*
- * <h5 class='section'>See Also:</h5><ul>
-
+ * <p>
+ * This exception is used to wrap checked exceptions that commonly occur when
using Java reflection APIs,
+ * converting them into unchecked exceptions for easier handling in
bean-processing code.
+ *
+ * <h5 class='section'>Wrapped Exceptions:</h5>
+ * <ul>
+ * <li>{@link InstantiationException}
+ * <li>{@link IllegalAccessException}
+ * <li>{@link IllegalArgumentException}
+ * <li>{@link InvocationTargetException}
+ * <li>{@link NoSuchMethodException}
+ * <li>{@link SecurityException}
* </ul>
*
- * @serial exclude
+ * <p>
+ * The exception message can optionally include the class name of the bean
that caused the exception,
+ * making it easier to identify the source of reflection errors in complex
bean hierarchies.
+ *
+ * <h5 class='section'>Example:</h5>
+ * <p class='bjava'>
+ * <jk>try</jk> {
+ * Constructor<?> <jv>c</jv> =
MyBean.<jk>class</jk>.getConstructor();
+ * <jv>c</jv>.newInstance();
+ * } <jk>catch</jk> (Exception <jv>e</jv>) {
+ * <jk>throw new</jk> BeanRuntimeException(<jv>e</jv>,
MyBean.<jk>class</jk>, <js>"Failed to instantiate bean"</js>);
+ * }
+ * </p>
*/
-public class BeanRuntimeException extends BasicRuntimeException {
+public class BeanRuntimeException extends RuntimeException {
private static final long serialVersionUID = 1L;
- private static String getMessage(Throwable cause, Class<?> c, String
msg) {
+ private static String getMessage(Throwable cause, Class<?> c, String
msg, Object...args) {
if (nn(msg))
- return (c == null ? "" : cn(c) + ": ") + msg;
+ return (c == null ? "" : cn(c) + ": ") + f(msg, args);
if (nn(cause))
return (c == null ? "" : cn(c) + ": ") +
cause.getMessage();
return null;
@@ -89,12 +111,6 @@ public class BeanRuntimeException extends
BasicRuntimeException {
* @param args Optional {@link MessageFormat}-style arguments.
*/
public BeanRuntimeException(Throwable cause, Class<?> c, String
message, Object...args) {
- super(cause, getMessage(cause, c, message), args);
- }
-
- @Override /* Overridden from BasicRuntimeException */
- public BeanRuntimeException setMessage(String message, Object...args) {
- super.setMessage(message, args);
- return this;
+ super(getMessage(cause, c, message, args), cause);
}
}
\ No newline at end of file
diff --git
a/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/Entry.java
b/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/Entry.java
index 1a4f7575b2..fcd47a5d9b 100644
---
a/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/Entry.java
+++
b/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/Entry.java
@@ -26,6 +26,7 @@ import java.util.function.*;
import org.apache.juneau.*;
import org.apache.juneau.collections.*;
+import org.apache.juneau.common.reflect.*;
import org.apache.juneau.common.utils.*;
import org.apache.juneau.config.internal.*;
import org.apache.juneau.json.*;
diff --git
a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfUtils.java
b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfUtils.java
index cf051aa834..5133dff4b1 100644
---
a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfUtils.java
+++
b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfUtils.java
@@ -21,6 +21,7 @@ import static org.apache.juneau.common.utils.Utils.*;
import java.util.*;
import org.apache.juneau.*;
+import org.apache.juneau.common.reflect.*;
import org.apache.juneau.jena.annotation.*;
import org.apache.juneau.xml.*;
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanDictionaryMap.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanDictionaryMap.java
index 4097c7d04f..9353ad248e 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanDictionaryMap.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanDictionaryMap.java
@@ -23,6 +23,7 @@ import java.lang.reflect.*;
import java.util.*;
import org.apache.juneau.annotation.*;
+import org.apache.juneau.common.reflect.*;
/**
* Represents a map of dictionary type names to bean classes that make up a
bean dictionary.
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanMap.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanMap.java
index b846ab9b58..910ceb9182 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanMap.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanMap.java
@@ -28,6 +28,7 @@ import java.util.function.*;
import org.apache.juneau.annotation.*;
import org.apache.juneau.collections.*;
+import org.apache.juneau.common.reflect.*;
import org.apache.juneau.internal.*;
import org.apache.juneau.json.*;
import org.apache.juneau.parser.*;
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 f0187a49d5..a4721b35be 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
@@ -31,6 +31,7 @@ import java.util.function.*;
import org.apache.juneau.annotation.*;
import org.apache.juneau.collections.*;
import org.apache.juneau.common.collections.*;
+import org.apache.juneau.common.reflect.*;
import org.apache.juneau.common.utils.*;
import org.apache.juneau.cp.*;
import org.apache.juneau.internal.*;
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanRegistry.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanRegistry.java
index c78c9481a3..59356b38fe 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanRegistry.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanRegistry.java
@@ -24,6 +24,7 @@ import java.util.concurrent.*;
import org.apache.juneau.annotation.*;
import org.apache.juneau.common.collections.*;
+import org.apache.juneau.common.reflect.*;
import org.apache.juneau.cp.*;
import org.apache.juneau.reflect.*;
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ContextSession.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ContextSession.java
index 8762187cb2..d9fe0a5b9c 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ContextSession.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ContextSession.java
@@ -26,6 +26,7 @@ import java.util.*;
import java.util.function.*;
import org.apache.juneau.collections.*;
+import org.apache.juneau.common.reflect.*;
import org.apache.juneau.common.utils.*;
import org.apache.juneau.internal.*;
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ExtendedBeanMeta.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ExtendedBeanMeta.java
index f5b2f929a7..dbe8e79e30 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ExtendedBeanMeta.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ExtendedBeanMeta.java
@@ -16,6 +16,8 @@
*/
package org.apache.juneau;
+import org.apache.juneau.common.reflect.*;
+
/**
* Defines extended language-specific metadata associated with a bean.
*
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ExtendedBeanPropertyMeta.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ExtendedBeanPropertyMeta.java
index 04000c382d..eda0e07db3 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ExtendedBeanPropertyMeta.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ExtendedBeanPropertyMeta.java
@@ -16,6 +16,8 @@
*/
package org.apache.juneau;
+import org.apache.juneau.common.reflect.*;
+
/**
* Defines extended language-specific metadata associated with a bean property.
*
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ExtendedClassMeta.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ExtendedClassMeta.java
index 0b1aad20ee..6588110b6b 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ExtendedClassMeta.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ExtendedClassMeta.java
@@ -16,6 +16,8 @@
*/
package org.apache.juneau;
+import org.apache.juneau.common.reflect.*;
+
/**
* Defines extended language-specific metadata associated with a class.
*
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/collections/JsonMap.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/collections/JsonMap.java
index e84e9e9329..f4171f0629 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/collections/JsonMap.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/collections/JsonMap.java
@@ -29,6 +29,7 @@ import java.util.*;
import java.util.function.*;
import org.apache.juneau.*;
+import org.apache.juneau.common.reflect.*;
import org.apache.juneau.common.utils.*;
import org.apache.juneau.json.*;
import org.apache.juneau.marshaller.*;
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/DelegateBeanMap.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/DelegateBeanMap.java
index 8ca99b64fc..85f158fcf2 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/DelegateBeanMap.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/DelegateBeanMap.java
@@ -23,6 +23,7 @@ import java.util.function.*;
import org.apache.juneau.*;
import org.apache.juneau.collections.*;
+import org.apache.juneau.common.reflect.*;
/**
* Represents a wrapped {@link BeanMap} where property values can be
overridden, removed, or reordered without
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserPipe.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserPipe.java
index 568322943c..06df678646 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserPipe.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserPipe.java
@@ -25,6 +25,7 @@ import java.io.*;
import java.nio.charset.*;
import org.apache.juneau.*;
+import org.apache.juneau.common.reflect.*;
import org.apache.juneau.common.utils.*;
/**
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerPipe.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerPipe.java
index d330e9480f..0594325a08 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerPipe.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerPipe.java
@@ -25,6 +25,7 @@ import java.nio.charset.*;
import org.apache.juneau.*;
import org.apache.juneau.common.io.*;
+import org.apache.juneau.common.reflect.*;
import org.apache.juneau.common.utils.*;
import org.apache.juneau.internal.*;
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlBeanMeta.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlBeanMeta.java
index d0dfd9d987..45bdbd15f4 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlBeanMeta.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlBeanMeta.java
@@ -24,6 +24,7 @@ import java.util.*;
import org.apache.juneau.*;
import org.apache.juneau.common.collections.*;
+import org.apache.juneau.common.reflect.*;
import org.apache.juneau.xml.annotation.*;
/**
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlUtils.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlUtils.java
index acfc9f9a8b..fedb706ca7 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlUtils.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlUtils.java
@@ -27,6 +27,7 @@ import javax.xml.stream.*;
import org.apache.juneau.*;
import org.apache.juneau.common.io.*;
+import org.apache.juneau.common.reflect.*;
import org.apache.juneau.common.utils.*;
import org.apache.juneau.internal.*;
import org.apache.juneau.xml.annotation.*;
diff --git
a/juneau-utest/src/test/java/org/apache/juneau/BasicRuntimeException_Test.java
b/juneau-utest/src/test/java/org/apache/juneau/BasicRuntimeException_Test.java
index 3884ecc93a..f5973aa9d5 100644
---
a/juneau-utest/src/test/java/org/apache/juneau/BasicRuntimeException_Test.java
+++
b/juneau-utest/src/test/java/org/apache/juneau/BasicRuntimeException_Test.java
@@ -19,6 +19,7 @@ package org.apache.juneau;
import static org.junit.jupiter.api.Assertions.*;
import org.apache.juneau.annotation.*;
+import org.apache.juneau.common.reflect.*;
import org.apache.juneau.objecttools.*;
import org.apache.juneau.parser.*;
import org.apache.juneau.rest.client.remote.*;
@@ -31,18 +32,6 @@ import org.junit.jupiter.api.*;
*/
class BasicRuntimeException_Test extends TestBase {
- @Test void a01_BeanRuntimeException_fluentSetters() {
- var x = new BeanRuntimeException("Original message");
-
- // Test setMessage returns same instance for fluent chaining
- assertSame(x, x.setMessage("New message"));
- assertEquals("New message", x.getMessage());
-
- // Test setMessage with args
- assertSame(x, x.setMessage("Message {0}", "arg1"));
- assertEquals("Message arg1", x.getMessage());
- }
-
@Test void a02_ClassMetaRuntimeException_fluentSetters() {
var x = new ClassMetaRuntimeException("Original message");
diff --git a/juneau-utest/src/test/java/org/apache/juneau/BeanConfig_Test.java
b/juneau-utest/src/test/java/org/apache/juneau/BeanConfig_Test.java
index 9afeae4775..f39f85fe58 100755
--- a/juneau-utest/src/test/java/org/apache/juneau/BeanConfig_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/BeanConfig_Test.java
@@ -29,6 +29,7 @@ import java.util.*;
import org.apache.juneau.annotation.*;
import org.apache.juneau.collections.*;
+import org.apache.juneau.common.reflect.*;
import org.apache.juneau.json.*;
import org.apache.juneau.parser.*;
import org.apache.juneau.swap.*;