You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@forrest.apache.org by Tim Williams <wi...@gmail.com> on 2010/05/17 23:24:36 UTC

Re: svn commit: r945269 - in /forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src: cocoon-2.2-block/src/main/resources/COB-INF/ cocoon-2.2-block/src/main/resources/META-INF/cocoon/avalon/ java/org/apache/forrest/dispatc

Hi Thorsten, is this working for you locally?  I noticed the
Forrestbot failure just now and I'm also failing locally (with a NPE)
on a dispatcher sample site.  Was thinking it might be related but
don't see anything obvious in here...

--tim

On Mon, May 17, 2010 at 1:42 PM,  <th...@apache.org> wrote:
> Author: thorsten
> Date: Mon May 17 17:42:05 2010
> New Revision: 945269
>
> URL: http://svn.apache.org/viewvc?rev=945269&view=rev
> Log:
> FOR-1194 Fixing utf-8 compability by forcing to use UTF-8 in every step
>
> Modified:
>    forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/cocoon-2.2-block/src/main/resources/COB-INF/sitemap.xmap
>    forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/cocoon-2.2-block/src/main/resources/META-INF/cocoon/avalon/dispatcher-sitemapcomponents.xconf
>    forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/impl/XSLContract.java
>    forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/impl/helper/XSLContractHelper.java
>    forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/transformation/DispatcherTransformer.java
>    forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/transformation/DispatcherWrapperTransformer.java
>
> Modified: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/cocoon-2.2-block/src/main/resources/COB-INF/sitemap.xmap
> URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/cocoon-2.2-block/src/main/resources/COB-INF/sitemap.xmap?rev=945269&r1=945268&r2=945269&view=diff
> ==============================================================================
> --- forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/cocoon-2.2-block/src/main/resources/COB-INF/sitemap.xmap (original)
> +++ forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/cocoon-2.2-block/src/main/resources/COB-INF/sitemap.xmap Mon May 17 17:42:05 2010
> @@ -22,7 +22,7 @@ xmlns:map="http://apache.org/cocoon/site
>     <map:pipeline id="lm">
>       <map:match pattern="locationmap.xml">
>         <map:generate src="locationmap.xml" />
> -        <map:serialize type="xml" />
> +        <map:serialize/>
>       </map:match>
>     </map:pipeline>
>     <map:pipeline id="dispatcher">
> @@ -61,7 +61,7 @@ xmlns:map="http://apache.org/cocoon/site
>         </map:transform>
>         <map:transform src="lm://hooks-to-fo.xsl" />
>         <map:transform src="lm://strip-dispatcher-remains-fo.xsl" />
> -        <map:serialize type="xml" />
> +        <map:serialize/>
>       </map:match>
>       <map:match pattern="**.prepare.dispatcher.css">
>         <map:generate src="lm://resolve.structurer.{1}" type="jx">
> @@ -93,11 +93,11 @@ xmlns:map="http://apache.org/cocoon/site
>       <map:act type="locale">
>         <map:match pattern="resolve.structurer.**">
>           <map:generate src="lm://resolve.structurer.{1}" />
> -          <map:serialize type="xml" />
> +          <map:serialize/>
>         </map:match>
>         <map:match pattern="resolve.contract.*.**">
>           <map:generate src="{lm:resolve.contract.{1}.{2}}" />
> -          <map:serialize type="xml" />
> +          <map:serialize/>
>         </map:match>
>         <map:match pattern="prepare.contract.*.**">
>           <map:generate src="{lm:resolve.contract.{1}.{2}}" />
> @@ -105,7 +105,7 @@ xmlns:map="http://apache.org/cocoon/site
>           <map:transform type="i18n">
>             <map:parameter name="locale" value="{../locale}" />
>           </map:transform>
> -          <map:serialize type="xml" />
> +          <map:serialize/>
>         </map:match>
>       </map:act>
>     </map:pipeline>
> @@ -116,7 +116,7 @@ xmlns:map="http://apache.org/cocoon/site
>       <map:match pattern="prepare.panels.**">
>         <map:generate src="{lm:resolve.panels.{1}}" />
>         <map:transform src="{lm:root-strip.xsl}" />
> -        <map:serialize type="xml" />
> +        <map:serialize/>
>       </map:match>
>     </map:pipeline>
>     <map:pipeline>
> @@ -126,7 +126,7 @@ xmlns:map="http://apache.org/cocoon/site
>           <map:parameter name="path" value="{1}.html" />
>           <map:parameter name="theme" value="{global:dispatcher.theme}" />
>         </map:transform>
> -        <map:serialize type="xml" />
> +        <map:serialize/>
>       </map:match>
>     </map:pipeline>
>     <map:pipeline id="resources">
>
> Modified: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/cocoon-2.2-block/src/main/resources/META-INF/cocoon/avalon/dispatcher-sitemapcomponents.xconf
> URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/cocoon-2.2-block/src/main/resources/META-INF/cocoon/avalon/dispatcher-sitemapcomponents.xconf?rev=945269&r1=945268&r2=945269&view=diff
> ==============================================================================
> --- forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/cocoon-2.2-block/src/main/resources/META-INF/cocoon/avalon/dispatcher-sitemapcomponents.xconf (original)
> +++ forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/cocoon-2.2-block/src/main/resources/META-INF/cocoon/avalon/dispatcher-sitemapcomponents.xconf Mon May 17 17:42:05 2010
> @@ -28,7 +28,7 @@ limitations under the License.
>       <cache-at-startup>true</cache-at-startup>
>     </map:transformer>
>   </map:transformers>
> -  <map:serializers default="xhtml">
> +  <map:serializers default="xml-utf8">
>     <map:serializer logger="sitemap.serializer.xhtml"
>     mime-type="text/html; charset=UTF-8" name="xhtml" ppool-max="64"
>     src="org.apache.cocoon.serialization.XMLSerializer">
> @@ -57,5 +57,9 @@ limitations under the License.
>       <encoding>UTF-8</encoding>
>       <indent>true</indent>
>     </map:serializer>
> -  </map:serializers>
> +    <map:serializer name="xml-utf8" mime-type="text/xml"
> +    src="org.apache.cocoon.serialization.XMLSerializer">
> +      <encoding>UTF-8</encoding>
> +    </map:serializer>
> +   </map:serializers>
>  </map:components>
>
> Modified: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/impl/XSLContract.java
> URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/impl/XSLContract.java?rev=945269&r1=945268&r2=945269&view=diff
> ==============================================================================
> --- forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/impl/XSLContract.java (original)
> +++ forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/impl/XSLContract.java Mon May 17 17:42:05 2010
> @@ -21,6 +21,8 @@ import java.io.BufferedOutputStream;
>  import java.io.ByteArrayInputStream;
>  import java.io.ByteArrayOutputStream;
>  import java.io.InputStream;
> +import java.io.OutputStreamWriter;
> +import java.io.UnsupportedEncodingException;
>  import java.util.Map;
>
>  import javax.xml.stream.XMLStreamException;
> @@ -105,17 +107,23 @@ public class XSLContract extends Loggabl
>       }
>     }
>     ByteArrayOutputStream out = new ByteArrayOutputStream();
> +    byte[] bytes = null;
> +    String utf8 = "";
>     // create a StreamResult and use it for the transformation
> -    Result streamResult = new StreamResult(new BufferedOutputStream(out));
>     try {
> -      helper.transform(dataStream,streamResult);
> +        OutputStreamWriter writer = new OutputStreamWriter(out,"UTF-8");
> +        Result streamResult = new StreamResult(writer);
> +        helper.transform(dataStream,streamResult);
> +        utf8 = out.toString("UTF-8");
> +        log.debug(utf8);
> +        bytes = utf8.getBytes("utf-8");
>     } catch (Exception e) {
>       String message = "Could not invoke the transformation for "
>           + "the contract \""+name+"\". "+"\n"+ e;
>       throw new ContractException(message);
>     }
> -    log.debug(out.toString());
> -    return new BufferedInputStream(new ByteArrayInputStream(out.toByteArray()));
> +
> +    return new BufferedInputStream(new ByteArrayInputStream(bytes));
>   }
>
>   /* (non-Javadoc)
>
> Modified: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/impl/helper/XSLContractHelper.java
> URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/impl/helper/XSLContractHelper.java?rev=945269&r1=945268&r2=945269&view=diff
> ==============================================================================
> --- forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/impl/helper/XSLContractHelper.java (original)
> +++ forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/impl/helper/XSLContractHelper.java Mon May 17 17:42:05 2010
> @@ -20,6 +20,7 @@ import java.io.BufferedInputStream;
>  import java.io.ByteArrayInputStream;
>  import java.io.IOException;
>  import java.io.InputStream;
> +import java.io.InputStreamReader;
>  import java.io.PrintWriter;
>  import java.util.Iterator;
>  import java.util.Map;
> @@ -124,6 +125,7 @@ public class XSLContractHelper extends L
>       SAXException, IOException {
>     // prepare transformation
>     transformer = transFact.newTransformer(xslSource);
> +    transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
>     transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
>     transformer.setOutputProperty(OutputKeys.INDENT, "yes");
>     transformer.setOutputProperty(OutputKeys.METHOD, "xml");
> @@ -220,8 +222,8 @@ public class XSLContractHelper extends L
>     }
>     // Setting the necessary attributes of the contract
>     // xsl
> -    contract.setXslSource(new StreamSource(new ByteArrayInputStream(handler
> -        .getBytes())));
> +    byte[] bytes = handler.getBytes();
> +    contract.setXslSource(new StreamSource(new ByteArrayInputStream(bytes)));
>     /* DEBUG_CODE:
>      * The following is useful to see what is going on
>      *
> @@ -254,7 +256,9 @@ public class XSLContractHelper extends L
>       throws ContractException {
>     //Source dataSource = new StreamSource(dataStream);
>     try {
> -      SAXSource saxSource = new SAXSource(xmlReader,new InputSource(dataStream));
> +      InputSource inputSource = new InputSource(new InputStreamReader(dataStream, "UTF-8"));
> +      inputSource.setEncoding("UTF-8");
> +      SAXSource saxSource = new SAXSource(xmlReader,inputSource);
>       transformer.transform(saxSource, streamResult);
>     } catch (Exception e) {
>       String message = "The xsl transformation has thrown an exception. for "
>
> Modified: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/transformation/DispatcherTransformer.java
> URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/transformation/DispatcherTransformer.java?rev=945269&r1=945268&r2=945269&view=diff
> ==============================================================================
> --- forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/transformation/DispatcherTransformer.java (original)
> +++ forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/transformation/DispatcherTransformer.java Mon May 17 17:42:05 2010
> @@ -20,6 +20,7 @@ import java.io.BufferedInputStream;
>  import java.io.File;
>  import java.io.IOException;
>  import java.io.InputStream;
> +import java.io.InputStreamReader;
>  import java.io.Serializable;
>  import java.io.StringReader;
>  import java.util.HashMap;
> @@ -490,7 +491,7 @@ public class DispatcherTransformer exten
>               throw new SAXException(e);
>             }
>             if (null != property) {
> -              localParams.put(currentProperty, property.getBytes());
> +              localParams.put(currentProperty, property.getBytes("UTF-8"));
>             }
>           }
>         }
> @@ -695,7 +696,7 @@ public class DispatcherTransformer exten
>         root.serialize(out);
>       }
>
> -      InputSource is = new InputSource(new StringReader(out.toString()));
> +      InputSource is = new InputSource(new StringReader(out.toString("UTF-8")));
>       // adding the result to the consumer
>       parser.parse(is, super.xmlConsumer);
>     } catch (Exception e) {
> @@ -1099,8 +1100,9 @@ public class DispatcherTransformer exten
>    */
>   private static InputSource getInputSource(final Source source)
>       throws IOException, SourceException {
> -    final InputSource newObject = new InputSource(source.getInputStream());
> -    newObject.setSystemId(source.getURI());
> -    return newObject;
> +    final InputSource inputSource = new InputSource(new InputStreamReader(source.getInputStream(), "UTF-8"));
> +    inputSource.setEncoding("UTF-8");
> +    inputSource.setSystemId(source.getURI());
> +    return inputSource;
>   }
>  }
>
> Modified: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/transformation/DispatcherWrapperTransformer.java
> URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/transformation/DispatcherWrapperTransformer.java?rev=945269&r1=945268&r2=945269&view=diff
> ==============================================================================
> --- forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/transformation/DispatcherWrapperTransformer.java (original)
> +++ forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/transformation/DispatcherWrapperTransformer.java Mon May 17 17:42:05 2010
> @@ -374,7 +374,7 @@ public class DispatcherWrapperTransforme
>       }
>       // get the result of the structurer as stream
>       InputStream result = structurer.execute(new BufferedInputStream(
> -          new ByteArrayInputStream(document.getBytes())), requestedFormat);
> +          new ByteArrayInputStream(document.getBytes("UTF-8"))), requestedFormat);
>       // requesting a parser
>       parser = (SAXParser) manager.lookup(SAXParser.ROLE);
>       // adding the result to the consumer
>
>
>

