[Ljava.lang.Object; cannot be cast to

tengo el siguiente problema, quiero hacer una consulta a mi db, pra traer una lista de una clase relacionada, todo trabajado con hibernate, pero cuando quiero imprimir en pantalla me tira el siguiente error:

Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to com.historiasclinicas.entidades.Turnos
at com.historiasclinicas.pantallas.PantaListaTurnos.llenarLista(PantaListaTurnos.java:193)
at com.historiasclinicas.pantallas.PantaListaTurnos.access$3(PantaListaTurnos.java:188)
at com.historiasclinicas.pantallas.PantaListaTurnos$2.actionPerformed(PantaListaTurnos.java:127)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6533)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6298)
at java.awt.Container.processEvent(Container.java:2236)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2294)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
at java.awt.Container.dispatchEventImpl(Container.java:2280)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.awt.EventQueue$4.run(EventQueue.java:729)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

el tema es que no he podido encontrar informacion precisa googleando, debido a que parece ser por varios motivos diferentes.

mi codigo es el siguiente

    public static List<Turnos> ConsultarTurno(String especialista, String fecha) {
    SessionFactory factory;
    try {
        factory = new Configuration().configure().buildSessionFactory();
    } catch (HibernateException he) {
        System.err.println("Ocurrió un error en la inicialización de la SessionFactory: " + he);
        throw new ExceptionInInitializerError(he);
    }

    Session session = factory.openSession();
    List<Turnos> turnos = new ArrayList<Turnos>();
    Transaction transaction = null;

    try {
        Query<Turnos> turno = session.createQuery("select t.fechaTurno, t.estados.estado, t.paciente.id from Turnos as t where t.especialista =:especialista"); 
        turno.setParameter("especialista", especialista);
        turnos = turno.list();
        transaction = session.beginTransaction();
    } catch (HibernateException e) {
        if (transaction != null)
            transaction.rollback();
        e.printStackTrace();
    } finally {
        session.close();
    }
    return turnos;
}

entidad :

    @Entity
@Table(name = "turnos", catalog = "histocons")
public class Turnos implements java.io.Serializable {

    /**
     * 
     */
    private static final long serialVersionUID = 8315003380691512767L;
    private Integer id;
    private Estados estados;
    private Paciente paciente;
    private String fechaTurno;
    private String especialista;
    private String horaTurno;

    public Turnos() {
    }

    public Turnos(Estados estados, Paciente paciente, String fechaTurno, String especialista, String horaTurno) {
        this.estados = estados;
        this.paciente = paciente;
        this.fechaTurno = fechaTurno;
        this.especialista = especialista;
        this.horaTurno = horaTurno;
    }

    @Id
    @GeneratedValue(strategy = IDENTITY)

    @Column(name = "id", unique = true, nullable = false)
    public Integer getId() {
        return this.id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "estado", nullable = false)
    public Estados getEstados() {
        return this.estados;
    }

    public void setEstados(Estados estados) {
        this.estados = estados;
    }

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "paciente", nullable = false)
    public Paciente getPaciente() {
        return this.paciente;
    }

    public void setPaciente(Paciente paciente) {
        this.paciente = paciente;
    }

    @Column(name = "fechaTurno", nullable = false, length = 45)
    public String getFechaTurno() {
        return this.fechaTurno;
    }

    public void setFechaTurno(String fechaTurno) {
        this.fechaTurno = fechaTurno;
    }

    @Column(name = "especialista", nullable = false, length = 45)
    public String getEspecialista() {
        return this.especialista;
    }

    public void setEspecialista(String especialista) {
        this.especialista = especialista;
    }

    @Column(name = "horaTurno", nullable = false, length = 45)
    public String getHoraTurno() {
        return this.horaTurno;
    }

    public void setHoraTurno(String horaTurno) {
        this.horaTurno = horaTurno;
    }
}

clase pantalla

package com.historiasclinicas.pantallas;

import java.awt.Font;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.List;

import javax.swing.DefaultListModel;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.ScrollPaneConstants;
import javax.swing.SwingConstants;
import javax.swing.border.EmptyBorder;

