On Jun 22, 2009, at 8:40 PM, cristinas (SVN) wrote:

> Author: cristinas
> Date: 2009-06-22 20:40:42 +0200 (Mon, 22 Jun 2009)
> New Revision: 21427
>
> Modified:
>   sandbox/gsoc/xoo/pom.xml
>   sandbox/gsoc/xoo/src/main/java/org/xwiki/xoo/XOO.java
>   sandbox/gsoc/xoo/src/main/java/org/xwiki/xoo/ 
> XWikiExtensionActions.java
>   sandbox/gsoc/xoo/src/main/java/org/xwiki/xoo/xwikilib/converter/ 
> internal/DefaultBidirectionalConverter.java
> Log:
> exception solved

[snip]

> -public class DefaultBidirectionalConverter implements  
> BidirectionalConverter
> +public class DefaultBidirectionalConverter implements  
> BidirectionalConverter, Initializable
> {
>
> -    public static final Syntax XHTML_SYNTAX = new  
> Syntax(SyntaxType.XHTML, "1.0");
> -
> -    public static final Syntax XWIKI_20 = new  
> Syntax(SyntaxType.XWIKI, "2.0");
> -
>     public String fromXHTML(String html)
>     {
>         // TODO Auto-generated method stub
> @@ -54,18 +60,21 @@
>     {
>         try {
>
> +            EmbeddableComponentManager ecm = new  
> EmbeddableComponentManager();
> +            ecm.initialize(this.getClass().getClassLoader());

The CM should be be instantiated only once when the app initializes IMO.

Thanks
-Vincent

> +
>             // Parse
> -            Parser parser = new WikiModelXWikiParser();
> +            Parser parser = ecm.lookup(Parser.class,  
> Syntax.XWIKI_2_0.toIdString());
>             XDOM dom = parser.parse(new StringReader(source));
>
>             // Execute transformations
> -            TransformationManager txManager = new  
> DefaultTransformationManager();
> -            txManager.performTransformations(dom, XWIKI_20);
> +            TransformationManager txManager =  
> (TransformationManager) ecm.lookup(TransformationManager.class);
> +            txManager.performTransformations(dom,  
> parser.getSyntax());
>
>             // Render
> -            WikiPrinter printer = new DefaultWikiPrinter();
> -            PrintRendererFactory factory = new  
> DefaultPrintRendererFactory();
> -            PrintRenderer renderer =  
> factory.createRenderer(XHTML_SYNTAX, printer);
> +            DefaultWikiPrinter printer = new DefaultWikiPrinter();
> +            PrintRendererFactory factory =  
> ecm.lookup(PrintRendererFactory.class);
> +            Renderer renderer =  
> factory.createRenderer(Syntax.XHTML_1_0, printer);
>             dom.traverse(renderer);
>
>             return printer.toString();
> @@ -76,4 +85,10 @@
>
>     }
>
> +    public void initialize() throws InitializationException
> +    {
> +        // TODO Auto-generated method stub
> +
> +    }
> +
> }
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to