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

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

Introduction

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

Prototype

public void setRuleNamespaceURI(String ruleNamespaceURI) 

Source Link

Document

Set the namespace URI that will be applied to all subsequently added Rule objects.

Usage

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 w w  . jav a2s.com*/

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

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.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.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.discursive.jccook.xml.bean.XMLNamespaceDigest.java

public void testDigest() throws IOException, SAXException {

    Pages pages = new Pages();

    Digester digester = new Digester();
    digester.setNamespaceAware(true);/*w  w  w. j  ava  2s  .c o m*/

    digester.setRuleNamespaceURI("http://discursive.com/page");
    URL pageRules = getClass().getResource("./page-rules.xml");
    digester.addRuleSet(new FromXmlRuleSet(pageRules));

    digester.setRuleNamespaceURI("http://discursive.com/person");
    URL personRules = getClass().getResource("./person-rules.xml");
    digester.addRuleSet(new FromXmlRuleSet(personRules));

    digester.push(pages);

    InputStream input = getClass().getResourceAsStream("./content.xml");
    digester.parse(input);

    Page page = (Page) pages.getPages().get(0);
    System.out.println(page);
}

From source file:net.sf.jasperreports.engine.xml.JRXmlTemplateDigesterFactory.java

protected void configureDigester(JasperReportsContext jasperReportsContext, Digester digester)
        throws SAXException, ParserConfigurationException {
    digester.setNamespaceAware(true);// w w w. j  ava  2s .c  om
    digester.setRuleNamespaceURI(JRXmlConstants.JASPERTEMPLATE_NAMESPACE);

    boolean validating = JRPropertiesUtil.getInstance(jasperReportsContext)
            .getBooleanProperty(JRReportSaxParserFactory.COMPILER_XML_VALIDATION);

    digester.setErrorHandler(this);
    digester.setValidating(validating);
    digester.setFeature("http://xml.org/sax/features/validation", validating);

    digester.addRuleSet(rules);
}

From source file:net.sibcolombia.sibsp.model.factory.ExtensionFactory.java

/**
 * Builds an extension from the supplied input stream.
 * /*from   w ww  .j a va2 s . com*/
 * @param is For the XML
 * @return The extension
 */
public Extension build(InputStream is) throws IOException, SAXException, ParserConfigurationException {

    // in order to deal with arbitrary namespace prefixes we need to parse namespace aware!
    Digester digester = new Digester(saxf.newSAXParser());
    digester.setRuleNamespaceURI(EXTENSION_NAMESPACE);

    Extension e = new Extension();
    digester.push(e);

    digester.addCallMethod("*/extension", "setTitle", 1);
    digester.addRule("*/extension", new CallParamNoNSRule(0, "title"));

    digester.addCallMethod("*/extension", "setName", 1);
    digester.addCallParam("*/extension", 0, "name");

    digester.addCallMethod("*/extension", "setNamespace", 1);
    digester.addCallParam("*/extension", 0, "namespace");

    digester.addCallMethod("*/extension", "setRowType", 1);
    digester.addCallParam("*/extension", 0, "rowType");

    digester.addCallMethod("*/extension", "setLink", 1);
    digester.addRule("*/extension", new CallParamNoNSRule(0, "relation"));

    digester.addCallMethod("*/extension", "setDescription", 1);
    digester.addRule("*/extension", new CallParamNoNSRule(0, "description"));

    digester.addCallMethod("*/extension", "setSubject", 1);
    digester.addRule("*/extension", new CallParamNoNSRule(0, "subject"));

    // build the properties
    digester.addObjectCreate("*/property", ExtensionProperty.class);

    digester.addCallMethod("*/property", "setQualname", 1);
    digester.addCallParam("*/property", 0, "qualName");

    digester.addCallMethod("*/property", "setName", 1);
    digester.addCallParam("*/property", 0, "name");

    digester.addCallMethod("*/property", "setNamespace", 1);
    digester.addCallParam("*/property", 0, "namespace");

    digester.addCallMethod("*/property", "setGroup", 1);
    digester.addCallParam("*/property", 0, "group");

    digester.addCallMethod("*/property", "setRequired", 1);
    digester.addCallParam("*/property", 0, "required");

    digester.addCallMethod("*/property", "setLink", 1);
    digester.addRule("*/property", new CallParamNoNSRule(0, "relation"));

    digester.addCallMethod("*/property", "setDescription", 1);
    digester.addRule("*/property", new CallParamNoNSRule(0, "description"));

    digester.addCallMethod("*/property", "setExamples", 1);
    digester.addCallParam("*/property", 0, "examples");

    digester.addCallMethod("*/property", "setType", 1);
    digester.addCallParam("*/property", 0, "type");

    // This is a special rule that will use the url2ThesaurusMap
    // to set the Vocabulary based on the attribute "thesaurus"
    digester.addRule("*/property", thesaurusRule);

    digester.addSetNext("*/property", "addProperty");

    digester.parse(is);

    return e;
}

From source file:net.sibcolombia.sibsp.model.factory.VocabularyFactory.java

/**
 * Builds a Vocabulary from the supplied input stream
 * /*w ww . j  a  v a2s .  c  om*/
 * @param is For the XML
 * @return The extension
 */
