@Override
    public ArrayList<TProducto> listarProducto()throws Exception {
        Statement query = null;
        Connection connection = null;
        TProducto temp = new TProducto();
        ArrayList<TProducto> ret = new ArrayList<TProducto>();        
        String contenido_query = "SELECT * FROM Productos";                
                
        try
        {
            connection = (Connection) TransactionManager.obtenerInstanacia().getTransaccion().getResource();
            query = connection.createStatement();
        }
        catch (SQLException e)
        {
            throw new SQLException("No se ha podido realizar la conexión con la base de datos. \nEs posible que haya olvidado crear o iniciar la transacción"
                    + "\nError: " + e.getMessage());
        }
         try
        {
            System.out.println(contenido_query);
            query.executeQuery(contenido_query);
            ResultSet rs = query.getResultSet();
            while (rs.next())
            {
                if (rs.getString("Disponible").equalsIgnoreCase("1"))
                {
                    Integer id = Integer.parseInt(rs.getString("id_producto"));
                    temp.setId(id);                    
                    temp.setNombre(rs.getString("Nombre"));
                    Double dummy = Double.parseDouble(rs.getString("Precio"));
                    temp.setPrecio(dummy);
                    temp.setDescripcion(rs.getString("Descripcion"));
                    temp.setCodigoDeBarras(rs.getString("Cod_barras"));
                    Integer dummy2 = Integer.parseInt(rs.getString("Stock"));
                    temp.setStock(dummy2);
                    temp.setActivo(rs.getBoolean("Disponible"));
                    ret.add(temp);
                    temp = new TProducto();
                }
            }
        }
        catch (SQLException e)
        {
            throw new SQLException("No se ha podido dar de baja el producto. \nError: " + e.getMessage());
        }
        return ret;
    }