@Override
    public ActionInputParameter getActionInputParameter(String name) {
        ActionInputParameter ret = requestParams.get(name);
        if (ret == null) {
            ret = pathVariables.get(name);
        }
        if (ret == null) {
            for (ActionInputParameter annotatedParameter : getInputParameters()) {
                // TODO create ActionInputParameter for bean property at property path
                // TODO field access in addition to bean?
                PropertyDescriptor pd = getPropertyDescriptorForPropertyPath(name,
                        annotatedParameter.getParameterType());
                if (pd != null) {
                    if (pd.getWriteMethod() != null) {

                        Object callValue = annotatedParameter.getValue();
                        Object propertyValue = null;
                        if (callValue != null) {
                            BeanWrapper beanWrapper = PropertyAccessorFactory
                                    .forBeanPropertyAccess(callValue);
                            propertyValue = beanWrapper.getPropertyValue(name);
                        }
                        ret = new SpringActionInputParameter(new MethodParameter(pd
                                .getWriteMethod(), 0), propertyValue);
                    }
                    break;
                }
            }
        }
        return ret;
    }
@Override
    public ActionInputParameter getActionInputParameter(String name) {
        ActionInputParameter ret = requestParams.get(name);
        if (ret == null) {
            ret = pathVariables.get(name);
        }
        if (ret == null) {
            for (ActionInputParameter annotatedParameter : getInputParameters()) {
                
                
                PropertyDescriptor pd = getPropertyDescriptorForPropertyPath(name,
                        annotatedParameter.getParameterType());
                if (pd != null) {
                    if (pd.getWriteMethod() != null) {

                        Object callValue = annotatedParameter.getValue();
                        Object propertyValue = null;
                        if (callValue != null) {
                            BeanWrapper beanWrapper = PropertyAccessorFactory
                                    .forBeanPropertyAccess(callValue);
                            propertyValue = beanWrapper.getPropertyValue(name);
                        }
                        ret = new SpringActionInputParameter(new MethodParameter(pd
                                .getWriteMethod(), 0), propertyValue);
                    }
                    break;
                }
            }
        }
        return ret;
    }
@ Override public ActionInputParameter getActionInputParameter ( String name ) { ActionInputParameter ret = requestParams . get ( name ) ; if ( ret == null ) { ret = pathVariables . get ( name ) ; } if ( ret == null ) { for ( ActionInputParameter annotatedParameter : getInputParameters ( ) ) { // TODO create ActionInputParameter for bean property at property path // TODO field access in addition to bean? PropertyDescriptor pd = getPropertyDescriptorForPropertyPath ( name , annotatedParameter . getParameterType ( ) ) ; if ( pd != null ) { if ( pd . getWriteMethod ( ) != null ) { Object callValue = annotatedParameter . getValue ( ) ; Object propertyValue = null ; if ( callValue != null ) { BeanWrapper beanWrapper = PropertyAccessorFactory . forBeanPropertyAccess ( callValue ) ; propertyValue = beanWrapper . getPropertyValue ( name ) ; } ret = new SpringActionInputParameter ( new MethodParameter ( pd . getWriteMethod ( ) , 0 ) , propertyValue ) ; } break ; } } } return ret ; }
Gets input parameter info which is part of the URL mapping, be it request parameters, path variables or request
body attributes.

@param name
to retrieve
@return parameter descriptor or null
Gets input parameter info which is part of the URL mapping be it request parameters path variables or request body attributes .