private void buscarPoblacionComunLogic( ActionMapping mappings, ActionForm form, HttpServletRequest request, HttpServletResponse response) { try { EmplazamientoForm direccionForm = (EmplazamientoForm) form; // Obtener información del usuario conectado AppUser appUser = getAppUser(request); // Obtener la entidad para el usuario conectado Properties params = null; if ((appUser != null) && (StringUtils.isNotEmpty(appUser.getEntity()))) { params = new Properties(); params.put(MultiEntityConstants.ENTITY_PARAM, appUser.getEntity()); } GestorGeograficos gestorGeograficos = GestorGeograficosFactory.getConnector(params); List poblaciones = null; if (gestorGeograficos.soportaBusquedaExtendida()) { Map ids = new HashMap(); ids.put(new Integer(GestorGeograficos.PAIS), direccionForm.getCodigoPais()); ids.put(new Integer(GestorGeograficos.PROVINCIA), direccionForm.getCodigoProvincia()); ids.put(new Integer(GestorGeograficos.MUNICIPIO), direccionForm.getCodigoMunicipio()); poblaciones = gestorGeograficos.busquedaElementos( GestorGeograficos.POBLACION, ids, request.getParameter("patternNombrePoblacion")); Collections.sort( poblaciones, ElementoGeograficoComparator.getInstance(GestorGeograficos.POBLACION)); } else { Municipio municipio = null; if (direccionForm.getCodigoMunicipio() != null && !StringUtils.isEmpty(direccionForm.getMunicipio())) { Provincia provincia = new Provincia( direccionForm.getCodigoPais(), direccionForm.getCodigoProvincia(), direccionForm.getProvincia()); municipio = new Municipio( provincia.getCodigoPais(), provincia.getCodigo(), direccionForm.getCodigoMunicipio(), direccionForm.getMunicipio()); } poblaciones = gestorGeograficos.recuperarPoblaciones( municipio, request.getParameter("patternNombrePoblacion")); request.setAttribute(TransferenciasConstants.MUNICIPIO, municipio); } request.setAttribute(TransferenciasConstants.POBLACIONES, poblaciones); } catch (GestorGeograficosException gge) { obtenerErrores(request, true) .add(ActionErrors.GLOBAL_ERROR, new ActionError(Constants.ERROR_GESTOR_GEOGRAFICOS)); } }