IReport: WARN query.JRJdbcQueryExecuter: The supplied java.sql.Connection object is null

Alguem poderia me ajudar a chamar meu sub-relatorio no java?
Esta ocorrendo esse erro!
Preciso muito de ajuda!

codigo do metodo:

public void gerarRelatorioColeta(String sql){
		
		Connection c = conexao.getConexao();
 	 		conexao.conexao();
 			conexao.executaSQL(sql);
 			
 			try{
 				conn = DriverManager.getConnection("jdbc:postgresql://QUALITYSERVER12:5432/logistica", "postgres", "c4st3l0s#");
 			}catch(SQLException ex){
 				
 			}
 			
 			HashMap parametros = new HashMap();  
 			parametros.put("SUBREPORT_DIR" , "//QUALITYSERVER12/informacoes/SISTEMAS/relatorios/") ;  
 			parametros.put("REPORT_CONNECTION",conexao.getConexao());     
 			
 			
 	 		JRResultSetDataSource relatResul = new JRResultSetDataSource(conexao.rs);
 	 		
 	 		try {
 	 		JasperPrint jpPrint = JasperFillManager.fillReport("//QUALITYSERVER12/informacoes/SISTEMAS/relatorios/coleta.jasper",parametros, relatResul);
 	 	
 	 		
 	 		JasperViewer jv = new JasperViewer(jpPrint,false); // cria instancia para impressão , seta exit_on_close == false 
			jv.setVisible(true); // chama relatorio para visualização
			jv.toFront(); // relatorio na frente da aplicação
			
 		} catch (JRException e) {
			JOptionPane.showMessageDialog(null, "Erro ao chamar relatório!"+e.getMessage());
		}
 		finally {
 			conexao.desconecta();
 		}
		     
			        
		     
		     
	}