Mirth Connect
  1. Mirth Connect
  2. MIRTH-4159

Iterator step : content gets mixed when steps are moved up/down or get assigned to iterator

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 3.5.0
    • Fix Version/s: 3.6.0, 3.5.1
    • Component/s: Administrator
    • Labels:
      None

      Description

      When using the new iterator step in a Transformer script, steps can be switched / overwritten / lost when they are moved up/down or assigned to an Iterator.

      Not able by now to give a step-by-step scenario but it may come soon as tests are continued.

      1. generatedscript.png
        39 kB
      2. iterator.png
        12 kB
      3. messagebuilder-1.png
        11 kB
      4. messagebuilder-2.png
        9 kB

        Activity

        Hide
        Thomas A. added a comment -

        Tried / tested many times, problem occurs quite often but I'm still not able to find a scenario to reproduce it...

        Show
        Thomas A. added a comment - Tried / tested many times, problem occurs quite often but I'm still not able to find a scenario to reproduce it...
        Hide
        Nick Rupley added a comment -

        If it happens quite often for you, maybe you can try recording your window while testing?

        Show
        Nick Rupley added a comment - If it happens quite often for you, maybe you can try recording your window while testing?
        Hide
        Thomas A. added a comment - - edited

        Posted 30' too early, just accidentally came on a reproduceable scenario !!!

        1) In a transformer, create an Iterator over any field (e.g. PID.3) and add 2 steps within it (e.g. Message builders on PID.3.1 and PID.3.2).

        2) Create a new message builder step on any other field (e.g. PID.4.1) and remove it from iterator.

        3) Go back on first pid.3 substep, and reduce PID.3 view (plus/minus button) of the iterator without setting the focus on the iterator itself

        4) go to the pid.4 transformation ; it should show the PID.3.1 transformation.

        EDIT : something very similar
        3a) While focus on PID.4.1 transformation, reduce PID.3 iterator.
        4a) Now expand it and go to first PID.3.1 transformation, it should show the content of the PID.4.1 step

        Show
        Thomas A. added a comment - - edited Posted 30' too early, just accidentally came on a reproduceable scenario !!! 1) In a transformer, create an Iterator over any field (e.g. PID.3) and add 2 steps within it (e.g. Message builders on PID.3.1 and PID.3.2). 2) Create a new message builder step on any other field (e.g. PID.4.1) and remove it from iterator. 3) Go back on first pid.3 substep, and reduce PID.3 view (plus/minus button) of the iterator without setting the focus on the iterator itself 4) go to the pid.4 transformation ; it should show the PID.3.1 transformation. EDIT : something very similar 3a) While focus on PID.4.1 transformation, reduce PID.3 iterator. 4a) Now expand it and go to first PID.3.1 transformation, it should show the content of the PID.4.1 step
        Hide
        Nick Rupley added a comment -

        I was able to reproduce that, thanks so much for your help!

        Show
        Nick Rupley added a comment - I was able to reproduce that, thanks so much for your help!
        Hide
        Thomas A. added a comment - - edited

        2 more considerations :

        • content gets switched only if iterator's child and "brother" steps are of same type (i.e both are Mappers, Msg Builders, javascripts, ...)
        • unfortunately it occurs over the same amount of "brothers" than iterator's children : if iterator has 3 children, and the 3rd child is active when you reduce the iterator, then content will get switched over the 3rd "brother", And if iterator's brother is an iterator itself, then content switching may occur over the "cousins".

        This and that explain why I was not able to get the scenario although I had the issue so often, knowing that if you move an iterator up/down it gets reduced...

        Show
        Thomas A. added a comment - - edited 2 more considerations : content gets switched only if iterator's child and "brother" steps are of same type (i.e both are Mappers, Msg Builders, javascripts, ...) unfortunately it occurs over the same amount of "brothers" than iterator's children : if iterator has 3 children, and the 3rd child is active when you reduce the iterator, then content will get switched over the 3rd "brother", And if iterator's brother is an iterator itself, then content switching may occur over the "cousins". This and that explain why I was not able to get the scenario although I had the issue so often, knowing that if you move an iterator up/down it gets reduced...
        Hide
        Nick Rupley added a comment -

        Revisions 8238/8239: Fixed issue where rule/step content can get mixed when expanding or collapsing Iterators without first selecting them. The expand/collapse listener will now always set the updating flag (if it isn't already), and reset it in an invokeLater block to ensure the list selection listener doesn't incorrectly update the table model.

        Show
        Nick Rupley added a comment - Revisions 8238/8239: Fixed issue where rule/step content can get mixed when expanding or collapsing Iterators without first selecting them. The expand/collapse listener will now always set the updating flag (if it isn't already), and reset it in an invokeLater block to ensure the list selection listener doesn't incorrectly update the table model.
        Hide
        Minh Tran added a comment -

        OS(s) and JRE version: virtual Window 7 with JRE version 1.8.0_111-b14 JRE version 1.8.0_91-b14
        Version(s)/Build(s) to reproduce failure: mirthconnect-3.5.0.8232.b2153-windows-x64
        Version(s)/Build(s) to verify fixes: mirthconnect-3.5.0.8243.b175-windows-x64
        How Tested: see Test Steps to reproduce
        Observed Failure: upon collapsing and expanding Iterator Steps, Step "0-1" content or its Message Segment is replaced with that of Step "1", ie: Step Name = PID.5.1 but its Message Segment is PID.8.1
        Verified Fixed: Message Segment no longer got overwritten while moving Steps Up/Down or In/Out of Iterator

        Show
        Minh Tran added a comment - OS(s) and JRE version: virtual Window 7 with JRE version 1.8.0_111-b14 JRE version 1.8.0_91-b14 Version(s)/Build(s) to reproduce failure: mirthconnect-3.5.0.8232.b2153-windows-x64 Version(s)/Build(s) to verify fixes: mirthconnect-3.5.0.8243.b175-windows-x64 How Tested: see Test Steps to reproduce Observed Failure: upon collapsing and expanding Iterator Steps, Step "0-1" content or its Message Segment is replaced with that of Step "1", ie: Step Name = PID.5.1 but its Message Segment is PID.8.1 Verified Fixed: Message Segment no longer got overwritten while moving Steps Up/Down or In/Out of Iterator
        Hide
        Minh Tran added a comment -

        done in ROCKSOLID-1086

        Show
        Minh Tran added a comment - done in ROCKSOLID-1086

          People

          • Assignee:
            Nick Rupley
            Reporter:
            Thomas A.
          • Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development