Example usage for org.apache.commons.digester SetNextRule SetNextRule

List of usage examples for org.apache.commons.digester SetNextRule SetNextRule

Introduction

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

Prototype

public SetNextRule(String methodName) 

Source Link

Document

Construct a "set next" rule with the specified method name.

Usage

From source file:com.googlecode.osde.internal.gadgets.parser.MessageBundleXMLParser.java

protected void initialize(Digester digester) {
    digester.addRule("messagebundle", new ObjectCreateRule(MessageBundle.class));
    digester.addFactoryCreate("messagebundle/msg", new ObjectFactory(MessageBundle.Msg.class));
    digester.addRule("messagebundle/msg", new CallMethodRule("setContent", 0));
    digester.addRule("messagebundle/msg", new SetNextRule("addMessage"));
}

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

private void addPageRules(Rules rules) {
    rules.add("*/page", new ObjectCreateRule(Page.class));
    rules.add("*/page", new SetNextRule("add"));
}

From source file:com.panet.imeta.core.config.DigesterConfigManager.java

/**
 * Loads the configuration parameters by delegating to commons digester.
 *//*from   w  w  w.j av a 2  s  . co  m*/
public Collection<T> load() throws KettleConfigException {
    ClassLoader loader = Thread.currentThread().getContextClassLoader();

    Digester digester = DigesterLoader.createDigester(loader.getResource(rulesURL));

    final Set<T> configObjs = new LinkedHashSet<T>();

    digester.addRule(setNext, new SetNextRule("") {
        @SuppressWarnings("unchecked")
        public void end(String nameSpace, String name) throws Exception {
            configObjs.add((T) digester.peek());
        }
    });

    try {
        digester.parse(loader.getResource(configURL));
    } catch (Exception e) {
        throw new KettleConfigException(e);
    }

    return configObjs;
}

From source file:net.sourceforge.jcctray.model.DashboardXmlParser.java

private static Digester createDigester() {
    Digester digester = new Digester();
    digester.addRule("Projects", new ObjectCreateRule(DashBoardProjects.class));
    digester.addRule("Projects/Project", new ObjectCreateRule(DashBoardProject.class));
    digester.addRule("Projects/Project", new SetPropertiesRule());
    digester.addRule("Projects/Project", new SetNextRule("add"));
    return digester;
}

From source file:com.googlecode.osde.internal.gadgets.parser.GadgetXMLParser.java