import com.historiasclinicas.ejecucion.Errores;
import com.historiasclinicas.entidades.Turnos;
import com.historiasclinicas.gestores.GestorTurnos;
import com.historiasclinicas.log.Log;
import com.toedter.calendar.JDateChooser;

public class PantaListaTurnos extends JFrame {

/**
 * 
 */
private static final long serialVersionUID = -4986245537095109601L;
private JPanel contentPane;
private String especialista = PantaLogin.usuario.toString();
private List<Turnos> ListaTurnos = null;
private DateFormat df1;
private JDateChooser dateChooser;
private JButton btnMarcarIngresado;
private JList<Object> List;
private String paciente;
private String fechaTurno;
private Integer Estado;
/**
 * Create the frame.
 */
public PantaListaTurnos() {
        setIconImage(Toolkit.getDefaultToolkit().getImage(PantaListaTurnos.class.getResource("/imagenes/logotipo.png")));
    setTitle("Administrar Turnos Medico");
    setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    setBounds(100, 100, 890, 444);

    JMenuBar menuBar = new JMenuBar();
    setJMenuBar(menuBar);

    JMenu mnArchivo = new JMenu("Archivo");
    mnArchivo.setIcon(new ImageIcon(PantaListaTurnos.class.getResource("/imagenes/iconos/twentytwo/archive.png")));
    menuBar.add(mnArchivo);

    JMenuItem mntmSalir = new JMenuItem("Salir");
    mntmSalir.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            System.exit(0);
        }
    });
    mntmSalir.setIcon(new ImageIcon(PantaListaTurnos.class.getResource("/imagenes/iconos/twentytwo/close.png")));
    mnArchivo.add(mntmSalir);
    contentPane = new JPanel();
    contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    setContentPane(contentPane);
    GridBagLayout gbl_contentPane = new GridBagLayout();
    gbl_contentPane.columnWidths = new int[]{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
    gbl_contentPane.rowHeights = new int[]{0, 0, 0, 0, 32, 0, 0, 0};
    gbl_contentPane.columnWeights = new double[]{0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, Double.MIN_VALUE};
    gbl_contentPane.rowWeights = new double[]{0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, Double.MIN_VALUE};
    contentPane.setLayout(gbl_contentPane);

    JLabel lblTurnos = new JLabel("Turnos");
    lblTurnos.setFont(new Font("Georgia", Font.BOLD, 12));
    lblTurnos.setIcon(new ImageIcon(PantaListaTurnos.class.getResource("/imagenes/iconos/calendar.png")));
    GridBagConstraints gbc_lblTurnos = new GridBagConstraints();
    gbc_lblTurnos.anchor = GridBagConstraints.WEST;
    gbc_lblTurnos.gridwidth = 7;
    gbc_lblTurnos.insets = new Insets(0, 0, 5, 5);
    gbc_lblTurnos.gridx = 1;
    gbc_lblTurnos.gridy = 0;
    contentPane.add(lblTurnos, gbc_lblTurnos);

    JLabel lblIcono = new JLabel("");
    GridBagConstraints gbc_lblIcono = new GridBagConstraints();
    gbc_lblIcono.anchor = GridBagConstraints.EAST;
    gbc_lblIcono.gridwidth = 9;
    gbc_lblIcono.insets = new Insets(0, 0, 5, 5);
    gbc_lblIcono.gridx = 14;
    gbc_lblIcono.gridy = 0;
    contentPane.add(lblIcono, gbc_lblIcono);
    lblIcono.setIcon(new ImageIcon(PantaListaTurnos.class.getResource("/imagenes/logotipo.png")));

    JScrollPane scrollPane = new JScrollPane();
    scrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
    GridBagConstraints gbc_scrollPane = new GridBagConstraints();
    gbc_scrollPane.gridheight = 5;
    gbc_scrollPane.gridwidth = 20;
    gbc_scrollPane.insets = new Insets(0, 0, 5, 5);
    gbc_scrollPane.fill = GridBagConstraints.BOTH;
    gbc_scrollPane.gridx = 1;
    gbc_scrollPane.gridy = 1;
    contentPane.add(scrollPane, gbc_scrollPane);

    List = new JList<Object>();
    scrollPane.setViewportView(List);

    JButton btnActualizarLista = new JButton("Actualizar Lista");
    btnActualizarLista.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            fechaTurno = df1.format(dateChooser.getDate());
            llenarLista();
        }
    });
    btnActualizarLista.setHorizontalAlignment(SwingConstants.LEFT);
    btnActualizarLista.setIcon(new ImageIcon(PantaListaTurnos.class.getResource("/imagenes/iconos/twentytwo/history.png")));
    GridBagConstraints gbc_btnActualizarLista = new GridBagConstraints();
    gbc_btnActualizarLista.fill = GridBagConstraints.HORIZONTAL;
    gbc_btnActualizarLista.insets = new Insets(0, 0, 5, 5);
    gbc_btnActualizarLista.gridx = 21;
    gbc_btnActualizarLista.gridy = 1;
    contentPane.add(btnActualizarLista, gbc_btnActualizarLista);

    JButton btnIngresarATurno = new JButton("Ingresar a Paciente");
    btnIngresarATurno.setHorizontalAlignment(SwingConstants.LEFT);
    btnIngresarATurno.setIcon(new ImageIcon(PantaListaTurnos.class.getResource("/imagenes/iconos/twentytwo/clipboard.png")));
    GridBagConstraints gbc_btnIngresarATurno = new GridBagConstraints();
    gbc_btnIngresarATurno.fill = GridBagConstraints.HORIZONTAL;
    gbc_btnIngresarATurno.insets = new Insets(0, 0, 5, 5);
    gbc_btnIngresarATurno.gridx = 21;
    gbc_btnIngresarATurno.gridy = 2;
    contentPane.add(btnIngresarATurno, gbc_btnIngresarATurno);

    btnMarcarIngresado = new JButton("Marcar Ingresado");
    btnMarcarIngresado.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            try {
                seleccionaTurno();
            } catch (IOException e1) {
                // TODO Auto-generated catch block
                try {
                    Log.crearLog(e1.toString());
                } catch (IOException e2) {
                    // TODO Auto-generated catch block
                    e2.printStackTrace();
                }
                e1.printStackTrace();
            }
        }
    });
    btnMarcarIngresado.setHorizontalAlignment(SwingConstants.LEFT);
    btnMarcarIngresado.setIcon(new ImageIcon(PantaListaTurnos.class.getResource("/imagenes/iconos/twentytwo/check.png")));
    GridBagConstraints gbc_btnMarcarIngresado = new GridBagConstraints();
    gbc_btnMarcarIngresado.fill = GridBagConstraints.HORIZONTAL;
    gbc_btnMarcarIngresado.insets = new Insets(0, 0, 5, 5);
    gbc_btnMarcarIngresado.gridx = 21;
    gbc_btnMarcarIngresado.gridy = 3;
    contentPane.add(btnMarcarIngresado, gbc_btnMarcarIngresado);

    Calendar c2 = new GregorianCalendar();
    df1 = new SimpleDateFormat("dd/MM/yyyy");
    dateChooser = new JDateChooser();
    dateChooser.setCalendar(c2);
    dateChooser.setDateFormatString("dd/MM/yyyy");
    GridBagConstraints gbc_dateChooser = new GridBagConstraints();
    gbc_dateChooser.insets = new Insets(0, 0, 5, 5);
    gbc_dateChooser.fill = GridBagConstraints.BOTH;
    gbc_dateChooser.gridx = 21;
    gbc_dateChooser.gridy = 4;
    contentPane.add(dateChooser, gbc_dateChooser);
}

