List of usage examples for org.apache.commons.digester3 Digester addSetNext
public void addSetNext(String pattern, String methodName)
From source file:eu.scape_project.planning.services.pa.PreservationActionRegistryFactory.java
static public List<PreservationActionRegistryDefinition> getAvailableRegistries() throws PlanningServiceException { ArrayList<PreservationActionRegistryDefinition> allRegistries = new ArrayList<PreservationActionRegistryDefinition>(); String configFile = "data/services/PreservationActionRegistries.xml"; InputStream config = Thread.currentThread().getContextClassLoader().getResourceAsStream(configFile); if (config == null) { throw new PlanningServiceException("Config file not found: " + configFile); }/*w w w . j a va2 s .c o m*/ Digester digester = new Digester(); digester.setValidating(false); digester.setErrorHandler(new StrictErrorHandler()); digester.push(allRegistries); digester.addObjectCreate("*/registry", PreservationActionRegistryDefinition.class); digester.addBeanPropertySetter("*/registry/shortname", "shortname"); digester.addBeanPropertySetter("*/registry/logo", "logo"); digester.addBeanPropertySetter("*/registry/url", "url"); digester.addBeanPropertySetter("*/registry/type", "type"); digester.addBeanPropertySetter("*/registry/active", "active"); digester.addSetNext("*/registry", "add"); try { digester.setUseContextClassLoader(true); digester.parse(config); } catch (Exception e) { throw new PlanningServiceException(e); } return allRegistries; }
From source file:net.sf.mcf2pdf.mcfglobals.McfProductCatalogue.java
private static McfProductCatalogue readV6(InputStream in) throws IOException, SAXException { Digester digester = new Digester(); digester.addObjectCreate("description", McfProductCatalogueImpl.class); digester.addObjectCreate("description/product", McfAlbumTypeImpl.class); DigesterUtil.addSetProperties(digester, "description/product", getAlbumSpecialAttributes()); DigesterUtil.addSetProperties(digester, "description/product/usablesize", getUsableSizeAttributes()); digester.addCallMethod("description/product/spines/spine", "addSpine", 2, new String[] { Integer.class.getName(), Integer.class.getName() }); digester.addCallParam("description/product/spines/spine", 0, "pages"); digester.addCallParam("description/product/spines/spine", 1, "width"); digester.addSetNext("description/product", "addAlbumType"); return digester.parse(in); }
From source file:net.sf.mcf2pdf.mcfglobals.McfProductCatalogue.java
public static McfProductCatalogue read(InputStream in, CatalogueVersion version) throws IOException, SAXException { if (version == CatalogueVersion.V6) { return readV6(in); }//from w w w . j a va 2s. co m // PRE_V6 Digester digester = new Digester(); digester.addObjectCreate("fotobookdefinitions", McfProductCatalogueImpl.class); digester.addObjectCreate("fotobookdefinitions/album", McfAlbumTypeImpl.class); DigesterUtil.addSetProperties(digester, "fotobookdefinitions/album", getAlbumSpecialAttributes()); DigesterUtil.addSetProperties(digester, "fotobookdefinitions/album/usablesize", getUsableSizeAttributes()); digester.addCallMethod("fotobookdefinitions/album/spines/spine", "addSpine", 2, new String[] { Integer.class.getName(), Integer.class.getName() }); digester.addCallParam("fotobookdefinitions/album/spines/spine", 0, "pages"); digester.addCallParam("fotobookdefinitions/album/spines/spine", 1, "width"); digester.addSetNext("fotobookdefinitions/album", "addAlbumType"); return digester.parse(in); }
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 ww w . java2s . c om*/ 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:eu.scape_project.planning.xml.PlanParser.java
private static void addMeasureRules(final Digester digester, final String pattern) { digester.addObjectCreate(pattern, Measure.class); digester.addSetNext(pattern, "setMeasure"); digester.addSetProperties(pattern, "ID", "uri"); digester.addBeanPropertySetter(pattern + "/name"); digester.addBeanPropertySetter(pattern + "/description"); PlanParser.addAttributeRules(digester, pattern + "/attribute"); // scale will be set by global rule }
From source file:eu.scape_project.planning.xml.PlanParser.java
private static void addAttributeRules(final Digester digester, final String pattern) { digester.addObjectCreate(pattern, Attribute.class); digester.addSetNext(pattern, "setAttribute"); digester.addSetProperties(pattern, "ID", "uri"); digester.addBeanPropertySetter(pattern + "/name"); digester.addBeanPropertySetter(pattern + "/description"); digester.addObjectCreate(pattern + "/category", CriterionCategory.class); digester.addSetProperties(pattern + "/category", "ID", "uri"); digester.addSetProperties(pattern + "/category", "scope", "scope"); digester.addBeanPropertySetter(pattern + "/category/name"); digester.addSetNext(pattern + "/category", "setCategory"); }
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
/** * 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. j a va 2 s . c om * @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:net.revelc.code.formatter.model.RuleSet.java
/** * Adds the rule instances./*from w w w .j a v a2 s . c o m*/ * * @param digester the digester * @see org.apache.commons.digester3.RuleSetBase#addRuleInstances(org.apache.commons.digester.Digester) */ @Override public void addRuleInstances(Digester digester) { digester.addObjectCreate("profiles", Profiles.class); digester.addObjectCreate(PROFILES_PROFILE, Profile.class); digester.addObjectCreate(PROFILES_PROFILE_SETTING, Setting.class); digester.addSetNext(PROFILES_PROFILE, "addProfile"); digester.addSetNext(PROFILES_PROFILE_SETTING, "addSetting"); digester.addSetProperties(PROFILES_PROFILE, "kind", "kind"); digester.addSetProperties(PROFILES_PROFILE_SETTING, "id", "id"); digester.addSetProperties(PROFILES_PROFILE_SETTING, "value", "value"); }