Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Minor
-
Resolution: Fixed
-
Affects Version/s: 6.0.12 EE, 6.1.0 CE RC1
-
Fix Version/s: 6.0.12 EE, 6.1.0 CE RC1
-
Component/s: API > Portal Service
-
Labels:None
-
Branch Version/s:6.0.x
-
Backported to Branch:Committed
-
Similar Issues:
Description
What is going on: we have 3 overloaded get-user-places methods. This is their sorted order:
1. GroupServiceUtil#getUserPlaces()
2. GroupServiceUtil#getUserPlaces(classNames, max)
3. GroupServiceUtil#getUserPlaces(userId, classNames, max)
when /group/get-user-places is invoked (no extra params) we aim for the first method (1), with zero arguments.
However, due to smart method arguments providing functionality, we have 'userId' set as well - this one comes from logged user. So JSONWebServiceActionsManagerImpl chooses method (3) over (1), since the most method arguments are matched.

Proposed fix does the following change:
Methods are being matched only if all method arguments are provided; either explicitly (req. parameters etc.) or as default (serviceContext, userId...).
In above example, method (3) is not going to be matched since only 'userId' is provided from all three method arguments.