Example usage for org.apache.commons.digester3 Digester Digester

List of usage examples for org.apache.commons.digester3 Digester Digester

Introduction

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

Prototype

public Digester() 

Source Link

Document

Construct a new Digester with default properties.

Usage

From source file:main.java.com.omicronlab.avro.PhoneticXmlLoader.java

public Data getData() throws IOException, SAXException {
    Digester digester = new Digester();
    digester.setValidating(false);//from  w  w w . j a v a 2 s . c  o  m

    digester.addObjectCreate("data", Data.class);
    digester.addBeanPropertySetter("data/classes/vowel", "vowel");
    digester.addBeanPropertySetter("data/classes/consonant", "consonant");
    digester.addBeanPropertySetter("data/classes/punctuation", "punctuation");
    digester.addBeanPropertySetter("data/classes/casesensitive", "casesensitive");

    digester.addObjectCreate("data/patterns/pattern", Pattern.class);
    digester.addBeanPropertySetter("data/patterns/pattern/find", "find");
    digester.addBeanPropertySetter("data/patterns/pattern/replace", "replace");

    digester.addObjectCreate("data/patterns/pattern/rules/rule", Rule.class);
    digester.addBeanPropertySetter("data/patterns/pattern/rules/rule/replace", "replace");

    digester.addObjectCreate("data/patterns/pattern/rules/rule/find/match", Match.class);
    digester.addBeanPropertySetter("data/patterns/pattern/rules/rule/find/match", "value");
    digester.addSetProperties("data/patterns/pattern/rules/rule/find/match", "type", "type");
    digester.addSetProperties("data/patterns/pattern/rules/rule/find/match", "scope", "scope");

    digester.addSetNext("data/patterns/pattern/rules/rule/find/match", "addMatch");

    digester.addSetNext("data/patterns/pattern/rules/rule", "addRule");

    digester.addSetNext("data/patterns/pattern", "addPattern");

    Data data = (Data) digester.parse(this.url);
    return data;
}

From source file:com.petpet.c3po.adaptor.fits.FITSAdaptor.java

/**
 * A default constructor that initialises the digester and sets up the parsing
 * rules./*from   w  ww. j  a v  a  2 s.  c o m*/
 */
public FITSAdaptor() {
    this.digester = new Digester(); // not thread safe
    this.digester.setRules(new RegexRules(new SimpleRegexMatcher()));
    this.createParsingRules();
}

From source file:com.smartapps.avro.PhoneticXmlLoader.java

public Data getData() throws IOException, SAXException {
    Digester digester = new Digester();
    digester.setValidating(false);/*from w  ww  .  j  av a 2s.c  o m*/

    digester.addObjectCreate("data", Data.class);
    digester.addBeanPropertySetter("data/classes/vowel", "vowel");
    digester.addBeanPropertySetter("data/classes/consonant", "consonant");
    digester.addBeanPropertySetter("data/classes/punctuation", "punctuation");
    digester.addBeanPropertySetter("data/classes/casesensitive", "casesensitive");

    digester.addObjectCreate("data/patterns/pattern", Pattern.class);
    digester.addBeanPropertySetter("data/patterns/pattern/find", "find");
    digester.addBeanPropertySetter("data/patterns/pattern/replace", "replace");

    digester.addObjectCreate("data/patterns/pattern/rules/rule", Rule.class);
    digester.addBeanPropertySetter("data/patterns/pattern/rules/rule/replace", "replace");

    digester.addObjectCreate("data/patterns/pattern/rules/rule/find/match", Match.class);
    digester.addBeanPropertySetter("data/patterns/pattern/rules/rule/find/match", "value");
    digester.addSetProperties("data/patterns/pattern/rules/rule/find/match", "type", "type");
    digester.addSetProperties("data/patterns/pattern/rules/rule/find/match", "scope", "scope");

    digester.addSetNext("data/patterns/pattern/rules/rule/find/match", "addMatch");

    digester.addSetNext("data/patterns/pattern/rules/rule", "addRule");

    digester.addSetNext("data/patterns/pattern", "addPattern");

    // Data data = (Data) digester.parse(this.url);
    //      InputStreamReader isr = new InputStreamReader(is, "UTF-8");
    Data data = (Data) digester.parse(is);
    return data;
}

From source file:eu.scape_project.planning.services.pa.PreservationActionRegistryFactory.java

static public List<PreservationActionRegistryDefinition> getAvailableRegistries()
        throws PlanningServiceException {
    ArrayList<PreservationActionRegistryDefinition> allRegistries = new ArrayList<PreservationActionRegistryDefinition>();

    String configFile = "data/services/PreservationActionRegistries.xml";
    InputStream config = Thread.currentThread().getContextClassLoader().getResourceAsStream(configFile);

    if (config == null) {
        throw new PlanningServiceException("Config file not found: " + configFile);
    }//from   w  w w .j a v a 2s .  c  o m

    Digester digester = new Digester();
    digester.setValidating(false);
    digester.setErrorHandler(new StrictErrorHandler());

    digester.push(allRegistries);
    digester.addObjectCreate("*/registry", PreservationActionRegistryDefinition.class);
    digester.addBeanPropertySetter("*/registry/shortname", "shortname");
    digester.addBeanPropertySetter("*/registry/logo", "logo");
    digester.addBeanPropertySetter("*/registry/url", "url");
    digester.addBeanPropertySetter("*/registry/type", "type");
    digester.addBeanPropertySetter("*/registry/active", "active");
    digester.addSetNext("*/registry", "add");

    try {
        digester.setUseContextClassLoader(true);
        digester.parse(config);
    } catch (Exception e) {
        throw new PlanningServiceException(e);
    }
    return allRegistries;
}

From source file:com.thoughtworks.go.plugin.infra.plugininfo.GoPluginDescriptorParser.java

private static Digester initDigester() throws SAXNotRecognizedException, SAXNotSupportedException {
    Digester digester = new Digester();
    digester.setValidating(true);/*from   w  w w  .j  av  a  2  s  .  co m*/
    digester.setErrorHandler(new ErrorHandler() {
        @Override
        public void warning(SAXParseException exception) throws SAXException {
            throw new SAXException("XML Schema validation of Plugin Descriptor(plugin.xml) failed", exception);
        }

        @Override
        public void error(SAXParseException exception) throws SAXException {
            throw new SAXException("XML Schema validation of Plugin Descriptor(plugin.xml) failed", exception);
        }

        @Override
        public void fatalError(SAXParseException exception) throws SAXException {
            throw new SAXException("XML Schema validation of Plugin Descriptor(plugin.xml) failed", exception);
        }
    });
    digester.setProperty("http://java.sun.com/xml/jaxp/properties/schemaLanguage",
            XMLConstants.W3C_XML_SCHEMA_NS_URI);
    digester.setProperty("http://java.sun.com/xml/jaxp/properties/schemaSource",
            GoPluginDescriptorParser.class.getResourceAsStream("/plugin-descriptor.xsd"));
    return digester;
}

From source file:br.univali.celine.scorm.model.cam.ContentPackageReader20043rd.java

public ContentPackage read(java.io.InputStream stream) throws Exception {
    // Create a Digester instance
    Digester d = new Digester();
    d.setNamespaceAware(true); // desconsidera todos os namespaces !!!

    // Prime the digester stack with an object for rules to
    // operate on. Note that it is quite common for "this"
    // to be the object pushed.
    ContentPackage manifest = new ContentPackage(this);
    d.push(manifest);// w  w w . j av a 2 s. c o m
    // Add rules to the digester that will be triggered while
    // parsing occurs.
    addRules(d);

    // Process the input file.
    d.parse(stream);

    manifest.finalization();

    return manifest;
}

From source file:com.dreikraft.axbo.sound.SoundPackageUtil.java

/**
 * Reads meta information from package-info.xml (as stream)
 *
 * @param packageInfoXmlStream the package-info.xml FileInputStream
 * @return the sound package info read from the stream
 * @throws com.dreikraft.infactory.sound.SoundPackageException encapsulates
 * all low level (IO) exceptions//from w  w w .  j  ava  2 s  .  c  o m
 */
