public String[][] getUserMenu() { final String[][] menuScreens = new String[19][]; final List<Module> allowedModules = new ArrayList<Module>(); User user = userService.getCurrentUser(); genericService.fill(user, "roles"); final Collection<Role> userRoles = user.getRoles(); for (Role role : userRoles) { genericService.fill(role, "modules"); for (Module module : role.getModules()) { if (!allowedModules.contains(module)) { allowedModules.add(module); } } } Collections.sort(allowedModules, menuOrder); synchronized (menuScreens) { int counter = 0; for (Module allowedModule : allowedModules) { if (allowedModule.getId().equals("admin-category")) { menuScreens[counter] = new String[] { "admin-category", null, allowedModule.getTitle(), "misc-category-icon", null, null, null }; menuScreens[counter + 1] = new String[] { "admUser", "admin-category", "Administrar Usuarios", "user-icon", null, null, "AdminUsersScreen" }; menuScreens[counter + 2] = new String[] { "addEditUser", "admin-category", "Agregar/Editar Usuario", "user-add-icon", null, null, "AddEditUserScreen" }; menuScreens[counter + 3] = new String[] { "admGroups", "admin-category", "Administrar Grupos", "groups-icon", null, null, "AdminGroupsScreen" }; menuScreens[counter + 4] = new String[] { "admRole", "admin-category", "Administrar Roles", "roles-icon", null, null, "AdminRolesScreen" }; // menuScreens[counter+3] = new String[]{"admPerm", "admin-category", "Administrar // Permisos", null, null, null, "AdminPermScreen"}; counter = counter + 5; } if (allowedModule.getId().equals("patient-category")) { menuScreens[counter] = new String[] { "patient-category", null, "Registro y Control de Pacientes", "combination-category-icon", null, null, null }; menuScreens[counter + 1] = new String[] { "admPatient", "patient-category", "Administrar Pacientes", "patients-icon", null, null, "ListPatientsScreen" }; menuScreens[counter + 2] = new String[] { "addPatient", "patient-category", "Nuevo Paciente", "patient-icon", null, null, "AddPatientScreen" }; menuScreens[counter + 3] = new String[] { "listEncounters", "patient-category", "Administrar Consultas", "encounter-icon", null, null, "ListEncountersScreen" }; counter = counter + 4; } if (allowedModule.getId().equals("dict-category")) { menuScreens[counter] = new String[] { "dict-category", null, "Diccionario de Conceptos", "tree-category-icon", null, null, null }; menuScreens[counter + 1] = new String[] { "admSynt", "dict-category", "Síntomas", "symptoms-icon", null, null, "AdminSymptomsScreen" }; menuScreens[counter + 2] = new String[] { "admEnf", "dict-category", "Enfermedades", "disease-icon", null, null, "AdminDiseaseScreen" }; menuScreens[counter + 3] = new String[] { "admProc", "dict-category", "Procedimientos", "procedure-icon", null, null, "AdminProceduresScreen" }; menuScreens[counter + 4] = new String[] { "admComp", "dict-category", "Complicaciones", "complication-icon", null, null, "AdminComplicationsScreen" }; // menuScreens[counter+3] = new String[]{"admDrug", "dict-category", "Medicinas", // "drugs-icon", null, null, "AdminDrugsScreen"}; // menuScreens[counter+4] = new String[]{"admTest", "dict-category", "Examenes de // Laboratorio", "labtests-icon", null, null, "AdminLabTestsScreen"}; counter = counter + 5; } if (allowedModule.getId().equals("med-category")) { menuScreens[counter] = new String[] { "med-category", null, "Exámenes y Medicamentos", "med-icon", null, null, null }; menuScreens[counter + 1] = new String[] { "admDrug", "med-category", "Medicamentos", "drugs-icon", null, null, "AdminDrugsScreen" }; menuScreens[counter + 2] = new String[] { "admTest", "med-category", "Exámenes de Laboratorio", "labtests-icon", null, null, "AdminLabTestsScreen" }; counter = counter + 3; } } } return menuScreens; }
public int compare(Module module1, Module module2) { return module1.getOrder().compareTo(module2.getOrder()); }