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()); } }