Example usage for org.apache.commons.digester Digester setClassloader

List of usage examples for org.apache.commons.digester Digester setClassloader

Introduction

In this page you can find the example usage for org.apache.commons.digester Digester setClassloader.

Prototype

public void setClassloader(Bundle classLoader) 

Source Link

Usage

From source file:jenkins.uvision.CoverageParser.java

public static TestRun parse(InputStream in) throws IOException {
    if (in == null)
        throw new NullPointerException();
    Digester digester = new Digester();
    digester.setClassLoader(CoverageParser.class.getClassLoader());

    digester.addObjectCreate("TestRun", TestRun.class);
    digester.addObjectCreate("TestRun/SuccessfulTests", SuccessfulTests.class);

    digester.addObjectCreate("TestRun/SuccessfulTests/Test", Test.class);
    digester.addBeanPropertySetter("TestRun/SuccessfulTests/Test/File", "file");
    digester.addBeanPropertySetter("TestRun/SuccessfulTests/Test/Name", "name");
    digester.addBeanPropertySetter("TestRun/SuccessfulTests/Test/Coverage", "coverage");
    digester.addBeanPropertySetter("TestRun/SuccessfulTests/Test/Instructions", "instructions");
    digester.addSetProperties("TestRun/SuccessfulTests/Test", "id", "id");
    digester.addSetProperties("TestRun/SuccessfulTests/Test", "duration", "duration");

    digester.addSetNext("TestRun/SuccessfulTests/Test", "addTest");
    digester.addSetNext("TestRun/SuccessfulTests", "addSuccessfullTests");

    digester.addObjectCreate("TestRun/Statistics", Statistics.class);
    digester.addBeanPropertySetter("TestRun/Statistics/Tests", "tests");
    digester.addBeanPropertySetter("TestRun/Statistics/FailuresTotal", "failuresTotal");
    digester.addBeanPropertySetter("TestRun/Statistics/Errors", "errors");
    digester.addBeanPropertySetter("TestRun/Statistics/Ignored", "ignored");
    digester.addBeanPropertySetter("TestRun/Statistics/Failures", "failures");
    digester.addBeanPropertySetter("TestRun/Statistics/Duration", "duration");

    digester.addSetNext("TestRun/Statistics", "addStatistics");
    digester.addSetNext("TestRun/Statistics", "setStatistics");

    try {/*w  w  w  . ja va  2s  .  c o  m*/
        return (TestRun) digester.parse(in);
    } catch (SAXException e) {
        throw new IOException2("Cannot parse coverage results", e);
    }
}

From source file:hudson.plugins.clearcase.ClearCaseChangeLogSet.java

/**
 * Parses the change log stream and returns a ClearCase change log set.
 * /*w w  w  .  j  a v a  2s . co  m*/
 * @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);
}

From source file:hudson.plugins.clearcase.changelog.BaseChangeLogParser.java

