Package org.pentaho.reporting.engine.classic.testcases.bugs

Source Code of org.pentaho.reporting.engine.classic.testcases.bugs.Prd2884Test

package org.pentaho.reporting.engine.classic.testcases.bugs;

import java.net.URL;

import junit.framework.TestCase;
import org.pentaho.reporting.engine.classic.core.ClassicEngineBoot;
import org.pentaho.reporting.engine.classic.core.MasterReport;
import org.pentaho.reporting.engine.classic.core.ReportProcessingException;
import org.pentaho.reporting.engine.classic.core.function.EventMonitorFunction;
import org.pentaho.reporting.engine.classic.core.layout.model.RenderNode;
import org.pentaho.reporting.engine.classic.core.modules.output.pageable.graphics.PageDrawable;
import org.pentaho.reporting.engine.classic.core.modules.output.pageable.graphics.PrintReportProcessor;
import org.pentaho.reporting.libraries.base.util.DebugLog;
import org.pentaho.reporting.libraries.resourceloader.Resource;
import org.pentaho.reporting.libraries.resourceloader.ResourceException;
import org.pentaho.reporting.libraries.resourceloader.ResourceManager;

/**
* Todo: Document me!
* <p/>
* Date: 11.10.2010
* Time: 15:50:00
*
* @author Thomas Morgner.
*/
public class Prd2884Test extends TestCase
{
  public Prd2884Test()
  {
  }

  protected void setUp() throws Exception
  {
    ClassicEngineBoot.getInstance().start();
  }

  public void testRunner() throws ResourceException, ReportProcessingException
  {
    final URL url = getClass().getResource("prd-2884.prpt");
    assertNotNull(url);
    final ResourceManager resourceManager = new ResourceManager();
    resourceManager.registerDefaults();
    final Resource directly = resourceManager.createDirectly(url, MasterReport.class);
    final MasterReport report = (MasterReport) directly.getResource();
    final EventMonitorFunction eventMonitorFunction = new EventMonitorFunction("Name");
    eventMonitorFunction.setDeepTraversing(true);
    report.addExpression(eventMonitorFunction);

    final PrintReportProcessor prc = new PrintReportProcessor(report);
    assertEquals("18 pages", 18, prc.getNumberOfPages());
    final PageDrawable pageDrawable = prc.getPageDrawable(2);
    assertNotNull(pageDrawable);
    final RenderNode[] renderNodes = pageDrawable.getNodesAt(1, 1, null, null);
    for (int i = 0; i < renderNodes.length; i++)
    {
      RenderNode renderNode = renderNodes[i];
      System.out.println(renderNode);
    }
  }

  public void testRunner2() throws ResourceException, ReportProcessingException
  {
    final URL url = getClass().getResource("prd-2884-2.prpt");
    assertNotNull(url);
    final ResourceManager resourceManager = new ResourceManager();
    resourceManager.registerDefaults();
    final Resource directly = resourceManager.createDirectly(url, MasterReport.class);
    final MasterReport report = (MasterReport) directly.getResource();

    final PrintReportProcessor prc = new PrintReportProcessor(report);
    if (prc.isError())
    {
      prc.getErrorReason().printStackTrace();
      fail();
    }
    final PageDrawable pageDrawable = prc.getPageDrawable(20);
    assertNotNull(pageDrawable);
    for (int i = 0; i < prc.getNumberOfPages(); i++)
    {
      System.out.println("I = " + i);
      if (i == 6)
      {
        DebugLog.logHere();
      }
      System.out.println(prc.getPageDrawable(i));

    }
  }
}
TOP

Related Classes of org.pentaho.reporting.engine.classic.testcases.bugs.Prd2884Test

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.