¿Cómo establece y pasa un parámetro a un informe BIRT creado por el Diseñador de informes BIRT a través de la API BIRT?

He creado un informe simple que toma un solo parámetro. Este parámetro se utiliza en la consulta y se ejecuta correctamente cuando se ejecuta directamente en el diseñador de informes. Por cierto, no estoy usando javascript ni ningún script para este informe. He visto a algunas personas tratando de pasar parámetros usando scripts y / o javascripts para obtener respuestas aquí, sin embargo, esto no es lo que estoy haciendo. Paso todos mis parámetros a través de java. Continuando, en este informe estoy enumerando elementos activos / inactivos. Paso una "N" para listar los artículos inactivos y una "Y" para los artículos activos. Cuando intento pasar un parámetro a través de la API, siempre obtengo una lista de elementos activos independientemente de lo que pase. Por cierto, "Y" es el valor predeterminado del parámetro pasado. (Estoy anulando los valores predeterminados en el código a continuación) El problema que tengo es que el informe no parece querer tomar el parámetro que configuré. Sí, el valor cambia en mi variable pero el informe no refleja el cambio. Mi código está abajo. He intentado seguir los consejos de este enlace y cómo establecer los parámetros.

http://www.eclipsezone.com/eclipse/forums/t67723.html

Si va al enlace, vaya al número 4 y vea la lista de tareas a realizar. Esto es lo que he tratado de seguir. Siento que me puede estar perdiendo algo. Si tienes esto, ¿podrías darme algún consejo sobre lo que me estoy perdiendo? ¡Muchas gracias!

-Valle

    public class ReportGenerator {
        public static void main(String args[]) throws Exception{
        ReportGenerator rg = new ReportGenerator();
        rg.executeReport("N");
        }


        @SuppressWarnings({ "unchecked", "deprecation" })
        public void executeReport(String activeIndicator) throws EngineException {

        IReportEngine engine=null;
        EngineConfig config = null;

        try{
            config = new EngineConfig( );            
            config.setBIRTHome("C:\\birt-rcp-report-designer-3_7_2\\ReportEngine");
            config.setLogConfig("c:/temp/test", Level.FINEST);
            Platform.startup( config );
            IReportEngineFactory factory = (IReportEngineFactory) Platform.createFactoryObject( IReportEngineFactory.EXTENSION_REPORT_ENGINE_FACTORY );
            engine = factory.createReportEngine( config );        


            IReportRunnable reportDesign = null;
            reportDesign = engine.openReportDesign("C:\\workspace\\SimpleReport\\ReportTemplates\\ItemListingReport.rptdesign"); 
            IRunAndRenderTask task = engine.createRunAndRenderTask(reportDesign);
            IGetParameterDefinitionTask parameterDefinitionTask = engine.createGetParameterDefinitionTask(reportDesign);
            parameterDefinitionTask.evaluateDefaults();
            HashMap<String, String> params = parameterDefinitionTask.getDefaultValues();
            params.put("aIndicator", activeIndicator);
            parameterDefinitionTask.setParameterValues(params);

            ConnectionHelper connectionHelper = new ConnectionHelper();
            task.getAppContext().put("OdaJDBCDriverPassInConnection", connectionHelper.getConnection());

            PDFRenderOption options = new PDFRenderOption();
            options.setOutputFormat("pdf");
            options.setOutputFileName("C:\\workspace\\SimpleReport\\output\\itemListingReport.pdf");

            task.setRenderOption(options);

            task.run();
            task.close();
            engine.destroy();
        } catch (Exception ex) {
            ex.printStackTrace();
        } finally {
            Platform.shutdown();
        }
        }
    }

Respuestas a la pregunta(1)

Su respuesta a la pregunta