List of usage examples for org.apache.commons.digester ObjectCreateRule ObjectCreateRule
public ObjectCreateRule(Class<?> clazz)
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.ProgrammaticDigesterExample.java
public void testDigest() throws Exception { List plays = new ArrayList(); Digester digester = new Digester(); Rules rules = digester.getRules();//from w ww. j av a 2s . c o m 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: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: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.hextilla.cardbox.xml.GameParser.java
public GameParser() { // create and configure our digester _digester = new Digester() { @Override//from w w w . j ava2s. co m public void fatalError(SAXParseException exception) throws SAXException { // the standard digester needlessly logs a fatal warning here if (errorHandler != null) { errorHandler.fatalError(exception); } } }; // add the rules to parse the GameDefinition and its fields _digester.addObjectCreate("game", getGameDefinitionClass()); _digester.addRule("game/ident", new SetFieldRule("ident")); _digester.addRule("game/controller", new SetFieldRule("controller")); _digester.addRule("game/manager", new SetFieldRule("manager")); _digester.addRule("game/match", new Rule() { @Override public void begin(String namespace, String name, Attributes attrs) throws Exception { String type = attrs.getValue("type"); if (StringUtil.isBlank(type)) { String errmsg = "<match> block missing type attribute."; throw new Exception(errmsg); } addMatchParsingRules(digester, type); } @Override public void end(String namespace, String name) throws Exception { MatchConfig match = (MatchConfig) digester.pop(); ((GameDefinition) digester.peek()).match = match; } }); // these rules handle customization parameters _digester.addRule("game/params", new ObjectCreateRule(ArrayList.class)); _digester.addSetNext("game/params", "setParams", List.class.getName()); addParameter("game/params/ai", AIParameter.class); addParameter("game/params/range", RangeParameter.class); addParameter("game/params/choice", ChoiceParameter.class); addParameter("game/params/toggle", ToggleParameter.class); addParameter("game/params/file", FileParameter.class); // add a rule to put the parsed definition onto our list _digester.addSetNext("game", "add", Object.class.getName()); }
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 ww . j a v a2s . co m return result; }
From source file:com.hextilla.cardbox.xml.GameParser.java
protected void addParameter(String path, Class<?> pclass) { _digester.addRule(path, new ObjectCreateRule(pclass)); _digester.addRule(path, new SetPropertyFieldsRule(false)); _digester.addSetNext(path, "add", Object.class.getName()); }
From source file:net.sourceforge.jcctray.utils.ObjectPersister.java
public static CruiseRegistry loadCruiseRegistry(String fileName) throws IOException, SAXException { Digester digester = new Digester(); FileReader fileReader = new FileReader(fileName); digester.addRule("cruiseregistry", new ObjectCreateRule(CruiseRegistry.class)); digester.addRule("cruiseregistry/cruiseImpls/cruiseImpl", new CallMethodRule("addCruiseImpl", 0, new Class[] { Class.class })); CruiseRegistry result = (CruiseRegistry) digester.parse(fileReader); fileReader.close();//from w w w . j a v a 2 s. c o m return result; }
From source file:org.azkfw.crawler.config.CrawlerConfig.java
/** * ??/* ww w . ja 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; }