public String createEscursione() {

    String filename = FilenameUtils.getName(imgEscursione.getFileName());

    if (filename.equals("")) {
      escursione.setImmagine("Edefault.jpg");
    } else {
      InputStream inputStr = null;
      try {
        inputStr = imgEscursione.getInputstream();
      } catch (IOException e) {
        // log error
      }

      ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
      String directory = externalContext.getInitParameter("uploadDirectory");
      File destFile = new File(directory, filename);

      // use org.apache.commons.io.FileUtils to copy the File
      try {
        FileUtils.copyInputStreamToFile(inputStr, destFile);
      } catch (IOException e) {
        // log error
      }
      escursione.setImmagine(imgEscursione.getFileName());
    }
    if (escursione.getCosto() <= 0) {
      FacesContext.getCurrentInstance()
          .addMessage(
              null,
              new FacesMessage(
                  FacesMessage.SEVERITY_WARN,
                  "Info message",
                  "Il costo giornaliero deve essere > 0"));
      return "addEscursione.xhtml";
    }

    CMB.saveEscursione(escursione);
    FacesContext.getCurrentInstance()
        .addMessage(
            null,
            new FacesMessage(FacesMessage.SEVERITY_INFO, "Info message", "Escursione aggiunta!"));
    return "addEscursione.xhtml";
  }
  public String eliminaEscursione(int id) {
    ArrayList<PacchettoDTO> esc_pack_list = CMB.getEscursioneById(id).getPacchettos();
    if (!esc_pack_list.isEmpty()) {
      for (PacchettoDTO p : esc_pack_list) {
        ArrayList<EscursioneDTO> pedto = (ArrayList<EscursioneDTO>) p.getLista_escursioni();
        ArrayList<EscursioneDTO> new_pedto = new ArrayList<EscursioneDTO>();
        if (!pedto.isEmpty()) {
          for (EscursioneDTO edto : pedto) {
            if (edto.getId()
                != id) // ogni escursione diversa da quella che sto eliminando va tenuta
            new_pedto.add(edto);
          }

          p.setLista_escursioni(new_pedto); // modifico la lista degli hotel al pacchetto corrente
          PMB.modifyPacchetto(p);
        }
      }
    }

    CMB.eliminaEscursione(id);
    return "toEscursione.xhtml?faces-redirect=true";
  }