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

Key: XFIRE-681
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Critical Critical
Assignee: Dan Diephouse
Reporter: Ulrik Einarson
Votes: 0
Watchers: 0
Operations

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

Aegis Inheritance support for maps does not work when the elemets are not concreet classes

Created: 29/Sep/06 08:57 AM   Updated: 02/Oct/06 10:57 PM
Component/s: Aegis Module
Affects Version/s: 1.2.1
Fix Version/s: 1.2.2

Time Tracking:
Not Specified

Environment: Java 1.4, aegis-doclet


 Description  « Hide
I think this bug is related to: XFIRE-583 and maybe XFIRE-670

I have a map that consists of a concrete implementations (apples, oranges) with a common abstract superclass (fruit), The component type of the map is the common abstract superclass (fruit). When these are exported they are not exportet propery since they are exported as the abstract super class(fruit), and thus can not be generated at the other side.

Following XFIRE-583 it is really easy to fix this bug, you just do the same as you did for collections.

In MapType: writeObject

When you iterate througth the elements in the Map check the type of the objects instead of assuming it is the same as the type:

valueType = AegisBindingProvider.getWriteType(context, entry.getValue(), valueType);

Do this before you write to this value type

I really hope it is possible to get this fix into an official build. This is a critical bug for us, I do understand that I migth write a bit too complex web services, but I think this would also fix XFIRE-670 and I am sure somone else will find this a proplem at some point.



 All   Comments   Work Log   Change History      Sort Order: Ascending order - Click to sort in descending order
Dan Diephouse - 02/Oct/06 10:57 PM
I fixed XFIRE-670, which fixes this as well. It should be included in the soon to be released 1.2.2. Thanks.