protected void initialize(Digester digester) {
    digester.addRule("Module", new ObjectCreateRule(Module.class));

    digester.addFactoryCreate("Module/ModulePrefs", new ObjectFactory(Module.ModulePrefs.class));
    digester.addRule("Module/ModulePrefs", new SetNextRule("setModulePrefs"));

    digester.addRule("*/Param", new ObjectCreateRule(Param.class));
    digester.addRule("*/Param", new SetPropertiesRule("name", "name"));
    digester.addRule("*/Param", new CallMethodRule("setValue", 0));
    digester.addRule("*/Param", new SetNextRule("addParam"));

    digester.addFactoryCreate("Module/ModulePrefs/Require",
            new ObjectFactory(Module.ModulePrefs.Require.class));
    digester.addRule("Module/ModulePrefs/Require", new SetNextRule("addRequire"));

    digester.addFactoryCreate("Module/ModulePrefs/Optional",
            new ObjectFactory(Module.ModulePrefs.Optional.class));
    digester.addRule("Module/ModulePrefs/Optional", new SetNextRule("addOptional"));

    digester.addFactoryCreate("Module/ModulePrefs/Icon", new ObjectFactory(Module.ModulePrefs.Icon.class));
    digester.addRule("Module/ModulePrefs/Icon", new CallMethodRule("setValue", 0));
    digester.addRule("Module/ModulePrefs/Icon", new SetNextRule("addIcon"));

    digester.addFactoryCreate("Module/ModulePrefs/Link", new ObjectFactory(Module.ModulePrefs.Link.class));
    digester.addRule("Module/ModulePrefs/Link", new SetNextRule("addLink"));

    digester.addFactoryCreate("Module/ModulePrefs/Locale", new ObjectFactory(Module.ModulePrefs.Locale.class));
    digester.addRule("Module/ModulePrefs/Locale", new SetNextRule("addLocale"));

    digester.addFactoryCreate("Module/ModulePrefs/Locale/msg", new ObjectFactory(MessageBundle.Msg.class));
    digester.addRule("Module/ModulePrefs/Locale/msg", new CallMethodRule("setContent", 0));
    digester.addRule("Module/ModulePrefs/Locale/msg", new SetNextRule("addInlineMessage"));

    digester.addFactoryCreate("Module/ModulePrefs/OAuth", new ObjectFactory(Module.ModulePrefs.OAuth.class));
    digester.addRule("Module/ModulePrefs/OAuth", new SetNextRule("addOAuth"));

    digester.addFactoryCreate("Module/ModulePrefs/OAuth/Service",
            new ObjectFactory(Module.ModulePrefs.OAuth.Service.class));
    digester.addRule("Module/ModulePrefs/OAuth/Service", new SetNextRule("addService"));

    digester.addFactoryCreate("Module/ModulePrefs/OAuth/Service/Request",
            new ObjectFactory(Module.ModulePrefs.OAuth.Service.Request.class));
    digester.addRule("Module/ModulePrefs/OAuth/Service/Request", new SetNextRule("setRequest"));

    digester.addFactoryCreate("Module/ModulePrefs/OAuth/Service/Access",
            new ObjectFactory(Module.ModulePrefs.OAuth.Service.Access.class));
    digester.addRule("Module/ModulePrefs/OAuth/Service/Access", new SetNextRule("setAccess"));

    digester.addFactoryCreate("Module/ModulePrefs/OAuth/Service/Authorization",
            new ObjectFactory(Module.ModulePrefs.OAuth.Service.Authorization.class));
    digester.addRule("Module/ModulePrefs/OAuth/Service/Authorization", new SetNextRule("setAuthorization"));

    digester.addFactoryCreate("Module/ModulePrefs/Preload",
            new ObjectFactory(Module.ModulePrefs.Preload.class));
    digester.addRule("Module/ModulePrefs/Preload", new SetNextRule("addPreload"));

    digester.addFactoryCreate("Module/UserPref", new ObjectFactory(Module.UserPref.class));
    digester.addRule("Module/UserPref", new SetNextRule("addUserPref"));

    digester.addFactoryCreate("Module/UserPref/EnumValue", new ObjectFactory(Module.UserPref.EnumValue.class));
    digester.addRule("Module/UserPref/EnumValue", new SetNextRule("addEnumValue"));

    digester.addFactoryCreate("Module/Content", new ObjectFactory(Module.Content.class));
    digester.addRule("Module/Content", new CallMethodRule("setValue", 0));
    digester.addRule("Module/Content", new SetNextRule("addContent"));
}

From source file:com.panet.imeta.core.config.KettleConfig.java

private Digester createDigester() {
    Digester digester = new Digester();
    digester.addObjectCreate(KETTLE_CONFIG, TempConfig.class);
    digester.addBeanPropertySetter(KETTLE_CONFIG_CLASS, "clazz");
    digester.addSetProperties(KETTLE_CONFIG, "id", "id");
    digester.addRule(KETTLE_CONFIG_PROPERTY, new SetPropertiesRule() {
        @Override//from  w  ww . j  a va 2s  .co  m
        public void begin(String name, String namespace, Attributes attrs) throws Exception {
            ((TempConfig) digester.peek()).parms.put(attrs.getValue("name"), attrs.getValue("value"));
        }
    });

    digester.addRule(KETTLE_CONFIG, new SetNextRule("") {
        @SuppressWarnings("unchecked")
        public void end(String nameSpace, String name) throws Exception {
            TempConfig cfg = (TempConfig) digester.peek();

            // do the conversion here.
            Class<? extends ConfigManager> cfclass = Class.forName(cfg.clazz).asSubclass(ConfigManager.class);

            ConfigManager parms = cfclass.newInstance();
            // method injection
            inject(cfclass.getMethods(), cfg, parms);
            // field injection
            inject(cfclass.getDeclaredFields(), cfg, parms);
            KettleConfig.this.configs.put(cfg.id, parms);
        }
    });

    return digester;
}

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

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

    FileReader fileReader = new FileReader(fileName);

    digester.addRule("cctraysettings", new ObjectCreateRule(JCCTraySettings.class));

    digester.addRule("cctraysettings/hosts/host", new ObjectCreateRule(Host.class));
    digester.addRule("cctraysettings/hosts/host", new SetPropertiesRule());
    digester.addRule("cctraysettings/hosts/host", new SetNextRule("addHost"));

    digester.addRule("cctraysettings/hosts/host/projects/project",
            new ObjectCreateRule(DashBoardProject.class));
    digester.addRule("cctraysettings/hosts/host/projects/project", new SetPropertiesRule());
    digester.addRule("cctraysettings/hosts/host/projects/project", new SetNextRule("addConfiguredProject"));

    digester.addRule("cctraysettings/settings/entry", new ObjectCreateRule(NameValuePair.class));
    digester.addRule("cctraysettings/settings/entry", new SetPropertiesRule());
    digester.addRule("cctraysettings/settings/entry", new SetNextRule("set"));
    JCCTraySettings result = (JCCTraySettings) digester.parse(fileReader);
    fileReader.close();//from   w  w  w  .j  ava2s.c o m
    return result;
}

