Uploaded image for project: 'Keikai'
  1. Keikai
  2. KEIKAI-741

dependent cache causes dependents to not be gathered, if already gathered for a different target

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Normal Normal
    • 6.1.0
    • 6.0.0
    • None
    • Security Level: Jimmy
    • None

      Steps to Reproduce

      run attached samples (zul, java composer, xlsx)
      Click button

      Current Result

      Only cells that have been explicitly targetted by notifyChange are updated.
      Cells that should be updated as dependents of notified cells are not updated

      initial state:
      0
      0
      0
      0
      0

      final state:
      0
      0
      4
      2
      1

      Expected Result

      initial state:
      0
      0
      0
      0
      0

      final state:
      16
      8
      4
      2
      1

      Debug Information

      dependent resolution cache marks all cells are already part of "hasWatched" when visited by the first notifychanged called on the entire sheet.

      When the subsequent notify are called on individual cells, the individual cells are updated, but their own dependents are skipped.

      Workaround

      point-to-point: clear cache

      Executions.getCurrent().removeAttribute(DependencyTableEx.DEPENDENT_CACHE);
      

      or

      globally: restore behavior from Keikai 5.12 (attached zip)
      deploy under: /src/main/java/io/keikaiex/model/sys/DependencyTableEx.java

        1. 16645.xlsx
          12 kB
          MDuchemin
        2. keikai-cell-manipulation.zul
          0.5 kB
          MDuchemin
        3. KeikaiCellManipulationComposer.java
          1 kB
          MDuchemin

            DevChu DevChu
            MDuchemin MDuchemin
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: