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

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

Introduction

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

Prototype

public Object parse(URL url) throws IOException, SAXException 

Source Link

Document

Parse the content of the specified URL using this Digester.

Usage

From source file:de.mpg.escidoc.services.syndication.Feeds.java

/**
 * Unmarshalling of the feed definitions XML file on hand of the feeds digester rules   
 * @param rulesFileName is URI of the digester rules file 
 * @param feedsFileName is URI of the feed definitions file 
 * @return feed collection class//w w w.j  a va 2 s. c om
 * @throws SyndicationException
 */
public static Feeds readFeedsFromXml(String rulesFileName, String feedsFileName) throws SyndicationException {
    URL rules = Feeds.class.getClassLoader().getResource(rulesFileName);

    Digester digester = DigesterLoader.createDigester(rules);
    digester.setNamespaceAware(false);

    Feeds fs = null;
    try {
        InputStream input = ResourceUtil.getResourceAsStream(feedsFileName, Feeds.class.getClassLoader());
        fs = (Feeds) digester.parse(input);
    } catch (Exception e) {
        throw new SyndicationException("Cannot parse: " + feedsFileName, e);
    }

    return fs;
}

From source file:com.threerings.cast.bundle.tools.ComponentBundlerUtil.java

/**
 * Parses the action tileset definitions in the supplied input stream, and puts them into a
 * hash map, keyed on action name.//from w  w w.j  a v  a 2  s.c  om
 */
public static Map<String, TileSet> parseActionTileSets(InputStream in) throws IOException, SAXException {
    Digester digester = new Digester();
    digester.addSetProperties("actions" + ActionRuleSet.ACTION_PATH);
    addTileSetRuleSet(digester, new SwissArmyTileSetRuleSet());
    addTileSetRuleSet(digester, new UniformTileSetRuleSet("/uniformTileset"));

    Map<String, TileSet> actsets = new ActionMap();
    digester.push(actsets);
    digester.parse(in);
    return actsets;
}

From source file:com.blackducksoftware.tools.commonframework.standard.email.EmailTemplateDigester.java

public static EmailTemplate getEmailTemplate(InputStream aStream) throws IOException, SAXException {
    Digester digester = new Digester();
    digester.setValidating(false);/*from ww  w . j  a va 2  s. c om*/

    digester.addObjectCreate("email", EmailTemplate.class);

    digester.addBeanPropertySetter("email/from", "from");
    digester.addBeanPropertySetter("email/to", "to");
    digester.addBeanPropertySetter("email/subject", "subject");
    digester.addBeanPropertySetter("email/style", "style");
    digester.addBeanPropertySetter("email/body", "body");

    return (EmailTemplate) digester.parse(aStream);

}

From source file:com.jamcracker.jif.util.JIFUtil.java

/**
 * @param xmlMessage//  w  ww.ja v a 2s  .  co  m
 * @return
 * @throws Exception
 */
public static JIFRequest processRequest(String xmlMessage) throws Exception {
    JIFRequest requestMsgObj = null;
    if (xmlMessage == null) {
        return requestMsgObj;
    }

    try {
        Digester digester = DigesterLoader.createDigester(JIFUtil.class.getResource("/operation-rule.xml"));
        digester.setUseContextClassLoader(true);
        InputStream stream = new ByteArrayInputStream(xmlMessage.getBytes());
        requestMsgObj = (JIFRequest) digester.parse(stream);
        return requestMsgObj;
    } catch (Exception exec) {
        LOG.error("Exception occured in <<JIFUtil>>", exec);
    }
    return requestMsgObj;

}

From source file:net.sourceforge.jcctray.utils.ObjectPersister.java

public static CruiseRegistry loadCruiseRegistry(String fileName) throws IOException, SAXException {
    Digester digester = new Digester();

    FileReader fileReader = new FileReader(fileName);
    digester.addRule("cruiseregistry", new ObjectCreateRule(CruiseRegistry.class));
    digester.addRule("cruiseregistry/cruiseImpls/cruiseImpl",
            new CallMethodRule("addCruiseImpl", 0, new Class[] { Class.class }));
    CruiseRegistry result = (CruiseRegistry) digester.parse(fileReader);
    fileReader.close();// w w w . j  a v a  2  s  .c om
    return result;
}

From source file:de.thischwa.pmcms.tool.ChecksumTool.java

