[ 
https://issues.apache.org/jira/browse/WW-5468?focusedWorklogId=937734&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-937734
 ]

ASF GitHub Bot logged work on WW-5468:
--------------------------------------

                Author: ASF GitHub Bot
            Created on: 12/Oct/24 12:07
            Start Date: 12/Oct/24 12:07
    Worklog Time Spent: 10m 
      Work Description: kusalk commented on code in PR #1072:
URL: https://github.com/apache/struts/pull/1072#discussion_r1797691255


##########
core/src/main/java/org/apache/struts2/interceptor/parameter/ParametersInterceptor.java:
##########
@@ -400,8 +411,10 @@ protected boolean 
hasValidAnnotatedPropertyDescriptor(Object action, PropertyDes
             }
             return false;
         }
+        LOG.debug("Success: Matching annotated method [{}] found for property 
[{}] of depth [{}] on Action [{}]",
+                relevantMethod.getName(), propDesc.getName(), paramDepth, 
action.getClass().getSimpleName());
         if (paramDepth >= 1) {
-            allowlistClass(relevantMethod.getReturnType());
+            allowlistClass(propDesc.getPropertyType());

Review Comment:
   Minor fix here to ensure the specific model type is allowlisted rather than 
the type declared in the interface (`Object.class`)



##########
core/src/main/java/org/apache/struts2/interceptor/parameter/ParametersInterceptor.java:
##########
@@ -400,8 +411,10 @@ protected boolean 
hasValidAnnotatedPropertyDescriptor(Object action, PropertyDes
             }
             return false;
         }
+        LOG.debug("Success: Matching annotated method [{}] found for property 
[{}] of depth [{}] on Action [{}]",
+                relevantMethod.getName(), propDesc.getName(), paramDepth, 
action.getClass().getSimpleName());
         if (paramDepth >= 1) {
-            allowlistClass(relevantMethod.getReturnType());
+            allowlistClass(propDesc.getPropertyType());

Review Comment:
   Minor fix here to ensure the specific model type is allowlisted rather than 
the type declared in the interface (`Object.class`) - thanks @lukaszlenart 





Issue Time Tracking
-------------------

    Worklog Id:     (was: 937734)
    Time Spent: 1h 50m  (was: 1h 40m)

> ModelDriven is not compatible with @StrutsParameter
> ---------------------------------------------------
>
>                 Key: WW-5468
>                 URL: https://issues.apache.org/jira/browse/WW-5468
>             Project: Struts 2
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 7.0.0
>            Reporter: Lukasz Lenart
>            Priority: Major
>             Fix For: 7.0.0
>
>          Time Spent: 1h 50m
>  Remaining Estimate: 0h
>
> Currently if a Struts webapp uses {{ModelDriven<T>}} it won't be possible to 
> use {{@StrutsParameter}} annotation on {{#getModel()}} getter.
> Use rest-angular as example
> https://github.com/apache/struts-examples/blob/master/rest-angular/src/main/resources/struts.xml#L13



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to