...
Code Block |
---|
|
import edu.internet2.middleware.grouper.app.graph.RelationGraph
def graph = new RelationGraph(session).assignStartObject(inObject).assignParentLevels(-1).assignChildLevels(-1).assignShowMemberCounts(true) |
...
Code Block |
---|
|
graph.assignParentLevels(int) // default -1
graph.assignChildLevels(int) // default -1
assignMaxSiblings(int) // default 50 |
These are the number of parent and child levels to recursively visit before stopping prematurely. A value of -1 represents all levels. Note that there is a hard limit of 100 levels, as an emergency stop against infinite cycles, which shouldn't occur under normal circumstances.
...
Code Block |
---|
|
graph.assignSkipFolderNamePatterns(Set<String>) // default none, use e.g. ["^etc:.*", "^$"] to exclude root and etc folders
*graph.assignSkipGroupNamePatterns(Set<String>) // todo |
...
- default, graph
- stem, start_stem, skip_stem
- group, start_group
- loader_group, start_loader_group
- complement_group, intersect_group
- subject, start_subject
- provisioner
- edge, edge_loader, edge_provisioner, edge_stem, edge_membership
- edge_complement_left, edge_complement_right, edge_intersect_left, edge_intersect_right
Typical methods
Code Block |
---|
|
import edu.internet2.middleware.grouper.app.visualization.*
def settings = new VisualSettings()
settings.getGroupUiLinkPrefix()
settings.getStemUiLinkPrefix()
def styleSetNames = settings.getStyleSetNames() // ["default", "graphviz", "text"]
def defaultStyleSet = settings.getDefaultStyleSet()
def styleSet = settings.getStyleSet("graphviz")
def styleNames = styleSet.getStyleNames() // ["default", "graph", "stem", "start_stem", "skip_stem", "group" ...]
def styleGroup = styleSet.getStyle("group")
def groupFont = styleGroup.getProperty("font")
def stemColor = styleSet.getStyleProperty("stem", "color")
def stemBorderOrDefault = styleSet.getStyleProperty("stem", "border", "0") |
...