hivemind-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Chris Burnley <chris.burn...@gmail.com>
Subject Re: set-property with service
Date Wed, 14 Sep 2005 14:32:00 GMT
You got me ... I should know better :-)



On 9/14/05, James Carman <james@carmanconsulting.com> wrote:
> 
>  You know, unit tests are supposed to come first. :-) That way, you can 
> run them before fixing the problem and make sure that they actually fail 
> before your fix.
> 
>   ------------------------------
>  
> *From:* Chris Burnley [mailto:chris.burnley@gmail.com] 
> *Sent:* Wednesday, September 14, 2005 9:53 AM
> *To:* hivemind-user@jakarta.apache.org
> *Subject:* Re: set-property with service
>  
>  I've raised HIVEMIND-150 and attached a diff to address the problem in 
> the simplest way possible: add a translator attribute to set-property so 
> that the translator type can be specified, defaulting to "smart".
> 
> I've tested it locally and works fine. Will update with unit test soon 
> (gotta get back to work ! )
>  
> On 9/14/05, *Knut Wannheden* < knut.wannheden@gmail.com> wrote:
> 
> Now I see what the problem is. You cannot use the <set-property> rule 
> the way you'd like to use it. The <set-property> rule always uses the
> smart translator which doesn't understand the value
> "service:hivetest.Comparator". As a workaround you could use the
> <set-module> rule and then use the Module in the hivetest.impl.Obj
> class to lookup the Comparator service. That's of course not very
> nice...
> 
> It seems like it should be possible to support object providers in the
> <set-property> rule. Can you report that as an issue? What do others 
> think about that?
> 
> --knut
> 
> On 9/14/05, Chris Burnley <chris.burnley@gmail.com> wrote:
> > Yeah, I've tried moving elements around a bit but to no avail. I am in 
> the 
> > process of debugging it now will raise an issue soon, hopefully with 
> some
> > more useful information.
> >
> > Thanks, Chris
> >
> >
> > On 9/14/05, Knut Wannheden < knut.wannheden@gmail.com> wrote:
> > > Chris,
> > >
> > > Try to move the <invoke-parent> rule after the <set-property> rule
in
> > > your schema. I think that should work.
> > >
> > > Yet, if it just silently fails the way you have it, it looks like a
> > > bug. Care to open a bug report in JIRA?
> > >
> > > Regards,
> > >
> > > --knut
> > > 
> > > On 9/13/05, Chris Burnley <chris.burnley@gmail.com> wrote:
> > > > I'm trying to get my head around schemas / configuration / 
> contributions
> > > > etc. so I took took the panarama example and cut it down changed the 
> 
> > names
> > > > and am attempting to inject a service into a property as part of the
> > > > conversion rules.
> > > >
> > > > This is on hivemind-1.1-beta2 (using simple standard interfaces such 
> as 
> > > > Comparator and Runnable):
> > > >
> > > > <?xml version="1.0"?>
> > > > <module id="hivetest" version="1.0.0" package="hivetest"> 
> > > >
> > > > <service-point id="Comparator" interface="java.util.Comparator">
> > > > <create-instance class="impl.TestComparator"/> 
> > > > </service-point>
> > > >
> > > > <schema id="Obj">
> > > > <element name="obj">
> > > > <attribute name="attr"/> 
> > > > <conversion class="impl.Obj "/>
> > > > </element>
> > > > <element name="sobj">
> > > > <attribute name="attr"/>
> > > > <rules> 
> > > > <create-object class="impl.Obj"/>
> > > > <invoke-parent method="addElement"/>
> > > > <read-content property="attr"/>
> > > > <!-- this is the problem line below : -->
> > > >
> > > > <set-property property="comparator"
> > > > value="service:hivetest.Comparator"/>
> > > > </rules>
> > > > </element>
> > > > </schema> 
> > > >
> > > > <configuration-point id="Objs" schema-id="Obj" />
> > > >
> > > > <service-point id="TestService" interface="java.lang.Runnable ">
> > > > <invoke-factory>
> > > > <construct class="impl.TestService">
> > > > <set-configuration
> > configuration-id="Objs"
> > > > property="objs"/>
> > > > </construct>
> > > > </invoke-factory> 
> > > > </service-point>
> > > >
> > > > <contribution configuration-id=" hivetest.Objs">
> > > > <obj attr="test"/>
> > > > <obj attr="test2"/> 
> > > > <sobj>test3</sobj>
> > > > </contribution>
> > > >
> > > > </module>
> > > >
> > > > Basically, the comparator property is not being set and there is no 
> > > > feedback why. If I change the type of the property to a string, the
> > string
> > > > value is set but it looks like the translator for service is not 
> being
> > > > invoked inside the rules element. 
> > > >
> > > > Is there something wrong with what I am doing ?
> > > >
> > > > regards,
> > > >
> > > > Chris
> > > >
> > >
> >
> > 
>  
>

Mime
View raw message