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 <
[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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 < [EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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
> > >
> >
>
>