public static SoundPackage readPackageInfo(InputStream packageInfoXmlStream) throws SoundPackageException {
    Digester digester = new Digester();
    digester.setValidating(false);
    digester.setRules(new ExtendedBaseRules());

    digester.addObjectCreate(SoundPackageNodes.axboSounds.toString(), SoundPackage.class);
    digester.addBeanPropertySetter(SoundPackageNodes.axboSounds + SL + SoundPackageNodes.packageName, "name");
    digester.addBeanPropertySetter(SoundPackageNodes.axboSounds + SL + SoundPackageNodes.creator, "creator");
    digester.addBeanPropertySetter(SoundPackageNodes.axboSounds + SL + SoundPackageNodes.creationDate,
            "creationDate");
    digester.addBeanPropertySetter(SoundPackageNodes.axboSounds + SL + SoundPackageNodes.security + SL
            + SoundPackageNodes.serialNumber, "serialNumber");
    digester.addBeanPropertySetter(
            SoundPackageNodes.axboSounds + SL + SoundPackageNodes.security + SL + SoundPackageNodes.enforced,
            "securityEnforced");

    digester.addObjectCreate(SoundPackageNodes.axboSounds + SL + SoundPackageNodes.sounds, ArrayList.class);
    digester.addSetNext(SoundPackageNodes.axboSounds + SL + SoundPackageNodes.sounds, "setSounds");

    digester.addObjectCreate(
            SoundPackageNodes.axboSounds + SL + SoundPackageNodes.sounds + SL + SoundPackageNodes.sound,
            Sound.class);
    digester.addSetNext(
            SoundPackageNodes.axboSounds + SL + SoundPackageNodes.sounds + SL + SoundPackageNodes.sound, "add");
    digester.addSetProperties(
            SoundPackageNodes.axboSounds + SL + SoundPackageNodes.sounds + SL + SoundPackageNodes.sound, "id",
            "id");
    digester.addBeanPropertySetter(SoundPackageNodes.axboSounds + SL + SoundPackageNodes.sounds + SL
            + SoundPackageNodes.sound + SL + SoundPackageNodes.displayName, "name");

    digester.addObjectCreate(SoundPackageNodes.axboSounds + SL + SoundPackageNodes.sounds + SL
            + SoundPackageNodes.sound + SL + SoundPackageNodes.axboFile, SoundFile.class);
    digester.addSetNext(SoundPackageNodes.axboSounds + SL + SoundPackageNodes.sounds + SL
            + SoundPackageNodes.sound + SL + SoundPackageNodes.axboFile, "setAxboFile");
    digester.addBeanPropertySetter(SoundPackageNodes.axboSounds + SL + SoundPackageNodes.sounds + SL
            + SoundPackageNodes.sound + SL + SoundPackageNodes.axboFile + SL + SoundPackageNodes.path);
    digester.addBeanPropertySetter(SoundPackageNodes.axboSounds + SL + SoundPackageNodes.sounds + SL
            + SoundPackageNodes.sound + SL + SoundPackageNodes.axboFile + SL + SoundPackageNodes.type);

    try {
        SoundPackage soundPackage = (SoundPackage) digester.parse(packageInfoXmlStream);
        return soundPackage;
    } catch (Exception ex) {
        throw new SoundPackageException(ex);
    }
}

From source file:com.dotosoft.dot4command.config.xml.XmlConfigParser.java

/**
 * <p>Return the <code>Digester</code> instance to be used for
 * parsing, creating one if necessary.</p>
 * @return A Digester instance.//from  w ww .  j ava2 s. co  m
 */
public Digester getDigester() {
    Digester digester = new Digester();
    RuleSet ruleSet = getRuleSet();
    digester.setNamespaceAware(ruleSet.getNamespaceURI() != null);
    digester.setUseContextClassLoader(getUseContextClassLoader());
    digester.setValidating(false);
    digester.addRuleSet(ruleSet);
    return digester;
}

From source file:com.w20e.socrates.factories.XMLQuestionnaireFactory.java

/**
 * Create a new Digester for the instance. This should ALWAYS happen for
 * each parse... Really!/*from w w w . j a v  a2  s .c  o  m*/
 * 
 * @return the digester
 */
