Package org.jfree.report.data

Examples of org.jfree.report.data.PrecomputedValueRegistry


    {
      target.endElement(getAttributeMap());
    }

    FlowController fc = getFlowController();
    final PrecomputedValueRegistry pcvr =
        fc.getPrecomputedValueRegistry();
    // Step 2: Remove the expressions of this element
    final int expressionsCount = getExpressionsCount();
    if (expressionsCount != 0)
    {
      final ExpressionSlot[] activeExpressions = fc.getActiveExpressions();
      for (int i = activeExpressions.length - expressionsCount; i < activeExpressions.length; i++)
      {
        final ExpressionSlot slot = activeExpressions[i];
        pcvr.addFunction(slot.getName(), slot.getValue());
      }
      fc = fc.deactivateExpressions();
    }

    if (isPrecomputing() == false)
    {
      pcvr.finishElement(new ElementPrecomputeKey(e));
    }

    return fc;
  }
View Full Code Here


      FlowController fc)
      throws ReportProcessingException, ReportDataFactoryException,
      DataSourceException
  {
    final Element element = getElement();
    final PrecomputedValueRegistry pcvr = fc.getPrecomputedValueRegistry();
    if (isPrecomputing() == false)
    {
      pcvr.startElement(new ElementPrecomputeKey(element));
    }

    if (expressions.length > 0)
    {
      final ExpressionSlot[] slots = new ExpressionSlot[expressions.length];
      final StaticExpressionRuntimeData runtimeData =
          LayoutControllerUtil.getStaticExpressionRuntime(fc, element);

      for (int i = 0; i < expressions.length; i++)
      {
        final Expression expression = expressions[i];
        if (isPrecomputing() == false && expression.isPrecompute())
        {
          // ok, we have to precompute the expression's value. For that
          // we fork a new layout process, compute the value and then come
          // back with the result.
          final Object value = LayoutControllerUtil.performPrecompute
              (i, new ElementPrecomputeKey(element),
                  this, getFlowController());
          slots[i] = new PrecomputedExpressionSlot(expression.getName(), value,
              expression.isPreserve());
        }
        else
        {
          // thats a bit easier; we dont have to do anything special ..
          slots[i] = new RunningExpressionSlot(expression, runtimeData,
              pcvr.currentNode());
        }
      }

      fc = fc.activateExpressions(slots);
    }
View Full Code Here

                                         final FlowController flowController)
      throws ReportProcessingException, ReportDataFactoryException,
      DataSourceException
  {
    final FlowController fc = flowController.createPrecomputeInstance();
    final PrecomputedValueRegistry pcvr = fc.getPrecomputedValueRegistry();

    pcvr.startElementPrecomputation(nodeKey);

    final LayoutController rootLc = layoutController.createPrecomputeInstance(fc);
    final LayoutController rootParent = rootLc.getParent();
    final ReportTarget target = new EmptyReportTarget(fc.getReportJob(), fc.getExportDescriptor());

    LayoutController lc = rootLc;
    while (lc.isAdvanceable())
    {
      lc = lc.advance(target);
      while (lc.isAdvanceable() == false && lc.getParent() != null)
      {
        final LayoutController parent = lc.getParent();
        lc = parent.join(lc.getFlowController());
      }
    }

    target.commit();
    final PrecomputeNode precomputeNode = pcvr.currentNode();
    final Object functionResult = precomputeNode.getFunctionResult(expressionPosition);
    pcvr.finishElementPrecomputation(nodeKey);
    return functionResult;
//    throw new IllegalStateException
//        ("Ups - we did not get to the root parent again. This is awful and we cannot continue.");
  }
View Full Code Here

                                         final FlowController flowController)
      throws ReportProcessingException, ReportDataFactoryException,
      DataSourceException
  {
    final FlowController fc = flowController.createPrecomputeInstance();
    final PrecomputedValueRegistry pcvr = fc.getPrecomputedValueRegistry();

    pcvr.startElementPrecomputation(nodeKey);
    //final PrecomputeNode startNode = pcvr.currentNode();
    final LayoutController rootLc = layoutController.createPrecomputeInstance(fc);
    final LayoutController rootParent = rootLc.getParent();
    final ReportTarget target = new EmptyReportTarget(fc.getReportJob(), fc.getExportDescriptor());

    LayoutController lc = rootLc;
    while (lc.isAdvanceable())
    {
      lc = lc.advance(target);
      while (lc.isAdvanceable() == false && lc.getParent() != null)
      {
        final LayoutController parent = lc.getParent();
        lc = parent.join(lc.getFlowController());

        if (parent == rootParent)
        {
          target.commit();
          final PrecomputeNode precomputeNode = pcvr.currentNode();
          final Object functionResult = precomputeNode.getFunctionResult(expressionPosition);
          pcvr.finishElementPrecomputation(nodeKey);
          return functionResult;
        }
      }
    }
View Full Code Here

    {
      target.endElement(getAttributeMap());
    }

    FlowController fc = getFlowController();
    final PrecomputedValueRegistry pcvr =
        fc.getPrecomputedValueRegistry();
    // Step 2: Remove the expressions of this element
    final int expressionsCount = getExpressionsCount();
    if (expressionsCount != 0)
    {
      final ExpressionSlot[] activeExpressions = fc.getActiveExpressions();
      for (int i = activeExpressions.length - expressionsCount; i < activeExpressions.length; i++)
      {
        final ExpressionSlot slot = activeExpressions[i];
        pcvr.addFunction(slot.getName(), slot.getValue());
      }
      fc = fc.deactivateExpressions();
    }

    if (isPrecomputing() == false)
    {
      pcvr.finishElement(new ElementPrecomputeKey(e));
    }

    return fc;
  }
