List of usage examples for org.apache.commons.digester Digester setUseContextClassLoader
public void setUseContextClassLoader(boolean use)
Thread.currentThread().getContextClassLoader()) to resolve/load classes that are defined in various rules. From source file:com.zyd.ztools.util.XmlUtil.java
public static Property parseXml(String content) { if (content == null || content.length() <= 0) { return null; }/*from w ww. j a v a2 s .c o m*/ Property property = null; try { Digester digester = new Digester(); digester.clear(); digester.setValidating(false); digester.setUseContextClassLoader(true); digester.addObjectCreate("property", Property.class); digester.addBeanPropertySetter("property/returncode", "returncode"); digester.addBeanPropertySetter("property/key", "key"); digester.addBeanPropertySetter("property/original", "original"); InputStream in = new ByteArrayInputStream(content.getBytes("UTF-8")); property = (Property) digester.parse(in); } catch (Exception e) { System.out.println("?XML..."); System.out.println(content); } return property; }
From source file:com.nec.nsgui.model.biz.framework.menu.NSMenuFactory.java
/** * parse the inputStream and create NSMenusBean object. * @param inputStream/*from w w w . j a v a 2 s.c o m*/ * @return * @throws Exception */ private static NSMenusBean parse(InputStream inputStream) throws Exception { Digester digester = new Digester(); digester.setValidating(false); digester.setUseContextClassLoader(true); //parse root and create nsmenus object. digester.addObjectCreate(CONFIG_FILE_TAG_NSMENUS, NSMenusBean.class); //parse Category and create a CategoryBean object. String categoryStr = CONFIG_FILE_TAG_NSMENUS + CONFIG_FILE_TAG_SEPARATER + CONFIG_FILE_TAG_CATEGORY; digester.addObjectCreate(categoryStr, CategoryBean.class); digester.addSetProperties(categoryStr); digester.addSetNext(categoryStr, "addCategoryMap"); //parse SubCategory and create SubCategoryBean object. String subCategoryStr = categoryStr + CONFIG_FILE_TAG_SEPARATER + CONFIG_FILE_TAG_SUBCATEGORY; digester.addObjectCreate(subCategoryStr, SubCategoryBean.class); digester.addSetProperties(subCategoryStr); digester.addSetNext(subCategoryStr, "addSubCategoryMap"); //parse Item and create ItemBean object. String itemStr = subCategoryStr + CONFIG_FILE_TAG_SEPARATER + CONFIG_FILE_TAG_ITEM; digester.addObjectCreate(itemStr, ItemBean.class); digester.addSetProperties(itemStr); String hiddenStr = itemStr + CONFIG_FILE_TAG_SEPARATER + CONFIG_FILE_TAG_HIDDEN; digester.addCallMethod(hiddenStr, "addHiddenMap", 2); digester.addCallParam(hiddenStr, 0, "name"); digester.addCallParam(hiddenStr, 1, "value"); digester.addSetNext(itemStr, "addItemMap"); return (NSMenusBean) digester.parse(inputStream); }
From source file:com.liusoft.sc.startup.DigesterFactory.java
/** * Create a <code>Digester</code> parser. * @param xmlValidation turn on/off xml validation * @param xmlNamespaceAware turn on/off namespace validation * @param rule an instance of <code>RuleSet</code> used for parsing the xml. *///w w w. ja v a 2 s . co m public static Digester newDigester(boolean xmlValidation, boolean xmlNamespaceAware, RuleSet rule) { Digester digester = new Digester(); digester.setNamespaceAware(xmlNamespaceAware); digester.setValidating(xmlValidation); digester.setUseContextClassLoader(true); if (xmlValidation || xmlNamespaceAware) { configureSchema(digester); } schemaResolver = new SchemaResolver(digester); registerLocalSchema(); digester.setEntityResolver(schemaResolver); if (rule != null) { digester.addRuleSet(rule); } return (digester); }
From source file:com.jamcracker.jif.util.JIFUtil.java
/** * @param xmlMessage/*from ww w .j av a2s. com*/ * @return * @throws Exception */ public static JIFRequest processRequest(String xmlMessage) throws Exception { JIFRequest requestMsgObj = null; if (xmlMessage == null) { return requestMsgObj; } try { Digester digester = DigesterLoader.createDigester(JIFUtil.class.getResource("/operation-rule.xml")); digester.setUseContextClassLoader(true); InputStream stream = new ByteArrayInputStream(xmlMessage.getBytes()); requestMsgObj = (JIFRequest) digester.parse(stream); return requestMsgObj; } catch (Exception exec) { LOG.error("Exception occured in <<JIFUtil>>", exec); } return requestMsgObj; }
From source file:com.sun.faces.generate.AbstractGenerator.java
/** * <p>Configure and return a <code>Digester</code> instance suitable for * use in the environment specified by our parameter flags.</p> * * @param dtd[] array of absolute pathnames of the DTDs to be registered (if any) * and their corresponding public identifiers * @param design Include rules suitable for design time use in a tool * @param generate Include rules suitable for generating component, * renderer, and tag classes//from ww w .j a va2 s . c o m * @param runtime Include rules suitable for runtime execution * * @exception MalformedURLException if a URL cannot be formed correctly */ protected static Digester digester(String dtd[], boolean design, boolean generate, boolean runtime) throws MalformedURLException { Digester digester = new Digester(); // Configure basic properties digester.setNamespaceAware(false); digester.setUseContextClassLoader(true); digester.setValidating(true); // Configure parsing rules digester.addRuleSet(new FacesConfigRuleSet(design, generate, runtime)); // Configure preregistered entities int i = 0; while (dtd.length > 0) { if (dtd[i] != null && dtd[i + 1] != null) { digester.register(dtd[i], (new File(dtd[i + 1])).toURL().toString()); } i += 2; if (i >= dtd.length) { break; } } return (digester); }
From source file:eu.planets_project.pp.plato.services.action.PreservationActionRegistryFactory.java
/** * //from w w w . j a v a 2s . c om * @return a list of all in PreservationActionRegistries.xml defined registries. * @throws IllegalArgumentException */ static public List<PreservationActionRegistryDefinition> getAvailableRegistries() throws IllegalArgumentException { ArrayList<PreservationActionRegistryDefinition> allRegistries = new ArrayList<PreservationActionRegistryDefinition>(); String configFile = "data/services/PreservationActionRegistries.xml"; InputStream config = Thread.currentThread().getContextClassLoader().getResourceAsStream(configFile); Digester digester = new Digester(); digester.setValidating(false); digester.setErrorHandler(new StrictErrorHandler()); digester.push(allRegistries); digester.addObjectCreate("*/registry", PreservationActionRegistryDefinition.class); digester.addBeanPropertySetter("*/registry/shortname", "shortname"); digester.addBeanPropertySetter("*/registry/logo", "logo"); digester.addBeanPropertySetter("*/registry/url", "url"); digester.addBeanPropertySetter("*/registry/type", "type"); digester.addBeanPropertySetter("*/registry/active", "active"); digester.addSetNext("*/registry", "add"); try { digester.setUseContextClassLoader(true); digester.parse(config); } catch (Exception e) { log.error("Error in config file: " + configFile, e); } return allRegistries; }
From source file:com.germinus.easyconf.DigesterLearningTest.java
private Object readConfig(Digester digester) throws IOException, SAXException { Object configuration;//from w w w . ja va2s . com digester.setUseContextClassLoader(true); digester.setValidating(false); URL confFile = ClasspathUtil.locateResource(null, "test_module.xml"); assertNotNull("Configuration file not found", confFile); configuration = digester.parse(confFile.openStream()); return configuration; }
From source file:net.sf.j2ep.ConfigParser.java
/** * Creates the rules.// w w w .j a v a2s.c o m * * @return The rules all put into a rule chain */ private LinkedList createServerList(File data) throws Exception { Digester digester = new Digester(); digester.setUseContextClassLoader(true); // Construct server list digester.addObjectCreate("config", LinkedList.class); // Create servers digester.addObjectCreate("config/server", null, "className"); digester.addSetProperties("config/server"); // Create rule digester.addObjectCreate("config/server/rule", null, "className"); digester.addSetProperties("config/server/rule"); digester.addSetNext("config/server/rule", "setRule"); // Create composite rule digester.addObjectCreate("config/server/composite-rule", null, "className"); digester.addSetProperties("config/server/composite-rule"); digester.addObjectCreate("config/server/composite-rule/rule", null, "className"); digester.addSetProperties("config/server/composite-rule/rule"); digester.addSetNext("config/server/composite-rule/rule", "addRule"); digester.addSetNext("config/server/composite-rule", "setRule"); // Add server to list digester.addSetNext("config/server", "add"); // Create cluster servers digester.addObjectCreate("config/cluster-server", null, "className"); digester.addSetProperties("config/cluster-server"); // Create the servers in this cluster digester.addCallMethod("config/cluster-server/server", "addServer", 2); digester.addCallParam("config/cluster-server/server", 0, "domainName"); digester.addCallParam("config/cluster-server/server", 1, "path"); // Create rule digester.addObjectCreate("config/cluster-server/rule", null, "className"); digester.addSetProperties("config/cluster-server/rule"); digester.addSetNext("config/cluster-server/rule", "setRule"); // Create composite rule digester.addObjectCreate("config/cluster-server/composite-rule", null, "className"); digester.addSetProperties("config/cluster-server/composite-rule"); digester.addObjectCreate("config/cluster-server/composite-rule/rule", null, "className"); digester.addSetProperties("config/cluster-server/composite-rule/rule"); digester.addSetNext("config/cluster-server/composite-rule/rule", "addRule"); digester.addSetNext("config/cluster-server/composite-rule", "setRule"); // Add server to list digester.addSetNext("config/cluster-server", "add"); return (LinkedList) digester.parse(data); }
From source file:com.nec.nsgui.exception.NSExceptionPlugIn.java
/** * read the exception config file by means of Digester, * and genetat the responding object/*from w w w . j a v a2 s . c om*/ * @param servlet The ActionServlet making this request * @param inputStream The Exception config file content * */ protected ExceptionConf parse(InputStream inputStream) throws Exception { Digester dgstr = new Digester(); ExceptionConf exConf; dgstr.setValidating(false); dgstr.setUseContextClassLoader(true); dgstr.addObjectCreate("ExceptionConf", ExceptionConf.class); //creat and add the ProcessRule object dgstr.addObjectCreate("ExceptionConf/ProcessRule", ProcessRule.class); dgstr.addSetProperties("ExceptionConf/ProcessRule"); dgstr.addSetNext("ExceptionConf/ProcessRule", "addProcessRule"); //creat and add the ProcessRule object 's child (ErrorMessage) dgstr.addObjectCreate("ExceptionConf/ProcessRule/ErrorMessage", ErrorMessage.class); dgstr.addSetProperties("ExceptionConf/ProcessRule/ErrorMessage"); //add the ErrorMessage 's child (arg) dgstr.addCallMethod("ExceptionConf/ProcessRule/ErrorMessage/arg", "addArg", 1); dgstr.addCallParam("ExceptionConf/ProcessRule/ErrorMessage/arg", 0, "property"); dgstr.addSetNext("ExceptionConf/ProcessRule/ErrorMessage", "addErrMsg"); //creat and add the ProcessRule object 's child (Dispatcher) dgstr.addObjectCreate("ExceptionConf/ProcessRule/Dispatcher", Dispatcher.class); dgstr.addSetProperties("ExceptionConf/ProcessRule/Dispatcher"); dgstr.addObjectCreate("ExceptionConf/ProcessRule/Dispatcher/ErrorMessage", ErrorMessage.class); dgstr.addSetNext("ExceptionConf/ProcessRule/Dispatcher/ErrorMessage", "addErrMsg"); dgstr.addSetProperties("ExceptionConf/ProcessRule/Dispatcher/ErrorMessage"); dgstr.addSetNext("ExceptionConf/ProcessRule/Dispatcher", "addDispatcher"); exConf = (ExceptionConf) dgstr.parse(inputStream); return exConf; }
From source file:net.jakubholy.jeeutils.jsfelcheck.beanfinder.jsf11.Jsf11FacesConfigXmlBeanFinder.java
protected Digester digester(boolean validateXml) { Digester digester = new Digester(); digester.setNamespaceAware(false);/* w w w .j a va2s . c o m*/ digester.setUseContextClassLoader(true); digester.setValidating(validateXml); digester.addRuleSet(new FacesConfigRuleSet(false, false, true)); for (int i = 0; i < DTD_INFO.length; i++) { URL url = getClass().getResource(DTD_INFO[i][0]); if (url != null) { digester.register(DTD_INFO[i][1], url.toString()); } else { throw new RuntimeException("NO_DTD_FOUND_ERROR: " + DTD_INFO[i][1] + "," + DTD_INFO[i][0]); } } digester.push(new FacesConfigBean()); return digester; }