Example usage for org.apache.commons.digester3 Digester addCallMethod

List of usage examples for org.apache.commons.digester3 Digester addCallMethod

Introduction

In this page you can find the example usage for org.apache.commons.digester3 Digester addCallMethod.

Prototype

public void addCallMethod(String pattern, String methodName, int paramCount) 

Source Link

Document

Add an "call method" rule for the specified parameters.

Usage

From source file:com.thoughtworks.go.plugin.infra.plugininfo.GoPluginDescriptorParser.java

public static GoPluginDescriptor parseXML(InputStream pluginXML, String pluginJarFileLocation,
        File pluginBundleLocation, boolean isBundledPlugin) throws IOException, SAXException {
    Digester digester = initDigester();
    GoPluginDescriptorParser parserForThisXML = new GoPluginDescriptorParser(pluginJarFileLocation,
            pluginBundleLocation, isBundledPlugin);
    digester.push(parserForThisXML);/*from w  ww .  ja va  2s  . c  o m*/

    digester.addCallMethod("go-plugin", "createPlugin", 2);
    digester.addCallParam("go-plugin", 0, "id");
    digester.addCallParam("go-plugin", 1, "version");

    digester.addCallMethod("go-plugin/about", "createAbout", 4);
    digester.addCallParam("go-plugin/about/name", 0);
    digester.addCallParam("go-plugin/about/version", 1);
    digester.addCallParam("go-plugin/about/target-go-version", 2);
    digester.addCallParam("go-plugin/about/description", 3);

    digester.addCallMethod("go-plugin/about/vendor", "createVendor", 2);
    digester.addCallParam("go-plugin/about/vendor/name", 0);
    digester.addCallParam("go-plugin/about/vendor/url", 1);

    digester.addCallMethod("go-plugin/about/target-os/value", "addTargetOS", 1);
    digester.addCallParam("go-plugin/about/target-os/value", 0);

    digester.parse(pluginXML);

    return parserForThisXML.descriptor;
}

From source file:br.univali.celine.lms.config.LMSConfig.java

private static void doBuildConfig(String path) throws Exception {

    Digester d = new Digester();
    d.setUseContextClassLoader(true);/*from  w  w w .j  a  v a 2  s  .c  o m*/
    d.push(config);

    d.addCallMethod("*/courses-folder", "setCoursesFolder", 0);
    //        d.addCallMethod("*/login-page", "setLoginPage", 0);
    d.addCallMethod("*/registerCourseOnImport", "setRegisterCourseOnImport", 0);
    d.addCallMethod("*/registerUserOnInsertCourse", "setRegisterUserOnInsert", 0);
    d.addCallMethod("*/error-page", "setErrorPage", 0);
    d.addCallMethod("*/lmsIntegration", "setLMSIntegration", 0);

    d.addObjectCreate("*/database-source/rdb", RDBDAO.class);
    d.addSetNestedProperties("*/database-source/rdb");
    d.addSetNext("*/database-source/rdb", "setDAO");

    d.addObjectCreate("*/database-source/xml", XMLDAO.class);
    d.addCallMethod("*/database-source/xml", "setFileName", 0);
    d.addSetNext("*/database-source/xml", "setDAO");

    d.addObjectCreate("*/database-source/bean", "", "class"); // devido a um bug da versao 3.3 tive que fazer esse workaround !!!
    //d.addObjectCreate("*/database-source/bean", "class", DAO.class); 
    d.addSetNext("*/database-source/bean", "setDAO");

    d.addRule("*/database-source/bean/bean-attribute", new BeanSetterAttribute());

    String fileName = path + "/celine-config.xml";
    java.io.File srcfile = new java.io.File(fileName);
    d.parse(srcfile);

    if (config.dao == null)
        throw new Exception("DAO is not defined at celine-config.xml");

    config.dao.initialize();

}

From source file:br.univali.celine.scorm1_2.model.cam.ContentPackageReader12.java

