Example usage for org.apache.commons.digester3.plugins PluginRules PluginRules

List of usage examples for org.apache.commons.digester3.plugins PluginRules PluginRules

Introduction

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

Prototype

public PluginRules() 

Source Link

Document

Constructor for top-level Rules objects.

Usage

From source file:org.apache.commons.digester3.examples.plugins.pipeline.Pipeline.java

public static void main(String[] args) {
    if (args.length != 1) {
        System.err.println("usage: pipeline config-file");
        System.exit(-1);/*from ww  w.j  a  v  a2 s. co  m*/
    }
    String configFile = args[0];

    Digester digester = new Digester();
    PluginRules rc = new PluginRules();
    digester.setRules(rc);

    digester.addObjectCreate("pipeline", Pipeline.class);

    digester.addCallMethod("pipeline/source", "setSource", 1);
    digester.addCallParam("pipeline/source", 0, "file");

    PluginCreateRule pcr = new PluginCreateRule(Transform.class);
    digester.addRule("pipeline/transform", pcr);
    digester.addSetNext("pipeline/transform", "setTransform");

    digester.addCallMethod("pipeline/destination", "setDest", 1);
    digester.addCallParam("pipeline/destination", 0, "file");

    Pipeline pipeline = null;
    try {
        pipeline = digester.parse(configFile);
    } catch (Exception e) {
        System.err.println("oops exception occurred during parse.");
        e.printStackTrace();
        System.exit(-1);
    }

    try {
        pipeline.execute();
    } catch (Exception e) {
        System.err.println("oops exception occurred during pipeline execution.");
        e.printStackTrace();
        System.exit(-1);
    }
}