Bug 109382
Summary: | Method for setting XSLT engine is difficult, error prone & inconsistent with rest of configuration process | ||
---|---|---|---|
Product: | [Retired] Red Hat Web Application Framework | Reporter: | Daniel Berrangé <berrange> |
Component: | other | Assignee: | Dennis Gregorovic <dgregor> |
Status: | CLOSED RAWHIDE | QA Contact: | Jon Orris <jorris> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | nightly | CC: | berrange, richardl |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2004-01-26 21:15:18 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | |||
Bug Blocks: | 106481 |
Description
Daniel Berrangé
2003-11-07 11:55:20 UTC
> The 'waf.templating.xsl_engine' should not have a default value
Sounds like a bad idea.
Can we support both short names and full class names? So, for example,
if
waf.templating.xsl_engine=foo.bar.Baz
then we check if "foo.bar.Baz" is a known supported short name for
a known supported XSLT processor. If it is, we get the class
name mapped to this shortcut. If if it is not a supported shortcut,
then we check if it is a classname, and if so, does it implement
the TransformerFactory interface? If it does, we are all set.
If it doesn't, display an error message.
The idea of also allowing a 'shortname' as an alias for a full class name sounds like a very useful extension to the ClassParameter convertor. Likewise verifying that it implements a given interface . See also comments on bug 109957 >Parenthetically speaking, changing the transformer is a pain in the >butt. Had to figure out the following variable needs to be exported: >JAVA_TRANSFORMER_FACTORY=org.apache.xalan.processor.TransformerFactoryImpl Documented in $ p4 print \ //documentation/core/dev/install-guide/prod-install-prep.sgml#18 | head -n 284 | tail -n 10 <para>Tomcat 4.1.<replaceable>x</replaceable> uses the AElfred non-validating parser instead of the Xerces parser. AElfred will not work, and Xerces is used instead. The XML and XSL parsers are controlled by the Tomcat startup script, and can be modified by setting the <varname>DOCUMENT_BUILDER_FACTORY</varname>, <varname>SAX_PARSER_FACTORY</varname>, and <varname>JAVA_TRANSFORMER_FACTORY</varname> environment variables. </para> we'll set sensible defaults to resolve and document The current solution of environment variables has been causing no end of pain for PS developers on Rickshaw, so I've fixed this in the London codebase at p4 39136 & 39138. integrated @39377. Note that classes may need to be added to the classpath manually in order to set the new parameters to certain values. Example: 04:50:27 dgregor@galileo ccm$ ccm set waf.xml.xsl_transformer=resin *** Error *** Parameter waf.xml.xsl_transformer has the following errors: No such class: com.caucho.xsl.Xsl 04:50:36 dgregor@galileo ccm$ env CLASSPATH=/opt/resin/2.1.4/lib/resin.jar ccm set waf.xml.xsl_transformer=resin 04:50:58 dgregor@galileo ccm$ Dan and I discussed deferring the classname check until later. However, after a bit of hacking around, I couldn't figure out how to do this. So, I left the behavior as it is. |