示例#1
0
  public void copyBaseReportElement(ReportElement destination, ReportElement source) {
    super.copyBaseReportElement(destination, source);

    if (destination instanceof SubReportElement && source instanceof SubReportElement) {

      ((SubReportElement) destination)
          .setIsUsingCache(((SubReportElement) source).isIsUsingCache());
      ((SubReportElement) destination)
          .setParametersMapExpression(
              new String(((SubReportElement) source).getParametersMapExpression()));
      ((SubReportElement) destination)
          .setSubreportExpression(new String(((SubReportElement) source).getSubreportExpression()));
      ((SubReportElement) destination)
          .setSubreportExpressionClass(
              new String(((SubReportElement) source).getSubreportExpressionClass()));
      ((SubReportElement) destination)
          .setUseConnection(((SubReportElement) source).isUseConnection());
      if (((SubReportElement) destination).isUseConnection())
        ((SubReportElement) destination)
            .setConnectionExpression(
                new String(((SubReportElement) source).getConnectionExpression()));
      else
        ((SubReportElement) destination)
            .setDataSourceExpression(
                new String(((SubReportElement) source).getDataSourceExpression()));

      Enumeration e = ((SubReportElement) source).getSubreportParameters().elements();
      while (e.hasMoreElements()) {
        JRSubreportParameter jp = (JRSubreportParameter) e.nextElement();
        ((SubReportElement) destination).getSubreportParameters().addElement(jp.cloneMe());
      }
    }
  }
 public ReportElementEditor create(ReportElement model) {
   if (model instanceof PivotChartReportElement) {
     return chartEditor.get();
   } else if (model instanceof PivotTableReportElement) {
     return pivotEditor.get();
   } else if (model instanceof MapReportElement) {
     return mapEditor.get();
   } else if (model instanceof TextReportElement) {
     return textEditor.get();
   } else if (model instanceof Report) {
     return compositeEditor.get();
   } else {
     throw new IllegalArgumentException(model.getClass().getName());
   }
 }