Uploaded image for project: 'JBoss BPMS Platform'
  1. JBoss BPMS Platform
  2. RHBPMS-4964

[GSS](6.4.z) Deserialization error in query method of QueryServicesClient with advanced custom query in BPMS 6.4.5

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Verified (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: 6.4.5
    • Fix Version/s: 6.4.7
    • Component/s: Kie-Server
    • Labels:
    • Environment:

      Advanced Queries in Kie-Server (BxMS 6.4.5);
      Custom Builder and Mapper;

    • Fix Build:
      CR1
    • Steps to Reproduce:
      Hide

      1. Download reproducer attached;
      2. Deploy groupownerfilter-0.0.1-SNAPSHOT.jar and rawlistextender-0.0.1-SNAPSHOT.jar to kie-server.war/WEB-INF/lib directory (their source code can be found in decision-server-query project);
      3. Make the needed adjustments to "QueryCuTest2.java" class as described in README.txt file within zip reproducer directory and run QueryCuTest2.java class.
      4. It should print zero tasks, even though it had results to deserialize.

      Show
      1. Download reproducer attached; 2. Deploy groupownerfilter-0.0.1-SNAPSHOT.jar and rawlistextender-0.0.1-SNAPSHOT.jar to kie-server.war/WEB-INF/lib directory (their source code can be found in decision-server-query project); 3. Make the needed adjustments to "QueryCuTest2.java" class as described in README.txt file within zip reproducer directory and run QueryCuTest2.java class. 4. It should print zero tasks, even though it had results to deserialize.

      Description

      An empty list is returned by using custom mapper and builder in an advanced query in kie-server. It works well by using QueryFilterSpec... therefore it seems to be related to the way as the result is deserialized.

      See query(String queryName, String mapper, QueryFilterSpec filterSpec, Integer page, Integer pageSize, Class<T> resultType) method, it has a Cast to Wrapped type which is used in this case to Cast result.

      However, query(String queryName, String mapper, String builder, Map<String, Object> parameters, Integer page, Integer pageSize, Class<T> resultType) method only Cast to "ItemList", therefore it returns a "Collections.emptyList();".

      See a sample attached to reproduce the issue.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  swiderski.maciej Maciej Swiderski
                  Reporter:
                  asamara Amana Juricic
                  Tester:
                  Karel Suta
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  4 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: