edu.internet2.middleware.grouper.hooks.examples
Class HierarchicalOrgLoaderHook

java.lang.Object
  extended by edu.internet2.middleware.grouper.hooks.LoaderHooks
      extended by edu.internet2.middleware.grouper.hooks.examples.HierarchicalOrgLoaderHook

public class HierarchicalOrgLoaderHook
extends LoaderHooks


Field Summary
 
Fields inherited from class edu.internet2.middleware.grouper.hooks.LoaderHooks
METHOD_LOADER_POST_RUN, METHOD_LOADER_PRE_RUN
 
Constructor Summary
HierarchicalOrgLoaderHook()
           
 
Method Summary
 void loaderPreRun(HooksContext hooksContext, HooksLoaderBean preRunBean)
          called right before a loader run
static void main(String[] args)
           
static Map<String,String> retrieveAllExistingNodes(GrouperLoaderDb grouperLoaderDb)
          get all existing nodes from the db
static Map<String,edu.internet2.middleware.grouper.hooks.examples.HierarchicalOrgLoaderHook.OrgHierarchyNode> retrieveAllNodes(GrouperLoaderDb grouperLoaderDb, String orgsTableName, String orgsIdCol, String orgsNameCol, String orgsParentIdCol, String orgsDisplayNameCol)
          get all nodes from the db in map of id to OrgHierarchyNode object
static void syncUpHierarchicalOrgTable()
          make sure the org hierarchical table is in sync
static void syncUpTables(GrouperLoaderDb grouperLoaderDb, Map<String,edu.internet2.middleware.grouper.hooks.examples.HierarchicalOrgLoaderHook.OrgHierarchyNode> allNodes, Map<String,String> existingNodes)
          get all existing nodes from the db
 
Methods inherited from class edu.internet2.middleware.grouper.hooks.LoaderHooks
loaderPostRun
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HierarchicalOrgLoaderHook

public HierarchicalOrgLoaderHook()
Method Detail

loaderPreRun

public void loaderPreRun(HooksContext hooksContext,
                         HooksLoaderBean preRunBean)
Description copied from class: LoaderHooks
called right before a loader run

Overrides:
loaderPreRun in class LoaderHooks
See Also:
LoaderHooks.loaderPreRun(edu.internet2.middleware.grouper.hooks.beans.HooksContext, edu.internet2.middleware.grouper.hooks.beans.HooksLoaderBean)

main

public static void main(String[] args)
Parameters:
args -

retrieveAllExistingNodes

public static Map<String,String> retrieveAllExistingNodes(GrouperLoaderDb grouperLoaderDb)
get all existing nodes from the db

Parameters:
grouperLoaderDb -
Returns:
the map of all nodes, id to name

retrieveAllNodes

public static Map<String,edu.internet2.middleware.grouper.hooks.examples.HierarchicalOrgLoaderHook.OrgHierarchyNode> retrieveAllNodes(GrouperLoaderDb grouperLoaderDb,
                                                                                                                                      String orgsTableName,
                                                                                                                                      String orgsIdCol,
                                                                                                                                      String orgsNameCol,
                                                                                                                                      String orgsParentIdCol,
                                                                                                                                      String orgsDisplayNameCol)
get all nodes from the db in map of id to OrgHierarchyNode object

Parameters:
grouperLoaderDb -
orgsTableName -
orgsIdCol -
orgsNameCol -
orgsParentIdCol -
orgsDisplayNameCol -
Returns:
the map of all nodes

syncUpHierarchicalOrgTable

public static void syncUpHierarchicalOrgTable()
make sure the org hierarchical table is in sync


syncUpTables

public static void syncUpTables(GrouperLoaderDb grouperLoaderDb,
                                Map<String,edu.internet2.middleware.grouper.hooks.examples.HierarchicalOrgLoaderHook.OrgHierarchyNode> allNodes,
                                Map<String,String> existingNodes)
get all existing nodes from the db

Parameters:
grouperLoaderDb -
allNodes -
existingNodes -