/** * Determine if person has a specific Role in organization person Chart. * * @param person person * @param function person's function */ private void defineDetailledChartRoles(OrganizationalPerson pers, String function) { // Priority to avoid conflicted syntaxes : central then categories boolean roleDefined = false; // central for (OrganizationalRole role : config.getPersonnsChartCentralLabel()) { if (isFunctionMatchingRole(function, role)) { pers.setVisibleOnCenter(true); pers.setVisibleCenterRole(role); roleDefined = true; break; } } // categories if (!roleDefined) { int order = 0; for (OrganizationalRole role : config.getPersonnsChartCategoriesLabel()) { if (isFunctionMatchingRole(function, role)) { pers.setVisibleCategory(new PersonCategory(role.getLabel(), role.getLdapKey(), order)); roleDefined = true; break; } order++; } } if (!roleDefined) { pers.setVisibleCategory(new PersonCategory("Personnel")); } }
/** * Determine if person has a specific Role in organization Chart. * * @param person person * @param function person's function */ private void defineUnitChartRoles(OrganizationalPerson person, String function) { // Priority to avoid conflicted syntaxes : right, left and then central boolean roleDefined = false; // right for (OrganizationalRole role : config.getUnitsChartRightLabel()) { if (isFunctionMatchingRole(function, role)) { person.setVisibleOnRight(true); person.setVisibleRightRole(role); roleDefined = true; break; } } // left if (!roleDefined) { for (OrganizationalRole role : config.getUnitsChartLeftLabel()) { if (isFunctionMatchingRole(function, role)) { person.setVisibleOnLeft(true); person.setVisibleLeftRole(role); roleDefined = true; break; } } } // central if (!roleDefined) { for (OrganizationalRole role : config.getUnitsChartCentralLabel()) { if (isFunctionMatchingRole(function, role)) { person.setVisibleOnCenter(true); person.setVisibleCenterRole(role); roleDefined = true; break; } } } }