Uploaded image for project: 'Grouper'
  1. Grouper
  2. GRP-2102 Visualization fixes for 2.4 (see subtasks)
  3. GRP-2091

grouper visualization fails on circular references



    • Sub-task
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • None
    • 2.4.0.patch, 2.5.0, 2.4.1
    • None
    • None




      From: Hyzer, Chris
      Sent: Wednesday, April 03, 2019 2:51 PM
      To: Redman, Chad <chad_redman@unc.edu>; grouper-core@internet2.edu
      Subject: RE: visualization circular references


      You keep a set of uuids that have been processed.  If it is in that set, then you don’t process that one again.  Pass the set to itself (method) recursively, or have somewhere (member var) whatever…  ok?


      From: Redman, Chad <chad_redman@unc.edu>
      Sent: Wednesday, April 03, 2019 2:38 PM
      To: Hyzer, Chris <mchyzer@isc.upenn.edu>; grouper-core@internet2.edu
      Subject: RE: visualization circular references


      I can also get the error to come up – a simple group loader loads itself so it keeps chaining to itself. When you showed the sample diagram, it showed a loader with an arrow to itself, so sometimes it works ok.


      I'll think of some algorithm to detect cycles. I can also skip the recursive call if it's a link to itself, but that won't fix your example.




      From: grouper-core-request@internet2.edu [grouper-core-request@internet2.edu] On Behalf Of Hyzer, Chris
      Sent: Wednesday, April 03, 2019 1:50 PM
      To: grouper-core@internet2.edu
      Subject: [grouper-core] visualization circular references


      I think circular references are handled well in the API and UI, but *not* visualization (I was mistaken earlier)…  Chad, can you add in checks to see which objects have been graphed and break the cycle?  Here is an example:


      Test1 is a member of testGroup and visa versa.  So self is an indirect member of self.  That’s fine.  But a member of self is not an indirect member of self (see ed stemmeler).   I think this is fine since if you remove the direct membership, the indirect also is removed.  Anyways, I don’t think we need to make any changes to group sets in this area…  but scroll down for visualization




            chad.redman@at.internet2.edu Chad Redman (unc.edu)
            chris.hyzer@at.internet2.edu Chris Hyzer (upenn.edu)
            0 Vote for this issue
            2 Start watching this issue



              Smart Checklist