I believe that you need to specify the property injection in the service 
descriptor, not  the <contribution> section.  Mine looks like this (injecting 
a Dao object.)

  <!-- configure our own Hibernate data squeezer... -->
  <service-point id="HibernateAdapter" 
interface="bt.havoc.data.util.IHibernateSqueezeAdapter">
    <invoke-factory>
      <construct class="bt.havoc.data.util.HibernateSqueezeAdapter">
        <set-object property="dao" value="service:genericDao"/>
      </construct>
    </invoke-factory>
  </service-point>

<!-- add it to tapestry's squeeze adaptors -->
  <contribution configuration-id="tapestry.data.SqueezeAdaptors">
    <adaptor object="service:HibernateAdapter"/>
  </contribution>

HTH,
-Jason

On Wednesday 22 March 2006 15:39, Denis Souza wrote:
> Here it is...
>
> In my hivemodule.xml:
>
> <contribution configuration-id="tapestry.data.SqueezeAdaptors">
>    <adaptor
> object="instance:com.camerum.tapestry.squeeze.EntityBeanSqueezeAdaptor"/>
> </contribution>
>
> My squeeze adaptor class (I left out most of the body of the squeeze and
> unsqueeze methods so it wouldn't take so much space).
>
> public class EntityBeanSqueezeAdaptor implements SqueezeAdaptor {
>
> public String getPrefix() {
>       return String.valueOf('*');
> }
>
> public Class getDataClass() {
>       return EntityBeanAbstract.class;
> }
>
> public String squeeze(DataSqueezer squeezer, Object object) {
>       ...
>       return getPrefix() + id;
> }
>
> public Object unsqueeze(DataSqueezer squeezer, String id) {
>       ...
>       return object;
> }
>
> private ApplicationStateManager stateManager;
>
> public void setStateManager(ApplicationStateManager stateManager) {
>       this.stateManager = stateManager;
> }
>
> ... that's about it. Inside the squeeze and unsqueeze methods the state
> manager is always null. I also tried using "setApplicationStateManager" as
> the setter method, but with the same results.
>
>
> -----Original Message-----
> From: James Carman [mailto:[EMAIL PROTECTED]
> Sent: quarta-feira, 22 de março de 2006 17:24
> To: 'Tapestry users'
> Subject: RE: Hivemind object in squeeze adaptor
>
> If HiveMind sees a "writable" property of a type for which it has exactly
> one matching service point, it will set that property.  I know this works,
> because I do it in one of my own services.  Can you post some code and your
> applicable hivemodule.xml file contents?
>
> -----Original Message-----
> From: Denis Souza [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, March 22, 2006 3:21 PM
> To: 'Tapestry users'
> Subject: RE: Hivemind object in squeeze adaptor
>
> ... still not happening. The state manager remains null.
>
> Anyway I don't really understand how it could work. What's the logic with
> this "autowire"? How does hivemind know to fill it in?
>
> -----Original Message-----
> From: James Carman [mailto:[EMAIL PROTECTED]
> Sent: quarta-feira, 22 de março de 2006 17:06
> To: 'Tapestry users'
> Subject: RE: Hivemind object in squeeze adaptor
>
> Drop the set-object altogether.  HiveMind will "autowire" it.
>
> -----Original Message-----
> From: Denis Souza [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, March 22, 2006 3:04 PM
> To: 'Tapestry users'
> Subject: RE: Hivemind object in squeeze adaptor
>
> I did, it just won't allow me to use a "set-object" inside an adaptor tag:
>
> "Element adaptor/set-object is not allowed here."
>
> But since this is not allowed, I don't know how it can be done.
>
> -----Original Message-----
> From: James Carman [mailto:[EMAIL PROTECTED]
> Sent: quarta-feira, 22 de março de 2006 16:53
> To: 'Tapestry users'
> Subject: RE: Hivemind object in squeeze adaptor
>
> Try adding a "setter" to your implementation class...
>
> public class MySqueezeAdaptor
> {
>   private ApplicationStateManager stateManager;
>
>   public void setStateManager( ApplicationStateManager stateManager )
>   {
>     this.stateManager = stateManager;
>   }
> }
>
> -----Original Message-----
> From: Denis Souza [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, March 22, 2006 2:47 PM
> To: 'Tapestry users'
> Subject: Hivemind object in squeeze adaptor
>
> Hi,
>
>
>
> I'm implementing a squeeze adaptor for my app and I was wondering how I
> could inject other hivemind objects or services into it.
>
>
>
> I would have guessed something like this:
>
>
>
> <contribution configuration-id="tapestry.data.SqueezeAdaptors">
>
>    <adaptor object="instance:MySqueezeAdaptor">
>
>       <set-object property="applicationStateManager"
> value="infrastructure:applicationStateManager"/>
>
>    </adaptor>
>
> </contribution>
>
>
>
> .but of course, it doesn't work. Can anyone help?
>
>
>
> Thanks,
>
> Denis
>
>
>
>
> ---------------------------------------------------------------------
> 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]
>
>
>
>
> ---------------------------------------------------------------------
> 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]
>
>
>
>
> ---------------------------------------------------------------------
> 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]

-- 

----------------------
Marriage is like twirling a baton, turning handsprings, or eating with
chopsticks.  It looks easy until you try it.

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

Reply via email to