private Digester createRenderingDigester(Configuration cfg) {

    GroupFactory groupFactory = new GroupFactory();
    ControlFactory controlFactory = new ControlFactory(cfg);
    OptionsFactory optionsFactory = new OptionsFactory();
    TranslatableFactory labelFactory = new TranslatableFactory();

    Digester dig = new Digester();

    dig.addObjectCreate("survey/layout", RenderConfigImpl.class);

    dig.addObjectCreate("*/layout/optionset", "com.w20e.socrates.rendering.OptionList");
    dig.addSetProperties("*/layout/optionset");
    dig.addSetNext("*/layout/optionset", "addOptionList");

    dig.addFactoryCreate("*/group", groupFactory);
    dig.addSetNext("*/group", "addItem", "com.w20e.socrates.rendering.Group");

    dig.addObjectCreate("*/text", "com.w20e.socrates.rendering.TextBlock");
    dig.addSetProperties("*/text");
    dig.addSetNext("*/text", "addItem", "com.w20e.socrates.rendering.TextBlock");
    dig.addCallMethod("*/text", "setText", 1);
    dig.addCallParam("*/text", 0);

    dig.addObjectCreate("*/select",
            cfg.getString("layout.controlclasses.select", "com.w20e.socrates.rendering.Select"));
    dig.addSetProperties("*/select");
    dig.addSetNext("*/select", "addItem");

    dig.addObjectCreate("*/input",
            cfg.getString("layout.controlclasses.select", "com.w20e.socrates.rendering.Input"));
    dig.addSetProperties("*/input");
    dig.addSetNext("*/input", "addItem");

    dig.addObjectCreate("*/hidden",
            cfg.getString("layout.controlclasses.hidden", "com.w20e.socrates.rendering.Hidden"));
    dig.addSetProperties("*/hidden");
    dig.addSetNext("*/hidden", "addItem");

    dig.addObjectCreate("*/checkbox",
            cfg.getString("layout.controlclasses.checkbox", "com.w20e.socrates.rendering.Checkbox"));
    dig.addSetProperties("*/checkbox");
    dig.addSetNext("*/checkbox", "addItem");

    dig.addObjectCreate("*/textarea",
            cfg.getString("layout.controlclasses.textarea", "com.w20e.socrates.rendering.Input"));
    dig.addSetProperties("*/textarea");
    dig.addSetNext("*/textarea", "addItem");

    dig.addObjectCreate("*/date",
            cfg.getString("layout.controlclasses.date", "com.w20e.socrates.rendering.Date"));
    dig.addSetProperties("*/date");
    dig.addSetNext("*/date", "addItem");

    dig.addObjectCreate("*/range",
            cfg.getString("layout.controlclasses.range", "com.w20e.socrates.rendering.Range"));
    dig.addSetProperties("*/range");
    dig.addSetNext("*/range", "addItem");

    dig.addFactoryCreate("*/control", controlFactory);
    dig.addSetProperties("*/control");
    dig.addSetNext("*/control", "addItem");

    dig.addObjectCreate("*/option", "com.w20e.socrates.rendering.Option");
    dig.addSetProperties("*/option");
    dig.addSetNext("*/option", "addOption", "com.w20e.socrates.rendering.Option");

    dig.addFactoryCreate("*/select/optionset", optionsFactory);
    dig.addSetNext("*/select/optionset", "setOptions");

    dig.addFactoryCreate("*/label", labelFactory);
    dig.addSetNext("*/label", "setLabel");
    dig.addCallMethod("*/label", "setText", 1);
    dig.addCallParam("*/label", 0);

    dig.addFactoryCreate("*/hint", labelFactory);
    dig.addSetNext("*/hint", "setHint");
    dig.addCallMethod("*/hint", "setText", 1);
    dig.addCallParam("*/hint", 0);

    dig.addFactoryCreate("*/help", labelFactory);
    dig.addSetNext("*/help", "setHelp");
    dig.addCallMethod("*/help", "setText", 1);
    dig.addCallParam("*/help", 0);

    dig.addFactoryCreate("*/alert", labelFactory);
    dig.addSetNext("*/alert", "setAlert");
    dig.addCallMethod("*/alert", "setText", 1);
    dig.addCallParam("*/alert", 0);

    dig.addCallMethod("*/property", "setProperty", 2);
    dig.addCallParam("*/property", 0, "name");
    dig.addCallParam("*/property", 1);

    return dig;
}

From source file:eu.scape_project.planning.xml.PlanParser.java

/**
 * Imports the XML representation of templates.
 * /*from   w w w.ja va  2  s  .  c  o m*/
 * @param in
 *            the input stream to read from
 * @return a list of read templates.
 * @throws PlatoException
 *             if the template cannot be parsed
 */
public List<TemplateTree> importTemplates(final InputStream in) throws PlatoException {

    try {
        Digester digester = new Digester();
        // digester.setValidating(true);
        StrictErrorHandler errorHandler = new StrictErrorHandler();
        digester.setErrorHandler(errorHandler);

        // At the moment XML files for template tree's are only used
        // internally,
        // later we will define a schema and use it also for validation

        digester.push(this);

        digester.addObjectCreate("*/template", TemplateTree.class);
        digester.addSetProperties("*/template");
        digester.addSetRoot("*/template", "setTemplate");
        // digester.addSetNext("*/template/name", "setName");
        // digester.addSetNext("*/template/owner", "setOwner");

        PlanParser.addTreeParsingRulesToDigester(digester);

        digester.addObjectCreate("*/template/node", Node.class);
        digester.addSetProperties("*/template/node");
        digester.addSetNext("*/template/node", "addChild");

        digester.setUseContextClassLoader(true);

        templates = new ArrayList<TemplateTree>();
        digester.parse(in);
        // FIXME:
        /*
         * for (TemplateTree t : templates) { log.info(t.getName() +
         * t.getOwner()); }
         */

        return templates;
    } catch (Exception e) {
        throw new PlatoException("Failed to parse template tree.", e);
    }
}