Re: svn commit: r945269 - in /forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src: cocoon-2.2-block/src/main/resources/COB-INF/ cocoon-2.2-block/src/main/resources/META-INF/cocoon/avalon/ java/org/apache/forrest/dispatc

Posted by Thorsten Scherler <th...@apache.org>.
On 18/05/2010, at 02:51, Thorsten Scherler wrote:

> 
> On 18/05/2010, at 02:46, Thorsten Scherler wrote:
> 
>> 
>> On 18/05/2010, at 01:59, Thorsten Scherler wrote:
>> 
>>> 
>>> On 17/05/2010, at 23:24, Tim Williams wrote:
>>> 
>>>> Hi Thorsten, is this working for you locally?  I noticed the
>>>> Forrestbot failure just now and I'm also failing locally (with a NPE)
>>>> on a dispatcher sample site.  Was thinking it might be related but
>>>> don't see anything obvious in here...
>>> 
>>> Hmm, really weird. I did a quick debug and it seems the problem is in 
>>> <xsl:include href="cocoon://prepare.contract.html.helper-render-image" />
>>> If you comment this line then it will work again.
>>> 
>>> I ATM not sure what happens and am flying out in a couple of hours, I will try to have a look again tomorrow but if you want you can revert the commit or comment the contract in the structurer.
>> 
>> The problem seems to be 
>> <xsl:include href="cocoon://prepare.contract.html.element"></xsl:include>
>> 
>> However I am not sure, need to go to bed now.
> 
> I did a quick try and reverting is fixing it. 

The forrestbot did not report any more failure since r946337, so I guess that fixed it. Sorry again and thanks Tim for the quick headsup.

salu2

Thorsten Scherler <thorsten.at.apache.org>
Open Source Java <consulting, training and solutions>


Re: svn commit: r945269 - in /forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src: cocoon-2.2-block/src/main/resources/COB-INF/ cocoon-2.2-block/src/main/resources/META-INF/cocoon/avalon/ java/org/apache/forrest/dispatc

Posted by Thorsten Scherler <th...@apache.org>.
On 18/05/2010, at 02:46, Thorsten Scherler wrote:

