History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: XFIRE-84
Type: Improvement Improvement
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Dan Diephouse
Reporter: Hani Suleiman
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
XFire

Better defaults for collections in mapping file

Created: 08/Jun/05 09:01 AM   Updated: 08/Jun/05 11:28 PM
Component/s: Aegis Module
Affects Version/s: 1.0-M5
Fix Version/s: 1.0-M5

Time Tracking:
Not Specified


 Description  « Hide
Currently, the following is needed to specify type information for a collection:

<mappings xmlns="urn:xfire:aegis:200504"
xmlns:bean="urn:xfire:bean">
<mapping uri="urn:xfire:bean">
<collection property="beans"
name="bean:Beans"
componentType="org.codehaus.xfire.aegis.type.basic.SimpleBean"/>
</mapping>
</mappings>

While this specifies a correct set of values, it's very un-userfriendly. The goal of apps like xfire is 'soap for dummies' in a way, so much of the soap specifics should be squirreled away and not mandated. So the above snippet should be specifiable as the following:

<mappings>
<mapping>
<collection property="beans"
componentType="org.codehaus.xfire.aegis.type.basic.SimpleBean"/>
</mapping>
</mappings>

No uri stuff is needed, that can deduced by the mapping handler since it's known what service a mapping file is bound to. Similarly, there's no need to mandate a name for the collection since it can default to serviceName:propertyName

I don't know the API side of this, but the same rules should apply there, where the user is expected to do as little as possible to get things going, ideally only information specific to his domain, rather than general soap stuff.



 All   Comments   Work Log   Change History      Sort Order: Ascending order - Click to sort in descending order
Dan Diephouse - 08/Jun/05 11:28 PM
Fixed in CVS. Now the minimum is:
<mappings xmlns="urn:xfire:aegis:200504">
<mapping>
<collection property="beans"
componentType="org.codehaus.xfire.aegis.type.basic.SimpleBean"/>
</mapping>
</mappings>