[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