Example usage for org.apache.commons.digester.xmlrules DigesterLoader createDigester

List of usage examples for org.apache.commons.digester.xmlrules DigesterLoader createDigester

Introduction

In this page you can find the example usage for org.apache.commons.digester.xmlrules DigesterLoader createDigester.

Prototype

public static Digester createDigester(URL rulesXml) 

Source Link

Document

Creates a new digester and initializes it from the specified XML file

Usage

From source file:com.tonbeller.wcf.utils.ObjectFactory.java

public static Object instance(URL rulesXml, URL configXml) throws SAXException, IOException {

    Digester digester = DigesterLoader.createDigester(rulesXml);
    digester.setValidating(false);/*ww  w  .  j ava2  s. c  o  m*/

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

    digester.parse(configXml.openStream());
    return root.getObject();
}

From source file:com.tonbeller.wcf.format.FormatterFactory.java

private static void fillFormatter(Formatter formatter, Locale locale, URL configXml) {

    if (locale == null)
        locale = Locale.getDefault();

    URL rulesXml = Formatter.class.getResource("rules.xml");
    Digester digester = DigesterLoader.createDigester(rulesXml);
    digester.setValidating(false);/*from  w w  w. ja va 2s  .  c om*/
    digester.push(formatter);
    try {
        digester.parse(new InputSource(configXml.toExternalForm()));
    } catch (IOException e) {
        logger.error("exception caught", e);
        throw new SoftException(e);
    } catch (SAXException e) {
        logger.error("exception caught", e);
        throw new SoftException(e);
    }
    formatter.setLocale(locale);
}

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

/**
 * @param xmlMessage//  w  w  w  . j av a2  s . c  o 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:com.discursive.jccook.xml.bean.DigesterExample.java

public void testDigest() throws Exception {

    List plays = new ArrayList();

    InputStream input = getClass().getResourceAsStream("./plays.xml");
    URL rules = getClass().getResource("./play-rules.xml");
    Digester digester = DigesterLoader.createDigester(rules);
    digester.push(plays);//from   w  w  w  . j  av a2s  .  c  o m

    logger.debug("Number of plays: " + plays.size());
}

From source file:com.germinus.easyconf.DigesterLearningTest.java

public void testXmlRulesDigester() throws ClassNotFoundException, IOException, SAXException {
    URL digesterRulesUrl = ClasspathUtil.locateResource("test_module.digesterRules.xml");
    Digester digester = DigesterLoader.createDigester(digesterRulesUrl);

    Object configuration = readConfig(digester);
    DatabaseAssert.assertContents(configuration);
    DatabaseConf dbConf = (DatabaseConf) configuration;
    assertEquals("Incorrect number of tables. The XML file was not read correctly", 2,
            dbConf.getTables().size());//  w  ww  . jav a2 s.c  o m
}

From source file:com.discursive.jccook.xml.script.DigesterExample.java

public void testDigest() throws Exception {

    List operations = new ArrayList();

    InputStream input = getClass().getResourceAsStream("./math.xml");
    URL rules = getClass().getResource("./math-rules.xml");
    Digester digester = DigesterLoader.createDigester(rules);
    digester.push(operations);/*from w w w .  j  a v a  2 s  .com*/

    logger.debug("Number of operations: " + operations.size());

}

From source file:com.discursive.jccook.xml.bardsearch.PlayIndexer.java

public void init() {
    URL playRules = PlayIndexer.class.getResource("play-digester-rules.xml");
    digester = DigesterLoader.createDigester(playRules);
    digester.setValidating(false);//  www. j ava  2 s .  c  om
}

From source file:com.discursive.jccook.xml.bean.BetwixtExample.java

public void testXmlOutput() throws Exception {

    List plays = new ArrayList();

    InputStream input = getClass().getResourceAsStream("./plays.xml");
    URL rules = getClass().getResource("./play-rules.xml");
    Digester digester = DigesterLoader.createDigester(rules);
    digester.push(plays);//from   w  w  w  .  j  a  v  a 2  s.c  o m
    Object root = digester.parse(input);

    logger.debug("Number of plays: " + plays.size());

    Play play = (Play) plays.get(0);

    BeanWriter beanWriter = new BeanWriter();
    beanWriter.enablePrettyPrint();
    beanWriter.write(play);

    logger.debug(beanWriter.toString());
}

From source file:com.discursive.jccook.xml.jxpath.PlanetSearch.java

public void planetSearch() throws IOException, SAXException {
    List planets = new ArrayList();

    InputStream input = getClass().getResourceAsStream("./planets.xml");
    URL rules = getClass().getResource("./planet-digester-rules.xml");
    Digester digester = DigesterLoader.createDigester(rules);
    digester.push(planets);//from  w w  w .  ja  va2 s.co m
    digester.parse(input);

    System.out.println("Number of planets: " + planets.size());

    System.out.println("Planet Name where radius > 5000");
    JXPathContext context = JXPathContext.newContext(planets);
    Iterator iterator = context.iterate(".[@radius > 5000]/name");
    while (iterator.hasNext()) {
        Object o = (Object) iterator.next();
        System.out.println("Object: " + o);
    }

    System.out.println("Planet Name where a moon is named Deimos");
    iterator = context.iterate("./moons[. = 'Deimos']/../name");
    while (iterator.hasNext()) {
        String name = (String) iterator.next();
        System.out.println("Planet Namet: " + name);
    }

    System.out.println("Planet where Helium percentage greater than 2");
    iterator = context.iterate("./atmosphere/components/He[.>2]/../../..");
    while (iterator.hasNext()) {
        Planet p = (Planet) iterator.next();
        System.out.println("Planet: " + p.getName());
    }

    System.out.println("All of the Moon Names");
    iterator = context.iterate("./moons");
    while (iterator.hasNext()) {
        String moon = (String) iterator.next();
        context.getVariables().declareVariable("moonName", moon);
        String planet = (String) context.getValue("./moons[. = $moonName]/../name");
        System.out.println("Moon: " + moon + ", \t\t\tPlanet: " + planet);
    }
}

From source file:it.jnrpe.server.config.CJNRPEConfiguration.java

private CJNRPEConfiguration(File fileName) {
    if (!fileName.exists() || !fileName.canRead()) {
        // TODO: throw an exception
        m_Logger.fatal("UNABLE TO READ CONFIGURATION FILE " + fileName.getAbsolutePath());
        System.exit(-1);/* w w w  . j  a v a  2s  .co  m*/
    }

    try {
        Digester digester = DigesterLoader.createDigester(
                new InputSource(System.class.getResourceAsStream("/it/jnrpe/server/config/digester.xml")));
        // turn on XML schema validation
        digester.setFeature("http://xml.org/sax/features/validation", true);
        digester.setFeature("http://apache.org/xml/features/validation/schema", true);
        digester.setFeature("http://xml.org/sax/features/namespaces", true);
        digester.setEntityResolver(new CConfigValidationEntityResolver());
        digester.setErrorHandler(new CConfigErrorHandler());

        m_Configuration = (CConfiguration) digester.parse(fileName);
    } catch (Exception e) {
        // TODO: throw an exception
        m_Logger.fatal("UNABLE TO PARSE CONFIGURATION : " + e.getMessage());
        System.exit(-1);
    }
}