List of usage examples for org.apache.commons.digester SetNestedPropertiesRule setTrimData
public void setTrimData(boolean trimData)
From source file:net.sf.jasperreports.engine.xml.JRPrintXmlLoader.java
/** * *///w ww .j a va2 s.c o m protected JRXmlDigester prepareDigester() throws ParserConfigurationException, SAXException { JRXmlDigester digester = new JRXmlDigester(createParser()); // use a classloader that resolves both JR classes and classes from the context classloader CompositeClassloader digesterClassLoader = new CompositeClassloader(JRPrintXmlLoader.class.getClassLoader(), Thread.currentThread().getContextClassLoader()); digester.setClassLoader(digesterClassLoader); digester.setNamespaceAware(true); digester.setRuleNamespaceURI(JRXmlConstants.JASPERPRINT_NAMESPACE); digester.push(this); //digester.setDebug(3); digester.setErrorHandler(this); digester.setValidating(true); /* */ digester.addFactoryCreate("jasperPrint", JasperPrintFactory.class.getName()); digester.addSetNext("jasperPrint", "setJasperPrint", JasperPrint.class.getName()); /* */ digester.addFactoryCreate("*/property", JRPropertyFactory.class.getName()); digester.addCallMethod("*/property", "setValue", 0); /* */ digester.addFactoryCreate("jasperPrint/origin", JROriginFactory.class.getName()); digester.addSetNext("jasperPrint/origin", "addOrigin", JROrigin.class.getName()); /* */ digester.addFactoryCreate("jasperPrint/reportFont", JRStyleFactory.class.getName()); digester.addSetNext("jasperPrint/reportFont", "addStyle", JRStyle.class.getName()); /* */ digester.addFactoryCreate("jasperPrint/style", JRPrintStyleFactory.class.getName()); digester.addSetNext("jasperPrint/style", "addStyle", JRStyle.class.getName()); /* */ digester.addFactoryCreate("*/style/pen", JRPenFactory.Style.class.getName()); /* */ digester.addFactoryCreate("*/bookmark", PrintBookmarkFactory.class.getName()); digester.addSetNext("*/bookmark", "addBookmark", PrintBookmark.class.getName()); /* */ digester.addFactoryCreate("jasperPrint/part", PrintPartFactory.class.getName()); /* */ digester.addFactoryCreate("jasperPrint/page", JRPrintPageFactory.class.getName()); digester.addSetNext("jasperPrint/page", "addPage", JRPrintPage.class.getName()); /* */ digester.addFactoryCreate("*/line", JRPrintLineFactory.class.getName()); digester.addSetNext("*/line", "addElement", JRPrintElement.class.getName()); /* */ digester.addFactoryCreate("*/reportElement", JRPrintElementFactory.class.getName()); /* */ digester.addFactoryCreate("*/graphicElement", JRPrintGraphicElementFactory.class.getName()); /* */ digester.addFactoryCreate("*/pen", JRPenFactory.class.getName()); /* */ digester.addFactoryCreate("*/rectangle", JRPrintRectangleFactory.class.getName()); digester.addSetNext("*/rectangle", "addElement", JRPrintElement.class.getName()); /* */ digester.addFactoryCreate("*/ellipse", JRPrintEllipseFactory.class.getName()); digester.addSetNext("*/ellipse", "addElement", JRPrintElement.class.getName()); /* */ digester.addFactoryCreate("*/image", JRPrintImageFactory.class.getName()); digester.addSetNext("*/image", "addElement", JRPrintElement.class.getName()); /* */ digester.addFactoryCreate("*/box", JRBoxFactory.class.getName()); /* */ digester.addFactoryCreate("*/box/pen", JRPenFactory.Box.class.getName()); digester.addFactoryCreate("*/box/topPen", JRPenFactory.Top.class.getName()); digester.addFactoryCreate("*/box/leftPen", JRPenFactory.Left.class.getName()); digester.addFactoryCreate("*/box/bottomPen", JRPenFactory.Bottom.class.getName()); digester.addFactoryCreate("*/box/rightPen", JRPenFactory.Right.class.getName()); /* */ digester.addFactoryCreate("*/paragraph", JRParagraphFactory.class.getName()); digester.addFactoryCreate("*/paragraph/tabStop", TabStopFactory.class.getName()); digester.addSetNext("*/paragraph/tabStop", "addTabStop", TabStop.class.getName()); /* */ digester.addFactoryCreate("*/image/imageSource", JRPrintImageSourceFactory.class.getName()); digester.addCallMethod("*/image/imageSource", "setImageSource", 0); /* */ digester.addFactoryCreate("*/text", JRPrintTextFactory.class.getName()); digester.addSetNext("*/text", "addElement", JRPrintElement.class.getName()); SetNestedPropertiesRule textRule = new SetNestedPropertiesRule(new String[] { "textContent", "textTruncateSuffix", "reportElement", "box", "font", JRXmlConstants.ELEMENT_lineBreakOffsets }, new String[] { "text", "textTruncateSuffix" }); textRule.setTrimData(false); textRule.setAllowUnknownChildElements(true); digester.addRule("*/text", textRule); digester.addRule("*/text/textContent", new SetPropertiesRule(JRXmlConstants.ATTRIBUTE_truncateIndex, "textTruncateIndex")); /* */ digester.addFactoryCreate("*/text/font", JRPrintFontFactory.class.getName()); digester.addSetNext("*/text/font", "setFont", JRFont.class.getName()); digester.addRule("*/text/" + JRXmlConstants.ELEMENT_lineBreakOffsets, new TextLineBreakOffsetsRule()); addFrameRules(digester); addHyperlinkParameterRules(digester); addGenericElementRules(digester); return digester; }
From source file:net.sf.jasperreports.engine.xml.JRXmlDigesterFactory.java
/** * Configures the given digester for parsing jasperreport xml report definition files. *///from w w w . j av a 2 s .c o m public static void configureDigester(JasperReportsContext jasperReportsContext, Digester digester) throws SAXException, ParserConfigurationException { // set a composite classloader that includes both the JR classloader // and the context classloader CompositeClassloader digesterClassLoader = new CompositeClassloader( JRXmlDigesterFactory.class.getClassLoader(), Thread.currentThread().getContextClassLoader()); digester.setClassLoader(digesterClassLoader); digester.setErrorHandler(new ErrorHandlerImpl()); digester.setNamespaceAware(true); digester.setRuleNamespaceURI(JRXmlConstants.JASPERREPORTS_NAMESPACE); /* */ digester.addFactoryCreate("jasperReport", JasperDesignFactory.class.getName()); digester.addSetNext("jasperReport", "setJasperDesign", JasperDesign.class.getName()); /* */ digester.addFactoryCreate("*/property", JRPropertyFactory.class.getName()); digester.addCallMethod("*/property", "setValue", 0); String propertyExpressionPattern = "jasperReport/" + JRXmlConstants.ELEMENT_propertyExpression; digester.addFactoryCreate(propertyExpressionPattern, DatasetPropertyExpressionFactory.class.getName()); digester.addSetNext(propertyExpressionPattern, "addPropertyExpression", DatasetPropertyExpression.class.getName()); digester.addFactoryCreate(propertyExpressionPattern, depStringExprFactoryClass.getName()); digester.addSetNext(propertyExpressionPattern, "setValueExpression", JRExpression.class.getName()); digester.addCallMethod(propertyExpressionPattern, "setText", 0); propertyExpressionPattern = "*/subDataset/" + JRXmlConstants.ELEMENT_propertyExpression; digester.addFactoryCreate(propertyExpressionPattern, DatasetPropertyExpressionFactory.class.getName()); digester.addSetNext(propertyExpressionPattern, "addPropertyExpression", DatasetPropertyExpression.class.getName()); digester.addFactoryCreate(propertyExpressionPattern, depStringExprFactoryClass.getName()); digester.addSetNext(propertyExpressionPattern, "setValueExpression", JRExpression.class.getName()); digester.addCallMethod(propertyExpressionPattern, "setText", 0); propertyExpressionPattern = "*/" + JRXmlConstants.ELEMENT_propertyExpression; digester.addFactoryCreate(propertyExpressionPattern, JRPropertyExpressionFactory.class.getName()); digester.addSetNext(propertyExpressionPattern, "addPropertyExpression", JRPropertyExpression.class.getName()); digester.addFactoryCreate(propertyExpressionPattern, depStringExprFactoryClass.getName()); digester.addSetNext(propertyExpressionPattern, "setValueExpression", JRExpression.class.getName()); digester.addCallMethod(propertyExpressionPattern, "setText", 0); /* */ digester.addCallMethod("jasperReport/import", "addImport", 1); digester.addCallParam("jasperReport/import", 0, "value"); addTemplateRules(digester); /* */ digester.addFactoryCreate("jasperReport/reportFont", JRStyleFactory.class.getName()); digester.addSetNext("jasperReport/reportFont", "addStyle", JRStyle.class.getName()); /* */ digester.addFactoryCreate("jasperReport/style", JRStyleFactory.class.getName()); digester.addSetNext("jasperReport/style", "addStyle", JRStyle.class.getName()); digester.addFactoryCreate("jasperReport/style/conditionalStyle", JRConditionalStyleFactory.class.getName()); digester.addFactoryCreate("jasperReport/style/conditionalStyle/conditionExpression", depBooleanExprFactoryClass.getName()); digester.addSetNext("jasperReport/style/conditionalStyle/conditionExpression", "setConditionExpression", JRExpression.class.getName()); digester.addCallMethod("jasperReport/style/conditionalStyle/conditionExpression", "setText", 0); digester.addFactoryCreate("jasperReport/style/conditionalStyle/style", JRConditionalStyleFillerFactory.class.getName()); digester.addFactoryCreate("*/style/pen", JRPenFactory.Style.class.getName()); /* */ digester.addFactoryCreate("*/scriptlet", JRScriptletFactory.class.getName()); digester.addSetNext("*/scriptlet", "addScriptlet", JRScriptlet.class.getName()); digester.addCallMethod("*/scriptlet/scriptletDescription", "setDescription", 0); /* */ digester.addFactoryCreate("*/parameter", JRParameterFactory.class.getName()); digester.addSetNext("*/parameter", "addParameter", JRParameter.class.getName()); digester.addCallMethod("*/parameter/parameterDescription", "setDescription", 0); /* */ @SuppressWarnings("deprecation") Class<?> depDefaultValueExprFactory = JRDefaultValueExpressionFactory.class; digester.addFactoryCreate("*/parameter/defaultValueExpression", depDefaultValueExprFactory.getName()); digester.addSetNext("*/parameter/defaultValueExpression", "setDefaultValueExpression", JRExpression.class.getName()); digester.addCallMethod("*/parameter/defaultValueExpression", "setText", 0); /* */ digester.addFactoryCreate("*/queryString", JRQueryFactory.class.getName()); digester.addSetNext("*/queryString", "setQuery", JRDesignQuery.class.getName()); digester.addCallMethod("*/queryString", "setText", 0); /* */ digester.addFactoryCreate("*/field", JRFieldFactory.class.getName()); digester.addSetNext("*/field", "addField", JRField.class.getName()); digester.addCallMethod("*/field/fieldDescription", "setDescription", 0); /* */ digester.addFactoryCreate("*/sortField", JRSortFieldFactory.class.getName()); digester.addSetNext("*/sortField", "addSortField", JRSortField.class.getName()); /* */ digester.addFactoryCreate("*/variable", JRVariableFactory.class.getName()); digester.addSetNext("*/variable", "addVariable", JRDesignVariable.class.getName()); digester.addCallMethod("*/variable/variableDescription", "setDescription", 0); /* */ @SuppressWarnings("deprecation") Class<?> depVariableExprFactory = JRVariableExpressionFactory.class; digester.addFactoryCreate("*/variable/variableExpression", depVariableExprFactory.getName()); digester.addSetNext("*/variable/variableExpression", "setExpression", JRExpression.class.getName()); digester.addCallMethod("*/variable/variableExpression", "setText", 0); /* */ @SuppressWarnings("deprecation") Class<?> depInitialValueExprFactory = JRInitialValueExpressionFactory.class; digester.addFactoryCreate("*/variable/initialValueExpression", depInitialValueExprFactory.getName()); digester.addSetNext("*/variable/initialValueExpression", "setInitialValueExpression", JRExpression.class.getName()); digester.addCallMethod("*/variable/initialValueExpression", "setText", 0); String filterExpressionPath = "*/" + JRXmlConstants.ELEMENT_filterExpression; digester.addFactoryCreate(filterExpressionPath, depBooleanExprFactoryClass.getName()); digester.addSetNext(filterExpressionPath, "setFilterExpression", JRExpression.class.getName()); digester.addCallMethod(filterExpressionPath, "setText", 0); /* */ digester.addFactoryCreate("*/group", JRGroupFactory.class.getName()); digester.addSetNext("*/group", "addGroup", JRDesignGroup.class.getName()); /* */ digester.addFactoryCreate("*/group/groupExpression", depObjectExprFactoryClass.getName()); digester.addSetNext("*/group/groupExpression", "setExpression", JRExpression.class.getName()); digester.addCallMethod("*/group/groupExpression", "setText", 0); /* */ digester.addFactoryCreate("jasperReport/background/band", JRBandFactory.class.getName()); digester.addSetNext("jasperReport/background/band", "setBackground", JRBand.class.getName()); digester.addFactoryCreate("jasperReport/title/band", JRBandFactory.class.getName()); digester.addSetNext("jasperReport/title/band", "setTitle", JRBand.class.getName()); digester.addFactoryCreate("jasperReport/pageHeader/band", JRBandFactory.class.getName()); digester.addSetNext("jasperReport/pageHeader/band", "setPageHeader", JRBand.class.getName()); digester.addFactoryCreate("jasperReport/columnHeader/band", JRBandFactory.class.getName()); digester.addSetNext("jasperReport/columnHeader/band", "setColumnHeader", JRBand.class.getName()); digester.addFactoryCreate("jasperReport/group/groupHeader", JRSectionFactory.GroupHeaderSectionFactory.class.getName()); // digester.addSetNext("jasperReport/group/groupHeader", "setGroupHeader", JRSection.class.getName()); digester.addFactoryCreate("jasperReport/group/groupHeader/band", JRBandFactory.class.getName()); digester.addSetNext("jasperReport/group/groupHeader/band", "addBand", JRBand.class.getName()); digester.addFactoryCreate("jasperReport/detail", JRSectionFactory.DetailSectionFactory.class.getName()); //digester.addSetNext("jasperReport/detail", "setDetail", JRSection.class.getName()); digester.addFactoryCreate("jasperReport/detail/band", JRBandFactory.class.getName()); digester.addSetNext("jasperReport/detail/band", "addBand", JRBand.class.getName()); digester.addFactoryCreate("jasperReport/group/groupFooter", JRSectionFactory.GroupFooterSectionFactory.class.getName()); // digester.addSetNext("jasperReport/group/groupFooter", "setGroupFooter", JRSection.class.getName()); digester.addFactoryCreate("jasperReport/group/groupFooter/band", JRBandFactory.class.getName()); digester.addSetNext("jasperReport/group/groupFooter/band", "addBand", JRBand.class.getName()); digester.addFactoryCreate("jasperReport/columnFooter/band", JRBandFactory.class.getName()); digester.addSetNext("jasperReport/columnFooter/band", "setColumnFooter", JRBand.class.getName()); digester.addFactoryCreate("jasperReport/pageFooter/band", JRBandFactory.class.getName()); digester.addSetNext("jasperReport/pageFooter/band", "setPageFooter", JRBand.class.getName()); digester.addFactoryCreate("jasperReport/lastPageFooter/band", JRBandFactory.class.getName()); digester.addSetNext("jasperReport/lastPageFooter/band", "setLastPageFooter", JRBand.class.getName()); digester.addFactoryCreate("jasperReport/summary/band", JRBandFactory.class.getName()); digester.addSetNext("jasperReport/summary/band", "setSummary", JRBand.class.getName()); digester.addFactoryCreate("jasperReport/noData/band", JRBandFactory.class.getName()); digester.addSetNext("jasperReport/noData/band", "setNoData", JRBand.class.getName()); /* */ digester.addFactoryCreate("*/band/printWhenExpression", depBooleanExprFactoryClass.getName()); digester.addSetNext("*/band/printWhenExpression", "setPrintWhenExpression", JRExpression.class.getName()); digester.addCallMethod("*/band/printWhenExpression", "setText", 0); /* */ digester.addFactoryCreate("*/part/printWhenExpression", depBooleanExprFactoryClass.getName()); digester.addSetNext("*/part/printWhenExpression", "setPrintWhenExpression", JRExpression.class.getName()); digester.addCallMethod("*/part/printWhenExpression", "setText", 0); /* */ digester.addFactoryCreate("*/band/returnValue", ExpressionReturnValueFactory.class.getName()); digester.addSetNext("*/band/returnValue", "addReturnValue", ExpressionReturnValue.class.getName()); digester.addFactoryCreate("*/band/returnValue/expression", depObjectExprFactoryClass.getName()); digester.addSetNext("*/band/returnValue/expression", "setExpression", JRExpression.class.getName()); digester.addCallMethod("*/band/returnValue/expression", "setText", 0); /* */ digester.addFactoryCreate("*/break", JRBreakFactory.class.getName()); digester.addSetNext("*/break", "addElement", JRDesignElement.class.getName()); /* */ digester.addFactoryCreate("*/line", JRLineFactory.class.getName()); digester.addSetNext("*/line", "addElement", JRDesignElement.class.getName()); /* */ digester.addFactoryCreate("*/reportElement", JRElementFactory.class.getName()); /* */ digester.addFactoryCreate("*/reportElement/printWhenExpression", depBooleanExprFactoryClass.getName()); digester.addSetNext("*/reportElement/printWhenExpression", "setPrintWhenExpression", JRExpression.class.getName()); digester.addCallMethod("*/reportElement/printWhenExpression", "setText", 0); /* */ digester.addFactoryCreate("*/graphicElement", JRGraphicElementFactory.class.getName()); /* */ digester.addFactoryCreate("*/graphicElement/pen", JRPenFactory.class.getName()); /* */ digester.addFactoryCreate("*/rectangle", JRRectangleFactory.class.getName()); digester.addSetNext("*/rectangle", "addElement", JRDesignElement.class.getName()); /* */ digester.addFactoryCreate("*/ellipse", JREllipseFactory.class.getName()); digester.addSetNext("*/ellipse", "addElement", JRDesignElement.class.getName()); /* */ digester.addFactoryCreate("*/image", JRImageFactory.class.getName()); digester.addSetNext("*/image", "addElement", JRDesignElement.class.getName()); /* */ digester.addFactoryCreate("*/box", JRBoxFactory.class.getName()); /* */ digester.addFactoryCreate("*/box/pen", JRPenFactory.Box.class.getName()); digester.addFactoryCreate("*/box/topPen", JRPenFactory.Top.class.getName()); digester.addFactoryCreate("*/box/leftPen", JRPenFactory.Left.class.getName()); digester.addFactoryCreate("*/box/bottomPen", JRPenFactory.Bottom.class.getName()); digester.addFactoryCreate("*/box/rightPen", JRPenFactory.Right.class.getName()); /* */ digester.addFactoryCreate("*/paragraph", JRParagraphFactory.class.getName()); digester.addFactoryCreate("*/paragraph/tabStop", TabStopFactory.class.getName()); digester.addSetNext("*/paragraph/tabStop", "addTabStop", TabStop.class.getName()); /* */ @SuppressWarnings("deprecation") Class<?> lcDepStringExprFactoryClass = JRStringExpressionFactory.class; digester.addFactoryCreate("*/image/imageExpression", lcDepStringExprFactoryClass.getName()); digester.addSetNext("*/image/imageExpression", "setExpression", JRExpression.class.getName()); digester.addCallMethod("*/image/imageExpression", "setText", 0); /* */ digester.addFactoryCreate("*/staticText", JRStaticTextFactory.class.getName()); digester.addSetNext("*/staticText", "addElement", JRDesignElement.class.getName()); SetNestedPropertiesRule textRule = new SetNestedPropertiesRule( new String[] { "text", "reportElement", "box", "textElement" }, new String[] { "text" }); textRule.setTrimData(false); textRule.setAllowUnknownChildElements(true); digester.addRule("*/staticText", textRule); /* */ digester.addFactoryCreate("*/textElement", JRTextElementFactory.class.getName()); /* */ digester.addFactoryCreate("*/textElement/font", JRFontFactory.TextElementFontFactory.class.getName()); /* */ digester.addFactoryCreate("*/textField", JRTextFieldFactory.class.getName()); digester.addSetNext("*/textField", "addElement", JRDesignElement.class.getName()); /* */ digester.addFactoryCreate("*/textField/textFieldExpression", lcDepStringExprFactoryClass.getName()); digester.addSetNext("*/textField/textFieldExpression", "setExpression", JRExpression.class.getName()); digester.addCallMethod("*/textField/textFieldExpression", "setText", 0); /* */ digester.addFactoryCreate("*/textField/patternExpression", JRExpressionFactory.class.getName()); digester.addSetNext("*/textField/patternExpression", "setPatternExpression", JRExpression.class.getName()); digester.addCallMethod("*/textField/patternExpression", "setText", 0); /* */ digester.addFactoryCreate("*/anchorNameExpression", depStringExprFactoryClass.getName()); digester.addSetNext("*/anchorNameExpression", "setAnchorNameExpression", JRExpression.class.getName()); digester.addCallMethod("*/anchorNameExpression", "setText", 0); digester.addFactoryCreate("*/hyperlinkReferenceExpression", depStringExprFactoryClass.getName()); digester.addSetNext("*/hyperlinkReferenceExpression", "setHyperlinkReferenceExpression", JRExpression.class.getName()); digester.addCallMethod("*/hyperlinkReferenceExpression", "setText", 0); digester.addFactoryCreate("*/hyperlinkWhenExpression", depBooleanExprFactoryClass.getName()); digester.addSetNext("*/hyperlinkWhenExpression", "setHyperlinkWhenExpression", JRExpression.class.getName()); digester.addCallMethod("*/hyperlinkWhenExpression", "setText", 0); digester.addFactoryCreate("*/hyperlinkAnchorExpression", depStringExprFactoryClass.getName()); digester.addSetNext("*/hyperlinkAnchorExpression", "setHyperlinkAnchorExpression", JRExpression.class.getName()); digester.addCallMethod("*/hyperlinkAnchorExpression", "setText", 0); @SuppressWarnings("deprecation") Class<?> depIntegerExprFactory = JRExpressionFactory.IntegerExpressionFactory.class; digester.addFactoryCreate("*/hyperlinkPageExpression", depIntegerExprFactory.getName()); digester.addSetNext("*/hyperlinkPageExpression", "setHyperlinkPageExpression", JRExpression.class.getName()); digester.addCallMethod("*/hyperlinkPageExpression", "setText", 0); String hyperlinkTooltipExpressionPattern = "*/" + JRXmlConstants.ELEMENT_hyperlinkTooltipExpression; digester.addFactoryCreate(hyperlinkTooltipExpressionPattern, depStringExprFactoryClass.getName()); digester.addSetNext(hyperlinkTooltipExpressionPattern, "setHyperlinkTooltipExpression", JRExpression.class.getName()); digester.addCallMethod(hyperlinkTooltipExpressionPattern, "setText", 0); addHyperlinkParameterRules(digester); /* */ digester.addFactoryCreate("*/subreport", JRSubreportFactory.class.getName()); digester.addRule("*/subreport", new XmlConstantPropertyRule(JRXmlConstants.ATTRIBUTE_overflowType, OverflowType.values())); digester.addSetNext("*/subreport", "addElement", JRDesignElement.class.getName()); /* */ digester.addFactoryCreate("*/subreport/subreportParameter", JRSubreportParameterFactory.class.getName()); digester.addSetNext("*/subreport/subreportParameter", "addParameter", JRSubreportParameter.class.getName()); /* */ digester.addFactoryCreate("*/subreport/returnValue", JRSubreportReturnValueFactory.class.getName()); digester.addSetNext("*/subreport/returnValue", "addReturnValue", JRSubreportReturnValue.class.getName()); /* */ @SuppressWarnings("deprecation") Class<?> depMapExprFactory = JRExpressionFactory.MapExpressionFactory.class; digester.addFactoryCreate("*/parametersMapExpression", depMapExprFactory.getName()); digester.addSetNext("*/parametersMapExpression", "setParametersMapExpression", JRExpression.class.getName()); digester.addCallMethod("*/parametersMapExpression", "setText", 0); /* */ digester.addFactoryCreate("*/subreport/subreportParameter/subreportParameterExpression", depObjectExprFactoryClass.getName()); digester.addSetNext("*/subreport/subreportParameter/subreportParameterExpression", "setExpression", JRExpression.class.getName()); digester.addCallMethod("*/subreport/subreportParameter/subreportParameterExpression", "setText", 0); /* */ @SuppressWarnings("deprecation") Class<?> depConnectionExprFactory = JRExpressionFactory.ConnectionExpressionFactory.class; digester.addFactoryCreate("*/connectionExpression", depConnectionExprFactory.getName()); digester.addSetNext("*/connectionExpression", "setConnectionExpression", JRExpression.class.getName()); digester.addCallMethod("*/connectionExpression", "setText", 0); /* */ @SuppressWarnings("deprecation") Class<?> depDataSourceExprFactory = JRExpressionFactory.DataSourceExpressionFactory.class; digester.addFactoryCreate("*/dataSourceExpression", depDataSourceExprFactory.getName()); digester.addSetNext("*/dataSourceExpression", "setDataSourceExpression", JRExpression.class.getName()); digester.addCallMethod("*/dataSourceExpression", "setText", 0); /* */ @SuppressWarnings("deprecation") Class<?> depSubreportExprFactory = JRSubreportExpressionFactory.class; digester.addFactoryCreate("*/subreport/subreportExpression", depSubreportExprFactory.getName()); digester.addSetNext("*/subreport/subreportExpression", "setExpression", JRExpression.class.getName()); digester.addCallMethod("*/subreport/subreportExpression", "setText", 0); /* */ digester.addFactoryCreate("*/elementGroup", JRElementGroupFactory.class.getName()); digester.addSetNext("*/elementGroup", "addElementGroup", JRDesignElementGroup.class.getName()); addChartRules(digester); addDatasetRules(digester); addCrosstabRules(digester); addFrameRules(digester); addComponentRules(jasperReportsContext, digester); addPartComponentRules(jasperReportsContext, digester); addGenericElementRules(digester); addMultiAxisDataRules(digester); }