Examples of CrosstabRowGroup


Examples of org.pentaho.reporting.engine.classic.core.CrosstabRowGroup

    if (crosstabRowGroupBody == null)
    {
      return;
    }

    final CrosstabRowGroup crosstabRowGroup = crosstabRowGroupBody.getGroup();
    final CrosstabTitleHeader crosstabTitleHeader = crosstabRowGroup.getTitleHeader();
    final CrosstabHeader crosstabHeader = crosstabRowGroup.getHeader();
    final CrosstabSummaryHeader crosstabSummaryHeader = crosstabRowGroup.getSummaryHeader();

    buildCrosstabElementsList(crosstabTitleHeader, rowGroupBodyList);
    buildCrosstabElementsList(crosstabHeader, rowGroupBodyList);
    buildCrosstabElementsList(crosstabSummaryHeader, rowGroupBodyList);

    final GroupBody body = crosstabRowGroup.getBody();
    if (body instanceof CrosstabRowGroupBody)
    {
      // Recurse to add additional row-groups
      buildCrosstabRowGroupBands((CrosstabRowGroupBody)body);
    }
View Full Code Here

Examples of org.pentaho.reporting.engine.classic.core.CrosstabRowGroup

    if (activeContext == null)
    {
      return;
    }

    final CrosstabRowGroup newGroup = new CrosstabRowGroup();
    try
    {
      Object selectedElement = null;
      if (getSelectionModel().getSelectionCount() > 0)
      {
        selectedElement = getSelectionModel().getSelectedElement(0);
      }
      if (selectedElement instanceof CrosstabRowGroup)
      {
        // execution order is important here.
        // first unlink the old root-group by setting a new one ...
        final CrosstabRowGroup selectedGroup = (CrosstabRowGroup) selectedElement;
        final GroupBody oldGroupBody = selectedGroup.getBody();
        final CrosstabRowGroupBody newGroupBody = new CrosstabRowGroupBody(newGroup);
        selectedGroup.setBody(newGroupBody);
        newGroup.setBody(oldGroupBody);
       
        activeContext.getUndo().addChange(ActionMessages.getString("InsertCrosstabRowGroupAction.UndoName"),
            new InsertGroupBodyOnGroupUndoEntry(selectedGroup.getObjectID(), oldGroupBody, newGroupBody));
      }
    }
    catch (Exception ex)
    {
      UncaughtExceptionsModel.getInstance().addException(ex);
View Full Code Here

Examples of org.pentaho.reporting.engine.classic.core.CrosstabRowGroup

        }
      }
    }
    else if (group instanceof CrosstabRowGroup)
    {
      final CrosstabRowGroup rowGroup = (CrosstabRowGroup) group;
      final CrosstabCellBody crosstabCellBody = event.getReport().getCrosstabCellBody();
      final int elementCount = crosstabCellBody.getElementCount();
      for (int i = 1; i < elementCount; i += 1)
      {
        final CrosstabCell cell = (CrosstabCell) crosstabCellBody.getElement(i);
        if (ObjectUtilities.equal(cell.getRowField(), rowGroup.getField()))
        {
          processRootBand(cell);
        }
      }
    }
View Full Code Here

Examples of org.pentaho.reporting.engine.classic.core.CrosstabRowGroup

   */
  protected void doneParsing() throws SAXException
  {
    super.doneParsing();

    final CrosstabRowGroup group = getElement();
    if (fieldReadHandler != null)
    {
      group.setField(fieldReadHandler.getResult());
    }
    if (headerReadHandler != null)
    {
      group.setHeader(headerReadHandler.getElement());
    }
    else if (legacyHeaderReadHandler != null)
    {
      final CrosstabHeader header = new CrosstabHeader();
      legacyHeaderReadHandler.getElement().copyInto(header);
      header.addElements(Arrays.asList(legacyHeaderReadHandler.getElement().getElementArray()));
      group.setHeader(header);
    }

    if (summaryHeaderBandReadHandler!= null)
    {
      group.setSummaryHeader(summaryHeaderBandReadHandler.getElement());
    }
    if (titleHeaderBandReadHandler != null)
    {
      group.setTitleHeader(titleHeaderBandReadHandler.getElement());
    }

    if (rowSubGroupBodyReadHandler != null)
    {
      group.setBody(rowSubGroupBodyReadHandler.getElement());
    }
    else if (columnSubGroupBodyReadHandler != null)
    {
      group.setBody(columnSubGroupBodyReadHandler.getElement());
    }
  }
