Package org.pentaho.reporting.engine.classic.core.layout.table

Source Code of org.pentaho.reporting.engine.classic.core.layout.table.Prd4606Test

package org.pentaho.reporting.engine.classic.core.layout.table;

import junit.framework.TestCase;
import org.pentaho.reporting.engine.classic.core.ClassicEngineBoot;
import org.pentaho.reporting.engine.classic.core.CompoundDataFactory;
import org.pentaho.reporting.engine.classic.core.MasterReport;
import org.pentaho.reporting.engine.classic.core.SimplePageDefinition;
import org.pentaho.reporting.engine.classic.core.layout.model.LayoutNodeTypes;
import org.pentaho.reporting.engine.classic.core.layout.model.LogicalPageBox;
import org.pentaho.reporting.engine.classic.core.layout.model.RenderNode;
import org.pentaho.reporting.engine.classic.core.layout.model.table.TableRenderBox;
import org.pentaho.reporting.engine.classic.core.modules.misc.datafactory.sequence.PerformanceTestSequence;
import org.pentaho.reporting.engine.classic.core.modules.misc.datafactory.sequence.SequenceDataFactory;
import org.pentaho.reporting.engine.classic.core.testsupport.DebugReportRunner;
import org.pentaho.reporting.engine.classic.core.testsupport.selector.MatchFactory;
import org.pentaho.reporting.engine.classic.core.util.PageSize;
import org.pentaho.reporting.engine.classic.core.util.geom.StrictGeomUtility;
import org.pentaho.reporting.libraries.base.util.DebugLog;
import org.pentaho.reporting.libraries.base.util.StopWatch;

public class Prd4606Test extends TestCase
{
  public Prd4606Test()
  {
  }

  public void setUp()
  {
    ClassicEngineBoot.getInstance().start();
  }

  public void testValidTable() throws Exception
  {
    MasterReport report = DebugReportRunner.parseGoldenSampleReport("Prd-4606-0001.prpt");
    CompoundDataFactory dataFactory = (CompoundDataFactory) report.getDataFactory();
    SequenceDataFactory sequenceDf = (SequenceDataFactory) dataFactory.getReference(0);
    PerformanceTestSequence sequence = (PerformanceTestSequence) sequenceDf.getSequence("Query 1");
    assertEquals(10, sequence.getParameter("limit"));

    LogicalPageBox logicalPageBox = DebugReportRunner.layoutPage(report, 0);

    RenderNode[] tables = MatchFactory.findElementsByNodeType(logicalPageBox, LayoutNodeTypes.TYPE_BOX_TABLE);
    RenderNode[] tableRows = MatchFactory.findElementsByNodeType(logicalPageBox, LayoutNodeTypes.TYPE_BOX_TABLE_ROW);

    assertEquals(1, tables.length);
    assertEquals(StrictGeomUtility.toInternalValue(240), tables[0].getHeight());
    TableRenderBox table = (TableRenderBox) tables[0];
    assertEquals(1, table.getColumnModel().getColumnCount());

    assertEquals(12, tableRows.length);
    for (RenderNode tableRow : tableRows)
    {
      assertEquals(StrictGeomUtility.toInternalValue(20), tableRow.getHeight());
    }
  }

  public void testInvalidTable() throws Exception
  {
    MasterReport report = DebugReportRunner.parseGoldenSampleReport("Prd-4606-0002.prpt");
    LogicalPageBox logicalPageBox = DebugReportRunner.layoutPage(report, 0);

    RenderNode[] tables = MatchFactory.findElementsByNodeType(logicalPageBox, LayoutNodeTypes.TYPE_BOX_TABLE);
    RenderNode[] tableRows = MatchFactory.findElementsByNodeType(logicalPageBox, LayoutNodeTypes.TYPE_BOX_TABLE_ROW);
    assertEquals(1, tables.length);
    assertEquals(StrictGeomUtility.toInternalValue(240), tables[0].getHeight());
    TableRenderBox table = (TableRenderBox) tables[0];
    assertEquals(2, table.getColumnModel().getColumnCount());

    assertEquals(12, tableRows.length);
    for (RenderNode tableRow : tableRows)
    {
      assertEquals(StrictGeomUtility.toInternalValue(20), tableRow.getHeight());
    }
  }