private void llenarLista() {

    ListaTurnos = GestorTurnos.ConsultarTurno(especialista, fechaTurno);
    DefaultListModel<Object> df = new DefaultListModel<Object>();
    for (int i = 0; i < ListaTurnos.size(); i++) {
        System.out.println((Turnos)ListaTurnos.get(i));
        Turnos tu = (Turnos)ListaTurnos.get(i);
        df.addElement(tu.getPaciente()+" "+tu.getEstados());
    }
    List.setModel(df);
}

public void seleccionaTurno() throws IOException {
    try {
        ListaTurnos.get(List.getSelectedIndex()).getPaciente();
            setPaciente(ListaTurnos.get(List.getSelectedIndex()).getPaciente().getApellido());
        ListaTurnos.get(List.getSelectedIndex()).getEstados().getEstado();                  setEstado(ListaTurnos.get(List.getSelectedIndex()).getEstados().getId());
        Turnos turnos = ListaTurnos.get(List.getSelectedIndex());
        Log.crearLog("Cambio de turno fecha "+fechaTurno+",paciente"+paciente);
        if (Estado<3) 
            GestorTurnos.ActualizaEstado(turnos.getPaciente().getDni());
        else
            Errores.turnoyapasado();
    } catch (Exception e) {
        Log.crearLog(e.getMessage().toString());
    }

}

