@Override
  public JSON_Respuesta ejecutar(Admin_Alertas adminAlertas) {

    if (validar()) {

      this.logger.debug("executing FX_ModificarTemplate.ejecutar()");

      try {

        PropiedadTemplate prop = (PropiedadTemplate) getDao().guardar(getPropiedadTemplate());
        setPropiedadTemplate(prop.toValueObject());

        getDao().resetQuery();

        String detalle =
            "La propeidad del template de servicio "
                + getPropiedadTemplate().getPropiedad().getNombre()
                + " se modificó correctamente";

        // Se genera y persiste el alerta correspondiente a la funcion
        // FX
        Alerta al =
            new Alerta(
                getUsuario(),
                new Date(),
                getPropiedadTemplate().getId(),
                this.getClass().getCanonicalName(),
                detalle,
                E_Priority.BAJA);

        adminAlertas.guardarAlerta(getEm(), al, this);

        DAO_Utils.info(logger, "FX_ModificarPropiedadTemplate", "ejecutar", detalle, getUsuario());
        System.out.println(detalle);
        this.logger.info(detalle);

        this.getRespuesta().setPaginador(JSON_Paginador.solo(getPropiedadTemplate()));
        this.getRespuesta().setMensaje(detalle);
        this.getRespuesta().setOk(true);

      } catch (Exception e) {
        this.getRespuesta().setOk(false);

        this.getRespuesta().setMensaje("Ocurrió un error en la grabación");
      }

    } else {
      this.getRespuesta().setOk(false);

      this.getRespuesta()
          .setMensaje(
              "Ya existe la propiedad del template de servicio con el mismo nombre: "
                  + getPropiedadTemplate());
    }
    return getRespuesta();
  }
  @Override
  public int compare(PropiedadTemplate p1, PropiedadTemplate p2) {

    return p1.getPropiedad().getNombre().compareTo(p2.getPropiedad().getNombre());
  }