Liu Yan,

To easily override the Tacos AjaxDirect service, simply add the following to 
your hivemodule.xml:

<implementation service-id="tacos.AjaxDirect"> 
    Implementation of IEngineService that handles various forms of 
    ajax requests. Should eventually replace IPartialService.
    <invoke-factory>
        <construct class="net.sf.tacos.ajax.impl.AjaxDirectServiceImpl"
            autowire-services="false">
            <set-object property="responseRenderer"
                value="infrastructure:responseRenderer"/>
            <set-object property="request" value="infrastructure:request"/>
            <set-object property="linkFactory"
                value="service:tapestry.url.LinkFactory"/>
            <set-object property="webResponse"
                value="infrastructure:response"/>
            <set-object property="ajaxRequest"
                value="service:tacos.AjaxWebRequest" />
            <set-object property="delegateFactory" 
             value="service:tacos.ajax.ResponseDelegateFactory" />
            <set-object property="requestCycle" 
             value="infrastructure:requestCycle"/>
            <set-object property="exceptionPresenter" 
             value="service:tacos.AjaxExceptionPresenter"/>
            <set-object property="staleSessionExceptionPresenter" 
             value="service:tacos.AjaxStaleSessionExceptionPresenter"/>
        </construct>
    </invoke-factory>
    <!-- <interceptor service-id="hivemind.LoggingInterceptor"/>  -->
</implementation> 


I can't really help you on the Spring integration problem since I don't use 
Hivemind to access my Spring application context. Sorry.

Raphael Jean
EntropySoft

> -----Original Message-----
> From: Liu Yan [mailto:[EMAIL PROTECTED]
> Sent: lundi 20 février 2006 16:11
> To: Tapestry users
> Subject: Re: Tacos:AjaxDirectLink not supported in Portlet application?
> 
> hi Raphael,
> 
> Thanks for your solution, it works for me too. But my way of doing that is
> directly modify the META-INF/hivemodule.xml file and re-package the Tacos
> library. I believe there should be some better way to do this, such as
> overriding the AjaxDirect service point in our own application's
> hivemodule.xml file. Am I right and how to do it?
> 
> There are other problems after I applied your solution. I am using
> Hivemind + Spring, the approach is from the Tapestry wiki, it works fine
> in servlet apps and some part of the portlet. However, I got
> NullPointerException on the beanFactory of
> hivemind.lib.DefaultSpringBeanFactoryHolder. I need to add the following
> definition in the Tacos hivemodule.xml as well to eliminate this problem.
> But I don't understand why it hehaves like this way.
> 
> Regards,
> Liu Yan
> 
> 
> ----- Original Message -----
> From: "Raphaël Jean" <[EMAIL PROTECTED]>
> To: "Tapestry users" <[email protected]>
> Sent: Sunday, February 19, 2006 9:27 PM
> Subject: RE: Tacos:AjaxDirectLink not supported in Portlet application?
> 
> 
> Liu,
> 
> Have a look at this thread for information about this problem:
> http://thread.gmane.org/gmane.comp.java.tapestry.user/32247
> 
> Raphael Jean
> EntropySoft
> 
> > -----Original Message-----
> > From: Liu Yan [mailto:[EMAIL PROTECTED]
> > Sent: samedi 18 février 2006 11:10
> > To: [email protected]
> > Subject: Tacos:AjaxDirectLink not supported in Portlet application?
> >
> > hi,
> >
> > I am in the process of porting a web app written in T4+Tacos into a
> > portlet
> > app. The current problem is in an AjaxDirectLink used in a Tree
> component.
> > The exception is:
> >
> > Method getAbsoluteURL() is not supported for portlet requests.
> >
> > The implementation of PortletLink.getAbsoluteURL() simply throws out a
> > UnsupportedOperationException. What can we do to get around this
> problem?
> >
> > Some exception stacks are included:
> >
> >
> >
> org.apache.tapestry.portlet.PortletLink.getAbsoluteURL(PortletLink.java:13
> > 1)
> >
> > net.sf.tacos.ajax.components.AjaxDirectLink.getLinkArguments(
> > AjaxDirectLink.java:137)
> > net.sf.tacos.ajax.components.AjaxDirectLink.getLinkString(
> > AjaxDirectLink.java:109)
> > net.sf.tacos.ajax.components.AjaxDirectLink.renderAdditionalAttributes(
> > AjaxDirectLink.java:93)
> > org.apache.tapestry.link.DefaultLinkRenderer.renderLink(
> > DefaultLinkRenderer.java:87)
> > org.apache.tapestry.link.AbstractLinkComponent.renderComponent(
> > AbstractLinkComponent.java:95)
> > org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:617)
> >
> org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:43
> > 4)
> >
> > org.apache.tapestry.components.IfBean.renderComponent(IfBean.java:86)
> > ...
> > ...
> > Regards,
> > Liu Yan
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to