private Digester getNewDigester(EntityResolver resolver, File fileToParse, LoggingErrorHandler errorHandler) { // Digester's javadoc specifically suggests that a new instance // should be created even though Digester has a clear() method: Digester digester = new Digester(); digester.setEntityResolver(resolver); digester.setValidating(true); errorHandler.setFileName(fileToParse.getName()); digester.setErrorHandler(errorHandler); return digester; }
/** * Creates a non validating digester * * @return Digester wrapper */ public static DigesterUtils createNonValidatingDigester() { SAXParser parser = XMLUtils.createSAXNonValidatingParser(); try { XMLReader xmlReader = parser.getXMLReader(); xmlReader .setFeature( "http://apache.org/xml/features/nonvalidating/load-external-dtd", false); xmlReader.setFeature("http://xml.org/sax/features/validation", false); } catch (Exception ex) { log.error("Cannot configure the parser for ignoring DTD"); } Digester digester = new Digester(parser); SimpleErrorHandler errorHandler = new SimpleErrorHandler(); digester.setErrorHandler(errorHandler); DigesterUtils utils = new DigesterUtils(); utils.digester = digester; utils.parser = parser; utils.errorHandler = errorHandler; return utils; }
/** * Creates a new <tt>Digester</tt> instance that validates against DTDs provided for fermenter-mda * DTDs. * @param errorHandler * @return */ public static Digester getNewDigester(ErrorHandler errorHandler) { //Digester's javadoc specifically suggests that a new instance //should be created even though Digester has a clear() method: Digester digester = new Digester(); digester.setEntityResolver(resolver); digester.setValidating(true); digester.setErrorHandler(errorHandler); return digester; }
protected void configureDigester(Digester digester) throws SAXException, ParserConfigurationException { boolean validating = JRProperties.getBooleanProperty(JRProperties.COMPILER_XML_VALIDATION); digester.setErrorHandler(this); digester.setValidating(validating); digester.setFeature("http://xml.org/sax/features/validation", validating); digester.addRuleSet(rules); }
/** * Creates a new instance of DigesterDefinitionsReader. */ public DigesterDefinitionsReader() { digester = new Digester(); digester.setNamespaceAware(true); digester.setUseContextClassLoader(true); digester.setErrorHandler(new ThrowingErrorHandler()); // Register our local copy of the DTDs that we can find String[] registrations = getRegistrations(); for (int i = 0; i < registrations.length; i += 2) { URL url = this.getClass().getResource( registrations[i + 1]); if (url != null) { digester.register(registrations[i], url.toString()); } } initSyntax(digester); }
/** * Creates a digester that validates against a schema. * * @param schemaURL * URL to the schema. * @return Digester wrapper. */ public static DigesterUtils createValidatingDigester(URL schemaURL) { SAXParser parser = XMLUtils.createSAXValidatingParser(schemaURL); Digester digester = new Digester(parser); SimpleErrorHandler errorHandler = new SimpleErrorHandler(); digester.setErrorHandler(errorHandler); DigesterUtils utils = new DigesterUtils(); utils.digester = digester; utils.parser = parser; utils.errorHandler = errorHandler; return utils; }
/** * Creates a new instance of DigesterDefinitionsReader. */ public DigesterDefinitionsReader() { digester = new Digester(); digester.setValidating(validating); digester.setNamespaceAware(true); digester.setUseContextClassLoader(true); digester.setErrorHandler(new ThrowingErrorHandler()); // Register our local copy of the DTDs that we can find String[] registrations = getRegistrations(); for (int i = 0; i < registrations.length; i += 2) { URL url = this.getClass().getResource( registrations[i + 1]); if (url != null) { digester.register(registrations[i], url.toString()); } } initSyntax(digester); }
digester.setErrorHandler(new JErrorHandler()); digester.addRuleSet(new JMemoryRuleSet("jonas-realm/jonas-memoryrealm/")); digester.addRuleSet(new JDSRuleSet("jonas-realm/jonas-dsrealm/"));
/** * Create and configure the Digester that will be used for the xml * parsing of the JOnAS realm file. * @return Digester the digester containing the rules for the xml parsing * of the JOnAS realm file (jonas-realm.xml) */ protected Digester createRealmDigester() { // Initialize the digester Digester digester = new Digester(); File realmDtd = new File(xmlDir + CONFIG_FILE_DTD); URL realmDtdURL = null; boolean validating = true; try { realmDtdURL = realmDtd.toURL(); digester.register("-//ObjectWeb//DTD JOnAS realm 1.0//EN", realmDtdURL.toExternalForm()); } catch (MalformedURLException e) { // Can't locate URL for DTD, no validation logger.log(BasicLevel.INFO, "Can not locate URL for DTD validation, no validation will be done." + e.getMessage()); validating = false; } digester.setValidating(validating); digester.setErrorHandler(new JErrorHandler()); digester.addRuleSet(new JMemoryRuleSet("jonas-realm/jonas-memoryrealm/")); digester.addRuleSet(new JDSRuleSet("jonas-realm/jonas-dsrealm/")); digester.addRuleSet(new JLDAPRuleSet("jonas-realm/jonas-ldaprealm/")); return (digester); }
/** * @return fully-initialized Digester used to process entry XML files */ protected Digester buildDigester(String schemaLocation, String digestorRulesFileName) { Digester digester = new Digester(); digester.setNamespaceAware(false); digester.setValidating(true); digester.setErrorHandler(new XmlErrorHandler()); digester.setSchema(schemaLocation); Rules rules = loadRules(digestorRulesFileName); digester.setRules(rules); return digester; }
private Digester configureDigester(EntityResolver resolver, TrackErrorsErrorHandler handler) { Digester digester = new Digester(); digester.setErrorHandler(handler); digester.setValidating(true); digester.setNamespaceAware(true); digester.setUseContextClassLoader(true); digester.addRuleSet(new RuleSet()); digester.setEntityResolver(resolver); digester.push(this); return digester; }
/** * Loads the OpenCms configuration from the given XML URL.<p> * * @param url the base URL of the XML configuration to load * @param configuration the configuration to load * @throws SAXException in case of XML parse errors * @throws IOException in case of file IO errors */ private void loadXmlConfiguration(URL url, I_CmsXmlConfiguration configuration) throws SAXException, IOException { // generate the file URL for the XML input URL fileUrl = new URL(url, configuration.getXmlFileName()); if (LOG.isDebugEnabled()) { LOG.debug(Messages.get().getBundle().key(Messages.LOG_LOAD_CONFIG_XMLFILE_1, fileUrl)); } // create a backup of the configuration backupXmlConfiguration(configuration); // instantiate Digester and enable XML validation m_digester = new Digester(); m_digester.setUseContextClassLoader(true); m_digester.setValidating(true); m_digester.setEntityResolver(new CmsXmlEntityResolver(null)); m_digester.setRuleNamespaceURI(null); m_digester.setErrorHandler(new CmsXmlErrorHandler(fileUrl.getFile())); // add this class to the Digester m_digester.push(configuration); configuration.addXmlDigesterRules(m_digester); // start the parsing process m_digester.parse(fileUrl.openStream()); }
m_digester.setEntityResolver(new CmsXmlEntityResolver(null)); m_digester.setRuleNamespaceURI(null); m_digester.setErrorHandler(new CmsXmlErrorHandler(fileUrl.getFile()));
private Digester configureDigester(EntityResolver resolver, TrackErrorsErrorHandler handler) { Digester digester = new Digester(); digester.setErrorHandler(handler); digester.setValidating(true); digester.setNamespaceAware(true); digester.setUseContextClassLoader(true); digester.addRuleSet(new RuleSet()); digester.setEntityResolver(resolver); digester.push(this); return digester; }
/** * This method goes through the manifest, records all files from the manifest for which the content also * exists in the zip file, and stores their resource ids in m_contentFiles.<p> * * @throws CmsImportExportException * @throws IOException * @throws SAXException */ protected void findContentFiles() throws CmsImportExportException, IOException, SAXException { Digester digester = new Digester(); digester.setUseContextClassLoader(true); digester.setValidating(false); digester.setEntityResolver(new CmsXmlEntityResolver(null)); digester.setRuleNamespaceURI(null); digester.setErrorHandler(new CmsXmlErrorHandler(CmsImportExportManager.EXPORT_MANIFEST)); digester.addCallMethod("export/files/file", "addContentFile", 2); digester.addCallParam("export/files/file/source", 0); digester.addCallParam("export/files/file/uuidresource", 1); m_contentFiles.clear(); digester.push(this); InputStream stream = null; try { stream = m_helper.getFileStream(CmsImportExportManager.EXPORT_MANIFEST); digester.parse(stream); } finally { if (stream != null) { stream.close(); } } }
/** * This method goes through the manifest, records all files from the manifest for which the content also * exists in the zip file, and stores their resource ids in m_contentFiles.<p> * * @throws CmsImportExportException thrown when the manifest.xml can't be opened as stream. * @throws IOException thrown if the manifest.xml stream causes problems during parsing and/or closing. * @throws SAXException thrown if parsing the manifest.xml fails */ protected void findContentFiles() throws CmsImportExportException, IOException, SAXException { Digester digester = new Digester(); digester.setUseContextClassLoader(true); digester.setValidating(false); digester.setEntityResolver(new CmsXmlEntityResolver(null)); digester.setRuleNamespaceURI(null); digester.setErrorHandler(new CmsXmlErrorHandler(CmsImportExportManager.EXPORT_MANIFEST)); digester.addCallMethod("export/files/file", "addContentFile", 2); digester.addCallParam("export/files/file/source", 0); digester.addCallParam("export/files/file/uuidresource", 1); m_contentFiles.clear(); digester.push(this); InputStream stream = null; try { stream = m_helper.getFileStream(CmsImportExportManager.EXPORT_MANIFEST); digester.parse(stream); } finally { if (stream != null) { stream.close(); } } }
/** * Initializes the digester. * * @param validating whether or not to validate XML. * @param validatingSchema whether or not to validate XML schema. */ protected void initDigester(boolean validating, boolean validatingSchema) { digester = new Digester(); digester.setNamespaceAware(true); digester.setClassLoader(this.classLoadHelper.getClassLoader()); digester.setValidating(validating); initSchemaValidation(validatingSchema); digester.setEntityResolver(this); digester.setErrorHandler(this); if (addCustomDigesterRules(digester)) { addDefaultDigesterRules(digester); } }
/** * Initializes the digester. * * @param validating whether or not to validate XML. * @param validatingSchema whether or not to validate XML schema. */ protected void initDigester(boolean validating, boolean validatingSchema) { digester = new Digester(); digester.setNamespaceAware(true); digester.setClassLoader(this.classLoadHelper.getClassLoader()); digester.setValidating(validating); initSchemaValidation(validatingSchema); digester.setEntityResolver(this); digester.setErrorHandler(this); if (addCustomDigesterRules(digester)) { addDefaultDigesterRules(digester); } }
digester.setEntityResolver(new CmsXmlEntityResolver(null)); digester.setRuleNamespaceURI(null); digester.setErrorHandler(new CmsXmlErrorHandler(CmsImportExportManager.EXPORT_MANIFEST));
digester.setEntityResolver(new CmsXmlEntityResolver(null)); digester.setRuleNamespaceURI(null); digester.setErrorHandler(new CmsXmlErrorHandler(CmsImportExportManager.EXPORT_MANIFEST));