[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