Uploaded image for project: 'PUBLIC - Liferay Portal Community Edition'
  1. PUBLIC - Liferay Portal Community Edition
  2. LPS-28089

Asset Publisher filter not working correctly for complex predicates

    Details

    • Fix Priority:
      4

      Description

      In the Asset Publisher, you can dynamically build a list of filters that are applied when searching for assets. This way, you would think it would be possible to perform e.g. the following "query" (C means Category here, see also screenshot attached for a real-life example):

      C1 and (C2 or C3) and (C4 or C5)

      However, this doesn't work as expected. The front-end filter is converted to an AssetEntryQuery object. This object has two fields for storing categoryIds: allCategoryIds and anyCategoryIds. For the example above, the AssetEntryQuery would have the following values:

      • allCategoryIds = [C1]
      • anyCategoryIds = [C4, C5]

      According to Users Guide, any number of filters can be created, so Asset Publisher should be able to handle any number of filters.

      Solution:
      Extend AssetEntryQuery class to be able to store all the necessary information, and update the AssetEntryFinderImpl to be able to handle the additional information.

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Days since last comment:
                  3 years, 42 weeks, 1 day ago