List of usage examples for org.apache.commons.digester.xmlrules DigesterLoader createDigester
public static Digester createDigester(URL rulesXml)
From source file:com.panet.imeta.core.config.DigesterConfigManager.java
/** * Loads the configuration parameters by delegating to commons digester. *///from w ww. ja v 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:com.discursive.jccook.xml.bean.VariableSubExample.java
public void testDigest() throws Exception { List emails = new ArrayList(); Map vars = new HashMap(); vars.put("email.to", "tobrien@discursive.com"); vars.put("user.name", "Tim"); vars.put("order.id", "1RR2E223WVVS"); vars.put("product.name", "Foundation"); MultiVariableExpander expander = new MultiVariableExpander(); expander.addSource("$", vars); Substitutor substitutor = new VariableSubstitutor(expander); InputStream input = getClass().getResourceAsStream("./email.xml"); URL rules = getClass().getResource("./email-rules.xml"); Digester digester = DigesterLoader.createDigester(rules); digester.setSubstitutor(substitutor); digester.push(emails);/*w w w. ja v a 2 s.c o m*/ digester.parse(input); System.out.println("Resulting Email: " + emails.get(0)); }
From source file:com.discursive.jccook.xml.bean.BetwixtExample.java
public void testCustomXmlOutput() throws Exception { List plays = new ArrayList(); InputStream input = getClass().getResourceAsStream("./plays.xml"); URL rules = getClass().getResource("./play-rules.xml"); Digester digester = DigesterLoader.createDigester(rules); digester.push(plays);/*from w w w .j av a 2 s . c o m*/ Object root = digester.parse(input); logger.debug("Number of plays: " + plays.size()); Play play = (Play) plays.get(0); BeanWriter beanWriter = new BeanWriter(); beanWriter.enablePrettyPrint(); beanWriter.write(play); logger.debug(beanWriter.toString()); }
From source file:de.mpg.escidoc.services.syndication.Feeds.java
/** * Unmarshalling of the feed definitions XML file on hand of the feeds digester rules * @param rulesFileName is URI of the digester rules file * @param feedsFileName is URI of the feed definitions file * @return feed collection class/*from ww w. j a v a2s . c o m*/ * @throws SyndicationException */ public static Feeds readFeedsFromXml(String rulesFileName, String feedsFileName) throws SyndicationException { URL rules = Feeds.class.getClassLoader().getResource(rulesFileName); Digester digester = DigesterLoader.createDigester(rules); digester.setNamespaceAware(false); Feeds fs = null; try { InputStream input = ResourceUtil.getResourceAsStream(feedsFileName, Feeds.class.getClassLoader()); fs = (Feeds) digester.parse(input); } catch (Exception e) { throw new SyndicationException("Cannot parse: " + feedsFileName, e); } return fs; }
From source file:fr.paris.lutece.plugins.updater.service.catalog.CatalogService.java
/** * Load a catalog list from a reader object * @param reader The reader// w w w.j av a2 s .c o m */ private void loadCatalogsList(Reader reader) { // Configure Digester from XML ruleset URL rules = getClass().getResource(FILE_CATALOGS_LIST_RULES); Digester digester = DigesterLoader.createDigester(rules); // Push empty List onto Digester's Stack digester.push(this); try { digester.parse(reader); } catch (FileNotFoundException e) { AppLogService.error(EXCEPTION_MESSAGE + e.getMessage(), e); } catch (SAXException e) { AppLogService.error(EXCEPTION_MESSAGE + e.getMessage(), e); } catch (IOException e) { AppLogService.error(EXCEPTION_MESSAGE + e.getMessage(), e); } }
From source file:com.agnie.useradmin.tools.dbinit.DBInitializer.java
@Transactional public void createPermissionsRoles(Application dm) throws Exception { HashMap<String, Permission> permMapping = new HashMap<String, Permission>(); List<Permission> pms = new ArrayList<Permission>(); InputStream input = getClass().getResourceAsStream("permissions.xml"); URL rules = getClass().getResource("permission-digester-rule.xml"); Digester digester = DigesterLoader.createDigester(rules); digester.push(pms);//from ww w .j a v a2 s . c o m digester.parse(input); for (Permission pm : pms) { pm.setId(java.util.UUID.randomUUID().toString()); pm.setApplication(dm); em.get().persist(pm); permMapping.put(pm.getCode(), pm); } createRole(permMapping, dm); }
From source file:fr.paris.lutece.plugins.updater.service.catalog.CatalogService.java
/** * Load a catalog from a reader object/*from w ww .j a va 2 s . c om*/ * @param reader The reader */ private void load(Reader reader) { // Configure Digester from XML ruleset URL rules = getClass().getResource(FILE_CATALOG_RULES); Digester digester = DigesterLoader.createDigester(rules); // Push empty List onto Digester's Stack digester.push(this); try { digester.parse(reader); } catch (FileNotFoundException e) { AppLogService.error(EXCEPTION_MESSAGE + e.getMessage(), e); } catch (SAXException e) { AppLogService.error(EXCEPTION_MESSAGE + e.getMessage(), e); } catch (IOException e) { AppLogService.error(EXCEPTION_MESSAGE + e.getMessage(), e); } }
From source file:com.agnie.useradmin.tools.dbinit.DBInitializer.java
@Transactional public void createRole(HashMap<String, Permission> permMapping, Application dm) throws Exception { List<DummyRole> rls = new ArrayList<DummyRole>(); InputStream input = getClass().getResourceAsStream("roles.xml"); URL rules = getClass().getResource("role-digester-rule.xml"); Digester digester = DigesterLoader.createDigester(rules); digester.push(rls);//from w ww .j a va 2s . c om digester.parse(input); List<Permission> pms = null; for (DummyRole dummyRole : rls) { pms = new ArrayList<Permission>(); Role rl = new Role(); rl.setId(java.util.UUID.randomUUID().toString()); rl.setName(dummyRole.getName()); rl.setDescription(dummyRole.getDescription()); rl.setLevel(dummyRole.getAuthLevel()); rl.setApplication(dm); List<String> rlPms = dummyRole.getPermissions(); for (String rlpm : rlPms) { pms.add(permMapping.get(rlpm)); } rl.setPermissions(pms); em.get().persist(rl); } }
From source file:fr.paris.lutece.portal.service.plugin.PluginFile.java
/** * Load plugin data from the XML file using Jakarta Commons Digester * @param strFilename The XML plugin filename * @throws fr.paris.lutece.portal.service.init.LuteceInitException If a problem occured during the loading */// w ww .j a v a2s. c o m public void load(String strFilename) throws LuteceInitException { // Configure Digester from XML ruleset URL rules = getClass().getResource(FILE_RULES); Digester digester = DigesterLoader.createDigester(rules); // Push empty List onto Digester's Stack digester.push(this); digester.setValidating(false); try { InputStream input = new FileInputStream(strFilename); digester.parse(input); } catch (FileNotFoundException e) { throw new LuteceInitException("Error loading plugin file : " + strFilename, e); } catch (SAXException e) { throw new LuteceInitException("Error loading plugin file : " + strFilename, e); } catch (IOException e) { throw new LuteceInitException("Error loading plugin file : " + strFilename, e); } }
From source file:com.germinus.easyconf.ConfigurationLoader.java
/** * Read an XML file and return an Object representation of its contents *//* w w w.j ava 2s . com*/ Object loadXMLFile(URL confFileUrl, ComponentProperties properties) throws IOException, SAXException { log.debug("Loading XML file: " + confFileUrl); String componentName = properties.getComponentName(); String rulesFileName = componentName + Conventions.DIGESTERRULES_EXTENSION; URL digesterRulesUrl = ClasspathUtil.locateResource(rulesFileName); if (digesterRulesUrl == null) { throw new DigesterRulesNotFoundException(componentName, rulesFileName); } Digester digester = DigesterLoader.createDigester(digesterRulesUrl); digester.setUseContextClassLoader(true); digester.setValidating(false); MultiVariableExpander expander = new MultiVariableExpander(); expander.addSource("$", properties.toMap()); Substitutor substitutor = new VariableSubstitutor(expander); digester.setSubstitutor(substitutor); try { Object confObj = digester.parse(confFileUrl.openStream()); log.info("Read configuration from " + confFileUrl); return confObj; } catch (IllegalArgumentException e) { //FIXME: it does not catch the exception throw new InvalidPropertyException(properties.getComponentName(), e); } }