  public void testLargeValidTableInExcelMode() throws Exception
  {
    if (DebugReportRunner.isSkipLongRunTest())
    {
      return;
    }

    ClassicEngineBoot.getInstance().getEditableConfig().setConfigProperty
        ("org.pentaho.reporting.engine.classic.core.layout.process.EnableCountBoxesStep", "true");
    ClassicEngineBoot.getInstance().getEditableConfig().setConfigProperty
        ("org.pentaho.reporting.engine.classic.core.layout.ParanoidChecks", "false");
    MasterReport report = DebugReportRunner.parseGoldenSampleReport("Prd-4606-0001.prpt");
    CompoundDataFactory dataFactory = (CompoundDataFactory) report.getDataFactory();
    SequenceDataFactory sequenceDf = (SequenceDataFactory) dataFactory.getReference(0);
    PerformanceTestSequence sequence = (PerformanceTestSequence) sequenceDf.getSequence("Query 1");
    sequence.setParameter("limit", 20000);

    StopWatch sw = StopWatch.startNew();
    DebugReportRunner.createXmlFlow(report);
    DebugLog.log(sw);
  }

  public void testLargeValidTable() throws Exception
  {
    if (DebugReportRunner.isSkipLongRunTest())
    {
      return;
    }

    ClassicEngineBoot.getInstance().getEditableConfig().setConfigProperty
        ("org.pentaho.reporting.engine.classic.core.layout.process.EnableCountBoxesStep", "true");
    ClassicEngineBoot.getInstance().getEditableConfig().setConfigProperty
        ("org.pentaho.reporting.engine.classic.core.layout.ParanoidChecks", "false");
    MasterReport report = DebugReportRunner.parseGoldenSampleReport("Prd-4606-0001.prpt");
    CompoundDataFactory dataFactory = (CompoundDataFactory) report.getDataFactory();
    SequenceDataFactory sequenceDf = (SequenceDataFactory) dataFactory.getReference(0);
    PerformanceTestSequence sequence = (PerformanceTestSequence) sequenceDf.getSequence("Query 1");
    sequence.setParameter("limit", 20000);

    // ModelPrinter.INSTANCE.print(DebugReportRunner.layoutPage(report, 0));

    StopWatch sw = StopWatch.startNew();
    LogicalPageBox logicalPageBox = DebugReportRunner.layoutPage(report, 5);
    //ModelPrinter.INSTANCE.print(logicalPageBox);
    DebugLog.log(sw);

//    ModelPrinter.INSTANCE.print(logicalPageBox);
    RenderNode[] tables = MatchFactory.findElementsByNodeType(logicalPageBox, LayoutNodeTypes.TYPE_BOX_TABLE);
    RenderNode[] tableRows = MatchFactory.findElementsByNodeType(logicalPageBox, LayoutNodeTypes.TYPE_BOX_TABLE_ROW);

    assertEquals(1, tables.length);
//    assertEquals(StrictGeomUtility.toInternalValue(240), tables[0].getHeight());
    TableRenderBox table = (TableRenderBox) tables[0];
//    assertEquals(1, table.getColumnModel().getColumnCount());

//    assertEquals(12, tableRows.length);
    for (RenderNode tableRow : tableRows)
    {
      assertEquals(StrictGeomUtility.toInternalValue(20), tableRow.getHeight());
    }

    // DebugReportRunner.showDialog(report);

  }

  public void testPageSpanningAcrossPages() throws Exception
  {
    ClassicEngineBoot.getInstance().getEditableConfig().setConfigProperty
        ("org.pentaho.reporting.engine.classic.core.layout.process.EnableCountBoxesStep", "false");
    ClassicEngineBoot.getInstance().getEditableConfig().setConfigProperty
        ("org.pentaho.reporting.engine.classic.core.layout.ParanoidChecks", "false");
    MasterReport report = DebugReportRunner.parseGoldenSampleReport("Prd-4606-0003.prpt");
    report.setPageDefinition(new SimplePageDefinition(new PageSize(500, 100)));

    CompoundDataFactory dataFactory = (CompoundDataFactory) report.getDataFactory();
    SequenceDataFactory sequenceDf = (SequenceDataFactory) dataFactory.getReference(0);
    PerformanceTestSequence sequence = (PerformanceTestSequence) sequenceDf.getSequence("Query 1");
    sequence.setParameter("limit", 10);

    LogicalPageBox logicalPageBox = DebugReportRunner.layoutPage(report, 1);
  }
}
TOP

Related Classes of org.pentaho.reporting.engine.classic.core.layout.table.Prd4606Test

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.