protected void beforeOrganizationItemSetNext(Digester d) {
    d.addCallMethod("*/item/adlcp:datafromlms", "setDataFromLMS", 0);
    d.addCallMethod("*/item/datafromlms", "setDataFromLMS", 0);
}

From source file:br.univali.celine.scorm.model.cam.ContentPackageReader20043rd.java

protected void addCompletionThreshold(Digester d) {
    d.addCallMethod("*/item/completionThreshold", "setCompletionThreshold", 0);
}

From source file:br.univali.celine.scorm.model.cam.ContentPackageReader20043rd.java

protected void addOrganizationTitle(Digester d) {
    d.addCallMethod("manifest/organizations/organization/title", "setTitle", 0);
}

From source file:br.univali.celine.scorm.model.cam.ContentPackageReader20043rd.java

protected void addMetadata(Digester d) {
    d.addObjectCreate("*/metadata", Metadata.class);

    d.addCallMethod("*/metadata/adlcp:location", "setLocation", 0);
    d.addCallMethod("*/metadata/schema", "setSchema", 0);
    d.addCallMethod("*/metadata/schemaversion", "setSchemaversion", 0);

    d.addSetNext("*/metadata", "setMetadata");
    //        d.addSetNestedProperties("*/metadata");
}

From source file:eu.scape_project.planning.xml.PlanParser.java

/**
 * This method adds rules for name, properties, scales, modes and mappings
 * only! Rules for importing measured values of alternatives are defined
 * seperately in importProjects()! (Refactored to its own method by Kevin)
 * /*from www .  ja v  a2  s . c  o m*/
 * @param digester
 *            the digester
 */
private static void addTreeParsingRulesToDigester(final Digester digester) {
    digester.addObjectCreate("*/plan/tree", ObjectiveTree.class);
    digester.addSetProperties("*/plan/tree");
    digester.addSetNext("*/plan/tree", "setTree");

    digester.addObjectCreate("*/node/node", Node.class);
    digester.addSetProperties("*/node/node");
    digester.addSetNext("*/node/node", "addChild");

    digester.addCallMethod("*/node/description", "setDescription", 0);

    digester.addObjectCreate("*/plan/tree/node", Node.class);
    digester.addSetProperties("*/plan/tree/node");
    digester.addSetNext("*/plan/tree/node", "setRoot");

    digester.addObjectCreate("*/leaf", Leaf.class);
    digester.addSetProperties("*/leaf");
    digester.addSetNext("*/leaf", "addChild");
    digester.addFactoryCreate("*/leaf/aggregationMode", SampleAggregationModeFactory.class);
    digester.addSetNext("*/leaf/aggregationMode", "setAggregationMode");

    digester.addCallMethod("*/leaf/description", "setDescription", 0);

    PlanParser.addMeasureRules(digester, "*/measure");

    /*
     * for each scale-type a set of rules
     */
    PlanParser.addCreateScale(digester, BooleanScale.class);
    PlanParser.addCreateScale(digester, FloatRangeScale.class);
    PlanParser.addCreateScale(digester, FloatScale.class);
    PlanParser.addCreateScale(digester, IntegerScale.class);
    PlanParser.addCreateScale(digester, IntRangeScale.class);
    PlanParser.addCreateScale(digester, OrdinalScale.class);
    PlanParser.addCreateScale(digester, PositiveFloatScale.class);
    PlanParser.addCreateScale(digester, PositiveIntegerScale.class);
    PlanParser.addCreateScale(digester, YanScale.class);
    PlanParser.addCreateScale(digester, FreeStringScale.class);

    /*
     * for each transformer type a set of rules
     */
    digester.addObjectCreate("*/leaf/numericTransformer", NumericTransformer.class);
    digester.addSetProperties("*/leaf/numericTransformer");
    digester.addFactoryCreate("*/leaf/numericTransformer/mode", TransformationModeFactory.class);
    digester.addSetNext("*/leaf/numericTransformer/mode", "setMode");
    digester.addBeanPropertySetter("*/leaf/numericTransformer/thresholds/threshold1", "threshold1");
    digester.addBeanPropertySetter("*/leaf/numericTransformer/thresholds/threshold2", "threshold2");
    digester.addBeanPropertySetter("*/leaf/numericTransformer/thresholds/threshold3", "threshold3");
    digester.addBeanPropertySetter("*/leaf/numericTransformer/thresholds/threshold4", "threshold4");
    digester.addBeanPropertySetter("*/leaf/numericTransformer/thresholds/threshold5", "threshold5");
    digester.addSetNext("*/leaf/numericTransformer", "setTransformer");

    // digester.addObjectCreate("*/numericTransformer/thresholds",
    // LinkedHashMap.class);
    // digester.addSetNext("*/numericTransformer/thresholds",
    // "setThresholds");
    // digester.addFactoryCreate("*/thresholds/threshold",
    // NumericTransformerThresholdFactory.class);

    digester.addObjectCreate("*/leaf/ordinalTransformer", OrdinalTransformer.class);
    digester.addSetProperties("*/leaf/ordinalTransformer");
    digester.addSetNext("*/leaf/ordinalTransformer", "setTransformer");

    digester.addObjectCreate("*/ordinalTransformer/mappings", LinkedHashMap.class);
    digester.addSetNext("*/ordinalTransformer/mappings", "setMapping");
    digester.addFactoryCreate("*/mappings/mapping", OrdinalTransformerMappingFactory.class);

    digester.addRule("*/mappings/mapping", new CallMethodRule(1, "put", 2)); // method
                                                                             // with
                                                                             // two
                                                                             // params
    digester.addCallParam("*/mappings/mapping", 0, "ordinal"); // use
                                                               // attribute
                                                               // "ordinal"
                                                               // as first
                                                               // argument
    digester.addCallParam("*/mappings/mapping", 1, true); // and the object
                                                          // on the stack as
                                                          // second
}

