List of usage examples for org.xml.sax EntityResolver EntityResolver
EntityResolver
From source file:com.autentia.mvn.plugin.changes.BugzillaChangesMojo.java
/** * Gets bugs XML document from Bugzilla. * //from w ww. ja v a2 s. co m * @param client * @param bugsIds * @return * @throws MojoExecutionException */ private Document getBugsDocument(final HttpClient client, final String bugsIds) throws MojoExecutionException { final String link = this.bugzillaUrl + SHOWBUG_URL; try { final byte[] response = this.httpRequest.sendPostRequest(client, link, bugsIds); final DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); final DocumentBuilder db = dbf.newDocumentBuilder(); db.setEntityResolver(new EntityResolver() { public InputSource resolveEntity(final String publicId, final String systemId) throws SAXException, IOException { return new InputSource( this.getClass().getClassLoader().getResourceAsStream("bugzilla3/bugzilla.dtd")); } }); final ByteArrayInputStream bais = new ByteArrayInputStream(response); final Document docBugzilla = db.parse(bais); this.cleanBugzillaDocument(docBugzilla); return docBugzilla; } catch (final HttpStatusException e) { this.getLog().warn("Can not recover bugs in XML", e); throw new MojoExecutionException("Can not recover bugs in XML.", e); } catch (final IOException e) { this.getLog().warn("Can not recover bugs in XML", e); throw new MojoExecutionException("Can not recover bugs in XML.", e); } catch (final ParserConfigurationException e) { this.getLog().warn("Can not parse XML bugs", e); throw new MojoExecutionException("Can not parse XML bugs.", e); } catch (final SAXException e) { this.getLog().warn("Can not build bugs XML document", e); throw new MojoExecutionException("Can not build bugs XML document.", e); } }
From source file:de.betterform.xml.xforms.XFormsProcessorImpl.java
private DocumentBuilder getDocumentBuilder() throws XFormsException { // ensure xerces dom try {/*from w ww . java2 s . c o m*/ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); factory.setNamespaceAware(true); factory.setValidating(false); factory.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false); // factory.setAttribute("http://apache.org/xml/properties/dom/document-class-name", "org.apache.xerces.dom.DocumentImpl"); DocumentBuilder db = factory.newDocumentBuilder(); // use an empty entity resolver to avoid that Xerces may try to // download the system DTD (can cause latency problems) db.setEntityResolver(new EntityResolver() { public InputSource resolveEntity(String publicId, String systemId) throws SAXException, IOException { return null; }; }); return db; } catch (Exception e) { throw new XFormsException(e); } }
From source file:com.twinsoft.convertigo.engine.util.XMLUtils.java
public static EntityResolver getEntityResolver() { return new EntityResolver() { public InputSource resolveEntity(String publicId, String systemId) throws SAXException, IOException { if ("-//W3C//ENTITIES Latin 1 for XHTML//EN".equals(publicId)) return new InputSource(new FileInputStream(Engine.DTD_PATH + "/xhtml-lat1.ent")); if ("-//W3C//ENTITIES Special for XHTML//EN".equals(publicId)) return new InputSource(new FileInputStream(Engine.DTD_PATH + "/xhtml-special.ent")); if ("-//W3C//ENTITIES Symbols for XHTML//EN".equals(publicId)) return new InputSource(new FileInputStream(Engine.DTD_PATH + "/xhtml-symbol.ent")); if ("-//W3C//DTD XHTML 1.0 Strict//EN".equals(publicId)) return new InputSource(new FileInputStream(Engine.DTD_PATH + "/xhtml1-strict.dtd")); if ("-//W3C//DTD XHTML 1.0 Transitional//EN".equals(publicId)) return new InputSource(new FileInputStream(Engine.DTD_PATH + "/xhtml1-transitional.dtd")); return new InputSource(new FileInputStream(systemId)); }//from ww w. j a va 2 s.c o m }; }
From source file:net.yacy.cora.document.feed.RSSReader.java
public RSSReader(final int maxsize, InputStream stream) throws IOException { this(maxsize); if (!(stream instanceof ByteArrayInputStream) && !(stream instanceof BufferedInputStream)) stream = new BufferedInputStream(stream); try {/* w w w . ja va2 s. co m*/ final SAXParser saxParser = getParser(); // do not look at external dtd - see: http://www.ibm.com/developerworks/xml/library/x-tipcfsx/index.html saxParser.getXMLReader().setEntityResolver(new EntityResolver() { @Override public InputSource resolveEntity(final String arg0, final String arg1) throws SAXException, IOException { return new InputSource(new StringReader("")); } }); saxParser.parse(stream, this); } catch (final SAXException e) { throw new IOException(e.getMessage()); } }
From source file:net.yacy.cora.document.feed.RSSReader.java
public RSSReader(final int maxsize, final long maxBytes, InputStream stream) throws IOException { this(maxsize); if (!(stream instanceof ByteArrayInputStream) && !(stream instanceof BufferedInputStream)) { stream = new BufferedInputStream(stream); }//from ww w . j a v a2s.com StrictLimitInputStream limitedSource = new StrictLimitInputStream(stream, maxBytes); try { final SAXParser saxParser = getParser(); // do not look at external dtd - see: http://www.ibm.com/developerworks/xml/library/x-tipcfsx/index.html saxParser.getXMLReader().setEntityResolver(new EntityResolver() { @Override public InputSource resolveEntity(final String arg0, final String arg1) throws SAXException, IOException { return new InputSource(new StringReader("")); } }); saxParser.parse(limitedSource, this); } catch (final SAXException e) { throw new IOException(e.getMessage()); } catch (StreamLimitException e) { this.maxBytesExceeded = true; } }
From source file:nl.armatiek.xslweb.serializer.RequestSerializer.java
private XMLReader getFilteredXMLReader() throws SAXException { if (this.xmlReader == null) { XMLFilterImpl filter = new BodyFilter(); filter.setContentHandler(new ContentHandlerToXMLStreamWriter(xsw)); this.xmlReader = XMLReaderFactory.createXMLReader(); this.xmlReader.setFeature("http://xml.org/sax/features/validation", false); this.xmlReader.setFeature("http://xml.org/sax/features/namespaces", true); this.xmlReader.setFeature("http://xml.org/sax/features/namespace-prefixes", false); if (Context.getInstance().getParserHardening()) { this.xmlReader.setFeature("http://xml.org/sax/features/external-general-entities", false); this.xmlReader.setFeature("http://xml.org/sax/features/external-parameter-entities", false); this.xmlReader.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true); this.xmlReader.setEntityResolver(new EntityResolver() { @Override//from ww w.j a v a2 s. c o m public InputSource resolveEntity(String publicId, String systemId) throws SAXException, IOException { return null; } }); this.xmlReader.setProperty("http://apache.org/xml/properties/security-manager", "org.apache.xerces.util.SecurityManager"); } this.xmlReader.setContentHandler(filter); } return this.xmlReader; }
From source file:org.ajax4jsf.resource.ResourceBuilderImpl.java
private void registerConfig(URL resourceConfig) { try {//w w w .j a v a 2 s.com if (log.isDebugEnabled()) { log.debug("Process resources configuration file " + resourceConfig.toExternalForm()); } InputStream in = URLToStreamHelper.urlToStream(resourceConfig); try { Digester digester = new Digester(); digester.setValidating(false); digester.setEntityResolver(new EntityResolver() { // Dummi resolver - alvays do nothing public InputSource resolveEntity(String publicId, String systemId) throws SAXException, IOException { return new InputSource(new StringReader("")); } }); digester.setNamespaceAware(false); digester.setUseContextClassLoader(true); digester.push(this); digester.addObjectCreate("resource-config/resource", "class", JarResource.class); digester.addObjectCreate("resource-config/resource/renderer", "class", HTMLRenderer.class); digester.addCallMethod("resource-config/resource/renderer/content-type", "setContentType", 0); digester.addSetNext("resource-config/resource/renderer", "setRenderer", ResourceRenderer.class.getName()); digester.addCallMethod("resource-config/resource/name", "setKey", 0); digester.addCallMethod("resource-config/resource/path", "setPath", 0); digester.addCallMethod("resource-config/resource/cacheable", "setCacheable", 0); digester.addCallMethod("resource-config/resource/session-aware", "setSessionAware", 0); digester.addCallMethod("resource-config/resource/property", "setProperty", 2); digester.addCallParam("resource-config/resource/property/name", 0); digester.addCallParam("resource-config/resource/property/value", 1); digester.addCallMethod("resource-config/resource/content-type", "setContentType", 0); digester.addSetNext("resource-config/resource", "addResource", InternetResource.class.getName()); digester.parse(in); } finally { in.close(); } } catch (IOException e) { throw new FacesException(e); } catch (SAXException e) { throw new FacesException(e); } }
From source file:org.apache.axis2.jaxbri.CodeGenerationUtility.java
/** * @param additionalSchemas/*from w w w . java 2 s . c o m*/ * @throws RuntimeException */ public static TypeMapper processSchemas(final List schemas, Element[] additionalSchemas, CodeGenConfiguration cgconfig) throws RuntimeException { try { //check for the imported types. Any imported types are supposed to be here also if (schemas == null || schemas.isEmpty()) { //there are no types to be code generated //However if the type mapper is left empty it will be a problem for the other //processes. Hence the default type mapper is set to the configuration return new DefaultTypeMapper(); } final Map schemaToInputSourceMap = new HashMap(); final Map<String, StringBuffer> publicIDToStringMap = new HashMap<String, StringBuffer>(); //create the type mapper JavaTypeMapper mapper = new JavaTypeMapper(); String baseURI = cgconfig.getBaseURI(); if (!baseURI.endsWith("/")) { baseURI = baseURI + "/"; } for (int i = 0; i < schemas.size(); i++) { XmlSchema schema = (XmlSchema) schemas.get(i); InputSource inputSource = new InputSource(new StringReader(getSchemaAsString(schema))); //here we have to set a proper system ID. otherwise when processing the // included schaemas for this schema we have a problem // it creates the system ID using this target namespace value inputSource.setSystemId(baseURI + "xsd" + i + ".xsd"); inputSource.setPublicId(schema.getTargetNamespace()); schemaToInputSourceMap.put(schema, inputSource); } File outputDir = new File(cgconfig.getOutputLocation(), "src"); outputDir.mkdir(); Map nsMap = cgconfig.getUri2PackageNameMap(); EntityResolver resolver = new EntityResolver() { public InputSource resolveEntity(String publicId, String systemId) throws SAXException, IOException { InputSource returnInputSource = null; XmlSchema key = null; for (Iterator iter = schemaToInputSourceMap.keySet().iterator(); iter.hasNext();) { key = (XmlSchema) iter.next(); String nsp = key.getTargetNamespace(); if (nsp != null && nsp.equals(publicId)) { // when returning the input stream we have to always return a new // input stream. // sinc jaxbri internally consumes the input stream it gives an // exception. returnInputSource = new InputSource(new StringReader(getSchemaAsString(key))); InputSource existingInputSource = (InputSource) schemaToInputSourceMap.get(key); returnInputSource.setSystemId(existingInputSource.getSystemId()); returnInputSource.setPublicId(existingInputSource.getPublicId()); break; } } if (returnInputSource == null) { // then we have to find this using the file system if (systemId != null) { returnInputSource = new InputSource(systemId); returnInputSource.setSystemId(systemId); } } if (returnInputSource == null) { if (publicId != null) { if (!publicIDToStringMap.containsKey(publicId)) { URL url = new URL(publicId); BufferedReader bufferedReader = new BufferedReader( new InputStreamReader(url.openStream())); StringBuffer stringBuffer = new StringBuffer(); String str = null; while ((str = bufferedReader.readLine()) != null) { stringBuffer.append(str); } publicIDToStringMap.put(publicId, stringBuffer); } String schemaString = publicIDToStringMap.get(publicId).toString(); returnInputSource = new InputSource(new StringReader(schemaString)); returnInputSource.setPublicId(publicId); returnInputSource.setSystemId(publicId); } } return returnInputSource; } }; Map properties = cgconfig.getProperties(); String bindingFileName = (String) properties.get(BINDING_FILE_NAME); XmlSchema key = null; for (Iterator schemaIter = schemaToInputSourceMap.keySet().iterator(); schemaIter.hasNext();) { SchemaCompiler sc = XJC.createSchemaCompiler(); if (bindingFileName != null) { if (bindingFileName.endsWith(".jar")) { scanEpisodeFile(new File(bindingFileName), sc); } else { InputSource inputSoruce = new InputSource(new FileInputStream(bindingFileName)); inputSoruce.setSystemId(new File(bindingFileName).toURI().toString()); sc.getOptions().addBindFile(inputSoruce); } } key = (XmlSchema) schemaIter.next(); if (nsMap != null) { Iterator iterator = nsMap.entrySet().iterator(); while (iterator.hasNext()) { Map.Entry entry = (Map.Entry) iterator.next(); String namespace = (String) entry.getKey(); String pkg = (String) nsMap.get(namespace); registerNamespace(sc, namespace, pkg); } } sc.setEntityResolver(resolver); sc.setErrorListener(new ErrorListener() { public void error(SAXParseException saxParseException) { log.error(saxParseException.getMessage()); log.debug(saxParseException.getMessage(), saxParseException); } public void fatalError(SAXParseException saxParseException) { log.error(saxParseException.getMessage()); log.debug(saxParseException.getMessage(), saxParseException); } public void warning(SAXParseException saxParseException) { log.warn(saxParseException.getMessage()); log.debug(saxParseException.getMessage(), saxParseException); } public void info(SAXParseException saxParseException) { log.info(saxParseException.getMessage()); log.debug(saxParseException.getMessage(), saxParseException); } }); sc.parseSchema((InputSource) schemaToInputSourceMap.get(key)); sc.getOptions().addGrammar((InputSource) schemaToInputSourceMap.get(key)); for (Object property : properties.keySet()) { String propertyName = (String) property; if (propertyName.startsWith("X")) { String[] args = null; String propertyValue = (String) properties.get(property); if (propertyValue != null) { args = new String[] { "-" + propertyName, propertyValue }; } else { args = new String[] { "-" + propertyName }; } sc.getOptions().parseArguments(args); } } // Bind the XML S2JJAXBModel jaxbModel = sc.bind(); if (jaxbModel == null) { throw new RuntimeException("Unable to generate code using jaxbri"); } // Emit the code artifacts JCodeModel codeModel = jaxbModel.generateCode(null, null); FileCodeWriter writer = new FileCodeWriter(outputDir); codeModel.build(writer); Collection mappings = jaxbModel.getMappings(); Iterator iter = mappings.iterator(); while (iter.hasNext()) { Mapping mapping = (Mapping) iter.next(); QName qn = mapping.getElement(); String typeName = mapping.getType().getTypeClass().fullName(); mapper.addTypeMappingName(qn, typeName); } //process the unwrapped parameters if (!cgconfig.isParametersWrapped()) { //figure out the unwrapped operations List axisServices = cgconfig.getAxisServices(); for (Iterator servicesIter = axisServices.iterator(); servicesIter.hasNext();) { AxisService axisService = (AxisService) servicesIter.next(); for (Iterator operations = axisService.getOperations(); operations.hasNext();) { AxisOperation op = (AxisOperation) operations.next(); if (WSDLUtil.isInputPresentForMEP(op.getMessageExchangePattern())) { AxisMessage message = op.getMessage(WSDLConstants.MESSAGE_LABEL_IN_VALUE); if (message != null && message.getParameter(Constants.UNWRAPPED_KEY) != null) { Mapping mapping = jaxbModel.get(message.getElementQName()); List elementProperties = mapping.getWrapperStyleDrilldown(); for (int j = 0; j < elementProperties.size(); j++) { Property elementProperty = (Property) elementProperties.get(j); QName partQName = WSDLUtil.getPartQName(op.getName().getLocalPart(), WSDLConstants.INPUT_PART_QNAME_SUFFIX, elementProperty.elementName().getLocalPart()); //this type is based on a primitive type- use the //primitive type name in this case String fullJaveName = elementProperty.type().fullName(); if (elementProperty.type().isArray()) { fullJaveName = fullJaveName.concat("[]"); } mapper.addTypeMappingName(partQName, fullJaveName); if (elementProperty.type().isPrimitive()) { mapper.addTypeMappingStatus(partQName, Boolean.TRUE); } if (elementProperty.type().isArray()) { mapper.addTypeMappingStatus(partQName, Constants.ARRAY_TYPE); } } } } if (WSDLUtil.isOutputPresentForMEP(op.getMessageExchangePattern())) { AxisMessage message = op.getMessage(WSDLConstants.MESSAGE_LABEL_OUT_VALUE); if (message != null && message.getParameter(Constants.UNWRAPPED_KEY) != null) { Mapping mapping = jaxbModel.get(message.getElementQName()); List elementProperties = mapping.getWrapperStyleDrilldown(); for (int j = 0; j < elementProperties.size(); j++) { Property elementProperty = (Property) elementProperties.get(j); QName partQName = WSDLUtil.getPartQName(op.getName().getLocalPart(), WSDLConstants.OUTPUT_PART_QNAME_SUFFIX, elementProperty.elementName().getLocalPart()); //this type is based on a primitive type- use the //primitive type name in this case String fullJaveName = elementProperty.type().fullName(); if (elementProperty.type().isArray()) { fullJaveName = fullJaveName.concat("[]"); } mapper.addTypeMappingName(partQName, fullJaveName); if (elementProperty.type().isPrimitive()) { mapper.addTypeMappingStatus(partQName, Boolean.TRUE); } if (elementProperty.type().isArray()) { mapper.addTypeMappingStatus(partQName, Constants.ARRAY_TYPE); } } } } } } } } // Return the type mapper return mapper; } catch (Exception e) { throw new RuntimeException(e); } }
From source file:org.apache.beehive.netui.util.config.internal.catalog.CatalogParser.java
public CatalogConfig parse(final String resourcePath, final InputStream inputStream) { CatalogConfig catalogConfig = null;//from ww w .j a v a 2 s. c om InputStream xmlInputStream = null; InputStream xsdInputStream = null; try { xmlInputStream = inputStream; xsdInputStream = getClass().getClassLoader().getResourceAsStream(CONFIG_SCHEMA); DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); dbf.setValidating(true); dbf.setNamespaceAware(true); dbf.setAttribute(JAXP_SCHEMA_LANGUAGE, W3C_XML_SCHEMA); dbf.setAttribute(JAXP_SCHEMA_SOURCE, xsdInputStream); DocumentBuilder db = dbf.newDocumentBuilder(); db.setErrorHandler(new ErrorHandler() { public void warning(SAXParseException exception) { LOG.info("Validation warning validating config file \"" + resourcePath + "\" against XML Schema \"" + CONFIG_SCHEMA); } public void error(SAXParseException exception) { throw new RuntimeException("Validation errors occurred parsing the config file \"" + resourcePath + "\". Cause: " + exception, exception); } public void fatalError(SAXParseException exception) { throw new RuntimeException("Validation errors occurred parsing the config file \"" + resourcePath + "\". Cause: " + exception, exception); } }); db.setEntityResolver(new EntityResolver() { public InputSource resolveEntity(String publicId, String systemId) { if (systemId.endsWith("/catalog-config.xsd")) { InputStream inputStream = getClass().getClassLoader().getResourceAsStream(CONFIG_SCHEMA); return new InputSource(inputStream); } else return null; } }); Document document = db.parse(xmlInputStream); Element catalogElement = document.getDocumentElement(); catalogConfig = parse(catalogElement); } catch (ParserConfigurationException e) { throw new RuntimeException("Error occurred parsing the config file \"" + resourcePath + "\"", e); } catch (IOException e) { throw new RuntimeException("Error occurred parsing the config file \"" + resourcePath + "\"", e); } catch (SAXException e) { throw new RuntimeException("Error occurred parsing the config file \"" + resourcePath + "\"", e); } finally { try { if (xsdInputStream != null) xsdInputStream.close(); } catch (IOException e) { } } return catalogConfig; }
From source file:org.apache.geronimo.myfaces.FacesConfigDigester.java
public FacesConfigDigester() { digester = new Digester(); // TODO: validation set to false during implementation of 1.2 digester.setValidating(false);//from ww w .j a v a 2 s .c o m digester.setNamespaceAware(true); digester.setEntityResolver(new EntityResolver() { @Override public InputSource resolveEntity(String arg0, String arg1) throws SAXException, IOException { return EMPTY_INPUT_SOURCE; } }); //digester.setUseContextClassLoader(true); digester.setClassLoader(FacesConfig.class.getClassLoader()); digester.addObjectCreate("faces-config", FacesConfig.class); // 2.0 specific start digester.addSetProperties("faces-config", "metadata-complete", "metadataComplete"); digester.addSetProperties("faces-config", "version", "version"); // 2.0 specific end // 2.0 config ordering name start digester.addCallMethod("faces-config/name", "setName", 0); digester.addObjectCreate("faces-config/ordering", Ordering.class); digester.addSetNext("faces-config/ordering", "setOrdering"); digester.addObjectCreate("faces-config/ordering/before/name", FacesConfigNameSlot.class); digester.addSetNext("faces-config/ordering/before/name", "addBeforeSlot"); digester.addCallMethod("faces-config/ordering/before/name", "setName", 0); digester.addObjectCreate("faces-config/ordering/before/others", ConfigOthersSlot.class); digester.addSetNext("faces-config/ordering/before/others", "addBeforeSlot"); digester.addObjectCreate("faces-config/ordering/after/name", FacesConfigNameSlot.class); digester.addSetNext("faces-config/ordering/after/name", "addAfterSlot"); digester.addCallMethod("faces-config/ordering/after/name", "setName", 0); digester.addObjectCreate("faces-config/ordering/after/others", ConfigOthersSlot.class); digester.addSetNext("faces-config/ordering/after/others", "addAfterSlot"); digester.addObjectCreate("faces-config/absolute-ordering", AbsoluteOrdering.class); digester.addSetNext("faces-config/absolute-ordering", "setAbsoluteOrdering"); digester.addObjectCreate("faces-config/absolute-ordering/name", FacesConfigNameSlot.class); digester.addSetNext("faces-config/absolute-ordering/name", "addOrderSlot"); digester.addCallMethod("faces-config/absolute-ordering/name", "setName", 0); digester.addObjectCreate("faces-config/absolute-ordering/others", ConfigOthersSlot.class); digester.addSetNext("faces-config/absolute-ordering/others", "addOrderSlot"); // 2.0 config ordering name end digester.addObjectCreate("faces-config/application", Application.class); digester.addSetNext("faces-config/application", "addApplication"); digester.addCallMethod("faces-config/application/action-listener", "addActionListener", 0); digester.addCallMethod("faces-config/application/default-render-kit-id", "addDefaultRenderkitId", 0); digester.addCallMethod("faces-config/application/default-validators", "setDefaultValidatorsPresent"); digester.addCallMethod("faces-config/application/default-validators/validator-id", "addDefaultValidatorId", 0); digester.addCallMethod("faces-config/application/message-bundle", "addMessageBundle", 0); digester.addCallMethod("faces-config/application/navigation-handler", "addNavigationHandler", 0); digester.addCallMethod("faces-config/application/partial-traversal", "addPartialTraversal", 0); digester.addCallMethod("faces-config/application/view-handler", "addViewHandler", 0); digester.addCallMethod("faces-config/application/state-manager", "addStateManager", 0); digester.addCallMethod("faces-config/application/property-resolver", "addPropertyResolver", 0); digester.addCallMethod("faces-config/application/variable-resolver", "addVariableResolver", 0); digester.addObjectCreate("faces-config/application/locale-config", LocaleConfig.class); digester.addSetNext("faces-config/application/locale-config", "addLocaleConfig"); digester.addCallMethod("faces-config/application/locale-config/default-locale", "setDefaultLocale", 0); digester.addCallMethod("faces-config/application/locale-config/supported-locale", "addSupportedLocale", 0); // 1.2 specific start digester.addCallMethod("faces-config/application/el-resolver", "addElResolver", 0); digester.addObjectCreate("faces-config/application/resource-bundle", ResourceBundle.class); digester.addSetNext("faces-config/application/resource-bundle", "addResourceBundle"); digester.addCallMethod("faces-config/application/resource-bundle/base-name", "setBaseName", 0); digester.addCallMethod("faces-config/application/resource-bundle/var", "setVar", 0); digester.addCallMethod("faces-config/application/resource-bundle/display-name", "setDisplayName", 0); // 1.2 specific end // 2.0 specific start digester.addObjectCreate("faces-config/application/system-event-listener", SystemEventListener.class); digester.addSetNext("faces-config/application/system-event-listener", "addSystemEventListener"); digester.addCallMethod("faces-config/application/system-event-listener/system-event-listener-class", "setSystemEventListenerClass", 0); digester.addCallMethod("faces-config/application/system-event-listener/system-event-class", "setSystemEventClass", 0); digester.addCallMethod("faces-config/application/system-event-listener/source-class", "setSourceClass", 0); digester.addCallMethod("faces-config/application/resource-handler", "addResourceHandler", 0); digester.addCallMethod("faces-config/factory/exception-handler-factory", "addExceptionHandlerFactory", 0); digester.addCallMethod("faces-config/factory/external-context-factory", "addExternalContextFactory", 0); digester.addCallMethod("faces-config/factory/view-declaration-language-factory", "addViewDeclarationLanguageFactory", 0); digester.addCallMethod("faces-config/factory/partial-view-context-factory", "addPartialViewContextFactory", 0); digester.addCallMethod("faces-config/factory/tag-handler-delegate-factory", "addTagHandlerDelegateFactory", 0); digester.addCallMethod("faces-config/factory/visit-context-factory", "addVisitContextFactory", 0); // 2.0 specific end digester.addObjectCreate("faces-config/factory", Factory.class); digester.addSetNext("faces-config/factory", "addFactory"); digester.addCallMethod("faces-config/factory/application-factory", "addApplicationFactory", 0); digester.addCallMethod("faces-config/factory/faces-context-factory", "addFacesContextFactory", 0); digester.addCallMethod("faces-config/factory/lifecycle-factory", "addLifecycleFactory", 0); digester.addCallMethod("faces-config/factory/render-kit-factory", "addRenderkitFactory", 0); digester.addCallMethod("faces-config/component", "addComponent", 2); digester.addCallParam("faces-config/component/component-type", 0); digester.addCallParam("faces-config/component/component-class", 1); digester.addObjectCreate("faces-config/converter", Converter.class); digester.addSetNext("faces-config/converter", "addConverter"); digester.addCallMethod("faces-config/converter/converter-id", "setConverterId", 0); digester.addCallMethod("faces-config/converter/converter-for-class", "setForClass", 0); digester.addCallMethod("faces-config/converter/converter-class", "setConverterClass", 0); digester.addObjectCreate("faces-config/converter/attribute", Attribute.class); digester.addSetNext("faces-config/converter/attribute", "addAttribute"); digester.addCallMethod("faces-config/converter/attribute/description", "addDescription", 0); digester.addCallMethod("faces-config/converter/attribute/display-name", "addDisplayName", 0); digester.addCallMethod("faces-config/converter/attribute/icon", "addIcon", 0); digester.addCallMethod("faces-config/converter/attribute/attribute-name", "setAttributeName", 0); digester.addCallMethod("faces-config/converter/attribute/attribute-class", "setAttributeClass", 0); digester.addCallMethod("faces-config/converter/attribute/default-value", "setDefaultValue", 0); digester.addCallMethod("faces-config/converter/attribute/suggested-value", "setSuggestedValue", 0); digester.addCallMethod("faces-config/converter/attribute/attribute-extension", "addAttributeExtension", 0); digester.addObjectCreate("faces-config/converter/property", Property.class); digester.addSetNext("faces-config/converter/property", "addProperty"); digester.addCallMethod("faces-config/converter/property/description", "addDescription", 0); digester.addCallMethod("faces-config/converter/property/display-name", "addDisplayName", 0); digester.addCallMethod("faces-config/converter/property/icon", "addIcon", 0); digester.addCallMethod("faces-config/converter/property/property-name", "setPropertyName", 0); digester.addCallMethod("faces-config/converter/property/property-class", "setPropertyClass", 0); digester.addCallMethod("faces-config/converter/property/default-value", "setDefaultValue", 0); digester.addCallMethod("faces-config/converter/property/suggested-value", "setSuggestedValue", 0); digester.addCallMethod("faces-config/converter/property/property-extension", "addPropertyExtension", 0); digester.addObjectCreate("faces-config/managed-bean", ManagedBean.class); digester.addSetProperties("faces-config/managed-bean", "eager", "eager"); digester.addSetNext("faces-config/managed-bean", "addManagedBean"); digester.addCallMethod("faces-config/managed-bean/description", "setDescription", 0); digester.addCallMethod("faces-config/managed-bean/managed-bean-name", "setName", 0); digester.addCallMethod("faces-config/managed-bean/managed-bean-class", "setBeanClass", 0); digester.addCallMethod("faces-config/managed-bean/managed-bean-scope", "setScope", 0); digester.addObjectCreate("faces-config/managed-bean/managed-property", ManagedProperty.class); digester.addSetNext("faces-config/managed-bean/managed-property", "addProperty"); digester.addCallMethod("faces-config/managed-bean/managed-property/property-name", "setPropertyName", 0); digester.addCallMethod("faces-config/managed-bean/managed-property/property-class", "setPropertyClass", 0); digester.addCallMethod("faces-config/managed-bean/managed-property/null-value", "setNullValue"); digester.addCallMethod("faces-config/managed-bean/managed-property/value", "setValue", 0); digester.addObjectCreate("faces-config/managed-bean/managed-property/map-entries", MapEntries.class); digester.addSetNext("faces-config/managed-bean/managed-property/map-entries", "setMapEntries"); digester.addCallMethod("faces-config/managed-bean/managed-property/map-entries/key-class", "setKeyClass", 0); digester.addCallMethod("faces-config/managed-bean/managed-property/map-entries/value-class", "setValueClass", 0); digester.addObjectCreate("faces-config/managed-bean/managed-property/map-entries/map-entry", MapEntries.Entry.class); digester.addSetNext("faces-config/managed-bean/managed-property/map-entries/map-entry", "addEntry"); digester.addCallMethod("faces-config/managed-bean/managed-property/map-entries/map-entry/key", "setKey", 0); digester.addCallMethod("faces-config/managed-bean/managed-property/map-entries/map-entry/null-value", "setNullValue"); digester.addCallMethod("faces-config/managed-bean/managed-property/map-entries/map-entry/value", "setValue", 0); digester.addObjectCreate("faces-config/managed-bean/managed-property/list-entries", ListEntries.class); digester.addSetNext("faces-config/managed-bean/managed-property/list-entries", "setListEntries"); digester.addCallMethod("faces-config/managed-bean/managed-property/list-entries/value-class", "setValueClass", 0); digester.addObjectCreate("faces-config/managed-bean/managed-property/list-entries/null-value", ListEntries.Entry.class); digester.addSetNext("faces-config/managed-bean/managed-property/list-entries/null-value", "addEntry"); digester.addCallMethod("faces-config/managed-bean/managed-property/list-entries/null-value", "setNullValue"); digester.addObjectCreate("faces-config/managed-bean/managed-property/list-entries/value", ListEntries.Entry.class); digester.addSetNext("faces-config/managed-bean/managed-property/list-entries/value", "addEntry"); digester.addCallMethod("faces-config/managed-bean/managed-property/list-entries/value", "setValue", 0); digester.addObjectCreate("faces-config/managed-bean/map-entries", MapEntries.class); digester.addSetNext("faces-config/managed-bean/map-entries", "setMapEntries"); digester.addCallMethod("faces-config/managed-bean/map-entries/key-class", "setKeyClass", 0); digester.addCallMethod("faces-config/managed-bean/map-entries/value-class", "setValueClass", 0); digester.addObjectCreate("faces-config/managed-bean/map-entries/map-entry", MapEntries.Entry.class); digester.addSetNext("faces-config/managed-bean/map-entries/map-entry", "addEntry"); digester.addCallMethod("faces-config/managed-bean/map-entries/map-entry/key", "setKey", 0); digester.addCallMethod("faces-config/managed-bean/map-entries/map-entry/null-value", "setNullValue"); digester.addCallMethod("faces-config/managed-bean/map-entries/map-entry/value", "setValue", 0); digester.addObjectCreate("faces-config/managed-bean/list-entries", ListEntries.class); digester.addSetNext("faces-config/managed-bean/list-entries", "setListEntries"); digester.addCallMethod("faces-config/managed-bean/list-entries/value-class", "setValueClass", 0); digester.addObjectCreate("faces-config/managed-bean/list-entries/null-value", ListEntries.Entry.class); digester.addSetNext("faces-config/managed-bean/list-entries/null-value", "addEntry"); digester.addCallMethod("faces-config/managed-bean/list-entries/null-value", "setNullValue"); digester.addObjectCreate("faces-config/managed-bean/list-entries/value", ListEntries.Entry.class); digester.addSetNext("faces-config/managed-bean/list-entries/value", "addEntry"); digester.addCallMethod("faces-config/managed-bean/list-entries/value", "setValue", 0); digester.addObjectCreate("faces-config/navigation-rule", NavigationRule.class); digester.addSetNext("faces-config/navigation-rule", "addNavigationRule"); digester.addCallMethod("faces-config/navigation-rule/from-view-id", "setFromViewId", 0); digester.addObjectCreate("faces-config/navigation-rule/navigation-case", NavigationCase.class); digester.addSetNext("faces-config/navigation-rule/navigation-case", "addNavigationCase"); digester.addCallMethod("faces-config/navigation-rule/navigation-case/from-action", "setFromAction", 0); digester.addCallMethod("faces-config/navigation-rule/navigation-case/from-outcome", "setFromOutcome", 0); digester.addCallMethod("faces-config/navigation-rule/navigation-case/if", "setIf", 0); digester.addCallMethod("faces-config/navigation-rule/navigation-case/to-view-id", "setToViewId", 0); digester.addObjectCreate("faces-config/navigation-rule/navigation-case/redirect", Redirect.class); digester.addSetProperties("faces-config/navigation-rule/navigation-case/redirect", "include-view-params", "includeViewParams"); digester.addSetNext("faces-config/navigation-rule/navigation-case/redirect", "setRedirect"); digester.addObjectCreate("faces-config/navigation-rule/navigation-case/redirect/view-param", ViewParam.class); digester.addSetNext("faces-config/navigation-rule/navigation-case/redirect/view-param", "addViewParam"); digester.addCallMethod("faces-config/navigation-rule/navigation-case/redirect/view-param/name", "setName", 0); digester.addCallMethod("faces-config/navigation-rule/navigation-case/redirect/view-param/value", "setValue", 0); digester.addObjectCreate("faces-config/render-kit", RenderKit.class); digester.addSetNext("faces-config/render-kit", "addRenderKit"); digester.addCallMethod("faces-config/render-kit/render-kit-id", "setId", 0); //digester.addCallMethod("faces-config/render-kit/render-kit-class", "setRenderKitClass", 0); digester.addCallMethod("faces-config/render-kit/render-kit-class", "addRenderKitClass", 0); digester.addObjectCreate("faces-config/render-kit/renderer", Renderer.class); digester.addSetNext("faces-config/render-kit/renderer", "addRenderer"); digester.addCallMethod("faces-config/render-kit/renderer/component-family", "setComponentFamily", 0); digester.addCallMethod("faces-config/render-kit/renderer/renderer-type", "setRendererType", 0); digester.addCallMethod("faces-config/render-kit/renderer/renderer-class", "setRendererClass", 0); digester.addObjectCreate("faces-config/render-kit/client-behavior-renderer", ClientBehaviorRenderer.class); digester.addSetNext("faces-config/render-kit/client-behavior-renderer", "addClientBehaviorRenderer"); digester.addCallMethod("faces-config/render-kit/client-behavior-renderer/client-behavior-renderer-type", "setRendererType", 0); digester.addCallMethod("faces-config/render-kit/client-behavior-renderer/client-behavior-renderer-class", "setRendererClass", 0); // 2.0 behavior start digester.addObjectCreate("faces-config/behavior", Behavior.class); digester.addSetNext("faces-config/behavior", "addBehavior"); digester.addCallMethod("faces-config/behavior/behavior-id", "setBehaviorId", 0); digester.addCallMethod("faces-config/behavior/behavior-class", "setBehaviorClass", 0); digester.addObjectCreate("faces-config/behavior/attribute", Attribute.class); digester.addSetNext("faces-config/behavior/attribute", "addAttribute"); digester.addCallMethod("faces-config/behavior/attribute/description", "addDescription", 0); digester.addCallMethod("faces-config/behavior/attribute/display-name", "addDisplayName", 0); digester.addCallMethod("faces-config/behavior/attribute/icon", "addIcon", 0); digester.addCallMethod("faces-config/behavior/attribute/attribute-name", "setAttributeName", 0); digester.addCallMethod("faces-config/behavior/attribute/attribute-class", "setAttributeClass", 0); digester.addCallMethod("faces-config/behavior/attribute/default-value", "setDefaultValue", 0); digester.addCallMethod("faces-config/behavior/attribute/suggested-value", "setSuggestedValue", 0); digester.addCallMethod("faces-config/behavior/attribute/attribute-extension", "addAttributeExtension", 0); digester.addObjectCreate("faces-config/behavior/property", Property.class); digester.addSetNext("faces-config/behavior/property", "addProperty"); digester.addCallMethod("faces-config/behavior/property/description", "addDescription", 0); digester.addCallMethod("faces-config/behavior/property/display-name", "addDisplayName", 0); digester.addCallMethod("faces-config/behavior/property/icon", "addIcon", 0); digester.addCallMethod("faces-config/behavior/property/property-name", "setPropertyName", 0); digester.addCallMethod("faces-config/behavior/property/property-class", "setPropertyClass", 0); digester.addCallMethod("faces-config/behavior/property/default-value", "setDefaultValue", 0); digester.addCallMethod("faces-config/behavior/property/suggested-value", "setSuggestedValue", 0); digester.addCallMethod("faces-config/behavior/property/property-extension", "addPropertyExtension", 0); // 2.0 behavior end digester.addCallMethod("faces-config/lifecycle/phase-listener", "addLifecyclePhaseListener", 0); digester.addCallMethod("faces-config/validator", "addValidator", 2); digester.addCallParam("faces-config/validator/validator-id", 0); digester.addCallParam("faces-config/validator/validator-class", 1); }