Details

    • Branch Version/s:
      6.0.x
    • Backported to Branch:
      Committed
    • Similar Issues:
      Show 4 results 

      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.

        Activity

        Igor Spasic created issue -
        Hide
        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 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 made changes -
        Field Original Value New Value
        Status Open [ 1 ] In Progress [ 3 ]
        Igor Spasic made changes -
        Status In Progress [ 3 ] In Review [ 10006 ]
        Brian Chan made changes -
        Environment
        Backport Version/s [6.0.x]
        Backport Committed [Committed]
        Brian Chan made changes -
        Status In Review [ 10006 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Igor Spasic made changes -
        Resolution Fixed [ 1 ]
        Status Resolved [ 5 ] Reopened [ 4 ]
        Hide
        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 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 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 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 made changes -
        Status Reopened [ 4 ] In Progress [ 3 ]
        Igor Spasic made changes -
        Status In Progress [ 3 ] In Review [ 10006 ]
        Brian Chan made changes -
        Status In Review [ 10006 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Samuel Kong made changes -
        Link This issue relates LPE-5521 [ LPE-5521 ]
        Vicki Tsang made changes -
        Component/s API - Portal Services [ 11767 ]
        Component/s Framework/API [ 10252 ]
        Component/s General [ 10771 ]
        Hide
        Vicki Tsang added a comment -

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

        Show
        Vicki Tsang added a comment - This is being bulk closed in preparation for the new workflow.
        Vicki Tsang made changes -
        Status Resolved [ 5 ] Closed [ 6 ]
        Vicki Tsang made changes -
        Workflow Liferay Workflow 2.2 [ 249991 ] LPS Workflow [ 281857 ]
        Andrew Kim made changes -
        Workflow LPS Workflow [ 281857 ] Copy of LPS Workflow [ 425798 ]
        Andrew Kim made changes -
        Workflow Copy of LPS Workflow [ 425798 ] LPS Workflow [ 457407 ]
        Andrew Kim made changes -
        Workflow LPS Workflow [ 457407 ] Copy 2 of LPS Workflow [ 489772 ]
        Andrew Kim made changes -
        Workflow Copy 2 of LPS Workflow [ 489772 ] LPS Workflow [ 521658 ]
        Randy Zhu made changes -
        Workflow LPS Workflow [ 521658 ] PUBLIC - LPS Generic Workflow [ 573507 ]
        Randy Zhu made changes -
        Workflow PUBLIC - LPS Generic Workflow [ 573507 ] Copy of PUBLIC - LPS Generic Workflow [ 607818 ]
        Randy Zhu made changes -
        Workflow Copy of PUBLIC - LPS Generic Workflow [ 607818 ] PUBLIC - LPS Generic Workflow [ 639747 ]
        Randy Zhu made changes -
        Workflow PUBLIC - LPS Generic Workflow [ 639747 ] PUBLIC - LPS General Workflow [ 733120 ]
        Randy Zhu 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 06/Nov/11 10:14 PM

          People

          • Assignee:
            Igor Spasic
            Reporter:
            Igor Spasic
            Recent user:
            Randy Zhu
            Participants of an Issue:
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:
              Days since last comment:
              3 years, 38 weeks, 4 days ago

              Development

                Structure Helper Panel