List of usage examples for org.apache.commons.digester3 Digester setValidating
public void setValidating(boolean validating)
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); }/*from ww w .jav a2 s. c om*/ 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:com.thoughtworks.go.plugin.infra.plugininfo.GoPluginDescriptorParser.java
private static Digester initDigester() throws SAXNotRecognizedException, SAXNotSupportedException { Digester digester = new Digester(); digester.setValidating(true); digester.setErrorHandler(new ErrorHandler() { @Override//from w w w . j a va 2 s . co m public void warning(SAXParseException exception) throws SAXException { throw new SAXException("XML Schema validation of Plugin Descriptor(plugin.xml) failed", exception); } @Override public void error(SAXParseException exception) throws SAXException { throw new SAXException("XML Schema validation of Plugin Descriptor(plugin.xml) failed", exception); } @Override public void fatalError(SAXParseException exception) throws SAXException { throw new SAXException("XML Schema validation of Plugin Descriptor(plugin.xml) failed", exception); } }); digester.setProperty("http://java.sun.com/xml/jaxp/properties/schemaLanguage", XMLConstants.W3C_XML_SCHEMA_NS_URI); digester.setProperty("http://java.sun.com/xml/jaxp/properties/schemaSource", GoPluginDescriptorParser.class.getResourceAsStream("/plugin-descriptor.xsd")); return digester; }
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//from w ww . j a va2 s .c om */ 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); 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;/* ww w . ja v a 2s . c om*/ }
From source file:com.smartapps.avro.PhoneticXmlLoader.java
public Data getData() throws IOException, SAXException { Digester digester = new Digester(); digester.setValidating(false); 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); // InputStreamReader isr = new InputStreamReader(is, "UTF-8"); Data data = (Data) digester.parse(is); return data;//from w w w . j ava 2 s . c om }
From source file:com.dotosoft.dot4command.config.xml.XmlConfigParser.java
/** * <p>Return the <code>Digester</code> instance to be used for * parsing, creating one if necessary.</p> * @return A Digester instance.//from w w w . ja va 2s . co m */ public Digester getDigester() { Digester digester = new Digester(); RuleSet ruleSet = getRuleSet(); digester.setNamespaceAware(ruleSet.getNamespaceURI() != null); digester.setUseContextClassLoader(getUseContextClassLoader()); digester.setValidating(false); digester.addRuleSet(ruleSet); return digester; }
From source file:edu.wustl.bulkoperator.templateImport.AbstractImportBulkOperation.java
/** * * @param operationName// w w w. j a v a2s . c o m * @param dropdownName * @param csvFile * @param xmlFile * @param mappingXml * @return * @throws BulkOperationException * @throws SQLException * @throws IOException * @throws DAOException */ protected Set<String> validate(String operationName, String dropdownName, String csvFile, String xmlFile, String mappingXml, String xsdLocation) throws BulkOperationException, SQLException, IOException, DAOException { Set<String> errorList = null; CsvReader csvReader = null; try { csvReader = CsvFileReader.createCsvFileReader(csvFile, true); } catch (Exception exp) { ErrorKey errorkey = ErrorKey.getErrorKey("bulk.error.incorrect.csv.file"); throw new BulkOperationException(errorkey, exp, ""); } BulkOperationMetaData bulkOperationMetaData = null; try { SchemaFactory factory = SchemaFactory.newInstance("http://www.w3.org/2001/XMLSchema"); File schemaLocation = new File(xsdLocation); Schema schema = factory.newSchema(schemaLocation); DigesterLoader digesterLoader = DigesterLoader.newLoader(new XmlRulesModule(mappingXml)); Digester digester = digesterLoader.newDigester(); digester.setValidating(true); digester.setXMLSchema(schema); Validator validator = schema.newValidator(); Source xmlFileForValidation = new StreamSource(new File(xmlFile)); validator.validate(xmlFileForValidation); InputStream inputStream = new FileInputStream(xmlFile); bulkOperationMetaData = digester.parse(inputStream); } catch (SAXException e) { logger.debug(e.getMessage()); ErrorKey errorkey = ErrorKey.getErrorKey("bulk.error.xml.template"); throw new BulkOperationException(errorkey, e, e.getMessage()); } Collection<BulkOperationClass> classList = bulkOperationMetaData.getBulkOperationClass(); if (classList == null) { ErrorKey errorkey = ErrorKey.getErrorKey("bulk.no.templates.loaded.message"); throw new BulkOperationException(errorkey, null, ""); } else { Iterator<BulkOperationClass> iterator = classList.iterator(); if (iterator.hasNext()) { BulkOperationClass bulkOperationClass = iterator.next(); TemplateValidator templateValidator = new TemplateValidator(); errorList = templateValidator.validateXmlAndCsv(bulkOperationClass, operationName, csvReader); } } return errorList; }
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 ww. j a va 2s . co m*/ * * @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:org.apache.hadoop.gateway.descriptor.xml.XmlGatewayDescriptorImporter.java
@Override public GatewayDescriptor load(Reader reader) throws IOException { Digester digester = loader.newDigester(new ExtendedBaseRules()); digester.setValidating(false); try {//from w ww. j av a 2 s. co m GatewayDescriptor descriptor = digester.parse(reader); return descriptor; } catch (SAXException e) { throw new IOException(e); } }
From source file:org.apache.hadoop.gateway.filter.rewrite.impl.xml.XmlUrlRewriteRulesImporter.java
@Override public UrlRewriteRulesDescriptor load(Reader reader) throws IOException { Digester digester = loader.newDigester(new ExtendedBaseRules()); digester.setValidating(false); try {/*from w w w . j ava2 s . c om*/ UrlRewriteRulesDescriptor rules = digester.parse(reader); return rules; } catch (SAXException e) { throw new IOException(e); } }