Example usage for org.apache.commons.digester Digester addFactoryCreate

List of usage examples for org.apache.commons.digester Digester addFactoryCreate

Introduction

In this page you can find the example usage for org.apache.commons.digester Digester addFactoryCreate.

Prototype

public void addFactoryCreate(String pattern, ObjectCreationFactory creationFactory) 

Source Link

Document

Add a "factory create" rule for the specified parameters.

Usage

From source file:net.sf.jasperreports.customvisualization.xml.CVDigester.java

protected static void addItemPropertieyRules(Digester digester, String itemPropertyPattern, String namespace) {
    digester.addFactoryCreate(itemPropertyPattern, CVItemPropertyXmlFactory.class);
    digester.addSetNext(itemPropertyPattern, "addItemProperty", ItemProperty.class.getName());

    addExpressionRules(digester, itemPropertyPattern + "/" + JRXmlConstants.ELEMENT_valueExpression,
            "setValueExpression", true);
}

From source file:net.sf.jasperreports.components.iconlabel.IconLabelComponentDigester.java

public static void addIconLabelComponentRules(Digester digester) {
    String componentNamespace = digester.getRuleNamespaceURI();

    String iconLabelComponentPattern = "*/componentElement/iconLabel";
    digester.addFactoryCreate(iconLabelComponentPattern, IconLabelComponentFactory.class.getName());

    digester.addSetProperties(iconLabelComponentPattern,
            new String[] { IconLabelComponent.PROPERTY_ICON_POSITION, IconLabelComponent.PROPERTY_LABEL_FILL,
                    IconLabelComponent.PROPERTY_HORIZONTAL_ALIGNMENT,
                    IconLabelComponent.PROPERTY_VERTICAL_ALIGNMENT },
            new String[0]);

    digester.addRule(iconLabelComponentPattern,
            new XmlConstantPropertyRule(IconLabelComponent.PROPERTY_ICON_POSITION, IconPositionEnum.values()));
    digester.addRule(iconLabelComponentPattern,
            new XmlConstantPropertyRule(IconLabelComponent.PROPERTY_LABEL_FILL, ContainerFillEnum.values()));
    digester.addRule(iconLabelComponentPattern,
            new XmlConstantPropertyRule(IconLabelComponent.PROPERTY_HORIZONTAL_ALIGNMENT,
                    "horizontalImageAlign", HorizontalImageAlignEnum.values()));
    digester.addRule(iconLabelComponentPattern,
            new XmlConstantPropertyRule(IconLabelComponent.PROPERTY_VERTICAL_ALIGNMENT, "verticalImageAlign",
                    VerticalImageAlignEnum.values()));

    digester.setRuleNamespaceURI(JRXmlConstants.JASPERREPORTS_NAMESPACE);

    digester.addFactoryCreate(iconLabelComponentPattern + "/label/textField",
            LabelTextFieldFactory.class.getName());
    digester.addFactoryCreate(iconLabelComponentPattern + "/icon/textField",
            IconTextFieldFactory.class.getName());

    digester.setRuleNamespaceURI(componentNamespace);
}

From source file:com.projity.graphic.configuration.BarStyles.java

public static void addDigesterEvents(Digester digester) {
    // main properties of bar
    digester.addFactoryCreate("*/bar/styles", "com.projity.graphic.configuration.BarStylesFactory");
    digester.addSetProperties("*/bar/styles");
    digester.addSetNext("*/bar/styles", "add", "com.projity.configuration.NamedItem");

    // start section
    digester.addObjectCreate("*/bar/styles/style", "com.projity.graphic.configuration.BarStyle");
    digester.addSetProperties("*/bar/styles/style");
    digester.addSetNext("*/bar/styles/style", "addStyle", "com.projity.graphic.configuration.BarStyle");

}

From source file:net.sf.jasperreports.forms.textinput.TextInputComponentDigester.java

public static void addTextInputComponentRules(Digester digester) {
    String componentNamespace = digester.getRuleNamespaceURI();

    String textInputComponentPattern = "*/componentElement/textInput";
    //      digester.addObjectCreate(textInputComponentPattern, TextInputComponent.class.getName());
    digester.addFactoryCreate(textInputComponentPattern, TextInputComponentFactory.class.getName());

    digester.addSetProperties(textInputComponentPattern);

    //      digester.addSetProperties(textInputComponentPattern,
    //         //properties to be ignored by this rule
    //         new String[]{JRXmlConstants.ATTRIBUTE_evaluationTime, StandardBarbecueComponent.PROPERTY_ROTATION}, 
    //         new String[0]);

    digester.setRuleNamespaceURI(JRXmlConstants.JASPERREPORTS_NAMESPACE);

    digester.addFactoryCreate(textInputComponentPattern + "/textField",
            TextInputTextFieldFactory.class.getName());

    digester.setRuleNamespaceURI(componentNamespace);
}

