Olhem isso (Ireport)

Bom dia

To desenvolvendo um classe para visualizar e salvar relatorios do Ireports, so que estou com 2 problemas:

1º Tenho vários relatorios e gostaria de saber se é possivel criar uma classe generica para abrir todos relatorios sem ter que colocar as query.

2º Essa classe so ta visualizando eu queria uma classe que visualisa-se e que salva-se o arquivo em pdf

Se eu implemento a linha a baixo ele salva mas não com o nome do arquivo (teste) ele ta colocando o nome (template_paisagem), não consigo entender o porque?

JasperRunManager.runReportToPdfFile(“teste.jasper”, parameters, jrRS);

Se puderem me ajudar eu agradeceria.

Abraços.

[code]package Modelo02;

import java.sql.ResultSet;
import java.sql.Statement;
import java.util.HashMap;
import java.util.Map;
import net.sf.jasperreports.engine.;
import net.sf.jasperreports.view.
;
import BancoDados.*;

public class Model {
private int mes_referencia=1;
private int ano_exercicio=2006;
private int municipio_id =467;
static String query="nada";
static Map parameters = new HashMap();
static JRResultSetDataSource jrRS;

void relatorio(){	
	
	Conectar conec= new Conectar();
	
	try{
		 
		Statement statement = conec.con.createStatement();
		ResultSet rs = statement.executeQuery("select ds_municipio, cd_entidade,nome_resumido,fonte_recurso_id, " +
	           		"ds_fonte_recurso,sum(previsao_atualizada) as previsao_atualizada, sum(interna) as interna, " +
	           		"sum(externa) as externa,sum(aro)as aro, sum(dotacao_atualizada)as dotacao_atualizada , " +
	           		"sum(empenhamento) as empenhamento,sum(liquidacao)as liquidacao, sum(pagamento)as pagamento" +
	           		" from vw_demo_operacao_credito_despesa_capital " +
	           		"where municipio_id ="+municipio_id +" and ano_exercicio ="+ano_exercicio+" and mes_referencia =" +mes_referencia+
	             	"group by cd_entidade, fonte_recurso_id, ds_municipio, ds_fonte_recurso, nome_resumido" );
					
		
		 // implementação da interface JRDataSource para DataSource ResultSet 
		jrRS = new JRResultSetDataSource(rs); 			  
	
		// Preenche o relatório com os dados
		JasperPrint jasperPrint = JasperFillManager.fillReport("teste.jasper", parameters, jrRS); 
								
		// Visualiza o relatório em formato PDF 
		JasperViewer.viewReport(jasperPrint);		
		
	}
	catch (Exception e) {
		System.out.println(e);
	}
}





public static void main (String args[]) {
	new Conectar().conectar();		
	new Model().relatorio();
	new Conectar().desconectar();
	
}

}

[/code]