> 
> On 18/05/2010, at 01:59, Thorsten Scherler wrote:
> 
>> 
>> On 17/05/2010, at 23:24, Tim Williams wrote:
>> 
>>> Hi Thorsten, is this working for you locally?  I noticed the
>>> Forrestbot failure just now and I'm also failing locally (with a NPE)
>>> on a dispatcher sample site.  Was thinking it might be related but
>>> don't see anything obvious in here...
>> 
>> Hmm, really weird. I did a quick debug and it seems the problem is in 
>> <xsl:include href="cocoon://prepare.contract.html.helper-render-image" />
>> If you comment this line then it will work again.
>> 
>> I ATM not sure what happens and am flying out in a couple of hours, I will try to have a look again tomorrow but if you want you can revert the commit or comment the contract in the structurer.
> 
> The problem seems to be 
> <xsl:include href="cocoon://prepare.contract.html.element"></xsl:include>
> 
> However I am not sure, need to go to bed now.

I did a quick try and reverting is fixing it. 

Sorry!

salu2

> 
> salu2
> 
>> 
>> salu2
>> 
>>> 
>>> --tim
>>> 
>>> On Mon, May 17, 2010 at 1:42 PM,  <th...@apache.org> wrote:
>>>> Author: thorsten
>>>> Date: Mon May 17 17:42:05 2010
>>>> New Revision: 945269
>>>> 
>>>> URL: http://svn.apache.org/viewvc?rev=945269&view=rev
>>>> Log:
>>>> FOR-1194 Fixing utf-8 compability by forcing to use UTF-8 in every step
>>>> 
>>>> Modified:
>>>>  forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/cocoon-2.2-block/src/main/resources/COB-INF/sitemap.xmap
>>>>  forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/cocoon-2.2-block/src/main/resources/META-INF/cocoon/avalon/dispatcher-sitemapcomponents.xconf
>>>>  forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/impl/XSLContract.java
>>>>  forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/impl/helper/XSLContractHelper.java
>>>>  forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/transformation/DispatcherTransformer.java
>>>>  forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/transformation/DispatcherWrapperTransformer.java
>>>> 
>>>> Modified: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/cocoon-2.2-block/src/main/resources/COB-INF/sitemap.xmap
>>>> URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/cocoon-2.2-block/src/main/resources/COB-INF/sitemap.xmap?rev=945269&r1=945268&r2=945269&view=diff
>>>> ==============================================================================
>>>> --- forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/cocoon-2.2-block/src/main/resources/COB-INF/sitemap.xmap (original)
>>>> +++ forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/cocoon-2.2-block/src/main/resources/COB-INF/sitemap.xmap Mon May 17 17:42:05 2010
>>>> @@ -22,7 +22,7 @@ xmlns:map="http://apache.org/cocoon/site
>>>>   <map:pipeline id="lm">
>>>>     <map:match pattern="locationmap.xml">
>>>>       <map:generate src="locationmap.xml" />
>>>> -        <map:serialize type="xml" />
>>>> +        <map:serialize/>
>>>>     </map:match>
>>>>   </map:pipeline>
>>>>   <map:pipeline id="dispatcher">
>>>> @@ -61,7 +61,7 @@ xmlns:map="http://apache.org/cocoon/site
>>>>       </map:transform>
>>>>       <map:transform src="lm://hooks-to-fo.xsl" />
>>>>       <map:transform src="lm://strip-dispatcher-remains-fo.xsl" />
>>>> -        <map:serialize type="xml" />
>>>> +        <map:serialize/>
>>>>     </map:match>
>>>>     <map:match pattern="**.prepare.dispatcher.css">
>>>>       <map:generate src="lm://resolve.structurer.{1}" type="jx">
>>>> @@ -93,11 +93,11 @@ xmlns:map="http://apache.org/cocoon/site
>>>>     <map:act type="locale">
>>>>       <map:match pattern="resolve.structurer.**">
>>>>         <map:generate src="lm://resolve.structurer.{1}" />
>>>> -          <map:serialize type="xml" />
>>>> +          <map:serialize/>
>>>>       </map:match>
>>>>       <map:match pattern="resolve.contract.*.**">
>>>>         <map:generate src="{lm:resolve.contract.{1}.{2}}" />
>>>> -          <map:serialize type="xml" />
>>>> +          <map:serialize/>
>>>>       </map:match>
>>>>       <map:match pattern="prepare.contract.*.**">
>>>>         <map:generate src="{lm:resolve.contract.{1}.{2}}" />
>>>> @@ -105,7 +105,7 @@ xmlns:map="http://apache.org/cocoon/site
>>>>         <map:transform type="i18n">
>>>>           <map:parameter name="locale" value="{../locale}" />
>>>>         </map:transform>
>>>> -          <map:serialize type="xml" />
>>>> +          <map:serialize/>
>>>>       </map:match>
>>>>     </map:act>
>>>>   </map:pipeline>
>>>> @@ -116,7 +116,7 @@ xmlns:map="http://apache.org/cocoon/site
>>>>     <map:match pattern="prepare.panels.**">
>>>>       <map:generate src="{lm:resolve.panels.{1}}" />
>>>>       <map:transform src="{lm:root-strip.xsl}" />
>>>> -        <map:serialize type="xml" />
>>>> +        <map:serialize/>
>>>>     </map:match>
>>>>   </map:pipeline>
>>>>   <map:pipeline>
>>>> @@ -126,7 +126,7 @@ xmlns:map="http://apache.org/cocoon/site
>>>>         <map:parameter name="path" value="{1}.html" />
>>>>         <map:parameter name="theme" value="{global:dispatcher.theme}" />
>>>>       </map:transform>
>>>> -        <map:serialize type="xml" />
>>>> +        <map:serialize/>
>>>>     </map:match>
>>>>   </map:pipeline>
>>>>   <map:pipeline id="resources">
>>>> 
>>>> Modified: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/cocoon-2.2-block/src/main/resources/META-INF/cocoon/avalon/dispatcher-sitemapcomponents.xconf
>>>> URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/cocoon-2.2-block/src/main/resources/META-INF/cocoon/avalon/dispatcher-sitemapcomponents.xconf?rev=945269&r1=945268&r2=945269&view=diff
>>>> ==============================================================================
>>>> --- forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/cocoon-2.2-block/src/main/resources/META-INF/cocoon/avalon/dispatcher-sitemapcomponents.xconf (original)
>>>> +++ forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/cocoon-2.2-block/src/main/resources/META-INF/cocoon/avalon/dispatcher-sitemapcomponents.xconf Mon May 17 17:42:05 2010
>>>> @@ -28,7 +28,7 @@ limitations under the License.
>>>>     <cache-at-startup>true</cache-at-startup>
>>>>   </map:transformer>
>>>> </map:transformers>
>>>> -  <map:serializers default="xhtml">
>>>> +  <map:serializers default="xml-utf8">
>>>>   <map:serializer logger="sitemap.serializer.xhtml"
>>>>   mime-type="text/html; charset=UTF-8" name="xhtml" ppool-max="64"
>>>>   src="org.apache.cocoon.serialization.XMLSerializer">
>>>> @@ -57,5 +57,9 @@ limitations under the License.
>>>>     <encoding>UTF-8</encoding>
>>>>     <indent>true</indent>
>>>>   </map:serializer>
>>>> -  </map:serializers>
>>>> +    <map:serializer name="xml-utf8" mime-type="text/xml"
>>>> +    src="org.apache.cocoon.serialization.XMLSerializer">
>>>> +      <encoding>UTF-8</encoding>
>>>> +    </map:serializer>
>>>> +   </map:serializers>
>>>> </map:components>
>>>> 
>>>> Modified: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/impl/XSLContract.java
>>>> URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/impl/XSLContract.java?rev=945269&r1=945268&r2=945269&view=diff
>>>> ==============================================================================
>>>> --- forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/impl/XSLContract.java (original)
>>>> +++ forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/impl/XSLContract.java Mon May 17 17:42:05 2010
>>>> @@ -21,6 +21,8 @@ import java.io.BufferedOutputStream;
>>>> import java.io.ByteArrayInputStream;
>>>> import java.io.ByteArrayOutputStream;
>>>> import java.io.InputStream;
>>>> +import java.io.OutputStreamWriter;
>>>> +import java.io.UnsupportedEncodingException;
>>>> import java.util.Map;
>>>> 
>>>> import javax.xml.stream.XMLStreamException;
>>>> @@ -105,17 +107,23 @@ public class XSLContract extends Loggabl
>>>>     }
>>>>   }
>>>>   ByteArrayOutputStream out = new ByteArrayOutputStream();
>>>> +    byte[] bytes = null;
>>>> +    String utf8 = "";
>>>>   // create a StreamResult and use it for the transformation
>>>> -    Result streamResult = new StreamResult(new BufferedOutputStream(out));
>>>>   try {
>>>> -      helper.transform(dataStream,streamResult);
>>>> +        OutputStreamWriter writer = new OutputStreamWriter(out,"UTF-8");
>>>> +        Result streamResult = new StreamResult(writer);
>>>> +        helper.transform(dataStream,streamResult);
>>>> +        utf8 = out.toString("UTF-8");
>>>> +        log.debug(utf8);
>>>> +        bytes = utf8.getBytes("utf-8");
>>>>   } catch (Exception e) {
>>>>     String message = "Could not invoke the transformation for "
>>>>         + "the contract \""+name+"\". "+"\n"+ e;
>>>>     throw new ContractException(message);
>>>>   }
>>>> -    log.debug(out.toString());
>>>> -    return new BufferedInputStream(new ByteArrayInputStream(out.toByteArray()));
>>>> +
>>>> +    return new BufferedInputStream(new ByteArrayInputStream(bytes));
>>>> }
>>>> 
>>>> /* (non-Javadoc)
>>>> 
>>>> Modified: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/impl/helper/XSLContractHelper.java
>>>> URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/impl/helper/XSLContractHelper.java?rev=945269&r1=945268&r2=945269&view=diff
>>>> ==============================================================================
>>>> --- forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/impl/helper/XSLContractHelper.java (original)
>>>> +++ forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/impl/helper/XSLContractHelper.java Mon May 17 17:42:05 2010
>>>> @@ -20,6 +20,7 @@ import java.io.BufferedInputStream;
>>>> import java.io.ByteArrayInputStream;
>>>> import java.io.IOException;
>>>> import java.io.InputStream;
>>>> +import java.io.InputStreamReader;
>>>> import java.io.PrintWriter;
>>>> import java.util.Iterator;
>>>> import java.util.Map;
>>>> @@ -124,6 +125,7 @@ public class XSLContractHelper extends L
>>>>     SAXException, IOException {
>>>>   // prepare transformation
>>>>   transformer = transFact.newTransformer(xslSource);
>>>> +    transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
>>>>   transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
>>>>   transformer.setOutputProperty(OutputKeys.INDENT, "yes");
>>>>   transformer.setOutputProperty(OutputKeys.METHOD, "xml");
>>>> @@ -220,8 +222,8 @@ public class XSLContractHelper extends L
>>>>   }
>>>>   // Setting the necessary attributes of the contract
>>>>   // xsl
>>>> -    contract.setXslSource(new StreamSource(new ByteArrayInputStream(handler
>>>> -        .getBytes())));
>>>> +    byte[] bytes = handler.getBytes();
>>>> +    contract.setXslSource(new StreamSource(new ByteArrayInputStream(bytes)));
>>>>   /* DEBUG_CODE:
>>>>    * The following is useful to see what is going on
>>>>    *
>>>> @@ -254,7 +256,9 @@ public class XSLContractHelper extends L
>>>>     throws ContractException {
>>>>   //Source dataSource = new StreamSource(dataStream);
>>>>   try {
>>>> -      SAXSource saxSource = new SAXSource(xmlReader,new InputSource(dataStream));
>>>> +      InputSource inputSource = new InputSource(new InputStreamReader(dataStream, "UTF-8"));
>>>> +      inputSource.setEncoding("UTF-8");
>>>> +      SAXSource saxSource = new SAXSource(xmlReader,inputSource);
>>>>     transformer.transform(saxSource, streamResult);
>>>>   } catch (Exception e) {
>>>>     String message = "The xsl transformation has thrown an exception. for "
>>>> 
>>>> Modified: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/transformation/DispatcherTransformer.java
>>>> URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/transformation/DispatcherTransformer.java?rev=945269&r1=945268&r2=945269&view=diff
>>>> ==============================================================================
>>>> --- forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/transformation/DispatcherTransformer.java (original)
>>>> +++ forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/transformation/DispatcherTransformer.java Mon May 17 17:42:05 2010
>>>> @@ -20,6 +20,7 @@ import java.io.BufferedInputStream;
>>>> import java.io.File;
>>>> import java.io.IOException;
>>>> import java.io.InputStream;
>>>> +import java.io.InputStreamReader;
>>>> import java.io.Serializable;
>>>> import java.io.StringReader;
>>>> import java.util.HashMap;
>>>> @@ -490,7 +491,7 @@ public class DispatcherTransformer exten
>>>>             throw new SAXException(e);
>>>>           }
>>>>           if (null != property) {
>>>> -              localParams.put(currentProperty, property.getBytes());
>>>> +              localParams.put(currentProperty, property.getBytes("UTF-8"));
>>>>           }
>>>>         }
>>>>       }
>>>> @@ -695,7 +696,7 @@ public class DispatcherTransformer exten
>>>>       root.serialize(out);
>>>>     }
>>>> 
>>>> -      InputSource is = new InputSource(new StringReader(out.toString()));
>>>> +      InputSource is = new InputSource(new StringReader(out.toString("UTF-8")));
>>>>     // adding the result to the consumer
>>>>     parser.parse(is, super.xmlConsumer);
>>>>   } catch (Exception e) {
>>>> @@ -1099,8 +1100,9 @@ public class DispatcherTransformer exten
>>>>  */
>>>> private static InputSource getInputSource(final Source source)
>>>>     throws IOException, SourceException {
>>>> -    final InputSource newObject = new InputSource(source.getInputStream());
>>>> -    newObject.setSystemId(source.getURI());
>>>> -    return newObject;
>>>> +    final InputSource inputSource = new InputSource(new InputStreamReader(source.getInputStream(), "UTF-8"));
>>>> +    inputSource.setEncoding("UTF-8");
>>>> +    inputSource.setSystemId(source.getURI());
>>>> +    return inputSource;
>>>> }
>>>> }
>>>> 
>>>> Modified: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/transformation/DispatcherWrapperTransformer.java
>>>> URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/transformation/DispatcherWrapperTransformer.java?rev=945269&r1=945268&r2=945269&view=diff
>>>> ==============================================================================
>>>> --- forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/transformation/DispatcherWrapperTransformer.java (original)
>>>> +++ forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/transformation/DispatcherWrapperTransformer.java Mon May 17 17:42:05 2010
>>>> @@ -374,7 +374,7 @@ public class DispatcherWrapperTransforme
>>>>     }
>>>>     // get the result of the structurer as stream
>>>>     InputStream result = structurer.execute(new BufferedInputStream(
>>>> -          new ByteArrayInputStream(document.getBytes())), requestedFormat);
>>>> +          new ByteArrayInputStream(document.getBytes("UTF-8"))), requestedFormat);
>>>>     // requesting a parser
>>>>     parser = (SAXParser) manager.lookup(SAXParser.ROLE);
>>>>     // adding the result to the consumer
>>>> 
>>>> 
>>>> 
>> 
>> Thorsten Scherler <thorsten.at.apache.org>
>> Open Source Java <consulting, training and solutions>
>> 
> 
> Thorsten Scherler <thorsten.at.apache.org>
> Open Source Java <consulting, training and solutions>
> 