From source file:br.univali.celine.scorm.model.cam.ContentPackageReader20043rd.java

protected void addOrganizationItem(Digester d) {

    d.addObjectCreate("*/item", itemClass);

    addPresentation(d);/*ww  w .  ja  v a2  s. c  o  m*/

    addNavigationInterface(d);

    addImssSequencing(d, "*/item");

    d.addCallMethod("*/item/title", "setTitle", 0);

    d.addCallMethod("*/item/adlcp:dataFromLMS", "setDataFromLMS", 0);
    d.addCallMethod("*/item/dataFromLMS", "setDataFromLMS", 0);

    d.addCallMethod("*/item/adlcp:timeLimitAction", "setTimeLimitAction", 0);
    d.addCallMethod("*/item/timeLimitAction", "setTimeLimitAction", 0);

    d.addSetProperties("*/item");
    beforeOrganizationItemSetNext(d);
    d.addSetNext("*/item", "addItem");

    addCompletionThreshold(d);
}

From source file:br.univali.celine.scorm.model.cam.ContentPackageReader20043rd.java

protected void addObjective(Digester d, String tagParent, String metodoAdd) {
    d.addObjectCreate(tagParent, Objective.class);

    d.addSetProperties(tagParent);/*from w w w  . j a  va2 s  .  co m*/
    d.addSetNext(tagParent, metodoAdd);
    d.addCallMethod(tagParent + "/minNormalizedMeasure", "setMinNormalizedMeasure", 0);

    d.addObjectCreate(tagParent + "/mapInfo", MapInfo.class);
    d.addSetNext(tagParent + "/mapInfo", "addMapInfo");
    d.addSetProperties(tagParent + "/mapInfo");
}

From source file:br.univali.celine.scorm.model.cam.ContentPackageReader20043rd.java

private void addNavigationInterface(Digester d) {
    d.addObjectCreate("*/item/presentation/navigationInterface", NavigationInterface.class);
    d.addSetNext("*/item/presentation/adlnav:navigationInterface", "setNavigationInterface");
    d.addCallMethod("*/item/presentation/navigationInterface/hideLMSUI", "addHideLMSUI", 0);
}