List of usage examples for org.apache.commons.digester SetPropertiesRule SetPropertiesRule
public SetPropertiesRule()
From source file:com.discursive.jccook.xml.bean.ProgrammaticDigesterExample.java
public void testDigest() throws Exception { List plays = new ArrayList(); Digester digester = new Digester(); Rules rules = digester.getRules();// ww w . j a v a 2 s. c om rules.add("plays/play", new ObjectCreateRule("com.discursive.jccook.xml.bean.Play")); rules.add("plays/play", new SetNextRule("add", "java.lang.Object")); rules.add("plays/play", new SetPropertiesRule()); rules.add("plays/play/name", new BeanPropertySetterRule("name")); rules.add("plays/play/summary", new BeanPropertySetterRule("summary")); rules.add("plays/play/author", new BeanPropertySetterRule("author")); rules.add("plays/play/characters/character", new ObjectCreateRule("com.discursive.jccook.xml.bean.Character")); rules.add("plays/play/characters/character", new SetNextRule("addCharacter", "com.discursive.jccook.xml.bean.Character")); rules.add("plays/play/characters/character", new SetPropertiesRule()); rules.add("plays/play/characters/character/name", new BeanPropertySetterRule("name")); rules.add("plays/play/characters/character/description", new BeanPropertySetterRule("description")); digester.push(plays); InputStream input = getClass().getResourceAsStream("./plays.xml"); digester.parse(input); System.out.println("Number of plays: " + plays.size()); }
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.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/*www . jav a2 s. c o 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 ww w . j a v a 2s .com*/ return result; }
From source file:net.sourceforge.vulcan.integration.support.PluginVersionDigester.java
public static PluginVersionSpec digest(Reader reader) throws IOException { if (reader == null) { throw new IllegalArgumentException(); }// www .j a v a 2s. c o m Digester digester = new Digester(); digester.addObjectCreate("vulcan-version-descriptor", PluginVersionSpecImpl.class.getName()); digester.addRule("vulcan-version-descriptor", new SetPropertiesRule()); try { return (PluginVersionSpec) digester.parse(reader); } catch (SAXException e) { return null; } }
From source file:org.azkfw.crawler.config.CrawlerConfig.java
/** * ??//from w w w .j a v a2s . co 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; }