Parâmetro SUBREPORT java

Bom dia, estou montando relatórios com subrelatorios no iReport e preciso de ajuda pois adicionei o parâmetro do subrelatorio, o SUBREPPORT_DIR, na aplicação java para que gerem em pdf, mas agora o pdf esta gerando em branco.

Código:


import java.awt.Desktop;
import java.io.File;
import java.io.IOException;
import java.sql.Connection;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

import javax.imageio.ImageIO;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.export.JRCsvExporter;
import net.sf.jasperreports.engine.export.JRXlsExporter;
import net.sf.jasperreports.engine.export.JRXlsExporterParameter;
import net.sf.jasperreports.engine.export.oasis.JROdsExporter;
import net.sf.jasperreports.view.JasperViewer;

import com.lowagie.text.FontFactory;
public class Main {

	public static void main(String args[]) {
		String dirConf = args[0];
		if ((new File(dirConf)).exists())
			try {
				Map<String, String> param = (new ReadXML()).getParams(dirConf);
				server = (String) param.get("server");
				port = (String) param.get("port");
				database = (String) param.get("database");
				usuario = (String) param.get("user");
				senha = (String) param.get("password");
				url = (String) param.get("url");
				type = (String) param.get("type");
				folder = (String) param.get("folder");
				primary = (String) param.get("primary");
				secundary = (String) param.get("secundary");
				idiomas.add(primary);
				idiomas.add(secundary);
				name = getName(url);
				destFileName = (new StringBuilder(String.valueOf(folder)))
						.append(name).append((String) param.get("id"))
						.append(".").append(type).toString();
				sourceFileName = url;
				connection = (new ConectaProgress()).conectar(server, port,
						database, usuario, senha);
				tempSet = param.keySet();
				Object object;
				for (Iterator<String> iterator = tempSet.iterator(); iterator
						.hasNext(); paramJasper.put(object.toString(),
						(String) param.get(object)))
					object = iterator.next();

				for (Iterator<String> iterator1 = idiomas.iterator(); iterator1
						.hasNext();) {
					String string = (String) iterator1.next();
					label = (new DAO()).carregaLabel(connection, string);
					tempSet = label.keySet();
					String string1;
					for (Iterator<String> iterator2 = tempSet.iterator(); iterator2
							.hasNext(); paramJasper.put(string1,
							(String) label.get(string1)))
						string1 = (String) iterator2.next();

				}

				(new Main()).exportar(type, destFileName, sourceFileName,
						paramJasper);
				File destFile = new File(destFileName);
				if (destFile.exists())
					desktop.open(destFile);
				System.out.println("ok\nrelatorio gerado com sucesso.");
			} catch (IOException e) {
				throw new Excecao(e);
			}
		else
			throw new Excecao(new Exception("arquivo config nao encontrado."));
	}

	private static String getName(String url) {
		char name[] = (new File(url)).getName().toCharArray();
		url = "";
		char ac[];
		int j = (ac = name).length;
		for (int i = 0; i < j; i++) {
			char c = ac[i];
			if (c == '.')
				break;
			url = (new StringBuilder(String.valueOf(url))).append(c).toString();
		}

		return url;
	}

	private void exportar(String type, String destFileName,
			String sourceFileName, Map<String, String> paramJasper)
			throws IOException {
					
		paramJasper.put("SUBREPORT_DIR",
				getClass().getClassLoader().getResource("SUBREPORT_DIR")
						.toString());		
		paramJasper.put("icd",
				getClass().getClassLoader().getResource("iconcheckedls.png")
						.toString());
		paramJasper.put("logols",
				getClass().getClassLoader().getResource("logols.jpg")
						.toString());
		JasperPrint relatorioFinal = null;
		FontFactory.register(getClass().getClassLoader()
				.getResource("ARIALUNI.TTF").toString());
		try {
			relatorioFinal = JasperFillManager.fillReport(sourceFileName,
					paramJasper, connection);
		} catch (Exception e) {
			throw new Excecao(e);
		}
		if (type.equals("pdf"))
			try {
				JasperExportManager.exportReportToPdfFile(relatorioFinal,
						destFileName);
			} catch (Exception e) {
				e.printStackTrace();
				throw new Excecao(e);
			}
		if (type.equals("xls"))
			try {
				JRXlsExporter xls = new JRXlsExporter();
				xls.setParameter(JRXlsExporterParameter.JASPER_PRINT,
						relatorioFinal);
				xls.setParameter(JRXlsExporterParameter.OUTPUT_FILE_NAME,
						destFileName);
				xls.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET,
						Boolean.FALSE);
				xls.setParameter(
						JRXlsExporterParameter.IS_WHITE_PAGE_BACKGROUND,
						Boolean.FALSE);
				xls.setParameter(
						JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS,
						Boolean.TRUE);
				xls.exportReport();
			} catch (JRException e) {
				throw new Excecao(e);
			}
		if (type.equals("csv"))
			try {
				JRCsvExporter csv = new JRCsvExporter();
				csv.setParameter(JRXlsExporterParameter.JASPER_PRINT,
						relatorioFinal);
				csv.setParameter(JRXlsExporterParameter.OUTPUT_FILE_NAME,
						destFileName);
				csv.exportReport();
			} catch (JRException e) {
				throw new Excecao(e);
			}
		if (type.equals("ods"))
			try {
				JROdsExporter ods = new JROdsExporter();
				ods.setParameter(JRXlsExporterParameter.JASPER_PRINT,
						relatorioFinal);
				ods.setParameter(JRXlsExporterParameter.OUTPUT_FILE_NAME,
						destFileName); 
				ods.exportReport();
			} catch (JRException e) {
				throw new Excecao(e);
			}
		if (type.equals("pre")) {
			JasperViewer jv = new JasperViewer(relatorioFinal);
			jv.setExtendedState(6);
			jv.setTitle(" Ls");
			java.awt.image.BufferedImage imagem = ImageIO.read(getClass()
					.getClassLoader().getResource("Ls_favicon.png"));
			jv.setIconImage(imagem);
			jv.setVisible(true);
		}
	}

	private static Connection connection;
	private static String server;
	private static String port;
	private static String database;
	private static String usuario;
	private static String senha;
	private static String url;
	private static String name;
	private static String type;
	private static String folder;
	private static String primary;
	private static String secundary;
	private static String destFileName;
	private static String sourceFileName;
	private static java.util.List<String> idiomas = new ArrayList<String>();
	private static Desktop desktop = Desktop.getDesktop();
	private static Map<String, String> label;
	private static Map<String, String> paramJasper = new HashMap<String, String>();
	private static Set<String> tempSet;

}

Obrigada.