View Full Code Here

Examples of org.pentaho.reporting.engine.classic.core.CrosstabRowGroup

    super("crosstab-row-group", true);
  }

  public ReportElement create()
  {
    return new CrosstabRowGroup();
  }
View Full Code Here

Examples of org.pentaho.reporting.engine.classic.core.CrosstabRowGroup

    }

    final AttributeList attList = createMainAttributes(element, xmlWriter);
    xmlWriter.writeTag(BundleNamespaces.LAYOUT, "crosstab-row-group", attList, XmlWriterSupport.OPEN);

    final CrosstabRowGroup group = (CrosstabRowGroup) element;
    if (group.getField() != null)
    {
      xmlWriter.writeTag(BundleNamespaces.LAYOUT, "field", XmlWriterSupport.OPEN);
      xmlWriter.writeTextNormalized(group.getField(), false);
      xmlWriter.writeCloseTag();
    }
    writeElementBody(bundle, state, element, xmlWriter);
    writeChildElements(bundle, state, xmlWriter, (Section) element);
    xmlWriter.writeCloseTag();
View Full Code Here

Examples of org.pentaho.reporting.engine.classic.core.CrosstabRowGroup

      if (body instanceof CrosstabRowGroupBody)
      {
        rowGroups += 1;
        final CrosstabRowGroupBody cogb = (CrosstabRowGroupBody) body;
        final CrosstabRowGroup otherGroup = cogb.getGroup();
        list.add(otherGroup.getField());
        body = otherGroup.getBody();
        continue;
      }

      if (body instanceof CrosstabColumnGroupBody)
      {
        columnGroups += 1;
        final CrosstabColumnGroupBody cogb = (CrosstabColumnGroupBody) body;
        final CrosstabColumnGroup otherGroup = cogb.getGroup();
        list.add(otherGroup.getField());
        body = otherGroup.getBody();
        continue;
      }

      break;
    }
View Full Code Here