@Override
public ChangeLogSet<BaseChangeLogEntry> parse(@SuppressWarnings("rawtypes") AbstractBuild build,
        File changelogFile) throws IOException, SAXException {
    FileInputStream fileInputStream = new FileInputStream(changelogFile);

    List<BaseChangeLogEntry> history = new ArrayList<BaseChangeLogEntry>();

    // Parse the change log file.
    Digester digester = new Digester();
    digester.setClassLoader(ClearCaseChangeLogSet.class.getClassLoader());
    digester.push(history);//from   www .  j  a  v  a 2  s  . com

    digester.addObjectCreate("*/entry", BaseChangeLogEntry.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", AffectedFile.class);
    digester.addBeanPropertySetter("*/entry/element/file", "name");
    digester.addBeanPropertySetter("*/entry/element/version");
    digester.addBeanPropertySetter("*/entry/element/action");
    digester.addBeanPropertySetter("*/entry/element/operation");
    digester.addSetNext("*/entry/element", "addFile");

    digester.addSetNext("*/entry", "add");
    digester.parse(fileInputStream);
    fileInputStream.close();

    return new BaseChangeLogSet(build, history);
}

From source file:hudson.plugins.javatest_report.Report.java

/**
 * Loads SQE report file into this {@link Report} object.
 *//*from   www.ja  v a2 s  . co  m*/
public void add(File reportXml) throws IOException, SAXException {
    Digester digester = new Digester();
    digester.setClassLoader(getClass().getClassLoader());

    digester.push(this);

    digester.addObjectCreate("*/testsuite", Suite.class);
    digester.addObjectCreate("*/test", Test.class);
    digester.addObjectCreate("*/testcase", TestCase.class);
    digester.addSetNext("*/testsuite", "add");
    digester.addSetNext("*/test", "add");
    digester.addSetNext("*/testcase", "add");

    // common properties applicable to more than one TestObjects.
    digester.addSetProperties("*/testsuite");
    digester.addSetProperties("*/test");
    digester.addSetProperties("*/testcase");
    digester.addBeanPropertySetter("*/name");
    digester.addBeanPropertySetter("*/description");
    digester.addSetProperties("*/status", "value", "statusString");
    digester.addCallMethod("*/attribute", "addAttribute", 2);
    digester.addCallParam("*/attribute/name", 0);
    digester.addCallParam("*/attribute/value", 1);

    digester.setValidating(false);
    digester.parse(reportXml);
}

From source file:hudson.plugins.clearcase.changelog.UcmChangeLogParser.java

/**
 * Parses the change log file and returns a ClearCase change log set.
 * /*w  ww . j  a  va2s . c  o m*/
 * @param build the build for the change log
 * @param changeLogFile the change log file
 * @return the change log set
 */
@Override
public UcmChangeLogSet parse(@SuppressWarnings("rawtypes") AbstractBuild build, File changeLogFile)
        throws IOException, SAXException {
    FileInputStream fileInputStream = new FileInputStream(changeLogFile);

    List<UcmActivity> history = new ArrayList<UcmActivity>();

    // Parse the change log file.
    Digester digester = new Digester();
    digester.setClassLoader(UcmChangeLogSet.class.getClassLoader());
    digester.push(history);
    digester.addObjectCreate("*/entry", UcmActivity.class);

    digester.addBeanPropertySetter("*/entry/name");
    digester.addBeanPropertySetter("*/entry/headline");
    digester.addBeanPropertySetter("*/entry/stream");
    digester.addBeanPropertySetter("*/entry/user");

    digester.addObjectCreate("*/subactivity", UcmActivity.class);
    digester.addBeanPropertySetter("*/subactivity/name");
    digester.addBeanPropertySetter("*/subactivity/headline");
    digester.addBeanPropertySetter("*/subactivity/stream");
    digester.addBeanPropertySetter("*/subactivity/user");
    digester.addSetNext("*/subactivity", "addSubActivity");

    digester.addObjectCreate("*/entry/file", AffectedFile.class);
    digester.addBeanPropertySetter("*/entry/file/name");
    digester.addBeanPropertySetter("*/entry/file/date", "dateStr");
    digester.addBeanPropertySetter("*/entry/file/comment");
    digester.addBeanPropertySetter("*/entry/file/version");
    digester.addBeanPropertySetter("*/entry/file/event");
    digester.addBeanPropertySetter("*/entry/file/operation");
    digester.addSetNext("*/entry/file", "addFile");

    digester.addSetNext("*/entry", "add");
    digester.parse(fileInputStream);
    fileInputStream.close();

    return new UcmChangeLogSet(build, history);
}

From source file:hudson.plugins.clearcase.ucm.UcmChangeLogParser.java

/**
 * Parses the change log stream and returns a ClearCase change log set.
 * /*  w  w w.j  a v  a  2s .co m*/
 * @param build the build for the change log
 * @param changeLogStream input stream containing the change log
 * @return the change log set
 */
UcmChangeLogSet parse(AbstractBuild<?, ?> build, InputStream changeLogStream) throws IOException, SAXException {

    ArrayList<UcmActivity> history = new ArrayList<UcmActivity>();

    // Parse the change log file.
    Digester digester = new Digester();
    digester.setClassLoader(UcmChangeLogSet.class.getClassLoader());
    digester.push(history);
    digester.addObjectCreate("*/entry", UcmActivity.class);

    digester.addBeanPropertySetter("*/entry/name");
    digester.addBeanPropertySetter("*/entry/headline");
    digester.addBeanPropertySetter("*/entry/stream");
    digester.addBeanPropertySetter("*/entry/user");

    digester.addObjectCreate("*/subactivity", UcmActivity.class);
    digester.addBeanPropertySetter("*/subactivity/name");
    digester.addBeanPropertySetter("*/subactivity/headline");
    digester.addBeanPropertySetter("*/subactivity/stream");
    digester.addBeanPropertySetter("*/subactivity/user");
    digester.addSetNext("*/subactivity", "addSubActivity");

    digester.addObjectCreate("*/entry/file", UcmActivity.File.class);
    digester.addBeanPropertySetter("*/entry/file/name");
    digester.addBeanPropertySetter("*/entry/file/date", "dateStr");
    digester.addBeanPropertySetter("*/entry/file/comment");
    digester.addBeanPropertySetter("*/entry/file/version");
    digester.addBeanPropertySetter("*/entry/file/event");
    digester.addBeanPropertySetter("*/entry/file/operation");
    digester.addSetNext("*/entry/file", "addFile");

    digester.addSetNext("*/entry", "add");
    digester.parse(changeLogStream);

    return new UcmChangeLogSet(build, history);
}

From source file:at.ac.tuwien.photohawk.taverna.model.evaluation.MeasurementsDescriptorParser.java

private Digester setupDigester() {
    Digester d = new Digester();
    d.setClassLoader(getClass().getClassLoader());
    // d.setUseContextClassLoader(true);
    d.push(this);

    /*//from   www.  j a v  a2  s  .  c  o m
     * <measurableProperties> <property>
     * <propertyId>object://image/dimension/width</propertyId> <name>image
     * width</name> <description>the width of an image in
     * pixel</description> <scale type="positiveInteger"> <unit>pixel</unit>
     * </scale> <possibleMetrics> <metric metricId="equal"/> <metric
     * metricId="indDiff"/> </possibleMetrics> </property>
     */
    d.addObjectCreate("*/property", MeasurableProperty.class);
    d.addSetNext("*/property", "addProperty");
    d.addBeanPropertySetter("*/property/category", "categoryAsString");
    d.addBeanPropertySetter("*/property/propertyId");
    d.addBeanPropertySetter("*/property/name");
    d.addBeanPropertySetter("*/property/description");
    d.addObjectCreate("*/property/possibleMetrics", ArrayList.class);
    d.addSetNext("*/property/possibleMetrics", "setPossibleMetrics");
    // d.addObjectCreate("*/property/possibleMetrics/metric", Metric.class);
    d.addObjectCreate("*/possibleMetrics/metric", Metric.class);
    d.addSetProperties("*/possibleMetrics/metric");
    d.addSetNext("*/possibleMetrics/metric", "add");

    /*
     * <metric> <name>equal</name> <description></description> <scale
     * type="boolean" /> </metric>
     */
    d.addObjectCreate("*/metrics/metric", Metric.class);
    d.addSetProperties("*/metrics/metric");
    d.addBeanPropertySetter("*/metrics/metric/metricId");
    d.addBeanPropertySetter("*/metrics/metric/name");
    d.addBeanPropertySetter("*/metrics/metric/description");
    d.addSetNext("*/metrics/metric", "addMetric");

    addCreateScale(d, BooleanScale.class);
    addCreateScale(d, FloatRangeScale.class);
    addCreateScale(d, FloatScale.class);
    addCreateScale(d, IntegerScale.class);
    addCreateScale(d, IntRangeScale.class);
    addCreateScale(d, OrdinalScale.class);
    addCreateScale(d, PositiveFloatScale.class);
    addCreateScale(d, PositiveIntegerScale.class);
    addCreateScale(d, YanScale.class);
    addCreateScale(d, FreeStringScale.class);
    return d;
}

From source file:hudson.plugins.ccm.parser.CcmParser.java

@Override
public Collection<FileAnnotation> parse(InputStream file, String moduleName) throws InvocationTargetException {
    try {/*from w ww  .ja va 2s . co  m*/
        Digester digester = new Digester();
        digester.setValidating(false);
        digester.setClassLoader(CcmParser.class.getClassLoader());

        String rootXPath = "ccm";
        digester.addObjectCreate(rootXPath, Ccm.class);
        digester.addSetProperties(rootXPath);

        String fileMetric = "ccm/metric";
        digester.addObjectCreate(fileMetric, Metric.class);
        digester.addSetProperties(fileMetric);
        digester.addBeanPropertySetter("ccm/metric/complexity");
        digester.addBeanPropertySetter("ccm/metric/unit");
        digester.addBeanPropertySetter("ccm/metric/classification");
        digester.addBeanPropertySetter("ccm/metric/file");
        digester.addBeanPropertySetter("ccm/metric/startLineNumber");
        digester.addBeanPropertySetter("ccm/metric/endLineNumber");
        digester.addSetNext(fileMetric, "addMetric", Metric.class.getName());

        Ccm module = (Ccm) digester.parse(file);
        if (module == null) {
            throw new SAXException("Input stream is not a CCM file.");
        }

        return convert(module, moduleName);
    } catch (IOException exception) {
        throw new InvocationTargetException(exception);
    } catch (SAXException exception) {
        throw new InvocationTargetException(exception);
    }
}

From source file:hudson.plugins.debt.parser.DebtParser.java

/** {@inheritDoc} */
@Override/*  ww  w.j  av a  2  s . co  m*/
public Collection<FileAnnotation> parse(final InputStream file, final String moduleName)
        throws InvocationTargetException {

    System.out.println(">>>>>>>>>>>>>>>>>>>>>>>>>>>entered DebtParser.parse()");

    try {
        Digester digester = new Digester();
        digester.setValidating(false);
        digester.setClassLoader(DebtParser.class.getClassLoader());

        String rootXPath = "debt";
        digester.addObjectCreate(rootXPath, Debt.class);
        digester.addSetProperties(rootXPath);

        String fileXPath = "debt/file";
        digester.addObjectCreate(fileXPath, hudson.plugins.debt.parser.File.class);
        digester.addSetProperties(fileXPath);
        digester.addSetNext(fileXPath, "addFile", hudson.plugins.debt.parser.File.class.getName());

        String bugXPath = "debt/file/violation";
        digester.addObjectCreate(bugXPath, Violation.class);
        digester.addSetProperties(bugXPath);
        digester.addCallMethod(bugXPath, "setMessage", 0);
        digester.addSetNext(bugXPath, "addViolation", Violation.class.getName());

        Debt module = (Debt) digester.parse(file);
        if (module == null) {
            throw new SAXException("Input stream is not a valid Debt file.");
        }

        return convert(module, moduleName);
    } catch (IOException exception) {
        throw new InvocationTargetException(exception);
    } catch (SAXException exception) {
        throw new InvocationTargetException(exception);
    }
}

From source file:at.tuwien.minimee.registry.MiniMeeRegistry.java

/**
 * Trashes current registry information and loads the information of the XML file, which is provided
 * by the input stream <param>config</config>.
 * // w w  w .j  a v  a  2  s  .  c o  m
 *  @throws PlatoServiceException if the stream can't be parsed. 
 */
public void reloadFrom(String configFile) throws PlatoServiceException {
    Digester d = new Digester();
    d.setValidating(false);
    StrictErrorHandler errorHandler = new StrictErrorHandler();
    d.setErrorHandler(errorHandler);
    d.setClassLoader(PreservationActionServiceFactory.class.getClassLoader());

    services.clear();

    d.push(services);
    d.addFactoryCreate("*/preservationActionService", PreservationActionServiceFactory.class);
    d.addSetNext("*/preservationActionService", "add");
    d.addCallMethod("*/preservationActionService/name", "setName", 0);
    d.addCallMethod("*/preservationActionService/description", "setDescription", 0);
    d.addCallMethod("*/preservationActionService/descriptor", "setDescriptor", 0);

    d.addObjectCreate("*/preservationActionService/sourceFormats", ArrayList.class);
    d.addSetNext("*/preservationActionService/sourceFormats", "setSourceFormats");

    d.addObjectCreate("*/preservationActionService/sourceFormats/format", FormatInfo.class);
    d.addBeanPropertySetter("*/format/puid", "puid");
    d.addBeanPropertySetter("*/format/name", "name");
    d.addBeanPropertySetter("*/format/extension", "defaultExtension");
    d.addSetNext("*/preservationActionService/sourceFormats/format", "add");

    d.addObjectCreate("*/preservationActionService/targetFormat", FormatInfo.class);
    d.addBeanPropertySetter("*/targetFormat/puid", "puid");
    d.addBeanPropertySetter("*/targetFormat/name", "name");
    d.addBeanPropertySetter("*/targetFormat/extension", "defaultExtension");
    d.addSetNext("*/preservationActionService/targetFormat", "setTargetFormat");

    d.addCallMethod("*/preservationActionService/url", "setUrl", 0);

    d.addObjectCreate("*/preservationActionService/externalInfo", ArrayList.class);
    d.addSetNext("*/preservationActionService/externalInfo", "setExternalInfo");
    d.addCallMethod("*/preservationActionService/externalInfo/url", "add", 0);

    try {
        InputStream config = Thread.currentThread().getContextClassLoader().getResourceAsStream(configFile);

        d.parse(config);
    } catch (IOException e) {
        throw new PlatoServiceException("Could not read registry data.", e);
    } catch (SAXException e) {
        throw new PlatoServiceException("Could not read registry data.", e);
    }
}