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

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

Introduction

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

Prototype

public void push(Object object) 

Source Link

Document

Push a new object onto the top of the object stack.

Usage

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

public static void main(String args[]) throws Exception {

    try {/*  ww  w  .  j av a2s  . c o  m*/

        // Perform setup operations
        if (log.isDebugEnabled()) {
            log.debug("Processing command line options");
        }
        Map options = options(args);
        String dtd = (String) options.get("--dtd");
        if (log.isDebugEnabled()) {
            log.debug("Configuring digester instance with public identifiers and DTD '" + dtd + "'");
        }
        StringTokenizer st = new StringTokenizer(dtd, "|");
        int arrayLen = st.countTokens();
        if (arrayLen == 0) {
            // PENDING I18n
            throw new Exception("No DTDs specified");
        }
        String[] dtds = new String[arrayLen];
        int i = 0;
        while (st.hasMoreTokens()) {
            dtds[i] = st.nextToken();
            i++;
        }

        copyright((String) options.get("--copyright"));
        directories((String) options.get("--dir"));
        Digester digester = digester(dtds, false, true, false);
        String config = (String) options.get("--config");
        if (log.isDebugEnabled()) {
            log.debug("Parsing configuration file '" + config + "'");
        }
        digester.push(new FacesConfigBean());
        fcb = parse(digester, config);
        if (log.isInfoEnabled()) {
            log.info("Generating HTML component classes");
        }

        // Generate concrete HTML component classes
        ComponentBean cbs[] = fcb.getComponents();
        for (i = 0; i < cbs.length; i++) {
            String componentClass = cbs[i].getComponentClass();
            if (componentClass.startsWith("javax.faces.component.html.")) {
                cb = cbs[i];
                generate();
            }
        }

    } catch (Exception e) {
        e.printStackTrace();
        System.exit(1);
    }
    System.exit(0);

}

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

/**
 * Main routine./*from  w w  w. java 2s  .  c  om*/
 */
public static void main(String args[]) throws Exception {

    try {
        // Perform setup operations
        if (log.isDebugEnabled()) {
            log.debug("Processing command line options");
        }
        Map options = options(args);
        String dtd = (String) options.get("--dtd");
        if (log.isDebugEnabled()) {
            log.debug("Configuring digester instance with public identifiers and DTD '" + dtd + "'");
        }
        StringTokenizer st = new StringTokenizer(dtd, "|");
        int arrayLen = st.countTokens();
        if (arrayLen == 0) {
            // PENDING I18n
            throw new Exception("No DTDs specified");
        }
        String[] dtds = new String[arrayLen];
        int i = 0;
        while (st.hasMoreTokens()) {
            dtds[i] = st.nextToken();
            i++;
        }
        copyright((String) options.get("--copyright"));
        directories((String) options.get("--tlddir"), false);
        Digester digester = digester(dtds, false, true, false);
        String config = (String) options.get("--config");
        loadOptionalTags((String) options.get("--tagdef"));
        if (log.isDebugEnabled()) {
            log.debug("Parsing configuration file '" + config + "'");
        }
        digester.push(new FacesConfigBean());
        fcb = parse(digester, config);
        if (log.isInfoEnabled()) {
            log.info("Generating Tag Library Descriptor file");
        }

        // Generate TLD File
        generateTld();

        // Generate Tag Handler Classes
        directories((String) options.get("--dir"), true);
        generateTagClasses();

    } catch (Exception e) {
        e.printStackTrace();
        System.exit(1);
    }
    System.exit(0);
}

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);/*w  w  w  . j  a  v a2 s  . c o m*/
    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.tonbeller.wcf.utils.ObjectFactory.java

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

    Digester digester = DigesterLoader.createDigester(rulesXml);
    digester.setValidating(false);//w  ww . j  a v  a2 s .  com

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

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

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//  w  ww .jav a  2 s . com
 * @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.frameworkset.common.tag.export.properties.ConfigFactory.java

/**
 * ?xml???/*www .  java  2 s. c o m*/
 * @param force
 * @return Configture
 */
