Details

    • Branch Version/s:
      6.0.x
    • Backported to Branch:
      Committed

      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.

        Issue Links

          Activity

          Hide
          igor.spasic Igor Spasic added a comment -

          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.

          Show
          igor.spasic Igor Spasic added a comment - 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.
          Hide
          igor.spasic Igor Spasic added a comment -

          The problem that was not addressed is sending null values. Up to now nulls were passed to all missing arguments i.e. to one that are not provided. This was not possible any more since last patch, since we now expect to fully provide all arguments, in order to match service method.

          So new fix is needed to specify null arguments with '-' prefix. for example:
          http://.../dlsync/get-d-l-sync-update/company-id/10151/repository-id/10195/-last-access-date/

          this specifies that lastAccessDate is null.

          Show
          igor.spasic Igor Spasic added a comment - The problem that was not addressed is sending null values. Up to now nulls were passed to all missing arguments i.e. to one that are not provided. This was not possible any more since last patch, since we now expect to fully provide all arguments, in order to match service method. So new fix is needed to specify null arguments with '-' prefix. for example: http://.../dlsync/get-d-l-sync-update/company-id/10151/repository-id/10195/-last-access-date/ this specifies that lastAccessDate is null.
          Hide
          igor.spasic Igor Spasic added a comment -

          Moreover, we will add method argument count hints that helps with matching.

          If method hint is available, the best match method will be returned (i.e. as in previous version). So, if method hint is there, we will scan only methods with that number of arguments and we will not insist that all arguments are provided.

          Show
          igor.spasic Igor Spasic added a comment - Moreover, we will add method argument count hints that helps with matching. If method hint is available, the best match method will be returned (i.e. as in previous version). So, if method hint is there, we will scan only methods with that number of arguments and we will not insist that all arguments are provided.
          Hide
          vicki.tsang Vicki Tsang (Inactive) added a comment -

          This is being bulk closed in preparation for the new workflow.

          Show
          vicki.tsang Vicki Tsang (Inactive) added a comment - This is being bulk closed in preparation for the new workflow.

            People

            • Assignee:
              igor.spasic Igor Spasic
              Reporter:
              igor.spasic Igor Spasic
              Recent user:
              Randy Zhu (Inactive)
              Participants of an Issue:
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:
                Days since last comment:
                5 years, 5 weeks, 5 days ago

                Development

                  Subcomponents