public String getPaciente() {
    return paciente;
}

public void setPaciente(String string) {
    this.paciente = string;
}

public Integer getEstado() {
    return Estado;
}

public void setEstado(Integer estado) {
    this.Estado = estado;
}

    public String getEspecialista() {
        return especialista;
    }

    public void setEspecialista(String especialista) {
        this.especialista = especialista;
    }

}
4
задан 11.10.2016, 01:11
4 ответа

Маленький стыд Java: Generics только служат для проверок во времени компиляции, так что, если ты ошибаешься во время выполнения, они не подадут тебя ничего.

Ты делаешь:

Query<Turnos> turno = session.createQuery("select t.fechaTurno, t.estados.estado, t.paciente.id from Turnos as t where t.especialista =:especialista");

И ты думаешь, что select возвратит тебе инстанции Turno только, потому что - parametrizado тип, или по крайней мере он сообщит тебе о том, что есть ошибка типа. Ошибка. Эта информация не во время выполнения, так что, что он перемещает:

  • Составитель обеспечивает себе, что результат list() будь должен относиться друг к другу как List<Turno> (ошибка компиляции, если не). Это хорошо.

  • Составитель убеждается, которого, сделав один get на этом списке, результат должен относиться друг к другу как инстанция Turno, правильный.

  • Когда Hibernate возвращает результат, что он возвращает, является списком arrays вместо списка Turno, но во время выполнения нет никакой проверки (в самом деле, даже существует информация parametrización); runtime ждет один List (в сухие периоды) и будь счастлив, потому что он получил один List (в сухие периоды).

  • Сделав get, уже ты распределяешь array в ссылку в Turno. Конечно, который подтверждает JVM и бросает ошибку.

И porqué возврати список arrays? Итак, потому что ты сделал select 3 свойств, и не организации строго говоря. Так что он возвращает тебе, для каждой организации, array с этими тремя свойствами. Если то, что ты хочешь, состоит в том, чтобы возвращать организацию, просто:

Query<Turnos> turno = session.createQuery("select t from Turnos t where t.especialista =:especialista");

PD:

1) Используй стандарт номенклатуры Java (имена переменных и методов используют "camelCase" и начинают со строчной буквы, помоги читать очень много код (и более легкое сколько состояло в том, чтобы читать, более легкий, чем кто-то - ты сам включенный - нашло ошибку).

2) Обычно хорошо помечать в коде, который ты показываешь, какова линия, откуда бросается исключение для того, чтобы люди, которые читают твои вопросы, не были должны предполагать это.

2
ответ дан 24.11.2019, 13:10
  • 1
    просвет, когда я выполняю так query, возвращает меня правильно, но возвращает мне Нуль Поинтер Exception, захотев принести список в экран, как будто он старался приносить что-то, что не существует (вещь, которая нюхает меня в правильный, возможно была моим mapeo точно, из-за которого я это делаю с тремя подмостками в то же время) – Pablo Ezequiel Ferreyra 10.10.2016, 23:49
  • 2
    Если проблема, которую ты выдвинул est и # 225; решенный с моим soluci и # 243; n, пометь мой ответ как правильная и перейди к тому, чтобы изучать следующую проблему, которая появляется у тебя. Как твой комментарий, кажется, относится в c и # 243; я говорю, что это не часть первоначального вопроса, быть должным и # 237; схвати начинать процесс с нуля (исследовать из-за твоего счета, находить точку неудачи, смотреть причины - NPE s и # 243; он это может быть, потому что est и # 233; s используя ссылку на объект null, - и если он не выходит выдвигать новый вопрос). – SJuan76 11.10.2016, 10:22