Thorsten Scherler <thorsten.at.apache.org>
Open Source Java <consulting, training and solutions>


Re: svn commit: r945269 - in /forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src: cocoon-2.2-block/src/main/resources/COB-INF/ cocoon-2.2-block/src/main/resources/META-INF/cocoon/avalon/ java/org/apache/forrest/dispatc

Posted by Thorsten Scherler <th...@apache.org>.
On 18/05/2010, at 01:59, Thorsten Scherler wrote:

> 
> On 17/05/2010, at 23:24, Tim Williams wrote:
> 
>> Hi Thorsten, is this working for you locally?  I noticed the
>> Forrestbot failure just now and I'm also failing locally (with a NPE)
>> on a dispatcher sample site.  Was thinking it might be related but
>> don't see anything obvious in here...
> 
> Hmm, really weird. I did a quick debug and it seems the problem is in 
> <xsl:include href="cocoon://prepare.contract.html.helper-render-image" />
> If you comment this line then it will work again.
> 
> I ATM not sure what happens and am flying out in a couple of hours, I will try to have a look again tomorrow but if you want you can revert the commit or comment the contract in the structurer.

The problem seems to be 
<xsl:include href="cocoon://prepare.contract.html.element"></xsl:include>

However I am not sure, need to go to bed now.

