List of usage examples for org.apache.commons.digester3 Digester addSetProperties
public void addSetProperties(String pattern)
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) * //w ww . ja v a 2 s.co 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:eu.scape_project.planning.xml.PlanParser.java
/** * Create a rule for reading an upload entry for the given location * <code>pattern</code>, and use the <code>method</code> to set the upload * object./* w w w.j av a 2s .c o m*/ * * @param digester * the digester * @param pattern * the location pattern * @param method * a method name of the parent object * @param objectType * class of object to create */ private static void addCreateUpload(final Digester digester, final String pattern, final String method, final Class<?> objectType) { digester.addObjectCreate(pattern, objectType); digester.addSetProperties(pattern); if ((method != null) && (!"".equals(method))) { digester.addSetNext(pattern, method); } /* * Note: It is not possible to read element data, process it and pass it * to a function with a simple digester Rule, neither you can define a * factory to read the data of an element. * * So we have to do it the other way round: (remember: the function * added last is executed first!) */ // 1. Create a BinaryDataWrapper if a <data> element is encountered digester.addObjectCreate(pattern + "/data", BinaryDataWrapper.class); // 3. Finally call setData on the BinaryDataWrapper(!) on top with the // object next to top as argument // The BinaryDataWrapper will call setData on to object next to top with // the previously read and decoded data digester.addSetTop(pattern + "/data", "setData"); // 2. Call setFromBase64Encoded on the BinaryDataWrapper to read the // elements content digester.addCallMethod(pattern + "/data", "setFromBase64Encoded", 0); }
From source file:br.univali.celine.scorm2004_4th.model.cam.ContentPackageReader20044th.java
protected void addCompletionThreshold(Digester d) { d.addObjectCreate("*/item/completionThreshold", CompletionThreshold.class); d.addSetNext("*/item/completionThreshold", "setCompletionThreshold"); d.addSetProperties("*/item/completionThreshold"); }
From source file:br.univali.celine.scorm2004_4th.model.cam.ContentPackageReader20044th.java
@Override protected void beforeOrganizationItemSetNext(Digester d) { super.beforeOrganizationItemSetNext(d); d.addObjectCreate("*/item/data/map", AdlcpMap.class); d.addSetNext("*/item/data/map", "addAdlcpMap"); d.addSetProperties("*/item/data/map"); }
From source file:eu.scape_project.planning.xml.PlanParser.java
private static void addCreateScale(final Digester digester, final Class c) { String name = c.getName();/* w w w . jav a 2s. c o m*/ name = name.substring(name.lastIndexOf(".") + 1); name = name.substring(0, 1).toLowerCase() + name.substring(1); String pattern = "*/" + name; digester.addObjectCreate(pattern, c); digester.addSetProperties(pattern); digester.addSetNext(pattern, "setScale"); }
From source file:eu.scape_project.planning.xml.PlanParser.java
private static void addCreateResultValue(final Digester digester, final Class c) { String name = c.getName();/*w w w .j a va 2s . com*/ name = name.substring(name.lastIndexOf(".") + 1); name = name.substring(0, 1).toLowerCase() + name.substring(1); String pattern = "*/" + name.replace("Value", "Result"); digester.addObjectCreate(pattern, c); digester.addSetProperties(pattern); digester.addBeanPropertySetter(pattern + "/value"); digester.addBeanPropertySetter(pattern + "/comment"); digester.addSetNext(pattern, "add"); }
From source file:com.dotosoft.dot4command.config.xml.ConfigRuleSet.java
private void addCommandRules(Digester digester) { digester.addObjectCreate("*/" + getCommandElement(), null, getClassAttribute()); digester.addSetProperties("*/" + getCommandElement()); digester.addRule("*/" + getCommandElement(), new ConfigRegisterRule(nameAttribute)); }
From source file:com.dotosoft.dot4command.config.xml.ConfigRuleSet.java
private void addChainRules(Digester digester) { digester.addObjectCreate("*/" + getChainElement(), getChainClass(), getClassAttribute()); digester.addSetProperties("*/" + getChainElement()); digester.addRule("*/" + getChainElement(), new ConfigRegisterRule(nameAttribute)); }
From source file:com.dotosoft.dot4command.config.xml.ConfigRuleSet.java
private void addCatalogRules(Digester digester) { digester.addRule("*/" + getCatalogElement(), new ConfigCatalogRule(nameAttribute, catalogClass)); digester.addSetProperties("*/" + getCatalogElement()); }
From source file:br.univali.celine.scorm.model.cam.ContentPackageReader20043rd.java
protected void addRules(Digester d) { // ver captulos 3.4, 5.1 e 5.2 do CAM Book d.addSetProperties("manifest"); addMetadata(d);//w w w.j ava 2 s . co m addOrganizations(d); addResources(d); }