Uploaded image for project: 'camunda BPM'
  1. camunda BPM
  2. CAM-8856

In context of engine-cdi, nested usage of identityService in EL-Expression returns always the identity service of the default engine

    XMLWordPrintable

Details

    Description

      Steps to reproduce:

      1. bootstrap a default an engine
      2. bootstrap a second engine (with the name "engine1")
      3. deploy a process application using engine-cdi
      4. the process application should contain a process that has an output parameter with the following expression
        execution.processEngineServices.identityService.currentAuthentication.userId
        
      5. login in Tasklist by using the "engine1" (don't login in Tasklist with the default engine)
      6. start a process instance
      7. complete the user task

      Observed Behavior:
      The expression is resolved to null

      Expected Behavior:
      The expression is resolved to the authenticated user.

      Hint:

      • In [1] the programmatic bean lookup returns the identity service of the default engine

      Possible Solution:

      • In [1] there should be a check whether the base is null, only then the programmatic bean lookup should happen.

      [1]: https://github.com/camunda/camunda-bpm-platform/blob/fdc98ce3f844d01f67452d93a23cf31d49f58592/engine-cdi/src/main/java/org/camunda/bpm/engine/cdi/impl/el/CdiResolver.java#L61

      mgm-controller-panel

        This is the controller panel for Smart Panels app

        Attachments

          Activity

            People

              nikola.koevski Nikola Koevski
              roman.smirnov Roman Smirnov
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Salesforce