List of usage examples for org.apache.commons.digester Digester addSetProperty
public void addSetProperty(String pattern, String name, String value)
From source file:com.npower.common.plugins.DaemonControllerPlugIn.java
/** * <p>/*from w ww .ja v a2 s . co m*/ * Instantiate a <code>Digester</code>. * </p> * <p> * Subclasses may wish to override this to provide a subclass of Digester, or * to configure the Digester using object methods. * </p> * * @return a basic instance of * <code>org.apache.commons.digester.Digester</code> */ protected Digester newDigesterInstance() { Digester digester = new Digester(); digester.setValidating(false); digester.addObjectCreate("daemons", ArrayList.class); digester.addObjectCreate("*/plug-in", "className", PlugIn.class); digester.addSetProperty("*/plug-in/set-property", "property", "value"); digester.addSetNext("*/plug-in", "add"); return digester; }
From source file:net.jcreate.xkins.XkinsLoader.java
/** * Carga los skins. Mtodo privado que utilizan los dems. Usa el Digester. * @param in/*from ww w .j a va 2s .c o m*/ * @param xk * @return * @throws XkinsException */ private Xkins loadSkins(InputStream in, Xkins xk) throws XkinsException { try { Digester digester = new Digester(); Xkins xkLoading = new Xkins(); URL url = this.getClass().getResource(this.dtd); if (url != null) { digester.register(this.registration, url.toString()); //digester.setValidating(true); } digester.push(xkLoading); digester.addSetProperties("xkins"); //Crea los Skins digester.addFactoryCreate("xkins/skin", new SkinFactory(xkLoading)); digester.addSetProperties("xkins/skin"); digester.addSetProperty("xkins/skin/set-property", "property", "value"); digester.addSetTop("xkins/skin", "setXkins", XKINS_CLASS_NAME); digester.addObjectCreate("xkins/global-processor", PROCESSOR_CLASS_NAME); digester.addSetProperties("xkins/global-processor"); digester.addSetNext("xkins/global-processor", "addProcessor", PROCESSOR_CLASS_NAME); this.skinDigester(digester, "xkins/"); //Agrega el skin digester.addSetNext("xkins/skin", "addSkin", SKIN_CLASS_NAME); try { // Parse the input stream to initialize our database digester.parse(in); in.close(); } catch (SAXException e) { System.out.println(":" + e.getMessage()); System.out.println(":" + e); e.printStackTrace(); } finally { if (in != null) { try { in.close(); } catch (Exception e) { } } } this.loadSkinsDefinition(xkLoading); //copio los xkins cargados al xk Iterator it = xkLoading.getSkins().keySet().iterator(); while (it.hasNext()) { String skinName = (String) it.next(); Skin sk = (Skin) xkLoading.getSkins().get(skinName); sk.setXkins(xk); xk.addSkin(sk); } XkinsLoadEvent xle = new XkinsLoadEvent(this); xle.setXkins(xk); xk.sendEvent(xle); xk.addProcessors(xkLoading.getProcessors()); return xk; } catch (Throwable thr) { thr.printStackTrace(); throw new XkinsException(thr); } }
From source file:net.jetrix.config.ServerRuleSet.java
public void addRuleInstances(Digester digester) { // server parameters digester.addCallMethod("tetrinet-server/name", "setName", 0); digester.addCallMethod("tetrinet-server", "setHost", 1); digester.addCallParam("tetrinet-server", 0, "host"); digester.addCallMethod("tetrinet-server/language", "setLocale", 0); digester.addCallMethod("tetrinet-server/timeout", "setTimeout", 0, new Class[] { Integer.TYPE }); digester.addCallMethod("tetrinet-server/max-channels", "setMaxChannels", 0, new Class[] { Integer.TYPE }); digester.addCallMethod("tetrinet-server/max-players", "setMaxPlayers", 0, new Class[] { Integer.TYPE }); digester.addCallMethod("tetrinet-server/max-connections", "setMaxConnections", 0, new Class[] { Integer.TYPE }); digester.addCallMethod("tetrinet-server/op-password", "setOpPassword", 0); digester.addCallMethod("tetrinet-server/admin-password", "setAdminPassword", 0); digester.addCallMethod("tetrinet-server/access-log", "setAccessLogPath", 1); digester.addCallParam("tetrinet-server/access-log", 0, "path"); digester.addCallMethod("tetrinet-server/error-log", "setErrorLogPath", 1); digester.addCallParam("tetrinet-server/error-log", 0, "path"); digester.addCallMethod("tetrinet-server/channels", "setChannelsFile", 1); digester.addCallParam("tetrinet-server/channels", 0, "path"); // command definitions digester.addObjectCreate("*/command", null, "class"); digester.addSetNext("*/command", "addCommand", "net.jetrix.commands.Command"); digester.addCallMethod("*/command", "setAccessLevel", 1, new Class[] { Integer.TYPE }); digester.addCallParam("*/command", 0, "access-level"); // listeners//from w w w .j a va 2s. c om digester.addObjectCreate("*/listener", null, "class"); digester.addSetProperties("*/listener"); digester.addCallMethod("*/listener", "setAutoStart", 1, new Class[] { Boolean.TYPE }); digester.addCallParam("*/listener", 0, "auto-start"); digester.addSetNext("*/listener", "addListener", "net.jetrix.Listener"); // services digester.addObjectCreate("*/service", null, "class"); digester.addSetProperties("*/service"); digester.addCallMethod("*/service", "setAutoStart", 1, new Class[] { Boolean.TYPE }); digester.addCallParam("*/service", 0, "auto-start"); digester.addSetProperty("*/service/param", "name", "value"); digester.addSetNext("*/service", "addService", "net.jetrix.Service"); // banlist digester.addCallMethod("tetrinet-server/ban/host", "addBannedHost", 0); // datasource digester.addObjectCreate("*/datasource", "net.jetrix.config.DataSourceConfig"); digester.addSetNext("*/datasource", "addDataSource", "net.jetrix.config.DataSourceConfig"); digester.addCallMethod("*/datasource", "setName", 1); digester.addCallParam("*/datasource", 0, "name"); digester.addCallMethod("*/datasource/driver", "setDriver", 0); digester.addCallMethod("*/datasource/url", "setUrl", 0); digester.addCallMethod("*/datasource/username", "setUsername", 0); digester.addCallMethod("*/datasource/password", "setPassword", 0); digester.addCallMethod("*/datasource/min-idle", "setMinIdle", 0); digester.addCallMethod("*/datasource/max-active", "setMaxActive", 0); // mail session digester.addObjectCreate("*/mailserver", "net.jetrix.config.MailSessionConfig"); digester.addSetNext("*/mailserver", "setMailSessionConfig", "net.jetrix.config.MailSessionConfig"); digester.addCallMethod("*/mailserver", "setHostname", 1); digester.addCallParam("*/mailserver", 0, "host"); digester.addCallMethod("*/mailserver", "setPort", 1, new Class[] { Integer.TYPE }); digester.addCallParam("*/mailserver", 0, "port"); digester.addCallMethod("*/mailserver", "setAuth", 1, new Class[] { Boolean.TYPE }); digester.addCallParam("*/mailserver", 0, "auth"); digester.addCallMethod("*/mailserver", "setUsername", 1); digester.addCallParam("*/mailserver", 0, "username"); digester.addCallMethod("*/mailserver", "setPassword", 1); digester.addCallParam("*/mailserver", 0, "password"); digester.addCallMethod("*/mailserver", "setDebug", 1, new Class[] { Boolean.TYPE }); digester.addCallParam("*/mailserver", 0, "debug"); // extended properties digester.addCallMethod("*/properties/property", "setProperty", 2); digester.addCallParam("*/properties/property", 0, "name"); digester.addCallParam("*/properties/property", 1, "value"); }
From source file:org.apache.struts.tiles.xmlDefinition.XmlParser.java
/** * Init digester for Tiles syntax.//from w ww.ja v a 2 s.c om * Same as components, but with first element = tiles-definitions * @param digester Digester instance to use. */ private void initDigesterForTilesDefinitionsSyntax(Digester digester) { // Common constants String PACKAGE_NAME = "org.apache.struts.tiles.xmlDefinition"; String DEFINITION_TAG = "tiles-definitions/definition"; String definitionHandlerClass = PACKAGE_NAME + ".XmlDefinition"; String PUT_TAG = DEFINITION_TAG + "/put"; String putAttributeHandlerClass = PACKAGE_NAME + ".XmlAttribute"; //String LIST_TAG = DEFINITION_TAG + "/putList"; // List tag value String LIST_TAG = "putList"; String DEF_LIST_TAG = DEFINITION_TAG + "/" + LIST_TAG; String listHandlerClass = PACKAGE_NAME + ".XmlListAttribute"; // Tag value for adding an element in a list String ADD_LIST_ELE_TAG = "*/" + LIST_TAG + "/add"; // syntax rules digester.addObjectCreate(DEFINITION_TAG, definitionHandlerClass); digester.addSetProperties(DEFINITION_TAG); digester.addSetNext(DEFINITION_TAG, "putDefinition", definitionHandlerClass); // put / putAttribute rules // Rules for a same pattern are called in order, but rule.end() are called // in reverse order. // SetNext and CallMethod use rule.end() method. So, placing SetNext in // first position ensure it will be called last (sic). digester.addObjectCreate(PUT_TAG, putAttributeHandlerClass); digester.addSetNext(PUT_TAG, "addAttribute", putAttributeHandlerClass); digester.addSetProperties(PUT_TAG); digester.addCallMethod(PUT_TAG, "setBody", 0); // Definition level list rules // This is rules for lists nested in a definition digester.addObjectCreate(DEF_LIST_TAG, listHandlerClass); digester.addSetProperties(DEF_LIST_TAG); digester.addSetNext(DEF_LIST_TAG, "addAttribute", putAttributeHandlerClass); // list elements rules // We use Attribute class to avoid rewriting a new class. // Name part can't be used in listElement attribute. digester.addObjectCreate(ADD_LIST_ELE_TAG, putAttributeHandlerClass); digester.addSetNext(ADD_LIST_ELE_TAG, "add", putAttributeHandlerClass); digester.addSetProperties(ADD_LIST_ELE_TAG); digester.addCallMethod(ADD_LIST_ELE_TAG, "setBody", 0); // nested list elements rules // Create a list handler, and add it to parent list String NESTED_LIST = "*/" + LIST_TAG + "/" + LIST_TAG; digester.addObjectCreate(NESTED_LIST, listHandlerClass); digester.addSetProperties(NESTED_LIST); digester.addSetNext(NESTED_LIST, "add", putAttributeHandlerClass); // item elements rules // We use Attribute class to avoid rewriting a new class. // Name part can't be used in listElement attribute. //String ADD_WILDCARD = LIST_TAG + "/addItem"; // non String ADD_WILDCARD = LIST_TAG + "/addx*"; String ADD_WILDCARD = "*/item"; String menuItemDefaultClass = "org.apache.struts.tiles.beans.SimpleMenuItem"; digester.addObjectCreate(ADD_WILDCARD, menuItemDefaultClass, "classtype"); digester.addSetNext(ADD_WILDCARD, "add", "java.lang.Object"); digester.addSetProperties(ADD_WILDCARD); // bean elements rules String BEAN_TAG = "*/bean"; String beanDefaultClass = "org.apache.struts.tiles.beans.SimpleMenuItem"; digester.addObjectCreate(BEAN_TAG, beanDefaultClass, "classtype"); digester.addSetNext(BEAN_TAG, "add", "java.lang.Object"); digester.addSetProperties(BEAN_TAG); // Set properties to surrounding element digester.addSetProperty(BEAN_TAG + "/set-property", "property", "value"); }
From source file:org.apache.tiles.definition.digester.DigesterDefinitionsReader.java
/** * Init digester for Tiles syntax with first element = tiles-definitions. * * @param digester Digester instance to use. *//* w w w .j a v a2 s . c om*/ private void initDigesterForTilesDefinitionsSyntax(Digester digester) { // syntax rules digester.addObjectCreate(DEFINITION_TAG, DEFINITION_HANDLER_CLASS); digester.addRule(DEFINITION_TAG, new FillDefinitionRule()); digester.addSetNext(DEFINITION_TAG, "addDefinition", DEFINITION_HANDLER_CLASS); // nested definition rules digester.addObjectCreate(PUT_DEFINITION_TAG, DEFINITION_HANDLER_CLASS); digester.addRule(PUT_DEFINITION_TAG, new FillDefinitionRule()); digester.addSetRoot(PUT_DEFINITION_TAG, "addDefinition"); digester.addRule(PUT_DEFINITION_TAG, new AddNestedDefinitionRule()); digester.addObjectCreate(ADD_DEFINITION_TAG, DEFINITION_HANDLER_CLASS); digester.addRule(ADD_DEFINITION_TAG, new FillDefinitionRule()); digester.addSetRoot(ADD_DEFINITION_TAG, "addDefinition"); digester.addRule(ADD_DEFINITION_TAG, new AddNestedDefinitionRule()); // put / putAttribute rules // Rules for a same pattern are called in order, but rule.end() are called // in reverse order. // SetNext and CallMethod use rule.end() method. So, placing SetNext in // first position ensure it will be called last (sic). digester.addObjectCreate(PUT_TAG, PUT_ATTRIBUTE_HANDLER_CLASS); digester.addRule(PUT_TAG, new FillAttributeRule()); digester.addRule(PUT_TAG, new PutAttributeRule()); digester.addCallMethod(PUT_TAG, "setBody", 0); // Definition level list rules // This is rules for lists nested in a definition digester.addObjectCreate(DEF_LIST_TAG, LIST_HANDLER_CLASS); digester.addSetProperties(DEF_LIST_TAG); digester.addRule(DEF_LIST_TAG, new PutAttributeRule()); // list elements rules // We use Attribute class to avoid rewriting a new class. // Name part can't be used in listElement attribute. digester.addObjectCreate(ADD_LIST_ELE_TAG, PUT_ATTRIBUTE_HANDLER_CLASS); digester.addRule(ADD_LIST_ELE_TAG, new FillAttributeRule()); digester.addSetNext(ADD_LIST_ELE_TAG, "add", PUT_ATTRIBUTE_HANDLER_CLASS); digester.addCallMethod(ADD_LIST_ELE_TAG, "setBody", 0); // nested list elements rules // Create a list handler, and add it to parent list digester.addObjectCreate(NESTED_LIST, LIST_HANDLER_CLASS); digester.addSetProperties(NESTED_LIST); digester.addSetNext(NESTED_LIST, "add", PUT_ATTRIBUTE_HANDLER_CLASS); // item elements rules // We use Attribute class to avoid rewriting a new class. // Name part can't be used in listElement attribute. //String ADD_WILDCARD = LIST_TAG + "/addItem"; // non String ADD_WILDCARD = LIST_TAG + "/addx*"; String menuItemDefaultClass = "org.apache.tiles.beans.SimpleMenuItem"; digester.addObjectCreate(ADD_WILDCARD, menuItemDefaultClass, "classtype"); digester.addSetNext(ADD_WILDCARD, "add", "java.lang.Object"); digester.addSetProperties(ADD_WILDCARD); // bean elements rules String beanDefaultClass = "org.apache.tiles.beans.SimpleMenuItem"; digester.addObjectCreate(BEAN_TAG, beanDefaultClass, "classtype"); digester.addSetProperties(BEAN_TAG); digester.addSetNext(BEAN_TAG, "add", "java.lang.Object"); // Set properties to surrounding element digester.addSetProperty(BEAN_TAG + "/set-property", "property", "value"); }
From source file:org.apache.tiles.xmlDefinition.XmlParser.java
/** * Init digester for Tiles syntax.//from w ww.j a va 2 s.co m * Same as components, but with first element = tiles-definitions * @param digester Digester instance to use. */ private void initDigesterForTilesDefinitionsSyntax(Digester digester) { // Common constants String PACKAGE_NAME = "org.apache.tiles.xmlDefinition"; String DEFINITION_TAG = "tiles-definitions/definition"; String definitionHandlerClass = PACKAGE_NAME + ".XmlDefinition"; String PUT_TAG = DEFINITION_TAG + "/put"; String putAttributeHandlerClass = PACKAGE_NAME + ".XmlAttribute"; //String LIST_TAG = DEFINITION_TAG + "/putList"; // List tag value String LIST_TAG = "putList"; String DEF_LIST_TAG = DEFINITION_TAG + "/" + LIST_TAG; String listHandlerClass = PACKAGE_NAME + ".XmlListAttribute"; // Tag value for adding an element in a list String ADD_LIST_ELE_TAG = "*/" + LIST_TAG + "/add"; // syntax rules digester.addObjectCreate(DEFINITION_TAG, definitionHandlerClass); digester.addSetProperties(DEFINITION_TAG); digester.addSetNext(DEFINITION_TAG, "putDefinition", definitionHandlerClass); // put / putAttribute rules // Rules for a same pattern are called in order, but rule.end() are called // in reverse order. // SetNext and CallMethod use rule.end() method. So, placing SetNext in // first position ensure it will be called last (sic). digester.addObjectCreate(PUT_TAG, putAttributeHandlerClass); digester.addSetNext(PUT_TAG, "addAttribute", putAttributeHandlerClass); digester.addSetProperties(PUT_TAG); digester.addCallMethod(PUT_TAG, "setBody", 0); // Definition level list rules // This is rules for lists nested in a definition digester.addObjectCreate(DEF_LIST_TAG, listHandlerClass); digester.addSetProperties(DEF_LIST_TAG); digester.addSetNext(DEF_LIST_TAG, "addAttribute", putAttributeHandlerClass); // list elements rules // We use Attribute class to avoid rewriting a new class. // Name part can't be used in listElement attribute. digester.addObjectCreate(ADD_LIST_ELE_TAG, putAttributeHandlerClass); digester.addSetNext(ADD_LIST_ELE_TAG, "add", putAttributeHandlerClass); digester.addSetProperties(ADD_LIST_ELE_TAG); digester.addCallMethod(ADD_LIST_ELE_TAG, "setBody", 0); // nested list elements rules // Create a list handler, and add it to parent list String NESTED_LIST = "*/" + LIST_TAG + "/" + LIST_TAG; digester.addObjectCreate(NESTED_LIST, listHandlerClass); digester.addSetProperties(NESTED_LIST); digester.addSetNext(NESTED_LIST, "add", putAttributeHandlerClass); // item elements rules // We use Attribute class to avoid rewriting a new class. // Name part can't be used in listElement attribute. //String ADD_WILDCARD = LIST_TAG + "/addItem"; // non String ADD_WILDCARD = LIST_TAG + "/addx*"; String ADD_WILDCARD = "*/item"; String menuItemDefaultClass = "org.apache.tiles.beans.SimpleMenuItem"; digester.addObjectCreate(ADD_WILDCARD, menuItemDefaultClass, "classtype"); digester.addSetNext(ADD_WILDCARD, "add", "java.lang.Object"); digester.addSetProperties(ADD_WILDCARD); // bean elements rules String BEAN_TAG = "*/bean"; String beanDefaultClass = "org.apache.tiles.beans.SimpleMenuItem"; digester.addObjectCreate(BEAN_TAG, beanDefaultClass, "classtype"); digester.addSetNext(BEAN_TAG, "add", "java.lang.Object"); digester.addSetProperties(BEAN_TAG); // Set properties to surrounding element digester.addSetProperty(BEAN_TAG + "/set-property", "property", "value"); }
From source file:org.junitext.runners.parameters.factory.DigesterParameterFactory.java
private void registerBaseRules(Digester digester) { // Add a list for the top level <tests> element digester.addObjectCreate("tests", ArrayList.class); // Add a list for each <test> element digester.addObjectCreate("tests/test", ParameterList.class); // Sets the name of the ParameterList based on the id attribute digester.addSetProperties("tests/test", "id", "name"); // Add the <test> list to the top level <tests> list digester.addSetNext("tests/test", "add"); // -- Basic Bean Rules // Create an object for any "beans" that are encountered // We use the wildcard so that any bean tag at any nesting level is // handled// www .ja va2s.c o m digester.addObjectCreate("*/bean", "java.lang.Object", "class"); // Set the properties on the beans based on the // <property name="" value="" > tag digester.addSetProperty("*/bean/property", "name", "value"); // Add an object set previously with the CallParamRule to the bean // property. This rule is used by the collections as well as properties // that expect beans Rule setPropertyWithObject = new SetPropertyWithParameterRule("name"); digester.addRule("*/bean/property", setPropertyWithObject); // Add the bean to the parameter set (or to a <list>) digester.addSetNext("*/bean", "add"); // --Rules for bean-based properties // Create beans that are associated with properties // We have to do this becuase the more-specific pattern overrides // the less specific "*/bean" pattern. digester.addObjectCreate("*/bean/property/bean", "java.lang.Object", "class"); // Add nested beans as a parameter so that they can be // added to the properties of a parent bean digester.addCallParam("*/bean/property/bean", 0, true); }
From source file:org.securityfilter.config.SecurityConfig.java
/** * Loads configuration from the specifued configURL. * * @param configURL The url to load./*from ww w. ja va2 s .co m*/ * * @exception IOException if an input/output error occurs * @exception SAXException if the file has invalid xml syntax */ public void loadConfig(InputSource input) throws IOException, SAXException { securityConstraints = new ArrayList(); Digester digester = new Digester(); digester.setValidating(false); // only register the DTDs if we will be validating registerLocalDTDs(digester); digester.push(this); digester.setUseContextClassLoader(true); digester.setValidating(validating); // realms digester.addObjectCreate("securityfilter-config/realm", null, "className"); digester.addSetProperty("securityfilter-config/realm/realm-param", "name", "value"); digester.addSetNext("securityfilter-config/realm", "addRealm", "java.lang.Object"); // auth method, realm name digester.addCallMethod("securityfilter-config/login-config/auth-method", "setAuthMethod", 0); digester.addCallMethod("securityfilter-config/login-config/realm-name", "setRealmName", 0); // login, error, logout, and default pages digester.addCallMethod("securityfilter-config/login-config/form-login-config/form-login-page", "setLoginPage", 0); digester.addCallMethod("securityfilter-config/login-config/form-login-config/form-error-page", "setErrorPage", 0); digester.addCallMethod("securityfilter-config/login-config/form-login-config/form-logout-page", "setLogoutPage", 0); digester.addCallMethod("securityfilter-config/login-config/form-login-config/form-default-page", "setDefaultPage", 0); // persistent login manager digester.addObjectCreate("securityfilter-config/login-config/form-login-config/remember-me", null, "className"); digester.addSetProperty( "securityfilter-config/login-config/form-login-config/remember-me/remember-me-param", "name", "value"); digester.addSetNext("securityfilter-config/login-config/form-login-config/remember-me", "setPersistentLoginManager", "org.securityfilter.authenticator.persistent.PersistentLoginManagerInterface"); // security-constraint digester.addObjectCreate("securityfilter-config/security-constraint", "org.securityfilter.config.SecurityConstraint"); digester.addSetNext("securityfilter-config/security-constraint", "addSecurityConstraint", "org.securityfilter.config.SecurityConstraint"); // auth-constraint digester.addObjectCreate("securityfilter-config/security-constraint/auth-constraint", "org.securityfilter.config.AuthConstraint"); digester.addSetNext("securityfilter-config/security-constraint/auth-constraint", "setAuthConstraint", "org.securityfilter.config.AuthConstraint"); digester.addCallMethod("securityfilter-config/security-constraint/auth-constraint/role-name", "addRole", 0); // user-data-constraint digester.addObjectCreate("securityfilter-config/security-constraint/user-data-constraint", "org.securityfilter.config.UserDataConstraint"); digester.addSetNext("securityfilter-config/security-constraint/user-data-constraint", "setUserDataConstraint", "org.securityfilter.config.UserDataConstraint"); digester.addCallMethod("securityfilter-config/security-constraint/user-data-constraint/transport-guarantee", "setTransportGuarantee", 0); // web-resource-collection digester.addObjectCreate("securityfilter-config/security-constraint/web-resource-collection", "org.securityfilter.config.WebResourceCollection"); digester.addSetNext("securityfilter-config/security-constraint/web-resource-collection", "addWebResourceCollection", "org.securityfilter.config.WebResourceCollection"); digester.addCallMethod("securityfilter-config/security-constraint/web-resource-collection/url-pattern", "addURLPattern", 0); digester.addCallMethod("securityfilter-config/security-constraint/web-resource-collection/http-method", "addHttpMethod", 0); digester.parse(input); }