/**
 * Reading the checksum file (xml) from an InputSream and put it in a Map.
 * //  w w w.  j av a 2  s. com
 * @param in
 * @return A Map with the file name as key and the checksum as value.
 */
public static Map<String, String> get(final InputStream in) {
    Digester digester = new Digester();
    digester.setValidating(false);
    digester.addObjectCreate("checksums", HashMap.class);
    digester.addCallMethod("checksums/file", "put", 2);
    digester.addCallParam("checksums/file/name", 0);
    digester.addCallParam("checksums/file/checksum", 1);
    try {
        @SuppressWarnings("unchecked")
        Map<String, String> checksums = (Map<String, String>) digester.parse(in);
        return checksums;
    } catch (Exception e) {
        throw new FatalException("Error while parsing checksums: " + e.getMessage(), e);
    }
}

From source file:com.zyd.ztools.util.XmlUtil.java

public static Property parseXml(String content) {
    if (content == null || content.length() <= 0) {
        return null;
    }//from   www . j  ava 2s . c o m
    Property property = null;
    try {
        Digester digester = new Digester();
        digester.clear();
        digester.setValidating(false);
        digester.setUseContextClassLoader(true);
        digester.addObjectCreate("property", Property.class);
        digester.addBeanPropertySetter("property/returncode", "returncode");
        digester.addBeanPropertySetter("property/key", "key");
        digester.addBeanPropertySetter("property/original", "original");
        InputStream in = new ByteArrayInputStream(content.getBytes("UTF-8"));
        property = (Property) digester.parse(in);
    } catch (Exception e) {
        System.out.println("?XML...");
        System.out.println(content);
    }
    return property;
}

From source file:com.tonbeller.jpivot.core.ModelFactory.java

/**
 * creates a model from an xml configuration file
 * @param url url of model configuration file
 * @return Model/*from w  w  w .j av  a  2  s.  c  om*/
 * @throws SAXException
 * @throws IOException
 */
public static Model instance(URL url) throws SAXException, IOException {
    Digester digester = new Digester();
    digester.setValidating(false);

    ModelHolder root = new ModelHolder();
    digester.push(root);

    digester.addObjectCreate("model", "missing \"class\" attribute", "class");
    digester.addSetProperties("model");
    digester.addSetNext("model", "setModel");

    digester.addObjectCreate("model/extension", "missing \"class\" attribute", "class");
    digester.addSetProperties("model/extension");
    digester.addSetNext("model/extension", "addExtension");

    InputSource is = new InputSource(url.toExternalForm());
    digester.parse(is);
    return root.getModel();
}

From source file:com.sun.faces.generate.AbstractGenerator.java

/**
 * <p>Parse the specified configuration file, and return the root of the
 * resulting tree of configuration beans.</p>
 *
 * @param digester Digester instance to use for parsing
 * @param config Pathname of the configuration file to be parsed
 *
 * @exception IOException an input/output error occurred while parsing
 * @exception SAXException an XML processing error occurred while parsing
 *///w  ww .  jav a 2 s . c  o  m
protected static FacesConfigBean parse(Digester digester, String config) throws IOException, SAXException {

    File file = null;
    FacesConfigBean fcb = null;
    InputSource source = null;
    InputStream stream = null;
    try {
        file = new File(config);
        stream = new BufferedInputStream(new FileInputStream(file));
        source = new InputSource(file.toURL().toString());
        source.setByteStream(stream);
        fcb = (FacesConfigBean) digester.parse(source);
        stream.close();
        stream = null;
    } finally {
        if (stream != null) {
            try {
                stream.close();
            } catch (Exception e) {
                ;
            }
            stream = null;
        }
    }
    return (fcb);

}

From source file:eu.planets_project.pp.plato.services.action.PreservationActionRegistryFactory.java

/**
 *   /*from  ww  w .ja v a2  s. c  o m*/
 * @return a list of all in PreservationActionRegistries.xml defined registries.
 * @throws IllegalArgumentException
 */
static public List<PreservationActionRegistryDefinition> getAvailableRegistries()
        throws IllegalArgumentException {
    ArrayList<PreservationActionRegistryDefinition> allRegistries = new ArrayList<PreservationActionRegistryDefinition>();

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

    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) {
        log.error("Error in config file: " + configFile, e);
    }
    return allRegistries;

}