List of usage examples for org.apache.commons.digester3 Digester addSetProperties
public void addSetProperties(String pattern, String[] attributeNames, String[] propertyNames)
From source file:br.univali.celine.scorm2004_4th.model.cam.ContentPackageReader20044th.java
@Override protected void addRootOrganization(Digester d) { super.addRootOrganization(d); d.addSetProperties("manifest/organizations/organization", "sharedDataGlobalToSystem", "sharedDataGlobalToSystem"); }
From source file:br.univali.celine.scorm1_2.model.cam.ContentPackageReader12.java
@Override protected void addResource(Digester d) { super.addResource(d); d.addSetProperties("manifest/resources/resource", "scormtype", "scormType"); }
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:net.revelc.code.formatter.model.RuleSet.java
/** * Adds the rule instances./* w ww .j a v a2 s .co 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"); }
From source file:br.univali.celine.scorm.model.cam.ContentPackageReader20043rd.java
protected void addOrganizations(Digester d) { d.addObjectCreate("manifest/organizations", Organizations.class); d.addSetProperties("manifest/organizations", "default", "defaultOrg"); d.addSetNext("manifest/organizations", "setOrganizations"); addOrganization(d);/*from w w w . j a v a 2 s . c om*/ }
From source file:br.univali.celine.scorm.model.cam.ContentPackageReader20043rd.java
protected void addResource(Digester d) { d.addObjectCreate("manifest/resources/resource", Resource.class); d.addSetNext("manifest/resources/resource", "addResource"); d.addSetProperties("manifest/resources/resource", "scormType", "scormType"); d.addSetProperties("manifest/resources/resource", "base", "xmlBase"); d.addSetProperties("manifest/resources/resource"); }
From source file:eu.scape_project.planning.xml.PlanMigrator.java
/** * Detect the version of the given XML representation of plans. If the * version of the XML representation is not up to date, necessary * transformations are applied.//from w w w. ja v a2 s .c om * * @param importData * @return null if the transformation fails, otherwise an up to date XML * representation * @throws IOException * if parsing the XML representation fails * @throws SAXException * if parsing the XML representation fails */ public String getCurrentVersionData(final InputStream in, final String tempPath, final List<String> appliedTransformations) throws PlatoException { String originalFile = tempPath + "_original.xml"; try { FileUtils.writeToFile(in, new FileOutputStream(originalFile)); /** check for the version of the file **/ // The version of the read xml file is unknown, so it is not possible to // validate it // moreover, in old plans the version attribute was on different // nodes(project, projects), // with a different name (fileVersion) // to be backwards compatible we create rules for all these attributes fileVersion = "xxx"; SAXParserFactory factory = SAXParserFactory.newInstance(); factory.setNamespaceAware(false); Digester d = new Digester(factory.newSAXParser()); d.setValidating(false); // StrictErrorHandler errorHandler = new StrictErrorHandler(); // d.setErrorHandler(errorHandler); d.push(this); // to read the version we have to support all versions: d.addSetProperties("*/projects", "version", "fileVersion"); // manually migrated projects may have the file version in the node // projects/project d.addSetProperties("*/projects/project", "version", "fileVersion"); // pre V1.3 version info was stored in the project node d.addSetProperties("*/project", "version", "fileVersion"); // since V1.9 the root node is plans: d.addSetProperties("plans", "version", "fileVersion"); InputStream inV = new FileInputStream(originalFile); d.parse(inV); inV.close(); /** this could be more sophisticated, but for now this is enough **/ String version = "1.0"; if (fileVersion != null) { version = fileVersion; } String fileTo = originalFile; String fileFrom = originalFile; boolean success = true; if ("xxx".equals(version)) { fileFrom = fileTo; fileTo = fileFrom + "_V1.3.xml"; /** this is an old export file, transform it to the 1.3 schema **/ success = transformXmlData(fileFrom, fileTo, "data/xslt/Vxxx-to-V1.3.xsl"); appliedTransformations.add("Vxxx-to-V1.3.xsl"); version = "1.3"; } if (success && "1.3".equals(version)) { fileFrom = fileTo; fileTo = fileFrom + "_V1.9.xml"; success = transformXmlData(fileFrom, fileTo, "data/xslt/V1.3-to-V1.9.xsl"); appliedTransformations.add("V1.3-to-V1.9.xsl"); version = "1.9"; } // with release of Plato 2.0 and its schema ProjectExporter creates // documents with version 2.0 if (success && "1.9".equals(version)) { version = "2.0"; } if (success && "2.0".equals(version)) { // transform the document to version 2.1 fileFrom = fileTo; fileTo = fileFrom + "_V2.1.xml"; success = transformXmlData(fileFrom, fileTo, "data/xslt/V2.0-to-V2.1.xsl"); appliedTransformations.add("V2.0-to-V2.1.xsl"); version = "2.1"; } if (success && "2.1".equals(version)) { // transform the document to version 2.1.2 fileFrom = fileTo; fileTo = fileFrom + "_V2.1.2.xml"; success = transformXmlData(fileFrom, fileTo, "data/xslt/V2.1-to-V2.1.2.xsl"); appliedTransformations.add("V2.1-to-V2.1.2.xsl"); version = "2.1.2"; } if (success && "2.1.1".equals(version)) { // transform the document to version 2.1.2 fileFrom = fileTo; fileTo = fileFrom + "_V2.1.2.xml"; success = transformXmlData(fileFrom, fileTo, "data/xslt/V2.1.1-to-V2.1.2.xsl"); appliedTransformations.add("V2.1.1-to-V2.1.2.xsl"); version = "2.1.2"; } if (success && "2.1.2".equals(version)) { // transform the document to version 3.0.0 fileFrom = fileTo; fileTo = fileFrom + "_V3.0.0.xml"; success = transformXmlData(fileFrom, fileTo, "data/xslt/V2.1.2-to-V3.0.0.xsl"); appliedTransformations.add("V2.1.2-to-V3.0.0.xsl"); version = "3.0.0"; } if (success && "3.0.0".equals(version)) { // transform the document to version 3.0.1 fileFrom = fileTo; fileTo = fileFrom + "_V3.0.1.xml"; success = transformXmlData(fileFrom, fileTo, "data/xslt/V3.0.0-to-V3.0.1.xsl"); appliedTransformations.add("V3.0.0-to-V3.0.1.xsl"); version = "3.0.1"; } if (success && "3.0.1".equals(version)) { // transform the document to version 3.9.0 fileFrom = fileTo; fileTo = fileFrom + "_V3.9.0.xml"; success = transformXmlData(fileFrom, fileTo, "data/xslt/V3.0.1-to-V3.9.0.xsl"); appliedTransformations.add("V3.0.1-to-V3.9.0.xsl"); version = "3.9.0"; } if (success && "3.9.0".equals(version)) { // transform the document to version 3.9.9 fileFrom = fileTo; fileTo = fileFrom + "_V3.9.9.xml"; success = transformXmlData(fileFrom, fileTo, "data/xslt/V3.9.0-to-V3.9.9.xsl"); appliedTransformations.add("V3.9.0-to-V3.9.9.xsl"); version = "3.9.9"; } if (success && "3.9.9".equals(version)) { // transform the document to version 4.0.0 fileFrom = fileTo; fileTo = fileFrom + "_V4.0.1.xml"; success = transformXmlData(fileFrom, fileTo, "data/xslt/V3.9.9-to-V4.0.1.xsl"); appliedTransformations.add("V3.9.9-to-V4.0.1.xsl"); version = "4.0.1"; } if (success && "4.0.1".equals(version)) { // transform the document to version 4.0.0 fileFrom = fileTo; fileTo = fileFrom + "_V4.0.2.xml"; success = transformXmlData(fileFrom, fileTo, "data/xslt/V4.0.1-to-V4.0.2.xsl"); appliedTransformations.add("V4.0.1-to-V4.0.2.xsl"); version = "4.0.2"; } if (success) { return fileTo; } else { return null; } } catch (Exception e) { throw new PlatoException("Failed to update plan to current version.", e); } }
From source file:com.dreikraft.axbo.sound.SoundPackageUtil.java
/** * Reads meta information from package-info.xml (as stream) * * @param packageInfoXmlStream the package-info.xml FileInputStream * @return the sound package info read from the stream * @throws com.dreikraft.infactory.sound.SoundPackageException encapsulates * all low level (IO) exceptions/* w ww .ja v a 2 s . c o m*/ */ public static SoundPackage readPackageInfo(InputStream packageInfoXmlStream) throws SoundPackageException { Digester digester = new Digester(); digester.setValidating(false); digester.setRules(new ExtendedBaseRules()); digester.addObjectCreate(SoundPackageNodes.axboSounds.toString(), SoundPackage.class); digester.addBeanPropertySetter(SoundPackageNodes.axboSounds + SL + SoundPackageNodes.packageName, "name"); digester.addBeanPropertySetter(SoundPackageNodes.axboSounds + SL + SoundPackageNodes.creator, "creator"); digester.addBeanPropertySetter(SoundPackageNodes.axboSounds + SL + SoundPackageNodes.creationDate, "creationDate"); digester.addBeanPropertySetter(SoundPackageNodes.axboSounds + SL + SoundPackageNodes.security + SL + SoundPackageNodes.serialNumber, "serialNumber"); digester.addBeanPropertySetter( SoundPackageNodes.axboSounds + SL + SoundPackageNodes.security + SL + SoundPackageNodes.enforced, "securityEnforced"); digester.addObjectCreate(SoundPackageNodes.axboSounds + SL + SoundPackageNodes.sounds, ArrayList.class); digester.addSetNext(SoundPackageNodes.axboSounds + SL + SoundPackageNodes.sounds, "setSounds"); digester.addObjectCreate( SoundPackageNodes.axboSounds + SL + SoundPackageNodes.sounds + SL + SoundPackageNodes.sound, Sound.class); digester.addSetNext( SoundPackageNodes.axboSounds + SL + SoundPackageNodes.sounds + SL + SoundPackageNodes.sound, "add"); digester.addSetProperties( SoundPackageNodes.axboSounds + SL + SoundPackageNodes.sounds + SL + SoundPackageNodes.sound, "id", "id"); digester.addBeanPropertySetter(SoundPackageNodes.axboSounds + SL + SoundPackageNodes.sounds + SL + SoundPackageNodes.sound + SL + SoundPackageNodes.displayName, "name"); digester.addObjectCreate(SoundPackageNodes.axboSounds + SL + SoundPackageNodes.sounds + SL + SoundPackageNodes.sound + SL + SoundPackageNodes.axboFile, SoundFile.class); digester.addSetNext(SoundPackageNodes.axboSounds + SL + SoundPackageNodes.sounds + SL + SoundPackageNodes.sound + SL + SoundPackageNodes.axboFile, "setAxboFile"); digester.addBeanPropertySetter(SoundPackageNodes.axboSounds + SL + SoundPackageNodes.sounds + SL + SoundPackageNodes.sound + SL + SoundPackageNodes.axboFile + SL + SoundPackageNodes.path); digester.addBeanPropertySetter(SoundPackageNodes.axboSounds + SL + SoundPackageNodes.sounds + SL + SoundPackageNodes.sound + SL + SoundPackageNodes.axboFile + SL + SoundPackageNodes.type); try { SoundPackage soundPackage = (SoundPackage) digester.parse(packageInfoXmlStream); return soundPackage; } catch (Exception ex) { throw new SoundPackageException(ex); } }
From source file:main.java.com.omicronlab.avro.PhoneticXmlLoader.java
public Data getData() throws IOException, SAXException { Digester digester = new Digester(); digester.setValidating(false);//from w w w .j a v a 2 s . c om digester.addObjectCreate("data", Data.class); digester.addBeanPropertySetter("data/classes/vowel", "vowel"); digester.addBeanPropertySetter("data/classes/consonant", "consonant"); digester.addBeanPropertySetter("data/classes/punctuation", "punctuation"); digester.addBeanPropertySetter("data/classes/casesensitive", "casesensitive"); digester.addObjectCreate("data/patterns/pattern", Pattern.class); digester.addBeanPropertySetter("data/patterns/pattern/find", "find"); digester.addBeanPropertySetter("data/patterns/pattern/replace", "replace"); digester.addObjectCreate("data/patterns/pattern/rules/rule", Rule.class); digester.addBeanPropertySetter("data/patterns/pattern/rules/rule/replace", "replace"); digester.addObjectCreate("data/patterns/pattern/rules/rule/find/match", Match.class); digester.addBeanPropertySetter("data/patterns/pattern/rules/rule/find/match", "value"); digester.addSetProperties("data/patterns/pattern/rules/rule/find/match", "type", "type"); digester.addSetProperties("data/patterns/pattern/rules/rule/find/match", "scope", "scope"); digester.addSetNext("data/patterns/pattern/rules/rule/find/match", "addMatch"); digester.addSetNext("data/patterns/pattern/rules/rule", "addRule"); digester.addSetNext("data/patterns/pattern", "addPattern"); Data data = (Data) digester.parse(this.url); return data; }