salu2

> 
> salu2
> 
>> 
>> --tim
>> 
>> On Mon, May 17, 2010 at 1:42 PM,  <th...@apache.org> wrote:
>>> Author: thorsten
>>> Date: Mon May 17 17:42:05 2010
>>> New Revision: 945269
>>> 
>>> URL: http://svn.apache.org/viewvc?rev=945269&view=rev
>>> Log:
>>> FOR-1194 Fixing utf-8 compability by forcing to use UTF-8 in every step
>>> 
>>> Modified:
>>>   forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/cocoon-2.2-block/src/main/resources/COB-INF/sitemap.xmap
>>>   forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/cocoon-2.2-block/src/main/resources/META-INF/cocoon/avalon/dispatcher-sitemapcomponents.xconf
>>>   forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/impl/XSLContract.java
>>>   forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/impl/helper/XSLContractHelper.java
>>>   forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/transformation/DispatcherTransformer.java
>>>   forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/transformation/DispatcherWrapperTransformer.java
>>> 
>>> Modified: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/cocoon-2.2-block/src/main/resources/COB-INF/sitemap.xmap
>>> URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/cocoon-2.2-block/src/main/resources/COB-INF/sitemap.xmap?rev=945269&r1=945268&r2=945269&view=diff
>>> ==============================================================================
>>> --- forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/cocoon-2.2-block/src/main/resources/COB-INF/sitemap.xmap (original)
>>> +++ forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/cocoon-2.2-block/src/main/resources/COB-INF/sitemap.xmap Mon May 17 17:42:05 2010
>>> @@ -22,7 +22,7 @@ xmlns:map="http://apache.org/cocoon/site
>>>    <map:pipeline id="lm">
>>>      <map:match pattern="locationmap.xml">
>>>        <map:generate src="locationmap.xml" />
>>> -        <map:serialize type="xml" />
>>> +        <map:serialize/>
>>>      </map:match>
>>>    </map:pipeline>
>>>    <map:pipeline id="dispatcher">
>>> @@ -61,7 +61,7 @@ xmlns:map="http://apache.org/cocoon/site
>>>        </map:transform>
>>>        <map:transform src="lm://hooks-to-fo.xsl" />
>>>        <map:transform src="lm://strip-dispatcher-remains-fo.xsl" />
>>> -        <map:serialize type="xml" />
>>> +        <map:serialize/>
>>>      </map:match>
>>>      <map:match pattern="**.prepare.dispatcher.css">
>>>        <map:generate src="lm://resolve.structurer.{1}" type="jx">
>>> @@ -93,11 +93,11 @@ xmlns:map="http://apache.org/cocoon/site
>>>      <map:act type="locale">
>>>        <map:match pattern="resolve.structurer.**">
>>>          <map:generate src="lm://resolve.structurer.{1}" />
>>> -          <map:serialize type="xml" />
>>> +          <map:serialize/>
>>>        </map:match>
>>>        <map:match pattern="resolve.contract.*.**">
>>>          <map:generate src="{lm:resolve.contract.{1}.{2}}" />
>>> -          <map:serialize type="xml" />
>>> +          <map:serialize/>
>>>        </map:match>
>>>        <map:match pattern="prepare.contract.*.**">
>>>          <map:generate src="{lm:resolve.contract.{1}.{2}}" />
>>> @@ -105,7 +105,7 @@ xmlns:map="http://apache.org/cocoon/site
>>>          <map:transform type="i18n">
>>>            <map:parameter name="locale" value="{../locale}" />
>>>          </map:transform>
>>> -          <map:serialize type="xml" />
>>> +          <map:serialize/>
>>>        </map:match>
>>>      </map:act>
>>>    </map:pipeline>
>>> @@ -116,7 +116,7 @@ xmlns:map="http://apache.org/cocoon/site
>>>      <map:match pattern="prepare.panels.**">
>>>        <map:generate src="{lm:resolve.panels.{1}}" />
>>>        <map:transform src="{lm:root-strip.xsl}" />
>>> -        <map:serialize type="xml" />
>>> +        <map:serialize/>
>>>      </map:match>
>>>    </map:pipeline>
>>>    <map:pipeline>
>>> @@ -126,7 +126,7 @@ xmlns:map="http://apache.org/cocoon/site
>>>          <map:parameter name="path" value="{1}.html" />
>>>          <map:parameter name="theme" value="{global:dispatcher.theme}" />
>>>        </map:transform>
>>> -        <map:serialize type="xml" />
>>> +        <map:serialize/>
>>>      </map:match>
>>>    </map:pipeline>
>>>    <map:pipeline id="resources">
>>> 
>>> Modified: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/cocoon-2.2-block/src/main/resources/META-INF/cocoon/avalon/dispatcher-sitemapcomponents.xconf
>>> URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/cocoon-2.2-block/src/main/resources/META-INF/cocoon/avalon/dispatcher-sitemapcomponents.xconf?rev=945269&r1=945268&r2=945269&view=diff
>>> ==============================================================================
>>> --- forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/cocoon-2.2-block/src/main/resources/META-INF/cocoon/avalon/dispatcher-sitemapcomponents.xconf (original)
>>> +++ forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/cocoon-2.2-block/src/main/resources/META-INF/cocoon/avalon/dispatcher-sitemapcomponents.xconf Mon May 17 17:42:05 2010
>>> @@ -28,7 +28,7 @@ limitations under the License.
>>>      <cache-at-startup>true</cache-at-startup>
>>>    </map:transformer>
>>>  </map:transformers>
>>> -  <map:serializers default="xhtml">
>>> +  <map:serializers default="xml-utf8">
>>>    <map:serializer logger="sitemap.serializer.xhtml"
>>>    mime-type="text/html; charset=UTF-8" name="xhtml" ppool-max="64"
>>>    src="org.apache.cocoon.serialization.XMLSerializer">
>>> @@ -57,5 +57,9 @@ limitations under the License.
>>>      <encoding>UTF-8</encoding>
>>>      <indent>true</indent>
>>>    </map:serializer>
>>> -  </map:serializers>
>>> +    <map:serializer name="xml-utf8" mime-type="text/xml"
>>> +    src="org.apache.cocoon.serialization.XMLSerializer">
>>> +      <encoding>UTF-8</encoding>
>>> +    </map:serializer>
>>> +   </map:serializers>
>>> </map:components>
>>> 
>>> Modified: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/impl/XSLContract.java
>>> URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/impl/XSLContract.java?rev=945269&r1=945268&r2=945269&view=diff
>>> ==============================================================================
>>> --- forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/impl/XSLContract.java (original)
>>> +++ forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/impl/XSLContract.java Mon May 17 17:42:05 2010
>>> @@ -21,6 +21,8 @@ import java.io.BufferedOutputStream;
>>> import java.io.ByteArrayInputStream;
>>> import java.io.ByteArrayOutputStream;
>>> import java.io.InputStream;
>>> +import java.io.OutputStreamWriter;
>>> +import java.io.UnsupportedEncodingException;
>>> import java.util.Map;
>>> 
>>> import javax.xml.stream.XMLStreamException;
>>> @@ -105,17 +107,23 @@ public class XSLContract extends Loggabl
>>>      }
>>>    }
>>>    ByteArrayOutputStream out = new ByteArrayOutputStream();
>>> +    byte[] bytes = null;
>>> +    String utf8 = "";
>>>    // create a StreamResult and use it for the transformation
>>> -    Result streamResult = new StreamResult(new BufferedOutputStream(out));
>>>    try {
>>> -      helper.transform(dataStream,streamResult);
>>> +        OutputStreamWriter writer = new OutputStreamWriter(out,"UTF-8");
>>> +        Result streamResult = new StreamResult(writer);
>>> +        helper.transform(dataStream,streamResult);
>>> +        utf8 = out.toString("UTF-8");
>>> +        log.debug(utf8);
>>> +        bytes = utf8.getBytes("utf-8");
>>>    } catch (Exception e) {
>>>      String message = "Could not invoke the transformation for "
>>>          + "the contract \""+name+"\". "+"\n"+ e;
>>>      throw new ContractException(message);
>>>    }
>>> -    log.debug(out.toString());
>>> -    return new BufferedInputStream(new ByteArrayInputStream(out.toByteArray()));
>>> +
>>> +    return new BufferedInputStream(new ByteArrayInputStream(bytes));
>>>  }
>>> 
>>>  /* (non-Javadoc)
>>> 
>>> Modified: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/impl/helper/XSLContractHelper.java
>>> URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/impl/helper/XSLContractHelper.java?rev=945269&r1=945268&r2=945269&view=diff
>>> ==============================================================================
>>> --- forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/impl/helper/XSLContractHelper.java (original)
>>> +++ forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/impl/helper/XSLContractHelper.java Mon May 17 17:42:05 2010
>>> @@ -20,6 +20,7 @@ import java.io.BufferedInputStream;
>>> import java.io.ByteArrayInputStream;
>>> import java.io.IOException;
>>> import java.io.InputStream;
>>> +import java.io.InputStreamReader;
>>> import java.io.PrintWriter;
>>> import java.util.Iterator;
>>> import java.util.Map;
>>> @@ -124,6 +125,7 @@ public class XSLContractHelper extends L
>>>      SAXException, IOException {
>>>    // prepare transformation
>>>    transformer = transFact.newTransformer(xslSource);
>>> +    transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
>>>    transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
>>>    transformer.setOutputProperty(OutputKeys.INDENT, "yes");
>>>    transformer.setOutputProperty(OutputKeys.METHOD, "xml");
>>> @@ -220,8 +222,8 @@ public class XSLContractHelper extends L
>>>    }
>>>    // Setting the necessary attributes of the contract
>>>    // xsl
>>> -    contract.setXslSource(new StreamSource(new ByteArrayInputStream(handler
>>> -        .getBytes())));
>>> +    byte[] bytes = handler.getBytes();
>>> +    contract.setXslSource(new StreamSource(new ByteArrayInputStream(bytes)));
>>>    /* DEBUG_CODE:
>>>     * The following is useful to see what is going on
>>>     *
>>> @@ -254,7 +256,9 @@ public class XSLContractHelper extends L
>>>      throws ContractException {
>>>    //Source dataSource = new StreamSource(dataStream);
>>>    try {
>>> -      SAXSource saxSource = new SAXSource(xmlReader,new InputSource(dataStream));
>>> +      InputSource inputSource = new InputSource(new InputStreamReader(dataStream, "UTF-8"));
>>> +      inputSource.setEncoding("UTF-8");
>>> +      SAXSource saxSource = new SAXSource(xmlReader,inputSource);
>>>      transformer.transform(saxSource, streamResult);
>>>    } catch (Exception e) {
>>>      String message = "The xsl transformation has thrown an exception. for "
>>> 
>>> Modified: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/transformation/DispatcherTransformer.java
>>> URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/transformation/DispatcherTransformer.java?rev=945269&r1=945268&r2=945269&view=diff
>>> ==============================================================================
>>> --- forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/transformation/DispatcherTransformer.java (original)
>>> +++ forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/transformation/DispatcherTransformer.java Mon May 17 17:42:05 2010
>>> @@ -20,6 +20,7 @@ import java.io.BufferedInputStream;
>>> import java.io.File;
>>> import java.io.IOException;
>>> import java.io.InputStream;
>>> +import java.io.InputStreamReader;
>>> import java.io.Serializable;
>>> import java.io.StringReader;
>>> import java.util.HashMap;
>>> @@ -490,7 +491,7 @@ public class DispatcherTransformer exten
>>>              throw new SAXException(e);
>>>            }
>>>            if (null != property) {
>>> -              localParams.put(currentProperty, property.getBytes());
>>> +              localParams.put(currentProperty, property.getBytes("UTF-8"));
>>>            }
>>>          }
>>>        }
>>> @@ -695,7 +696,7 @@ public class DispatcherTransformer exten
>>>        root.serialize(out);
>>>      }
>>> 
>>> -      InputSource is = new InputSource(new StringReader(out.toString()));
>>> +      InputSource is = new InputSource(new StringReader(out.toString("UTF-8")));
>>>      // adding the result to the consumer
>>>      parser.parse(is, super.xmlConsumer);
>>>    } catch (Exception e) {
>>> @@ -1099,8 +1100,9 @@ public class DispatcherTransformer exten
>>>   */
>>>  private static InputSource getInputSource(final Source source)
>>>      throws IOException, SourceException {
>>> -    final InputSource newObject = new InputSource(source.getInputStream());
>>> -    newObject.setSystemId(source.getURI());
>>> -    return newObject;
>>> +    final InputSource inputSource = new InputSource(new InputStreamReader(source.getInputStream(), "UTF-8"));
>>> +    inputSource.setEncoding("UTF-8");
>>> +    inputSource.setSystemId(source.getURI());
>>> +    return inputSource;
>>>  }
>>> }
>>> 
>>> Modified: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/transformation/DispatcherWrapperTransformer.java
>>> URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/transformation/DispatcherWrapperTransformer.java?rev=945269&r1=945268&r2=945269&view=diff
>>> ==============================================================================
>>> --- forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/transformation/DispatcherWrapperTransformer.java (original)
>>> +++ forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/transformation/DispatcherWrapperTransformer.java Mon May 17 17:42:05 2010
>>> @@ -374,7 +374,7 @@ public class DispatcherWrapperTransforme
>>>      }
>>>      // get the result of the structurer as stream
>>>      InputStream result = structurer.execute(new BufferedInputStream(
>>> -          new ByteArrayInputStream(document.getBytes())), requestedFormat);
>>> +          new ByteArrayInputStream(document.getBytes("UTF-8"))), requestedFormat);
>>>      // requesting a parser
>>>      parser = (SAXParser) manager.lookup(SAXParser.ROLE);
>>>      // adding the result to the consumer
>>> 
>>> 
>>> 
> 
> Thorsten Scherler <thorsten.at.apache.org>
> Open Source Java <consulting, training and solutions>
> 