Проблема:

java.lang. ClassCastException: [Ljava.lang. Object; cannot be cast to com.historiasclinicas.entidades. Смены

он производится в этом mГ©todo:

private void llenarLista() {

    ListaTurnos = GestorTurnos.ConsultarTurno(especialista, fechaTurno);
    DefaultListModel<Object> df = new DefaultListModel<Object>();
    for (int i = 0; i < ListaTurnos.size(); i++) {
        System.out.println((Turnos)ListaTurnos.get(i)); //ERROR!!!
        Turnos tu = (Turnos)ListaTurnos.get(i);
        df.addElement(tu.getPaciente()+" "+tu.getEstados());
    }
    List.setModel(df);
}

В действительности ListaTurnos - список объектов Turnos (List<Turnos>), asГ - что удаляет пробы:

 System.out.println(String.valueOf(ListaTurnos.get(i))); 
 Turnos tu = ListaTurnos.get(i);
1
ответ дан 24.11.2019, 13:10
  • 1
    @PabloEzequielFerreyra реализуй это и ты комментируешь мне результаты. – Jorgesys♦ 11.10.2016, 00:15
  • 2
    оно не функционировало, та же проблема, что раньше, линия печати консоли просто была, чтобы видеть, что тип объекта работал, но равно, продолжает возвращаться то же самое, когда он переходит в следующую линию – Pablo Ezequiel Ferreyra 11.10.2016, 00:47
  • 3
    @PabloEzequielFerreyra я вижу, что ты используешь hibernate! давайте повторно формулировать мой ответ!. – Jorgesys♦ 11.10.2016, 00:58
  • 4
    дай ему, нет проблемы – Pablo Ezequiel Ferreyra 11.10.2016, 01:10

решенный, проблема была mapeo, в пользу какого-то мотива он давал проблемы mapear hibernate два подмостков, но когда прекратился mapeo одной из них (пациент), он решил мне две проблемы в одном, приносить данные и показывать меня фамилия, которую из-за печатающего query он возвращал мне как пустота

0
ответ дан 24.11.2019, 13:10

Это кажется ошибкой, вызванной не проверенной или нет безопасной операцией (unchecked or unsafe operation).

Типичный пример этой ошибки:

        List<String> lista = new ArrayList<String>();
        List lista2 = lista;
        lista2.add(Integer.valueOf(12));
        String cadena = lista.get(0);

Что вызывает исключение:

java.lang. ClassCastException: java.lang. Integer cannot be cast to java.lang. String

Это проистекает того, что добавил Integer список String через список не tipada. Возможно, что то же самое происходит в твоей программе, хотя на протяжении более отдельных операций и следовательно тяжелее для того, чтобы отличать.

Способ видеть, такое ли это состоит в том, чтобы подтверждать, какой тип возвращает вызов в ListaTurnos.get(i).

private void llenarLista() {
    ListaTurnos = GestorTurnos.ConsultarTurno(especialista, fechaTurno);
    DefaultListModel<Object> df = new DefaultListModel<Object>();
    for (int i = 0; i < ListaTurnos.size(); i++) {
        System.out.println( ListaTurnos.get(i).getClass().toString(); //Imprime tipo
        Turnos tu = ListaTurnos.get(i);
        df.addElement(tu.getPaciente().getId().toString()+" "+tu.getEstados().getEstado().toString());
    }
    List.setModel(df);
}

Если печатный тип не com.historiasclinicas.entidades.Turnos это ясный признак того, что проблема идет где-то здесь.

-1
ответ дан 24.11.2019, 13:10
  • 1
    он возвращает меня прямо как class [Ljava.lang.Object; – Pablo Ezequiel Ferreyra 10.10.2016, 04:51
  • 2
    я оставляю мое хранилище, если queres видеть, из-за которого правда, это первый раз, который происходит со мной, я копирую код другого экрана с другими классами, но что окончательно является точно тем же самым, что и меня пробует сделать в настоящее время bitbucket.org/pferreyraok/historiasclinicas – Pablo Ezequiel Ferreyra 10.10.2016, 05:18