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

          igor.spasic Igor Spasic created issue -
          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.
          igor.spasic Igor Spasic made changes -
          Field Original Value New Value
          Status Open [ 1 ] In Progress [ 3 ]
          igor.spasic Igor Spasic made changes -
          Status In Progress [ 3 ] In Review [ 10006 ]
          brian.chan Brian Chan made changes -
          Environment
          Backport Version/s [6.0.x]
          Backport Committed [Committed]
          brian.chan Brian Chan made changes -
          Status In Review [ 10006 ] Resolved [ 5 ]
          Resolution Fixed [ 1 ]
          igor.spasic Igor Spasic made changes -
          Resolution Fixed [ 1 ]
          Status Resolved [ 5 ] Reopened [ 4 ]
          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.
          igor.spasic Igor Spasic made changes -
          Status Reopened [ 4 ] In Progress [ 3 ]
          igor.spasic Igor Spasic made changes -
          Status In Progress [ 3 ] In Review [ 10006 ]
          brian.chan Brian Chan made changes -
          Status In Review [ 10006 ] Resolved [ 5 ]
          Resolution Fixed [ 1 ]
          samuel.kong Samuel Kong made changes -
          Link This issue relates LPE-5521 [ LPE-5521 ]
          vicki.tsang Vicki Tsang (Inactive) made changes -
          Component/s API - Portal Services [ 11767 ]
          Component/s Framework/API [ 10252 ]
          Component/s General [ 10771 ]
          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.
          vicki.tsang Vicki Tsang (Inactive) made changes -
          Status Resolved [ 5 ] Closed [ 6 ]
          vicki.tsang Vicki Tsang (Inactive) made changes -
          Workflow Liferay Workflow 2.2 [ 249991 ] LPS Workflow [ 281857 ]
          andrew.kim Andrew Kim made changes -
          Workflow LPS Workflow [ 281857 ] Copy of LPS Workflow [ 425798 ]
          andrew.kim Andrew Kim made changes -
          Workflow Copy of LPS Workflow [ 425798 ] LPS Workflow [ 457407 ]
          andrew.kim Andrew Kim made changes -
          Workflow LPS Workflow [ 457407 ] Copy 2 of LPS Workflow [ 489772 ]
          andrew.kim Andrew Kim made changes -
          Workflow Copy 2 of LPS Workflow [ 489772 ] LPS Workflow [ 521658 ]
          randy.zhu Randy Zhu (Inactive) made changes -
          Workflow LPS Workflow [ 521658 ] PUBLIC - LPS Generic Workflow [ 573507 ]
          randy.zhu Randy Zhu (Inactive) made changes -
          Workflow PUBLIC - LPS Generic Workflow [ 573507 ] Copy of PUBLIC - LPS Generic Workflow [ 607818 ]
          randy.zhu Randy Zhu (Inactive) made changes -
          Workflow Copy of PUBLIC - LPS Generic Workflow [ 607818 ] PUBLIC - LPS Generic Workflow [ 639747 ]
          randy.zhu Randy Zhu (Inactive) made changes -
          Workflow PUBLIC - LPS Generic Workflow [ 639747 ] PUBLIC - LPS General Workflow [ 733120 ]
          randy.zhu Randy Zhu (Inactive) made changes -
          Workflow PUBLIC - LPS General Workflow [ 733120 ] PUBLIC - LPS Bugs Workflow [ 829041 ]
          Transition Time In Source Status Execution Times Last Executer Last Execution Date
          Open Open In Progress In Progress
          16m 17s 1 Igor Spasic 26/Jul/11 3:51 AM
          Resolved Resolved Reopened Reopened
          13h 56m 1 Igor Spasic 27/Jul/11 12:11 AM
          Reopened Reopened In Progress In Progress
          3h 21m 1 Igor Spasic 27/Jul/11 3:33 AM
          In Progress In Progress In Review In Review
          14m 1s 2 Igor Spasic 27/Jul/11 3:34 AM
          In Review In Review Resolved Resolved
          12h 38m 2 Brian Chan 27/Jul/11 10:02 AM
          Resolved Resolved Closed Closed
          102d 13h 11m 1 Vicki Tsang (Inactive) 06/Nov/11 10:14 PM

            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, 21 weeks, 1 day ago

                Development

                  Subcomponents