Thorsten Scherler <thorsten.at.apache.org>
Open Source Java <consulting, training and solutions>


Re: svn commit: r945269 - in /forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src: cocoon-2.2-block/src/main/resources/COB-INF/ cocoon-2.2-block/src/main/resources/META-INF/cocoon/avalon/ java/org/apache/forrest/dispatc

Posted by Thorsten Scherler <th...@apache.org>.
On 17/05/2010, at 23:24, Tim Williams wrote:

> Hi Thorsten, is this working for you locally?  I noticed the
> Forrestbot failure just now and I'm also failing locally (with a NPE)
> on a dispatcher sample site.  Was thinking it might be related but
> don't see anything obvious in here...

Hmm, really weird. I did a quick debug and it seems the problem is in 
<xsl:include href="cocoon://prepare.contract.html.helper-render-image" />
If you comment this line then it will work again.

I ATM not sure what happens and am flying out in a couple of hours, I will try to have a look again tomorrow but if you want you can revert the commit or comment the contract in the structurer.

salu2

> 
> --tim
> 
> On Mon, May 17, 2010 at 1:42 PM,  <th...@apache.org> wrote:
>> Author: thorsten
>> Date: Mon May 17 17:42:05 2010
>> New Revision: 945269
>> 
>> URL: http://svn.apache.org/viewvc?rev=945269&view=rev
>> Log:
>> FOR-1194 Fixing utf-8 compability by forcing to use UTF-8 in every step
>> 
>> Modified:
>>    forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/cocoon-2.2-block/src/main/resources/COB-INF/sitemap.xmap
>>    forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/cocoon-2.2-block/src/main/resources/META-INF/cocoon/avalon/dispatcher-sitemapcomponents.xconf
>>    forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/impl/XSLContract.java
>>    forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/impl/helper/XSLContractHelper.java
>>    forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/transformation/DispatcherTransformer.java
>>    forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/transformation/DispatcherWrapperTransformer.java
>> 
>> Modified: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/cocoon-2.2-block/src/main/resources/COB-INF/sitemap.xmap
>> URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/cocoon-2.2-block/src/main/resources/COB-INF/sitemap.xmap?rev=945269&r1=945268&r2=945269&view=diff
>> ==============================================================================
>> --- forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/cocoon-2.2-block/src/main/resources/COB-INF/sitemap.xmap (original)
>> +++ forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/cocoon-2.2-block/src/main/resources/COB-INF/sitemap.xmap Mon May 17 17:42:05 2010
>> @@ -22,7 +22,7 @@ xmlns:map="http://apache.org/cocoon/site
>>     <map:pipeline id="lm">
>>       <map:match pattern="locationmap.xml">
>>         <map:generate src="locationmap.xml" />
>> -        <map:serialize type="xml" />
>> +        <map:serialize/>
>>       </map:match>
>>     </map:pipeline>
>>     <map:pipeline id="dispatcher">
>> @@ -61,7 +61,7 @@ xmlns:map="http://apache.org/cocoon/site
>>         </map:transform>
>>         <map:transform src="lm://hooks-to-fo.xsl" />
>>         <map:transform src="lm://strip-dispatcher-remains-fo.xsl" />
>> -        <map:serialize type="xml" />
>> +        <map:serialize/>
>>       </map:match>
>>       <map:match pattern="**.prepare.dispatcher.css">
>>         <map:generate src="lm://resolve.structurer.{1}" type="jx">
>> @@ -93,11 +93,11 @@ xmlns:map="http://apache.org/cocoon/site
>>       <map:act type="locale">
>>         <map:match pattern="resolve.structurer.**">
>>           <map:generate src="lm://resolve.structurer.{1}" />
>> -          <map:serialize type="xml" />
>> +          <map:serialize/>
>>         </map:match>
>>         <map:match pattern="resolve.contract.*.**">
>>           <map:generate src="{lm:resolve.contract.{1}.{2}}" />
>> -          <map:serialize type="xml" />
>> +          <map:serialize/>
>>         </map:match>
>>         <map:match pattern="prepare.contract.*.**">
>>           <map:generate src="{lm:resolve.contract.{1}.{2}}" />
>> @@ -105,7 +105,7 @@ xmlns:map="http://apache.org/cocoon/site
>>           <map:transform type="i18n">
>>             <map:parameter name="locale" value="{../locale}" />
>>           </map:transform>
>> -          <map:serialize type="xml" />
>> +          <map:serialize/>
>>         </map:match>
>>       </map:act>
>>     </map:pipeline>
>> @@ -116,7 +116,7 @@ xmlns:map="http://apache.org/cocoon/site
>>       <map:match pattern="prepare.panels.**">
>>         <map:generate src="{lm:resolve.panels.{1}}" />
>>         <map:transform src="{lm:root-strip.xsl}" />
>> -        <map:serialize type="xml" />
>> +        <map:serialize/>
>>       </map:match>
>>     </map:pipeline>
>>     <map:pipeline>
>> @@ -126,7 +126,7 @@ xmlns:map="http://apache.org/cocoon/site
>>           <map:parameter name="path" value="{1}.html" />
>>           <map:parameter name="theme" value="{global:dispatcher.theme}" />
>>         </map:transform>
>> -        <map:serialize type="xml" />
>> +        <map:serialize/>
>>       </map:match>
>>     </map:pipeline>
>>     <map:pipeline id="resources">
>> 
>> Modified: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/cocoon-2.2-block/src/main/resources/META-INF/cocoon/avalon/dispatcher-sitemapcomponents.xconf
>> URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/cocoon-2.2-block/src/main/resources/META-INF/cocoon/avalon/dispatcher-sitemapcomponents.xconf?rev=945269&r1=945268&r2=945269&view=diff
>> ==============================================================================
>> --- forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/cocoon-2.2-block/src/main/resources/META-INF/cocoon/avalon/dispatcher-sitemapcomponents.xconf (original)
>> +++ forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/cocoon-2.2-block/src/main/resources/META-INF/cocoon/avalon/dispatcher-sitemapcomponents.xconf Mon May 17 17:42:05 2010
>> @@ -28,7 +28,7 @@ limitations under the License.
>>       <cache-at-startup>true</cache-at-startup>
>>     </map:transformer>
>>   </map:transformers>
>> -  <map:serializers default="xhtml">
>> +  <map:serializers default="xml-utf8">
>>     <map:serializer logger="sitemap.serializer.xhtml"
>>     mime-type="text/html; charset=UTF-8" name="xhtml" ppool-max="64"
>>     src="org.apache.cocoon.serialization.XMLSerializer">
>> @@ -57,5 +57,9 @@ limitations under the License.
>>       <encoding>UTF-8</encoding>
>>       <indent>true</indent>
>>     </map:serializer>
>> -  </map:serializers>
>> +    <map:serializer name="xml-utf8" mime-type="text/xml"
>> +    src="org.apache.cocoon.serialization.XMLSerializer">
>> +      <encoding>UTF-8</encoding>
>> +    </map:serializer>
>> +   </map:serializers>
>>  </map:components>
>> 
>> Modified: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/impl/XSLContract.java
>> URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/impl/XSLContract.java?rev=945269&r1=945268&r2=945269&view=diff
>> ==============================================================================
>> --- forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/impl/XSLContract.java (original)
>> +++ forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/impl/XSLContract.java Mon May 17 17:42:05 2010
>> @@ -21,6 +21,8 @@ import java.io.BufferedOutputStream;
>>  import java.io.ByteArrayInputStream;
>>  import java.io.ByteArrayOutputStream;
>>  import java.io.InputStream;
>> +import java.io.OutputStreamWriter;
>> +import java.io.UnsupportedEncodingException;
>>  import java.util.Map;
>> 
>>  import javax.xml.stream.XMLStreamException;
>> @@ -105,17 +107,23 @@ public class XSLContract extends Loggabl
>>       }
>>     }
>>     ByteArrayOutputStream out = new ByteArrayOutputStream();
>> +    byte[] bytes = null;
>> +    String utf8 = "";
>>     // create a StreamResult and use it for the transformation
>> -    Result streamResult = new StreamResult(new BufferedOutputStream(out));
>>     try {
>> -      helper.transform(dataStream,streamResult);
>> +        OutputStreamWriter writer = new OutputStreamWriter(out,"UTF-8");
>> +        Result streamResult = new StreamResult(writer);
>> +        helper.transform(dataStream,streamResult);
>> +        utf8 = out.toString("UTF-8");
>> +        log.debug(utf8);
>> +        bytes = utf8.getBytes("utf-8");
>>     } catch (Exception e) {
>>       String message = "Could not invoke the transformation for "
>>           + "the contract \""+name+"\". "+"\n"+ e;
>>       throw new ContractException(message);
>>     }
>> -    log.debug(out.toString());
>> -    return new BufferedInputStream(new ByteArrayInputStream(out.toByteArray()));
>> +
>> +    return new BufferedInputStream(new ByteArrayInputStream(bytes));
>>   }
>> 
>>   /* (non-Javadoc)
>> 
>> Modified: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/impl/helper/XSLContractHelper.java
>> URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/impl/helper/XSLContractHelper.java?rev=945269&r1=945268&r2=945269&view=diff
>> ==============================================================================
>> --- forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/impl/helper/XSLContractHelper.java (original)
>> +++ forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/impl/helper/XSLContractHelper.java Mon May 17 17:42:05 2010
>> @@ -20,6 +20,7 @@ import java.io.BufferedInputStream;
>>  import java.io.ByteArrayInputStream;
>>  import java.io.IOException;
>>  import java.io.InputStream;
>> +import java.io.InputStreamReader;
>>  import java.io.PrintWriter;
>>  import java.util.Iterator;
>>  import java.util.Map;
>> @@ -124,6 +125,7 @@ public class XSLContractHelper extends L
>>       SAXException, IOException {
>>     // prepare transformation
>>     transformer = transFact.newTransformer(xslSource);
>> +    transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
>>     transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
>>     transformer.setOutputProperty(OutputKeys.INDENT, "yes");
>>     transformer.setOutputProperty(OutputKeys.METHOD, "xml");
>> @@ -220,8 +222,8 @@ public class XSLContractHelper extends L
>>     }
>>     // Setting the necessary attributes of the contract
>>     // xsl
>> -    contract.setXslSource(new StreamSource(new ByteArrayInputStream(handler
>> -        .getBytes())));
>> +    byte[] bytes = handler.getBytes();
>> +    contract.setXslSource(new StreamSource(new ByteArrayInputStream(bytes)));
>>     /* DEBUG_CODE:
>>      * The following is useful to see what is going on
>>      *
>> @@ -254,7 +256,9 @@ public class XSLContractHelper extends L
>>       throws ContractException {
>>     //Source dataSource = new StreamSource(dataStream);
>>     try {
>> -      SAXSource saxSource = new SAXSource(xmlReader,new InputSource(dataStream));
>> +      InputSource inputSource = new InputSource(new InputStreamReader(dataStream, "UTF-8"));
>> +      inputSource.setEncoding("UTF-8");
>> +      SAXSource saxSource = new SAXSource(xmlReader,inputSource);
>>       transformer.transform(saxSource, streamResult);
>>     } catch (Exception e) {
>>       String message = "The xsl transformation has thrown an exception. for "
>> 
>> Modified: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/transformation/DispatcherTransformer.java
>> URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/transformation/DispatcherTransformer.java?rev=945269&r1=945268&r2=945269&view=diff
>> ==============================================================================
>> --- forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/transformation/DispatcherTransformer.java (original)
>> +++ forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/transformation/DispatcherTransformer.java Mon May 17 17:42:05 2010
>> @@ -20,6 +20,7 @@ import java.io.BufferedInputStream;
>>  import java.io.File;
>>  import java.io.IOException;
>>  import java.io.InputStream;
>> +import java.io.InputStreamReader;
>>  import java.io.Serializable;
>>  import java.io.StringReader;
>>  import java.util.HashMap;
>> @@ -490,7 +491,7 @@ public class DispatcherTransformer exten
>>               throw new SAXException(e);
>>             }
>>             if (null != property) {
>> -              localParams.put(currentProperty, property.getBytes());
>> +              localParams.put(currentProperty, property.getBytes("UTF-8"));
>>             }
>>           }
>>         }
>> @@ -695,7 +696,7 @@ public class DispatcherTransformer exten
>>         root.serialize(out);
>>       }
>> 
>> -      InputSource is = new InputSource(new StringReader(out.toString()));
>> +      InputSource is = new InputSource(new StringReader(out.toString("UTF-8")));
>>       // adding the result to the consumer
>>       parser.parse(is, super.xmlConsumer);
>>     } catch (Exception e) {
>> @@ -1099,8 +1100,9 @@ public class DispatcherTransformer exten
>>    */
>>   private static InputSource getInputSource(final Source source)
>>       throws IOException, SourceException {
>> -    final InputSource newObject = new InputSource(source.getInputStream());
>> -    newObject.setSystemId(source.getURI());
>> -    return newObject;
>> +    final InputSource inputSource = new InputSource(new InputStreamReader(source.getInputStream(), "UTF-8"));
>> +    inputSource.setEncoding("UTF-8");
>> +    inputSource.setSystemId(source.getURI());
>> +    return inputSource;
>>   }
>>  }
>> 
>> Modified: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/transformation/DispatcherWrapperTransformer.java
>> URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/transformation/DispatcherWrapperTransformer.java?rev=945269&r1=945268&r2=945269&view=diff
>> ==============================================================================
>> --- forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/transformation/DispatcherWrapperTransformer.java (original)
>> +++ forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/java/org/apache/forrest/dispatcher/transformation/DispatcherWrapperTransformer.java Mon May 17 17:42:05 2010
>> @@ -374,7 +374,7 @@ public class DispatcherWrapperTransforme
>>       }
>>       // get the result of the structurer as stream
>>       InputStream result = structurer.execute(new BufferedInputStream(
>> -          new ByteArrayInputStream(document.getBytes())), requestedFormat);
>> +          new ByteArrayInputStream(document.getBytes("UTF-8"))), requestedFormat);
>>       // requesting a parser
>>       parser = (SAXParser) manager.lookup(SAXParser.ROLE);
>>       // adding the result to the consumer
>> 
>> 
>> 

Thorsten Scherler <thorsten.at.apache.org>
Open Source Java <consulting, training and solutions>