Wednesday, 7 June 2017

Get All the Child Organizations of a given Organization including sub hierarchies

public static List getChildorganizations(String orgkey) {

             List<String> childOrgList = new ArrayList<>();
             RoleManager roleMgr = oimClient.getService(RoleManager.class);
             tcAccessPolicyOperationsIntf accessPolicyIntf = oimClient.getService(tcAccessPolicyOperationsIntf.class);
             ApplicationInstanceService AppInstSer = oimClient.getService(ApplicationInstanceService.class);
             EntityPublicationService entityPubService = oimClient.getService(EntityPublicationService.class);

             OrganizationManager orgManager = oimClient.getService(OrganizationManager.class);

             try {

                    HashMap<String, Object> configParams = new HashMap<String, Object>();
                    Set<String> retAttrs = new HashSet<String>();
                    List<Organization> ChildOrg = new ArrayList<Organization>();
                    ChildOrg = orgManager.getChildOrganizations(orgkeyretAttrsconfigParams);

                    System.out.println("Child Organizations Details : " + ChildOrg);

                    if (ChildOrg != null) {

                           for (int s = 0; s < ChildOrg.size(); s++) {

                                 String childorgkey = ChildOrg.get(s).getEntityId();
                                 System.out.println("Child Org Key : " + childorgkey);

                                 childOrgList.add(childorgkey);

                                 // System.out.println("Child Org List : " +childOrgList);

                                 List<Organization> grandChildOrg = new ArrayList<Organization>();
                                 grandChildOrg = orgManager.getChildOrganizations(childorgkeyretAttrsconfigParams);
                                 if (grandChildOrg != null) {

                                        for (int a = 0; a < grandChildOrg.size(); a++) {

                                               String grandchildorgkey = grandChildOrg.get(a).getEntityId();
                                               System.out.println("Grand Child Org Key : " + grandchildorgkey);

                                               childOrgList.add(grandchildorgkey);

                                               List<Organization> garndgrandChildOrg = new ArrayList<Organization>();
                                               garndgrandChildOrg = orgManager.getChildOrganizations(grandchildorgkeyretAttrs,
                                                            configParams);
                                               if (garndgrandChildOrg != null) {

                                                     for (int b = 0; b < garndgrandChildOrg.size(); b++) {

                                                            String garndgrandchildorgkey =garndgrandChildOrg.get(b).getEntityId();
                                                            System.out.println("Grand Grand Child Org Key : " +garndgrandchildorgkey);

                                                            childOrgList.add(garndgrandchildorgkey);

                                                     }

                                               }

                                        }

                                 }

                           }

                    }

                    System.out.println("Child Org List outside while: " + childOrgList);

             } catch (Exception e) {
                    e.printStackTrace();
             }

             return childOrgList;

       }

No comments:

Post a Comment