Re: Barracuda and Jivan

Jancsi Farkas <[email protected]> Mon, 05 Jan 2004 09:58:54 +0200
Newsgroups gmane.comp.java.enhydra.barracuda.general
Message-ID <[email protected]>
Hello

I use tomcat 4.1.xx, so this should use old interfaces pre xerces 2.5.0, 
right?

    Jancsi

Arno Schatz wrote:

> Hi Jancsi,
>
> I am still looking into that problem. However, I know that the 
> org.w3c.dom.ls package has changed recently. Yes, the W3C has changed 
> the the interface classes within this package.  Xerces 2.4.0 used the 
> old interfaces, where Xerces 2.5.0+ uses the never ones. Jivan is 
> based on the older interfaces. Well if I change Jivan to use the never 
> interface, Jivan applications will break when they are deployed on 
> older system.
>
> On Tomcat the problem is that the Xerces parser from the 
> CATALINA_HOME/common/endorsed even if the classes are provided by the 
> jivan.jar. So I need to change Jivan so it can work with 2 different 
> sets of interfaces. Other application server have similar 'endorsed' 
> techniques, causing the same problem.
>
> Tomcat 5 uses Xerces 2.5.0, but Tomcat 4 uses versions pre Xerces 
> 2.5.0. I will work on a fix to be released as soon as possible. But 
> that will be after Xmas, sorry. If you are really working over Xmas, 
> you could try to downgrade your version of Xerces to 2.4.0.
>
> -Arno
>
>
>
>
>
>
> Jancsi Farkas wrote:
>
>> Hello
>>
>> First, I take this opportunity to wish everybody a Merry Christmas 
>> and a Happy New Year :)
>>
>> Now on my problem:
>>
>> I'm trying to integrate barracuda with jivan, until now 
>> unsuccessfully. I keep getting this exception, and I don't know from 
>> where to start looking for a solution. Anybody has a clue about this?
>>
>> org.jivan.html.JivanHTMLException: 
>> java.lang.reflect.InvocationTargetException
>>     at org.jivan.html.parser.LocationRecorder.invoke(Unknown Source)
>>     at $Proxy0.startElement(Unknown Source)
>>     at org.jivan.html.parser.HTMLTagCloser.startElement(Unknown Source)
>>     at 
>> org.jivan.cyberneko.html.HTMLScanner$ContentScanner.scanStartElement(Unknown 
>> Source)
>>     at 
>> org.jivan.cyberneko.html.HTMLScanner$ContentScanner.scan(Unknown Source)
>>     at org.jivan.cyberneko.html.HTMLScanner.scanDocument(Unknown Source)
>>     at org.jivan.cyberneko.html.HTMLConfiguration.parse(Unknown Source)
>>     at org.jivan.cyberneko.html.HTMLConfiguration.parse(Unknown Source)
>>     at org.jivan.apache.xerces.parsers.XMLParser.parse(Unknown Source)
>>     at org.jivan.html.document.MasterDocument.load(Unknown Source)
>>     at org.jivan.html.document.DocumentFactory.docManFor(Unknown Source)
>>     at 
>> org.enhydra.barracuda.core.util.dom.JivanDOMFactory.getInstance(JivanDOMFactory.java:98) 
>>
>>     at 
>> org.enhydra.barracuda.core.util.dom.DefaultDOMLoader._getDOMFromFile(DefaultDOMLoader.java:192) 
>>
>>     at 
>> org.enhydra.barracuda.core.util.dom.DefaultDOMLoader.getDOM(DefaultDOMLoader.java:105) 
>>
>>     at 
>> org.simple.test.admin.screens.TestScreen$RenderTestHandler.handleViewEvent(TestScreen.java:109) 
>>
>>     at 
>> org.enhydra.barracuda.core.event.DefaultBaseEventListener.handleEvent(DefaultBaseEventListener.java:66) 
>>
>>     at 
>> org.enhydra.barracuda.core.event.DefaultEventDispatcher.notifyListeners(DefaultEventDispatcher.java:415) 
>>
>>     at 
>> org.enhydra.barracuda.core.event.DefaultEventDispatcher.dispatch(DefaultEventDispatcher.java:185) 
>>
>>     at 
>> org.enhydra.barracuda.core.event.DefaultEventDispatcher.dispatchEvent(DefaultEventDispatcher.java:122) 
>>
>>     at 
>> org.enhydra.barracuda.core.event.DefaultEventBroker.dispatchEvent(DefaultEventBroker.java:494) 
>>
>>     at 
>> org.enhydra.barracuda.core.event.ApplicationGateway.handleDefaultExt(ApplicationGateway.java:415) 
>>
>>     at 
>> org.enhydra.barracuda.core.event.ApplicationGateway.handleDefault(ApplicationGateway.java:235) 
>>
>>     at 
>> org.enhydra.barracuda.core.event.ApplicationGateway.doGet(ApplicationGateway.java:728) 
>>
>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>>     at 
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247) 
>>
>>     at 
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193) 
>>
>>     at 
>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260) 
>>
>>     at 
>> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) 
>>
>>     at 
>> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) 
>>
>>     at 
>> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>>     at 
>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 
>>
>>     at 
>> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) 
>>
>>     at 
>> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) 
>>
>>     at 
>> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>>     at 
>> org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2396) 
>>
>>     at 
>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180) 
>>
>>     at 
>> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) 
>>
>>     at 
>> org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170) 
>>
>>     at 
>> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) 
>>
>>     at 
>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172) 
>>
>>     at 
>> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) 
>>
>>     at 
>> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) 
>>
>>     at 
>> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>>     at 
>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174) 
>>
>>     at 
>> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) 
>>
>>     at 
>> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) 
>>
>>     at 
>> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>>     at 
>> org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
>>     at 
>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:405) 
>>
>>     at 
>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:380) 
>>
>>     at 
>> org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:508) 
>>
>>     at 
>> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:533) 
>>
>>     at java.lang.Thread.run(Thread.java:536)
>> Caused by: java.lang.reflect.InvocationTargetException
>>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>     at 
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
>>
>>     at 
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
>>
>>     at java.lang.reflect.Method.invoke(Method.java:324)
>>     ... 54 more
>> Caused by: java.lang.NoSuchMethodError: 
>> org.w3c.dom.ls.DOMBuilderFilter.startElement(Lorg/w3c/dom/Element;)S
>>     at 
>> org.jivan.apache.xerces.parsers.AbstractDOMParser.startElement(Unknown 
>> Source)
>>     at 
>> org.jivan.cyberneko.html.filters.DefaultFilter.startElement(Unknown 
>> Source)
>>     ... 58 more
>>
>>
>> This is my code in  render part:
>>        {
>>            System.out.println("RenderTest");
>>            DefaultDOMLoader loader = 
>> DefaultDOMLoader.getGlobalInstance();
>>            JivanDOMFactory jfactory = new JivanDOMFactory();
>>            
>> jfactory.setServletContext(context.getConfig().getServletContext());       
>>            loader.setDefaultDOMFactory(jfactory);                   
>> // the exception is thrown somewehere after this line of code
>>            Document page = 
>> loader.getDOM("/WEB-INF/admin/Template.html");
>>
>>            Node node = page.getElementById("Login");
>>            BTemplate templateComp = new BTemplate();
>>                      templateComp.setView(new 
>> DefaultTemplateView(node));
>>            ViewContext vc=new DefaultViewContext(context);
>>            templateComp.addModel(new TestModel(context));
>>
>>            try
>>            {
>>                templateComp.render(vc);
>>            }
>>            catch (RenderException re)
>>            {
>>                logger.warn("Render err:"+re);
>>            }
>>
>>            new DefaultDOMWriter().write(page, context.getResponse());
>>        }
>>
>>
>>
>> Best regards
>>
>>    Jancsi
>>
>> _______________________________________________
>> Barracuda mailing list
>> [email protected]
>> http://barracudamvc.org/lists/listinfo/barracuda
>>
>>
>
> _______________________________________________
> Barracuda mailing list
> [email protected]
> http://barracudamvc.org/lists/listinfo/barracuda
>