[
https://issues.apache.org/jira/browse/ECS-1?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12609720#action_12609720
]
Robert Burrell Donkin commented on ECS-1:
-----------------------------------------
The problem with the approach taken in this patch is that it's no longer
possible to enumerate via keys. Though this isn't a complete blocker, it would
break binary compatibility and I would prefer an approach that would preserve
this if possible.
Perhaps the real problem is that ECS does not check for the existance of an
existing value which is not identical to the element being registered before
setting the value. Perhaps another value could be used in this case. There may
well be other issues with this approach, though.
I need some time to think more on this
Robert
> addElement(Element element) methods can fail
> --------------------------------------------
>
> Key: ECS-1
> URL: https://issues.apache.org/jira/browse/ECS-1
> Project: ECS
> Issue Type: Bug
> Environment: in Ibm Virtual Machines, but probabily also in Sun
> Virtual Machines
> Reporter: Mauro Manfrin
> Assignee: Robert Burrell Donkin
> Priority: Critical
> Attachments: ecs-maintrunk-patches.zip
>
>
> The class ConcreteElement exposes a method
> addElement(Element element)
> that calls
> addElementToRegistry(Integer.toString(element.hashCode()),element);
> so it gives a key valued element.hashCode() to that element.
> That's the point: element.hashCode() can't be a unique key because sometimes
> we can have two elements with the same hasocode.
> javadoc states:
> "It is not required that if two objects are unequal according to the
> equals(java.lang.Object) method, then calling the hashCode method on each of
> the two objects must produce distinct integer results. However, the
> programmer should be aware that producing distinct integer results for
> unequal objects may improve the performance of hashtables."
> So sometimes, two different objects can have the same hashCode!
> So, sometimes two calls to addElement(element) can result in only the second
> object stored in the ConcreteElement.
> So sometimes, on out instalaltion some table rows misses, or some row cells
> misses or...
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]