public static Configture createConfigure(boolean force) {
    Digester digester = new Digester();
    digester.setValidating(false);
    if (configture == null || force) {
        configture = new Configture();

        digester.push(configture);
        // This set of rules calls the addDataSource method and passes
        // in five parameters to the method.
        digester.addBeanPropertySetter("exportconfig/description", "description");

        digester.addBeanPropertySetter("exportconfig/version", "version");
        digester.addObjectCreate("exportconfig/export", ExportConfig.class);
        digester.addBeanPropertySetter("exportconfig/export/description", "description");
        digester.addSetProperties("exportconfig/export/config", new String[] { "name", "type", "class" },
                new String[] { "name", "type", "exportClass" });
        digester.addSetNext("exportconfig/export", "addExportConfig");
        ClassLoader classLoader = ConfigFactory.class.getClassLoader();
        URL url = classLoader.getResource("export.xml");
        try {
            digester.parse(url.openStream());
        } catch (IOException e) {
            e.printStackTrace();
        } catch (SAXException e) {

            e.printStackTrace();
        }

    }
    return configture;
}

From source file:com.mmounirou.spotirss.spotify.tracks.SpotifyHrefQuery.java

private static List<XTracks> parseResult(String strResult) throws IOException, SAXException {
    Digester digester = new Digester();
    List<XTracks> result = Lists.newArrayList();
    digester.push(result);
    addRules(digester);//  w  w  w . j av  a2  s  .  co  m
    digester.parse(IOUtils.toInputStream(strResult, Charsets.UTF_8));
    return result;
}

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

/**
 *   // w w  w .  j  a  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;

}

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

public static ProvidesDigesterEvents readStream(InputStream stream, ProvidesDigesterEvents root) {
    ProvidesDigesterEvents result = null;
    Digester digester = new Digester();
    digester.setNamespaceAware(true); // this is so we can use the JADE parser instead which is faster

    digester.setValidating(false);//from  www  .j  a  v  a2  s. c om
    digester.push(root);
    root.addDigesterEvents(digester);

    try {
        result = (ProvidesDigesterEvents) digester.parse(stream);
    } catch (Exception e1) { //claur
        log.error("Error parsing reading/parsing field xml configuration file.");
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }
    return result;
}

From source file:hudson.plugins.clearcase.ClearCaseChangeLogSet.java

/**
 * Parses the change log stream and returns a ClearCase change log set.
 * /*from   w w  w.j a  va 2 s.  co m*/
 * @param build the build for the change log
 * @param changeLogStream input stream containing the change log
 * @return the change log set
 */
static ClearCaseChangeLogSet parse(AbstractBuild<?, ?> build, InputStream changeLogStream)
        throws IOException, SAXException {

    ArrayList<ClearCaseChangeLogEntry> history = new ArrayList<ClearCaseChangeLogEntry>();

    // Parse the change log file.
    Digester digester = new Digester();
    digester.setClassLoader(ClearCaseChangeLogSet.class.getClassLoader());
    digester.push(history);
    digester.addObjectCreate("*/entry", ClearCaseChangeLogEntry.class);

    digester.addBeanPropertySetter("*/entry/date", "dateStr");
    digester.addBeanPropertySetter("*/entry/comment");
    digester.addBeanPropertySetter("*/entry/user");
    digester.addBeanPropertySetter("*/entry/file");
    digester.addBeanPropertySetter("*/entry/action");
    digester.addBeanPropertySetter("*/entry/version");

    digester.addObjectCreate("*/entry/element", ClearCaseChangeLogEntry.FileElement.class);
    digester.addBeanPropertySetter("*/entry/element/file");
    digester.addBeanPropertySetter("*/entry/element/version");
    digester.addBeanPropertySetter("*/entry/element/action");
    digester.addBeanPropertySetter("*/entry/element/operation");
    digester.addSetNext("*/entry/element", "addElement");

    digester.addSetNext("*/entry", "add");
    digester.parse(changeLogStream);

    return new ClearCaseChangeLogSet(build, history);
}