From source file:net.sf.jasperreports.customvisualization.xml.CVDigester.java

public static void addRules(Digester digester) {
    // String jrNamespace = JRXmlConstants.JASPERREPORTS_NAMESPACE;
    String namespace = digester.getRuleNamespaceURI();

    String mainComponentPattern = "*/componentElement/customvisualization";
    digester.addFactoryCreate(mainComponentPattern, CVXmlFactory.class.getName());

    addEvaluationPropertiesRules(digester, mainComponentPattern);

    addItemPropertieyRules(digester, mainComponentPattern + "/" + CVXmlFactory.ELEMENT_itemProperty, namespace);

    addCVItemDataRules(digester, mainComponentPattern + "/" + CVXmlFactory.ELEMENT_cvData, namespace);

}

From source file:net.sf.jasperreports.customvisualization.xml.CVDigester.java

protected static void addExpressionRules(Digester digester, String expressionPattern, String setterMethod,
        boolean jrNamespace) {
    String originalNamespace = digester.getRuleNamespaceURI();
    if (jrNamespace) {
        digester.setRuleNamespaceURI(JRXmlWriter.JASPERREPORTS_NAMESPACE.getNamespaceURI());
    }//from   w  ww .  j  a v a 2s. c  o  m

    digester.addFactoryCreate(expressionPattern, JRExpressionFactory.class);
    digester.addCallMethod(expressionPattern, "setText", 0);
    digester.addSetNext(expressionPattern, setterMethod, JRExpression.class.getName());

    if (jrNamespace) {
        digester.setRuleNamespaceURI(originalNamespace);
    }
}

From source file:net.sf.jasperreports.components.spiderchart.SpiderChartDigester.java

