List of usage examples for org.apache.commons.digester3 Digester addCallMethod
public void addCallMethod(String pattern, String methodName, int paramCount)
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); }