View Full Code Here

      FlowController fc)
      throws ReportProcessingException, ReportDataFactoryException,
      DataSourceException
  {
    final Element element = getElement();
    final PrecomputedValueRegistry pcvr = fc.getPrecomputedValueRegistry();
    if (isPrecomputing() == false)
    {
      pcvr.startElement(new ElementPrecomputeKey(element));
    }

    if (expressions.length > 0)
    {
      final ExpressionSlot[] slots = new ExpressionSlot[expressions.length];
      final StaticExpressionRuntimeData runtimeData =
          LayoutControllerUtil.getStaticExpressionRuntime(fc, element);

      for (int i = 0; i < expressions.length; i++)
      {
        final Expression expression = expressions[i];
        if (isPrecomputing() == false && expression.isPrecompute())
        {
          // ok, we have to precompute the expression's value. For that
          // we fork a new layout process, compute the value and then come
          // back with the result.
          final Object value = LayoutControllerUtil.performPrecompute
              (i, new ElementPrecomputeKey(element),
                  this, getFlowController());
          slots[i] = new PrecomputedExpressionSlot(expression.getName(), value,
              expression.isPreserve());
        }
        else
        {
          // thats a bit easier; we dont have to do anything special ..
          slots[i] = new RunningExpressionSlot(expression, runtimeData,
              pcvr.currentNode());
        }
      }

      fc = fc.activateExpressions(slots);
    }
View Full Code Here

    {
      target.endElement(getAttributeMap());
    }

    FlowController fc = getFlowController();
    final PrecomputedValueRegistry pcvr =
        fc.getPrecomputedValueRegistry();
    // Step 2: Remove the expressions of this element
    final int expressionsCount = getExpressionsCount();
    if (expressionsCount != 0)
    {
      final ExpressionSlot[] activeExpressions = fc.getActiveExpressions();
      for (int i = activeExpressions.length - expressionsCount; i < activeExpressions.length; i++)
      {
        final ExpressionSlot slot = activeExpressions[i];
        pcvr.addFunction(slot.getName(), slot.getValue());
      }
      fc = fc.deactivateExpressions();
    }

    if (isPrecomputing() == false)
    {
      pcvr.finishElement(new ElementPrecomputeKey(e));
    }

    return fc;
  }
View Full Code Here

      FlowController fc)
      throws ReportProcessingException, ReportDataFactoryException,
      DataSourceException
  {
    final Element element = getElement();
    final PrecomputedValueRegistry pcvr = fc.getPrecomputedValueRegistry();
    if (isPrecomputing() == false)
    {
      pcvr.startElement(new ElementPrecomputeKey(element));
    }

    if (expressions.length > 0)
    {
      final ExpressionSlot[] slots = new ExpressionSlot[expressions.length];
      final StaticExpressionRuntimeData runtimeData =
          LayoutControllerUtil.getStaticExpressionRuntime(fc, element);

      for (int i = 0; i < expressions.length; i++)
      {
        final Expression expression = expressions[i];
        if (isPrecomputing() == false && expression.isPrecompute())
        {
          // ok, we have to precompute the expression's value. For that
          // we fork a new layout process, compute the value and then come
          // back with the result.
          final Object value = LayoutControllerUtil.performPrecompute
              (i, new ElementPrecomputeKey(element),
                  this, getFlowController());
          slots[i] = new PrecomputedExpressionSlot(expression.getName(), value,
              expression.isPreserve());
        }
        else
        {
          // thats a bit easier; we dont have to do anything special ..
          slots[i] = new RunningExpressionSlot(expression, runtimeData,
              pcvr.currentNode());
        }
      }

      fc = fc.activateExpressions(slots);
    }
View Full Code Here

                                         final FlowController flowController)
      throws ReportProcessingException, ReportDataFactoryException,
      DataSourceException
  {
    final FlowController fc = flowController.createPrecomputeInstance();
    final PrecomputedValueRegistry pcvr = fc.getPrecomputedValueRegistry();

    pcvr.startElementPrecomputation(nodeKey);

    final LayoutController rootLc = layoutController.createPrecomputeInstance(fc);
    final LayoutController rootParent = rootLc.getParent();
    final ReportTarget target = new EmptyReportTarget(fc.getReportJob(), fc.getExportDescriptor());

    LayoutController lc = rootLc;
    while (lc.isAdvanceable())
    {
      lc = lc.advance(target);
      while (lc.isAdvanceable() == false && lc.getParent() != null)
      {
        final LayoutController parent = lc.getParent();
        lc = parent.join(lc.getFlowController());
      }
    }

    target.commit();
    final PrecomputeNode precomputeNode = pcvr.currentNode();
    final Object functionResult = precomputeNode.getFunctionResult(expressionPosition);
    pcvr.finishElementPrecomputation(nodeKey);
    return functionResult;
//    throw new IllegalStateException
//        ("Ups - we did not get to the root parent again. This is awful and we cannot continue.");
  }
View Full Code Here

TOP

Related Classes of org.jfree.report.data.PrecomputedValueRegistry

Copyright © 2018 www.massapicom. 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.