@SuppressWarnings("deprecation")
public static void addSpiderChartRules(Digester digester) {
    String componentNamespace = digester.getRuleNamespaceURI();
    String jrNamespace = JRXmlConstants.JASPERREPORTS_NAMESPACE;

    String spiderChartPattern = "*/componentElement/spiderChart";
    digester.addFactoryCreate(spiderChartPattern, SpiderChartXmlFactory.class.getName());

    String chartSettingsPattern = spiderChartPattern + "/chartSettings";
    digester.addFactoryCreate(chartSettingsPattern, ChartSettingsXmlFactory.class.getName());
    digester.addSetNext(chartSettingsPattern, "setChartSettings", ChartSettings.class.getName());

    digester.setRuleNamespaceURI(jrNamespace);
    String chartTitlePattern = chartSettingsPattern + "/chartTitle";
    digester.addFactoryCreate(chartTitlePattern, ChartSettingsXmlFactory.ChartTitleFactory.class.getName());
    digester.addFactoryCreate(chartTitlePattern + "/font", JRFontFactory.ChartFontFactory.class.getName());
    digester.addSetNext(chartTitlePattern + "/font", "setTitleFont", JRFont.class.getName());
    digester.addFactoryCreate(chartTitlePattern + "/titleExpression",
            JRExpressionFactory.StringExpressionFactory.class);
    digester.addSetNext(chartTitlePattern + "/titleExpression", "setTitleExpression",
            JRDesignExpression.class.getName());
    digester.addCallMethod(chartTitlePattern + "/titleExpression", "setText", 0);

    String chartSubtitlePattern = chartSettingsPattern + "/chartSubtitle";
    digester.addFactoryCreate(chartSubtitlePattern,
            ChartSettingsXmlFactory.ChartSubtitleFactory.class.getName());
    digester.addFactoryCreate(chartSubtitlePattern + "/font", JRFontFactory.ChartFontFactory.class.getName());
    digester.addSetNext(chartSubtitlePattern + "/font", "setSubtitleFont", JRFont.class.getName());
    digester.addFactoryCreate(chartSubtitlePattern + "/subtitleExpression",
            JRExpressionFactory.StringExpressionFactory.class);
    digester.addSetNext(chartSubtitlePattern + "/subtitleExpression", "setSubtitleExpression",
            JRDesignExpression.class.getName());
    digester.addCallMethod(chartSubtitlePattern + "/subtitleExpression", "setText", 0);

    digester.addFactoryCreate(chartSettingsPattern + "/chartLegend",
            ChartSettingsXmlFactory.ChartLegendFactory.class.getName());
    digester.addFactoryCreate(chartSettingsPattern + "/chartLegend/font",
            JRFontFactory.ChartFontFactory.class.getName());
    digester.addSetNext(chartSettingsPattern + "/chartLegend/font", "setLegendFont", JRFont.class.getName());

    digester.setRuleNamespaceURI(componentNamespace);
    String spiderDatasetPattern = spiderChartPattern + "/spiderDataset";
    digester.addFactoryCreate(spiderDatasetPattern, SpiderDatasetXmlFactory.class.getName());
    digester.addSetNext(spiderDatasetPattern, "setDataset", SpiderDataset.class.getName());

    digester.setRuleNamespaceURI(jrNamespace);
    String datasetPattern = spiderDatasetPattern + "/dataset";
    digester.addFactoryCreate(datasetPattern, JRElementDatasetFactory.class.getName());

    String datasetIncrementWhenExpressionPath = datasetPattern + JRXmlConstants.ELEMENT_incrementWhenExpression;
    digester.addFactoryCreate(datasetIncrementWhenExpressionPath,
            JRExpressionFactory.BooleanExpressionFactory.class.getName());
    digester.addSetNext(datasetIncrementWhenExpressionPath, "setIncrementWhenExpression",
            JRExpression.class.getName());
    digester.addCallMethod(datasetIncrementWhenExpressionPath, "setText", 0);

    String seriesPattern = spiderDatasetPattern + "/categorySeries";
    digester.addFactoryCreate(seriesPattern, JRCategorySeriesFactory.class.getName());
    digester.addSetNext(seriesPattern, "addCategorySeries", JRDesignCategorySeries.class.getName());

    digester.addFactoryCreate(seriesPattern + "/seriesExpression",
            JRExpressionFactory.ComparableExpressionFactory.class);
    digester.addSetNext(seriesPattern + "/seriesExpression", "setSeriesExpression",
            JRDesignExpression.class.getName());
    digester.addCallMethod(seriesPattern + "/seriesExpression", "setText", 0);
    digester.addFactoryCreate(seriesPattern + "/categoryExpression",
            JRExpressionFactory.ComparableExpressionFactory.class);
    digester.addSetNext(seriesPattern + "/categoryExpression", "setCategoryExpression",
            JRDesignExpression.class.getName());
    digester.addCallMethod(seriesPattern + "/categoryExpression", "setText", 0);
    digester.addFactoryCreate(seriesPattern + "/labelExpression",
            JRExpressionFactory.StringExpressionFactory.class);
    digester.addSetNext(seriesPattern + "/labelExpression", "setLabelExpression",
            JRDesignExpression.class.getName());
    digester.addCallMethod(seriesPattern + "/labelExpression", "setText", 0);
    digester.addFactoryCreate(seriesPattern + "/valueExpression",
            JRExpressionFactory.NumberExpressionFactory.class);
    digester.addSetNext(seriesPattern + "/valueExpression", "setValueExpression",
            JRDesignExpression.class.getName());
    digester.addCallMethod(seriesPattern + "/valueExpression", "setText", 0);

    digester.setRuleNamespaceURI(componentNamespace);
    String plotPattern = spiderChartPattern + "/spiderPlot";
    digester.addFactoryCreate(plotPattern, SpiderPlotXmlFactory.class.getName());
    digester.addSetNext(plotPattern, "setPlot", SpiderPlot.class.getName());

    digester.setRuleNamespaceURI(jrNamespace);
    String labelFontPattern = plotPattern + "/labelFont/font";
    digester.addFactoryCreate(labelFontPattern, JRFontFactory.ChartFontFactory.class.getName());
    digester.addSetNext(labelFontPattern, "setLabelFont", JRFont.class.getName());

    digester.setRuleNamespaceURI(componentNamespace);
    String maxValueExpressionPattern = plotPattern + "/maxValueExpression";
    digester.addFactoryCreate(maxValueExpressionPattern, JRExpressionFactory.DoubleExpressionFactory.class);
    digester.addSetNext(maxValueExpressionPattern, "setMaxValueExpression", JRDesignExpression.class.getName());
    digester.addCallMethod(maxValueExpressionPattern, "setText", 0);
}

From source file:com.projity.configuration.FieldDictionary.java

