[Yanel-commits] rev 46786 -
public/yanel/trunk/src/contributions/resources/contact-form/src/java/org/wyona/yanel/impl/resources/contactform
michi at wyona.com
michi at wyona.com
Tue Dec 22 22:40:14 CET 2009
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);
+*/
}
/**
More information about the Yanel-commits
mailing list