Examples of org.pentaho.reporting.engine.classic.core.CrosstabRowGroup

  private static CrosstabGroup createCrosstab()
  {
    final CrosstabGroup crosstabGroup = new CrosstabGroup();

    final CrosstabRowGroupBody rowBody = (CrosstabRowGroupBody) crosstabGroup.getBody();
    final CrosstabRowGroup rowGroup = rowBody.getGroup();
    rowGroup.setField("Rows");
    rowGroup.getTitleHeader().addElement(createDataItem("Rows"));
    rowGroup.getHeader().addElement(createFieldItem("Rows"));

    final CrosstabColumnGroupBody columnGroupBody = (CrosstabColumnGroupBody) rowGroup.getBody();
    final CrosstabColumnGroup columnGroup = columnGroupBody.getGroup();
    columnGroup.setField("Cols");
    columnGroup.getTitleHeader().addElement(createDataItem("Cols"));
    columnGroup.getHeader().addElement(createFieldItem("Cols"));
View Full Code Here

Examples of org.pentaho.reporting.engine.classic.core.CrosstabRowGroup

  private static CrosstabGroup createCrosstab()
  {
    final CrosstabGroup crosstabGroup = new CrosstabGroup();

    final CrosstabRowGroupBody rowBody = (CrosstabRowGroupBody) crosstabGroup.getBody();
    final CrosstabRowGroup rowGroup = rowBody.getGroup();
    rowGroup.setField("Rows");
    rowGroup.getTitleHeader().addElement(createDataItem("Rows"));
    rowGroup.getHeader().addElement(createFieldItem("Rows"));

    final CrosstabColumnGroupBody columnGroupBody = (CrosstabColumnGroupBody) rowGroup.getBody();
    final CrosstabColumnGroup columnGroup = columnGroupBody.getGroup();
    columnGroup.setField("Cols");
    columnGroup.getTitleHeader().addElement(createDataItem("Cols"));
    columnGroup.getHeader().addElement(createFieldItem("Cols"));
View Full Code Here

Examples of org.pentaho.reporting.engine.classic.core.CrosstabRowGroup

                           final ReportEvent event) throws ReportProcessingException
  {
    final RenderedCrosstabLayout crosstabLayout = outputFunction.getCurrentRenderedCrosstabLayout();
    final LayoutModelBuilder layoutModelBuilder = outputFunction.getRenderer().getNormalFlowLayoutModelBuilder();
    final int gidx = event.getState().getCurrentGroupIndex();
    final CrosstabRowGroup group = (CrosstabRowGroup) event.getReport().getGroup(gidx);

    if (crosstabLayout.isCrosstabTableOpen() == false)
    {
      buildHeaderPlaceholder(crosstabLayout, layoutModelBuilder);
      crosstabLayout.setFirstRowGroupIndex(gidx);
      crosstabLayout.setCrosstabTableOpen(true);
    }

    if (crosstabLayout.isCrosstabHeaderOpen())
    {
      layoutModelBuilder.startSubFlow(crosstabLayout.getRowTitleHeaderId());
      CrosstabOutputHelper.createAutomaticCell(layoutModelBuilder);
      outputFunction.getRenderer().add(group.getTitleHeader(), outputFunction.getRuntime());
      layoutModelBuilder.finishBox();
      layoutModelBuilder.suspendSubFlow();
    }

    if (crosstabLayout.isCrosstabRowOpen() == false)
    {
      // start a new row if needed ..
      layoutModelBuilder.startBox(CrosstabOutputHelper.createTableRow());
      crosstabLayout.setCrosstabRowOpen(true);

      // flag not empty is needed to connect the new node with the rest of the layout model.
      layoutModelBuilder.legacyFlagNotEmpty();
      final TableSectionRenderBox rowRenderNode = CrosstabOutputHelper.findTableSection(layoutModelBuilder.dangerousRawAccess());

      for (int i = crosstabLayout.getFirstRowGroupIndex(), count = 0; i < gidx; i += 1, count += 1)
      {
        final InstanceID rowHeader = crosstabLayout.getRowHeader(i - crosstabLayout.getFirstRowGroupIndex());
        final RenderNode cell = CrosstabOutputHelper.findNode(rowRenderNode, rowHeader);
        if (cell instanceof TableCellRenderBox)
        {
          final TableCellRenderBox cellBox = (TableCellRenderBox) cell;
          cellBox.update(cellBox.getRowSpan() + 1, cellBox.getColSpan());
        }
        else
        {
          throw new IllegalStateException("Unable to find previously defined row header. Aborting report processing.");
        }
      }
    }

    final int firstRowGroupIndex = crosstabLayout.getFirstRowGroupIndex();
    if (gidx == firstRowGroupIndex)
    {
      RenderNode renderNode = layoutModelBuilder.dangerousRawAccess();
      RenderBox parentNode = (RenderBox) CrosstabOutputHelper.findParentNode(renderNode, crosstabLayout.getCrosstabId());
      parentNode.setPreventPagination(true);
    }

    CrosstabOutputHelper.createAutomaticCell(layoutModelBuilder, 1, 1, group.getHeader());
    crosstabLayout.setRowHeader(gidx - crosstabLayout.getFirstRowGroupIndex(), layoutModelBuilder.dangerousRawAccess().getInstanceId());
    outputFunction.getRenderer().add(group.getHeader(), outputFunction.getRuntime());
    layoutModelBuilder.finishBox();
  }
View Full Code Here
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.