From source file:org.ajax4jsf.renderkit.compiler.HtmlCompiler.java

/**
 * Constructor with initialisation.//  w  ww.  ja  v  a  2 s  . c o  m
 */
public HtmlCompiler() {
    WithDefaultsRulesWrapper rules = new WithDefaultsRulesWrapper(new RulesBase());
    // Add default rules to process plain tags.
    rules.addDefault(new PlainElementCreateRule());
    rules.addDefault(new SetNextRule(CHILD_METHOD));
    digestr.setDocumentLocator(new LocatorImpl());
    digestr.setRules(rules);
    digestr.setValidating(false);
    digestr.setNamespaceAware(false);
    digestr.setUseContextClassLoader(true);
    // Concrete renderer method call rules.
    setCustomRules(digestr);
}

From source file:org.azkfw.crawler.config.CrawlerConfig.java

/**
 * ??/* w  w  w  . j  a  va 2  s .  c  o m*/
 * 
 * @param aFile 
 * @return 
 */
public static CrawlerConfig parse(final String aFile) {
    CrawlerConfig config = null;
    try {
        Digester digester = new Digester();
        digester.addRule("crawler", new ObjectCreateRule(CrawlerConfig.class));

        digester.addRule("crawler/controller", new ObjectCreateRule(CrawlerControllerConfig.class));
        digester.addRule("crawler/controller", new SetPropertiesRule());
        digester.addRule("crawler/controller", new SetNextRule("setController"));

        digester.addRule("crawler/logger", new ObjectCreateRule(CrawlerLoggerConfig.class));
        digester.addRule("crawler/logger", new SetPropertiesRule());
        digester.addRule("crawler/logger", new SetNextRule("setLogger"));

        digester.addRule("crawler/manager", new ObjectCreateRule(CrawlerManagerConfig.class));
        digester.addRule("crawler/manager", new SetPropertiesRule());
        digester.addRule("crawler/manager", new SetNextRule("setManager"));

        digester.addRule("crawler/threads", new ObjectCreateRule(ArrayList.class));
        digester.addRule("crawler/threads", new SetNextRule("setThreads"));

        digester.addRule("crawler/threads/thread", new ObjectCreateRule(CrawlerThreadConfig.class));
        digester.addRule("crawler/threads/thread", new SetPropertiesRule());
        digester.addRule("crawler/threads/thread", new SetNextRule("add"));

        digester.addRule("crawler/threads/thread/task", new ObjectCreateRule(CrawlerTaskConfig.class));
        digester.addRule("crawler/threads/thread/task", new SetPropertiesRule());
        digester.addRule("crawler/threads/thread/task", new SetNextRule("setTask"));

        digester.addRule("crawler/threads/thread/task/parameter",
                new ObjectCreateRule(CrawlerParameterConfig.class));
        digester.addRule("crawler/threads/thread/task/parameter", new SetPropertiesRule());
        digester.addRule("crawler/threads/thread/task/parameter", new SetNextRule("addParameter"));

        digester.addRule("crawler/threads/thread/schedule", new ObjectCreateRule(CrawlerScheduleConfig.class));
        digester.addRule("crawler/threads/thread/schedule", new SetPropertiesRule());
        digester.addRule("crawler/threads/thread/schedule", new SetNextRule("setSchedule"));

        digester.addRule("crawler/threads/thread/schedule/parameter",
                new ObjectCreateRule(CrawlerParameterConfig.class));
        digester.addRule("crawler/threads/thread/schedule/parameter", new SetPropertiesRule());
        digester.addRule("crawler/threads/thread/schedule/parameter", new SetNextRule("addParameter"));

        config = (CrawlerConfig) digester.parse(new File(aFile));
    } catch (SAXException ex) {
        ex.printStackTrace();
    } catch (IOException ex) {
        ex.printStackTrace();
    }
    return config;
}