This is an automated email from the ASF dual-hosted git repository.

lukaszlenart pushed a commit to branch fix/WW-5524-converter-factory-s6
in repository https://gitbox.apache.org/repos/asf/struts.git

commit 92a2a4bcc12f4bc4456bee1c4c88e6e4329a4409
Author: Martin Ashby <mar...@ashbysoft.com>
AuthorDate: Thu Aug 7 22:42:23 2025 +0100

    Fixup StrutsConverterFactory
    
    It should delegate back to ObjectFactory#buildBean instead of directly
    calling Container#inject, otherwise overrides of buildBean in subclasses
    of ObjectFactory e.g. SpringObjectFactory are skipped; meaning that
    TypeConverters cannot make use of Spring dependency injection
    
    Fixes: https://issues.apache.org/jira/projects/WW/issues/WW-5524
---
 .../com/opensymphony/xwork2/factory/StrutsConverterFactory.java  | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git 
a/core/src/main/java/com/opensymphony/xwork2/factory/StrutsConverterFactory.java
 
b/core/src/main/java/com/opensymphony/xwork2/factory/StrutsConverterFactory.java
index 2c873e60b..e608c5a31 100644
--- 
a/core/src/main/java/com/opensymphony/xwork2/factory/StrutsConverterFactory.java
+++ 
b/core/src/main/java/com/opensymphony/xwork2/factory/StrutsConverterFactory.java
@@ -33,16 +33,15 @@ public class StrutsConverterFactory implements 
ConverterFactory {
 
     private static final Logger LOG = 
LogManager.getLogger(StrutsConverterFactory.class);
 
-    private Container container;
+    private ObjectFactory objectFactory;
 
     @Inject
-    public void setContainer(Container container) {
-        this.container = container;
+    public void setObjectFactory(ObjectFactory objectFactory) {
+        this.objectFactory = objectFactory;
     }
 
     public TypeConverter buildConverter(Class<? extends TypeConverter> 
converterClass, Map<String, Object> extraContext) throws Exception {
         LOG.debug("Creating converter of type [{}]", 
converterClass.getCanonicalName());
-        return container.inject(converterClass);
+        return (TypeConverter)objectFactory.buildBean(converterClass, 
extraContext);
     }
-
 }

Reply via email to