public Vocabulary build(InputStream is) throws IOException, SAXException, ParserConfigurationException {
    Digester digester = new Digester(saxf.newSAXParser());
    digester.setNamespaceAware(true);
    digester.setXIncludeAware(false);
    digester.setRuleNamespaceURI(VOCABULARY_NAMESPACE);

    Vocabulary tv = new Vocabulary();
    digester.push(tv);

    // build the thesaurus
    digester.addCallMethod("*/thesaurus", "setTitle", 1);
    digester.addRule("*/thesaurus", new CallParamNoNSRule(0, "title"));

    digester.addCallMethod("*/thesaurus", "setDescription", 1);
    digester.addRule("*/thesaurus", new CallParamNoNSRule(0, "description"));

    digester.addCallMethod("*/thesaurus", "setLink", 1);
    digester.addRule("*/thesaurus", new CallParamNoNSRule(0, "relation"));

    digester.addCallMethod("*/thesaurus", "setUriString", 1);
    digester.addRule("*/thesaurus", new CallParamNoNSRule(0, "URI"));

    // build the concept
    digester.addObjectCreate("*/concept", VocabularyConcept.class);

    digester.addCallMethod("*/concept", "setLink", 1);
    digester.addRule("*/concept", new CallParamNoNSRule(0, "relation"));

    digester.addCallMethod("*/concept", "setDescription", 1);
    digester.addRule("*/concept", new CallParamNoNSRule(0, "description"));

    digester.addCallMethod("*/concept", "setUri", 1);
    digester.addRule("*/concept", new CallParamNoNSRule(0, "URI"));

    digester.addCallMethod("*/concept", "setIdentifier", 1);
    digester.addRule("*/concept", new CallParamNoNSRule(0, "identifier"));

    // build the terms
    digester.addObjectCreate("*/preferred/term", VocabularyTerm.class);

    digester.addCallMethod("*/preferred/term", "setLang", 1);
    digester.addRule("*/preferred/term", new CallParamNoNSRule(0, "lang"));

    digester.addCallMethod("*/preferred/term", "setTitle", 1);
    digester.addRule("*/preferred/term", new CallParamNoNSRule(0, "title"));

    digester.addSetNext("*/preferred/term", "addPreferredTerm");

    // build alternative terms
    digester.addObjectCreate("*/alternative/term", VocabularyTerm.class);

    digester.addCallMethod("*/alternative/term", "setLang", 1);
    digester.addRule("*/alternative/term", new CallParamNoNSRule(0, "lang"));

    digester.addCallMethod("*/alternative/term", "setTitle", 1);
    digester.addRule("*/alternative/term", new CallParamNoNSRule(0, "title"));

    digester.addSetNext("*/alternative/term", "addAlternativeTerm");

    // add concept
    digester.addSetNext("*/concept", "addConcept");

    digester.parse(is);
    return tv;
}

From source file:net.sf.jasperreports.parts.PartComponentsXmlDigesterConfigurer.java

protected void addSubreportRules(Digester digester) {
    String subreportPattern = "*/part/subreportPart";
    digester.addObjectCreate(subreportPattern, StandardSubreportPartComponent.class);
    digester.addSetProperties(subreportPattern);

    String partNamespace = digester.getRuleNamespaceURI();
    String jrNamespace = JRXmlConstants.JASPERREPORTS_NAMESPACE;

    digester.setRuleNamespaceURI(jrNamespace);

    String paramMapExpressionPattern = subreportPattern + "/parametersMapExpression";
    digester.addFactoryCreate(paramMapExpressionPattern, JRExpressionFactory.class.getName());
    digester.addCallMethod(paramMapExpressionPattern, "setText", 0);
    digester.addSetNext(paramMapExpressionPattern, "setParametersMapExpression", JRExpression.class.getName());

    /*   *//* w ww .  j a v  a 2  s .co m*/
    digester.addFactoryCreate("*/subreportPart/subreportParameter",
            JRSubreportParameterFactory.class.getName());
    digester.addSetNext("*/subreportPart/subreportParameter", "addParameter",
            JRSubreportParameter.class.getName());

    /*   */
    digester.addFactoryCreate("*/subreportPart/subreportParameter/subreportParameterExpression",
            JRExpressionFactory.class.getName());
    digester.addSetNext("*/subreportPart/subreportParameter/subreportParameterExpression", "setExpression",
            JRExpression.class.getName());
    digester.addCallMethod("*/subreportPart/subreportParameter/subreportParameterExpression", "setText", 0);

    /*   */
    digester.addFactoryCreate("*/subreportPart/returnValue", JRSubreportReturnValueFactory.class.getName());
    digester.addSetNext("*/subreportPart/returnValue", "addReturnValue",
            JRSubreportReturnValue.class.getName());

    String subreportExpressionPattern = subreportPattern + "/subreportExpression";
    digester.addFactoryCreate(subreportExpressionPattern, JRExpressionFactory.class.getName());
    digester.addCallMethod(subreportExpressionPattern, "setText", 0);
    digester.addSetNext(subreportExpressionPattern, "setExpression", JRExpression.class.getName());

    digester.setRuleNamespaceURI(partNamespace);
}