/** * Creates a new digester which rules are defined by analyzing the digester * annotations in the target class. * * @param target the class has to be analyzed. * @return a new Digester instance. */ public Digester createDigester(final Class<?> target) { Digester digester = new Digester(); digester.setClassLoader(target.getClassLoader()); addRules(target, digester); return digester; }
/** * Given the digester rules XML file, a class loader, and an input stream, * this method parses the input into Java objects. The class loader * is used by the digester to create the Java objects. * @param digesterRules URL to the XML document defining the digester rules * @param classLoader the ClassLoader to register with the digester * @param input InputStream over the XML file to parse into Java objects * @return an Object which is the root of the network of Java objects * created by digesting fileURL */ public static Object load(URL digesterRules, ClassLoader classLoader, InputStream input) throws IOException, SAXException, DigesterLoadingException { Digester digester = createDigester(digesterRules); digester.setClassLoader(classLoader); try { return digester.parse(input); } catch (XmlLoadException ex) { // This is a runtime exception that can be thrown by // FromXmlRuleSet#addRuleInstances, which is called by the Digester // before it parses the file. throw new DigesterLoadingException(ex.getMessage(), ex); } }
/** * Given the digester rules XML file, a class loader, and an input stream, * this method parses the input into Java objects. The class loader * is used by the digester to create the Java objects. * @param digesterRules URL to the XML document defining the digester rules * @param classLoader the ClassLoader to register with the digester * @param reader Reader over the XML file to parse into Java objects * @return an Object which is the root of the network of Java objects * created by digesting fileURL */ public static Object load( URL digesterRules, ClassLoader classLoader, Reader reader) throws IOException, SAXException, DigesterLoadingException { Digester digester = createDigester(digesterRules); digester.setClassLoader(classLoader); try { return digester.parse(reader); } catch (XmlLoadException ex) { // This is a runtime exception that can be thrown by // FromXmlRuleSet#addRuleInstances, which is called by the Digester // before it parses the file. throw new DigesterLoadingException(ex.getMessage(), ex); } }
/** * Given the digester rules XML file, a class loader, and an input stream, * this method parses the input into Java objects. The class loader * is used by the digester to create the Java objects. * @param digesterRules URL to the XML document defining the digester rules * @param classLoader the ClassLoader to register with the digester * @param input InputStream over the XML file to parse into Java objects * @param rootObject an Object to push onto the digester's stack, prior * to parsing the input * @return an Object which is the root of the network of Java objects * created by digesting fileURL */ public static Object load(URL digesterRules, ClassLoader classLoader, InputStream input, Object rootObject) throws IOException, SAXException, DigesterLoadingException { Digester digester = createDigester(digesterRules); digester.setClassLoader(classLoader); digester.push(rootObject); try { return digester.parse(input); } catch (XmlLoadException ex) { // This is a runtime exception that can be thrown by // FromXmlRuleSet#addRuleInstances, which is called by the Digester // before it parses the file. throw new DigesterLoadingException(ex.getMessage(), ex); } }
DigesterLoadingException { Digester digester = createDigester(digesterRules); digester.setClassLoader(classLoader); digester.push(rootObject); try {
private ResourceConfigReader() { digester = new Digester(); // digester.setLogger(LOG); // Too many log messages. digester.setClassLoader(Thread.currentThread().getContextClassLoader()); init(); }
private ResourceConfigReader() { digester = new Digester(); // digester.setLogger(LOG); // Too many log messages. digester.setClassLoader(Thread.currentThread().getContextClassLoader()); init(); }
public ResourceConfigReader(ClassLoader cl) { digester = new Digester(); // digester.setLogger(LOG); // Too many log messages. digester.setClassLoader(cl); init(); }
/** {@inheritDoc} */ @Override public boolean accepts(final InputStream file) { try { Digester digester = new Digester(); digester.setValidating(false); digester.setClassLoader(CpdParser.class.getClassLoader()); String duplicationXPath = "*/pmd-cpd"; digester.addObjectCreate(duplicationXPath, String.class); Object result = digester.parse(file); if (result instanceof String) { return true; } } catch (IOException exception) { // ignore and return false } catch (SAXException exception) { // ignore and return false } return false; }
/** * Given the digester rules XML file, a class loader, and an input stream, * this method parses the input into Java objects. The class loader * is used by the digester to create the Java objects. * @param digesterRules URL to the XML document defining the digester rules * @param classLoader the ClassLoader to register with the digester * @param input InputStream over the XML file to parse into Java objects * @return an Object which is the root of the network of Java objects * created by digesting fileURL */ public static Object load(URL digesterRules, ClassLoader classLoader, InputStream input) throws IOException, SAXException, DigesterLoadingException { Digester digester = createDigester(digesterRules); digester.setClassLoader(classLoader); try { return digester.parse(input); } catch (XmlLoadException ex) { // This is a runtime exception that can be thrown by // FromXmlRuleSet#addRuleInstances, which is called by the Digester // before it parses the file. throw new DigesterLoadingException(ex.getMessage(), ex); } }
/** * Given the digester rules XML file, a class loader, and an input stream, * this method parses the input into Java objects. The class loader * is used by the digester to create the Java objects. * @param digesterRules URL to the XML document defining the digester rules * @param classLoader the ClassLoader to register with the digester * @param reader Reader over the XML file to parse into Java objects * @return an Object which is the root of the network of Java objects * created by digesting fileURL */ public static Object load( URL digesterRules, ClassLoader classLoader, Reader reader) throws IOException, SAXException, DigesterLoadingException { Digester digester = createDigester(digesterRules); digester.setClassLoader(classLoader); try { return digester.parse(reader); } catch (XmlLoadException ex) { // This is a runtime exception that can be thrown by // FromXmlRuleSet#addRuleInstances, which is called by the Digester // before it parses the file. throw new DigesterLoadingException(ex.getMessage(), ex); } }
public ExtractChangeLogSet parse(AbstractBuild build, InputStream changeLogStream) throws IOException, SAXException { ArrayList<ExtractChangeLogEntry> changeLog = new ArrayList<ExtractChangeLogEntry>(); Digester digester = new Digester(); digester.setClassLoader(ExtractChangeLogSet.class.getClassLoader()); digester.push(changeLog); digester.addObjectCreate("*/extractChanges/entry", ExtractChangeLogEntry.class); digester.addBeanPropertySetter("*/extractChanges/entry/zipFile"); digester.addObjectCreate("*/extractChanges/entry/file", FileInZip.class); digester.addBeanPropertySetter("*/extractChanges/entry/file/fileName"); digester.addSetNext("*/extractChanges/entry/file", "addFile"); digester.addSetNext("*/extractChanges/entry", "add"); digester.parse(changeLogStream); return new ExtractChangeLogSet(build, changeLog); }
@SuppressWarnings("rawtypes") public ExtractChangeLogSet parse(AbstractBuild build, InputStream changeLogStream) throws IOException, SAXException { ArrayList<ExtractChangeLogEntry> changeLog = new ArrayList<ExtractChangeLogEntry>(); Digester digester = new Digester(); digester.setClassLoader(ExtractChangeLogSet.class.getClassLoader()); digester.push(changeLog); digester.addObjectCreate("*/extractChanges/entry", ExtractChangeLogEntry.class); digester.addBeanPropertySetter("*/extractChanges/entry/zipFile"); digester.addObjectCreate("*/extractChanges/entry/file", FileInZip.class); digester.addBeanPropertySetter("*/extractChanges/entry/file/fileName"); digester.addSetNext("*/extractChanges/entry/file", "addFile"); digester.addSetNext("*/extractChanges/entry", "add"); digester.parse(changeLogStream); return new ExtractChangeLogSet(build, changeLog); }
/** * Parses the FindBugs pattern description. * * @param file * XML file with the messages * @return a list of parsed patterns * @throws SAXException * if we can't parse the file * @throws IOException * if we can't read the file */ public List<Pattern> parse(final InputStream file) throws IOException, SAXException { Digester digester = new Digester(); digester.setValidating(false); digester.setClassLoader(FindBugsMessages.class.getClassLoader()); List<Pattern> patterns = new ArrayList<Pattern>(); digester.push(patterns); String startPattern = "*/BugPattern"; digester.addObjectCreate(startPattern, Pattern.class); digester.addSetProperties(startPattern); digester.addCallMethod("*/BugPattern/Details", "setDescription", 0); digester.addCallMethod("*/BugPattern/ShortDescription", "setShortDescription", 0); digester.addSetNext(startPattern, "add"); digester.parse(file); return patterns; }
/** * Creates a new digester. * * @return the new digester. * @throws ParserConfigurationException * if digester is not configured properly */ private Digester createDigester() throws ParserConfigurationException { Digester digester = new Digester(); digester.setValidating(false); digester.setClassLoader(CheckStyleRules.class.getClassLoader()); String section = "*/section"; digester.addObjectCreate(section, Rule.class); digester.addSetProperties(section); digester.addSetNext(section, "add"); String subSection = "*/section/subsection"; digester.addObjectCreate(subSection, Topic.class); digester.addSetProperties(subSection); digester.addSetNext(subSection, "setDescription"); digester.addRule(subSection, new TopicRule()); return digester; }
/** * Initializes the digester. * * @param validating whether or not to validate XML. * @param validatingSchema whether or not to validate XML schema. */ protected void initDigester(boolean validating, boolean validatingSchema) { digester = new Digester(); digester.setNamespaceAware(true); digester.setClassLoader(this.classLoadHelper.getClassLoader()); digester.setValidating(validating); initSchemaValidation(validatingSchema); digester.setEntityResolver(this); digester.setErrorHandler(this); if (addCustomDigesterRules(digester)) { addDefaultDigesterRules(digester); } }
/** * Initializes the digester. * * @param validating whether or not to validate XML. * @param validatingSchema whether or not to validate XML schema. */ protected void initDigester(boolean validating, boolean validatingSchema) { digester = new Digester(); digester.setNamespaceAware(true); digester.setClassLoader(this.classLoadHelper.getClassLoader()); digester.setValidating(validating); initSchemaValidation(validatingSchema); digester.setEntityResolver(this); digester.setErrorHandler(this); if (addCustomDigesterRules(digester)) { addDefaultDigesterRules(digester); } }
public SubversionChangeLogSet parse(AbstractBuild build, File changelogFile) throws IOException, SAXException { // http://svn.collab.net/repos/svn/trunk/subversion/svn/schema/ Digester digester = new Digester(); ArrayList<LogEntry> r = new ArrayList<LogEntry>(); digester.push(r); digester.setClassLoader(LogEntry.class.getClassLoader()); digester.addObjectCreate("*/logentry", LogEntry.class); digester.addSetProperties("*/logentry"); digester.addBeanPropertySetter("*/logentry/author","user"); digester.addBeanPropertySetter("*/logentry/date"); digester.addBeanPropertySetter("*/logentry/msg"); digester.addSetNext("*/logentry","add"); digester.addObjectCreate("*/logentry/paths/path", Path.class); digester.addSetProperties("*/logentry/paths/path"); digester.addBeanPropertySetter("*/logentry/paths/path","value"); digester.addSetNext("*/logentry/paths/path","addPath"); try { digester.parse(changelogFile); } catch (IOException e) { throw new IOException2("Failed to parse "+changelogFile,e); } catch (SAXException e) { throw new IOException2("Failed to parse "+changelogFile,e); } catch (NullPointerException e) { throw new IOException2("Failed to parse "+changelogFile,e); } return new SubversionChangeLogSet(build,r); }
digester.setClassLoader(getClass().getClassLoader());
/** * Parses the change log stream and returns a ClearCase change log set. * * @param build the build for the change log * @param changeLogStream input stream containing the change log * @return the change log set */ static ClearCaseChangeLogSet parse(AbstractBuild<?, ?> build, InputStream changeLogStream) throws IOException, SAXException { ArrayList<ClearCaseChangeLogEntry> history = new ArrayList<ClearCaseChangeLogEntry>(); // Parse the change log file. Digester digester = new Digester(); digester.setClassLoader(ClearCaseChangeLogSet.class.getClassLoader()); digester.push(history); digester.addObjectCreate("*/entry", ClearCaseChangeLogEntry.class); digester.addBeanPropertySetter("*/entry/date", "dateStr"); digester.addBeanPropertySetter("*/entry/comment"); digester.addBeanPropertySetter("*/entry/user"); digester.addBeanPropertySetter("*/entry/file"); digester.addBeanPropertySetter("*/entry/action"); digester.addBeanPropertySetter("*/entry/version"); digester.addObjectCreate("*/entry/element", ClearCaseChangeLogEntry.FileElement.class); digester.addBeanPropertySetter("*/entry/element/file"); digester.addBeanPropertySetter("*/entry/element/version"); digester.addBeanPropertySetter("*/entry/element/action"); digester.addBeanPropertySetter("*/entry/element/operation"); digester.addSetNext("*/entry/element", "addElement"); digester.addSetNext("*/entry", "add"); digester.parse(changeLogStream); return new ClearCaseChangeLogSet(build, history); }