org.apache.commons.digester.xmlrules.DigesterLoader Java Examples

The following examples show how to use org.apache.commons.digester.xmlrules.DigesterLoader. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: ValidatorResources.java    From lams with GNU General Public License v2.0 5 votes vote down vote up
/**
 *  Initialize the digester.
 */
private Digester initDigester() {
    URL rulesUrl = this.getClass().getResource(VALIDATOR_RULES);
    if (rulesUrl == null) {
        // Fix for Issue# VALIDATOR-195
        rulesUrl = ValidatorResources.class.getResource(VALIDATOR_RULES);
    }
    if (getLog().isDebugEnabled()) {
        getLog().debug("Loading rules from '" + rulesUrl + "'");
    }
    Digester digester = DigesterLoader.createDigester(rulesUrl);
    digester.setNamespaceAware(true);
    digester.setValidating(true);
    digester.setUseContextClassLoader(true);

    // Add rules for arg0-arg3 elements
    addOldArgRules(digester);

    // register DTDs
    for (int i = 0; i < REGISTRATIONS.length; i += 2) {
        URL url = this.getClass().getResource(REGISTRATIONS[i + 1]);
        if (url != null) {
            digester.register(REGISTRATIONS[i], url.toString());
        }
    }
    return digester;
}
 
Example #2
Source File: CustomerInvoiceWriteoffBatchDigesterTest.java    From kfs with GNU Affero General Public License v3.0 5 votes vote down vote up
/**
 * @return Rules loaded from the appropriate XML file
 */
private Rules loadRules(String digestorRulesFileName) {
    // locate Digester rules
    ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
    URL rulesUrl = classLoader.getResource(digestorRulesFileName);
    if (rulesUrl == null) {
        throw new RuntimeException("unable to locate digester rules file " + digestorRulesFileName);
    }

    // create and init digester
    Digester digester = DigesterLoader.createDigester(rulesUrl);

    return digester.getRules();
}
 
Example #3
Source File: CustomerLoadDigesterTest.java    From kfs with GNU Affero General Public License v3.0 5 votes vote down vote up
/**
 * @return Rules loaded from the appropriate XML file
 */
private Rules loadRules(String digestorRulesFileName) {
    // locate Digester rules
    ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
    URL rulesUrl = classLoader.getResource(digestorRulesFileName);
    if (rulesUrl == null) {
        throw new RuntimeException("unable to locate digester rules file " + digestorRulesFileName);
    }

    // create and init digester
    Digester digester = DigesterLoader.createDigester(rulesUrl);

    return digester.getRules();
}
 
Example #4
Source File: XmlBatchInputFileTypeBase.java    From kfs with GNU Affero General Public License v3.0 5 votes vote down vote up
/**
 * @return Rules loaded from the appropriate XML file
 */
protected Rules loadRules(String digestorRulesFileName) {
    // locate Digester rules
    ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
    URL rulesUrl = classLoader.getResource(digestorRulesFileName);
    if (rulesUrl == null) {
        throw new RuntimeException("unable to locate digester rules file " + digestorRulesFileName);
    }

    // create and init digester
    Digester digester = DigesterLoader.createDigester(rulesUrl);

    return digester.getRules();
}
 
Example #5
Source File: DigesterPipe.java    From iaf with Apache License 2.0 5 votes vote down vote up
@Override
public void configure() throws ConfigurationException {
	super.configure();

	try {
		rulesURL = ClassUtils.getResourceURL(getConfigurationClassLoader(), digesterRulesFile);
			 DigesterLoader.createDigester(rulesURL); // load rules to check if they can be loaded when needed
	} catch (Exception e) {
		throw new ConfigurationException(getLogPrefix(null)+"Digester rules file ["+digesterRulesFile+"] not found", e);
	}
	log.debug(getLogPrefix(null)+"End of configuration");
}
 
Example #6
Source File: DigesterPipe.java    From iaf with Apache License 2.0 5 votes vote down vote up
@Override
public PipeRunResult doPipe(Message message, IPipeLineSession session) throws PipeRunException {

	//Multi threading: instantiate digester for each request as the digester is NOT thread-safe.
	//TODO: make a pool of digesters
	Digester digester = DigesterLoader.createDigester(rulesURL);

	try {
		return new PipeRunResult(getForward(), digester.parse(message.asReader()));
	} catch (Exception e) {
		throw new PipeRunException(this, getLogPrefix(session)+"exception in digesting", e);
	}
}