It is not possible to set a service into a property via schema rules
--------------------------------------------------------------------
Key: HIVEMIND-150
URL: http://issues.apache.org/jira/browse/HIVEMIND-150
Project: HiveMind
Type: Bug
Components: framework
Versions: 1.1
Environment: Mac OS X, Windows 2000, Java 5
Reporter: Chris Burnlley
The set-property schema conversion rule does not allow one to set a service
into a created object.
The following is an example of something that doesn't work (the following will
result in an exception but is not visible if log4j isn't set up):
<?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>
Perhaps a set-service rule would be necessary or the set-property rule made a
bit smarter.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]