[Yanel-dev] Re: [Yanel-commits] rev
46786 - public/yanel/trunk/src/contributions/resources/contact-form/src/java/org/wyona/yanel/impl/resources/contactform
Michael Wechner
michael.wechner at wyona.com
Thu Jan 7 00:49:30 CET 2010
Guillaume Déflache wrote:
> michi at wyona.com wrote:
>> Author: michi
>> Date: 2009-12-22 22:40:14 +0100 (Tue, 22 Dec 2009)
>> New Revision: 46786
>>
>> Modified:
>>
>> public/yanel/trunk/src/contributions/resources/contact-form/src/java/org/wyona/yanel/impl/resources/contactform/ContactResource.java
>>
>> Log:
>> check if global XSLT actually exists
>>
>> Modified:
>> public/yanel/trunk/src/contributions/resources/contact-form/src/java/org/wyona/yanel/impl/resources/contactform/ContactResource.java
>>
>> ===================================================================
>> ---
>> public/yanel/trunk/src/contributions/resources/contact-form/src/java/org/wyona/yanel/impl/resources/contactform/ContactResource.java
>> 2009-12-22 21:38:18 UTC (rev 46785)
>> +++
>> public/yanel/trunk/src/contributions/resources/contact-form/src/java/org/wyona/yanel/impl/resources/contactform/ContactResource.java
>> 2009-12-22 21:40:14 UTC (rev 46786)
>> @@ -125,14 +125,6 @@
>> }
>> }
>>
>> - // create xslt transformer for global layout
>> - TransformerHandler xsltHandler2 =
>> tf.newTransformerHandler(getGlobalXSLTStreamSource(path));
>> - transformer = xsltHandler2.getTransformer();
>> - transformer.setParameter("yanel.path.name",
>> org.wyona.commons.io.PathUtil.getName(getPath()));
>> - transformer.setParameter("yanel.path", getPath());
>> - transformer.setParameter("yanel.back2context",
>> PathUtil.backToContext(realm, getPath()));
>> - transformer.setParameter("yarep.back2realm",
>> PathUtil.backToRealm(getPath()));
>> -
>> // create xinclude transformer:
>> XIncludeTransformer xIncludeTransformer = new
>> XIncludeTransformer();
>> ResourceResolver resolver = new ResourceResolver(this);
>> @@ -152,8 +144,22 @@
>>
>> // chain everything together (create a pipeline):
>> xmlReader.setContentHandler(xsltHandler1);
>> - xsltHandler1.setResult(new SAXResult(xsltHandler2));
>> - xsltHandler2.setResult(new SAXResult(xIncludeTransformer));
>> +
>> + // create xslt transformer for global layout
>> + StreamSource globalStreamSource =
>> getGlobalXSLTStreamSource();
>> + if (globalStreamSource != null) {
>> + TransformerHandler xsltHandlerGlobal =
>> tf.newTransformerHandler(globalStreamSource);
>> + transformer = xsltHandlerGlobal.getTransformer();
>> + transformer.setParameter("yanel.path.name",
>> org.wyona.commons.io.PathUtil.getName(getPath()));
>> + transformer.setParameter("yanel.path", getPath());
>> + transformer.setParameter("yanel.back2context",
>> PathUtil.backToContext(realm, getPath()));
>> + transformer.setParameter("yarep.back2realm",
>> PathUtil.backToRealm(getPath()));
>> + xsltHandler1.setResult(new
>> SAXResult(xsltHandlerGlobal));
>> + xsltHandlerGlobal.setResult(new
>> SAXResult(xIncludeTransformer));
>> + } else {
>> + xsltHandler1.setResult(new
>> SAXResult(xIncludeTransformer));
>> + }
>> +
>> xIncludeTransformer.setResult(new
>> SAXResult(i18nTransformer));
>> i18nTransformer.setResult(new
>> SAXResult(serializer.asContentHandler()));
>> serializer.setOutputStream(baos);
>> @@ -236,16 +242,21 @@
>>
>> /**
>> * Get global XSLT
>> - * @param path
>> */
>> - private StreamSource getGlobalXSLTStreamSource(Path path) throws
>> NoSuchNodeException, RepositoryException, Exception {
>> + private StreamSource getGlobalXSLTStreamSource() throws
>> NoSuchNodeException, RepositoryException, Exception {
>> String xsltPath = getResourceConfigProperty("xslt");
>> if (xsltPath != null) {
>> return new
>> StreamSource(getRealm().getRepository().getNode(xsltPath).getInputStream());
>>
>> }
>> +
>> + log.warn("No global XSLT has been set/configured.");
>> + return null;
>> +
>> +/*
>> File xsltFile =
>> org.wyona.commons.io.FileUtil.file(rtd.getConfigFile().getParentFile().getAbsolutePath(),
>> "xslt" + File.separator + "global.xsl");
>> log.error("DEBUG: XSLT file: " + xsltFile);
>> return new StreamSource(xsltFile);
>> +*/
>> }
>>
>> /**
>>
>
> Wouldn't inheriting from BasicXMLResource (have) help(ed) (see XXX on
> class declaration)?
yes, whereas the above changes are mainly bug fixes and unfortunately I
don't have the time right now
to refactor it really.
Thanks
Michi
More information about the Yanel-development
mailing list