public ArrayList<Pesquisa> listar(String condicao) throws Exception
	{
		String sql = "SELECT * FROM pesquisa " + condicao;
		ArrayList<Pesquisa> listaPesquisa = new ArrayList<Pesquisa>();
		
		try
		{
			PreparedStatement stmt = ConnectionFactory.getConnection().prepareStatement(sql);
			ResultSet rs = stmt.executeQuery();
			
			while (rs.next())
			{
				Pesquisa pesquisa = new Pesquisa();
				pesquisa.setId(rs.getLong("id"));
				pesquisa.setTitulo(rs.getString("titulo"));
				pesquisa.setOrientador(new PesquisadorDAO().listar(" WHERE id =" + rs.getLong("orientador")).get(0));
				pesquisa.setPesquisadorResponsavel(new PesquisadorDAO().listar(" WHERE id =" + rs.getLong("pesquisador_responsavel")).get(0));
				pesquisa.setColaboradores(new PesquisacolaboradoresDAO().listar(rs.getLong("id")));
				pesquisa.setAnoSubmissao(rs.getInt("ano_submissao"));
				pesquisa.setTempoDuracao(rs.getInt("tempo_duracao"));
				pesquisa.setTipo(rs.getString("tipo"));
				pesquisa.setQualificacao(rs.getString("qualificacao"));
				pesquisa.setImpactoPesquisa(rs.getString("impacto_pesquisa"));
				pesquisa.setGerouPatente(rs.getBoolean("gerou_patente"));
				pesquisa.setStatus(rs.getString("status"));
				pesquisa.setResultado(rs.getString("resultado"));
				pesquisa.setInstituicaoSubmissao(new InstituicaoSubmissaoDAO().listar(" WHERE id = " + rs.getLong("instituicao_submissao")).get(0));
				pesquisa.setFonteFinanciamento(new FonteFinanciamentoDAO().listar(" WHERE id = " + rs.getLong("fonte_financiamento")).get(0));
				pesquisa.setAreaConhecimentoCNPq(new AreaConhecimentoDAO().listar(" WHERE id = "+ rs.getLong("area_conhecimento_CNPq")).get(0));
				pesquisa.setPalavrasChave(new PesquisaPalavrasChaveDAO().listar(rs.getLong("id")));
				pesquisa.setInstituicoesCooperadoras(new PesquisaInstituicoesCooperadorasDAO().listar(rs.getLong("id")));
				pesquisa.setLocais(new PesquisaLocalDAO().listar(rs.getLong("id")));
				pesquisa.setResumo((String) rs.getObject("resumo"));
				listaPesquisa.add(pesquisa);
			}
			
			rs.close();
		}
		catch (SQLException e)
		{
			throw e;
		}
		return listaPesquisa;
	}