コード例 #1
0
  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));
    }
  }