public static void addDigesterEvents(Digester digester) {
    //      digester.addObjectCreate("*/fieldDictionary", "com.projity.configuration.FieldDictionary");
    digester.addFactoryCreate("*/fieldDictionary", "com.projity.configuration.FieldDictionaryFactory");
    digester.addSetNext("*/fieldDictionary", "setFieldDictionary", "com.projity.configuration.FieldDictionary"); //TODO can we do this more easily
    digester.addSetProperties("*/fieldDictionary/class", "name", "className"); // object is field dictionary
    digester.addObjectCreate("*/fieldDictionary/class/field", "com.projity.field.Field");
    digester.addSetProperties("*/fieldDictionary/class/field");
    digester.addSetNext("*/fieldDictionary/class/field", "addField", "com.projity.field.Field");

    digester.addObjectCreate("*/field/select", "com.projity.field.StaticSelect"); // create a select
    digester.addSetProperties("*/field/select"); // set name of select
    digester.addSetNext("*/field/select", "setSelect", "com.projity.field.StaticSelect"); // attach to field

    digester.addObjectCreate("*/field/choice", "com.projity.field.DynamicSelect"); // create a cohice
    digester.addSetProperties("*/field/choice"); // set name of choice, finder and list methods
    digester.addSetNext("*/field/choice", "setSelect", "com.projity.field.DynamicSelect"); // attach to field

    digester.addObjectCreate("*/field/select/option", "com.projity.field.SelectOption"); // create an option when seeing one
    digester.addSetProperties("*/field/select/option"); // get key and value properties
    digester.addSetNext("*/field/select/option", "addOption", "com.projity.field.SelectOption"); // add option to select

    digester.addObjectCreate("*/field/range", "com.projity.field.Range"); // create an option when seeing one
    digester.addSetProperties("*/field/range"); // get key and value properties
    digester.addSetNext("*/field/range", "setRange", "com.projity.field.Range"); // add option to select

    //non intrusive method to reduce role options, otherwise Select should be modified to depend on a specific object
    digester.addObjectCreate("*/field/filter", "com.projity.field.OptionsFilter");
    digester.addSetProperties("*/field/filter");
    digester.addSetNext("*/field/filter", "setFilter", "com.projity.field.OptionsFilter");

    String fieldAccessibleClass = Messages.getMetaString("FieldAccessible");
    digester.addObjectCreate("*/field/permission", fieldAccessibleClass);
    digester.addSetProperties("*/field/permission");
    digester.addSetNext("*/field/permission", "setAccessControl", "com.projity.field.FieldAccessible");

}

From source file:net.sf.jasperreports.components.sort.SortComponentDigester.java

public static void addSortComponentRules(Digester digester) {
    String componentNamespace = digester.getRuleNamespaceURI();

    String sortComponentPattern = "*/componentElement/sort";
    digester.addObjectCreate(sortComponentPattern, SortComponent.class.getName());

    digester.addSetProperties(sortComponentPattern, new String[] { SortComponent.PROPERTY_EVALUATION_TIME, },
            new String[0]);

    digester.addRule(sortComponentPattern,
            new XmlConstantPropertyRule(SortComponent.PROPERTY_EVALUATION_TIME, EvaluationTimeEnum.values()));

    digester.addFactoryCreate(sortComponentPattern + "/symbol", SortComponentSymbolFactory.class.getName());

    digester.setRuleNamespaceURI(JRXmlConstants.JASPERREPORTS_NAMESPACE);

    digester.addFactoryCreate(sortComponentPattern + "/symbol/font",
            SortComponentSymbolFontFactory.class.getName());
    digester.addSetNext(sortComponentPattern + "/symbol/font", "setSymbolFont", JRFont.class.getName());

    digester.setRuleNamespaceURI(componentNamespace);
}

From source file:net.sf.jasperreports.customvisualization.xml.CVDigester.java

protected static void addCVItemDataRules(Digester digester, String pattern, String namespace) {
    digester.addObjectCreate(pattern, StandardItemData.class);
    digester.addSetNext(pattern, "addItemData", StandardItemData.class.getName());

    String itemPattern = pattern + "/item";

    digester.addObjectCreate(itemPattern, StandardItem.class);
    digester.addSetNext(itemPattern, "addItem", Item.class.getName());

    addItemPropertieyRules(digester, itemPattern + "/itemProperty", namespace);

    digester.setRuleNamespaceURI(JRXmlWriter.JASPERREPORTS_NAMESPACE.getNamespaceURI());

    digester.addFactoryCreate(pattern + "/dataset", CVItemDatasetFactory.class.getName());
    digester.addSetNext(pattern + "/dataset", "setDataset", JRElementDataset.class.getName());

    digester.setRuleNamespaceURI(namespace);
}