You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by bu...@apache.org on 2006/05/10 02:36:07 UTC

DO NOT REPLY [Bug 39538] New: - Support parametized classes with commons.collections.

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG�
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=39538>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND�
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=39538

           Summary: Support parametized classes with commons.collections.
           Product: Commons
           Version: unspecified
          Platform: Other
        OS/Version: other
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Collections
        AssignedTo: commons-dev@jakarta.apache.org
        ReportedBy: cp1965@ROGERS.com


It's time to create a parallel version of commons.collections to support 
parametized classes of each container class and abstract class.  It's not that 
hard.  There is a 23 PDF document on Sun Java website describing in detail how 
it should be done and what to watch out for.

I already converted a few classes from commons.collection privately for my own 
needs.  Once you get the hang of it, it's a rather quick process.

I am even willing to volunteer my time to do some more but I need the 
collaboration of some of the original programmers to watch over things.

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org


DO NOT REPLY [Bug 39538] - [collections] Support parameterized classes with commons.collections.

Posted by bu...@apache.org.
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG�
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=39538>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND�
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=39538


hendrik.maryns@uni-tuebingen.de changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[collections] Support       |[collections] Support
                   |parametized classes with    |parameterized classes with
                   |commons.collections.        |commons.collections.




------- Additional Comments From hendrik.maryns@uni-tuebingen.de  2006-06-12 12:32 -------
Why is this resolved fixed??  I see no comment concerning the closing of this bug.

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org


DO NOT REPLY [Bug 39538] - [collections] Support parametized classes with commons.collections.

Posted by bu...@apache.org.
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG�
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=39538>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND�
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=39538





------- Additional Comments From sergei_ivanov@vpost.ru  2006-05-22 21:49 -------
(In reply to comment #4)
> The project was done without good technical knowledge of Java 1.5 
parametized 
> classes.
> THE TYPICAL ERROR:
> class Set<E> {
>     void add(E d) {...} // that's wrong!!!
> }
> - the method add should read
>     void add(<? extends E> d) {...} // so any subclass of E is acceptable.

I am sorry to disappoint you, but the code above is not wrong. add(E) will 
accept any subclass of actual type argument. The example below is fully 
legitimate:
   Set<Number> set = new HashSet<Number>();
   set.add(new Double(0));

Please have a look, how Set<E> interface is defined in the JDK.

As for the wildcards (? extends/super E), they are mostly needed, when you 
have generic objects being passed into/returned from methods. Remember that 
you cannot pass object, which is declared as Set<Double>, to a function that 
accepts a Set<Number> as an argument, but you can do it if the argument type 
is declared as Set<? extends Number>.

Without any aim to offend you, I would strongly recommend you revisiting the 
tutorial you mentioned.

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org


DO NOT REPLY [Bug 39538] - [collections] Support parameterized classes with commons.collections.

Posted by bu...@apache.org.
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG�
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=39538>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND�
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=39538





------- Additional Comments From scolebourne@joda.org  2006-06-12 13:14 -------
See http://issues.apache.org/jira/browse/COLLECTIONS-110

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org


DO NOT REPLY [Bug 39538] - [collections] Support parametized classes with commons.collections.

Posted by bu...@apache.org.
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG�
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=39538>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND�
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=39538





------- Additional Comments From cp1965@ROGERS.com  2006-05-10 14:09 -------
You should definitely branch out.  Support for non-parametric classes must be 
maintained for a long time to come.  I suggest starting the newer branch as 
commons.collections v5 to copy the Java 1.5 (also called Java 5 by some).

Taking the plunge is the best way to go.  I did and was suprised to how quickly 
things go.  The team should agree on a few basic principle which are also 
outlined in a PDF document distributed by Sun on their website (named generics-
tutorial.pdf).

I suggest starting with the abstract classes.  Have a review between developers 
to catch oversights.  Then go on to modify 2 or 3 containers and format testing 
(JUnit).  The tests should be straightforward.  It's a matter of testing 
derived type compatibility.  Once the first 2 or 3 containers done and tested, 
the rest will go very quickly.  

This project can be done in less than 1 month confortably.

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org


DO NOT REPLY [Bug 39538] - [collections] Support parametized classes with commons.collections.

Posted by bu...@apache.org.
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG�
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=39538>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND�
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=39538





------- Additional Comments From james@carmanconsulting.com  2006-05-10 14:47 -------
Someone has already ported it.  There's a sourceforge project
(http://collections15.sourceforge.net/) out there that does it.

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org


DO NOT REPLY [Bug 39538] - [collections] Support parametized classes with commons.collections.

Posted by bu...@apache.org.
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG�
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=39538>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND�
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=39538


cp1965@ROGERS.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED




------- Additional Comments From cp1965@ROGERS.com  2006-05-23 04:56 -------
Offense not taken.

Ok..ok..if Sun implemented it that way.  I won't argue.  I was wrong.  

I want to go back to my original goal: To have two consolidated 
commons.collections version Java 1.4.2 & version Java 1.5.  

Why isn't commons.collections15 not a Jakarta project?  Jakarta 
commons.collections is being updated but I am not sure that 
commons.collections15 is in synch with it.

Why aren't these two projects consolidated?

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org


DO NOT REPLY [Bug 39538] - [collections] Support parametized classes with commons.collections.

Posted by bu...@apache.org.
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG�
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=39538>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND�
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=39538


victor@lewis.name changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |victor@lewis.name




-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org


DO NOT REPLY [Bug 39538] - [collections] Support parametized classes with commons.collections.

Posted by bu...@apache.org.
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG�
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=39538>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND�
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=39538





------- Additional Comments From james@carmanconsulting.com  2006-05-15 16:59 -------
I wouldn't go so far as to say that it's a lack of motivation.  There aren't
many folks actively working on collections right now that I know of.  So, it
could just be a matter of bandwidth.

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org


DO NOT REPLY [Bug 39538] - Support parametized classes with commons.collections.

Posted by bu...@apache.org.
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG�
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=39538>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND�
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=39538





------- Additional Comments From james@carmanconsulting.com  2006-05-10 01:26 -------
We need to figure out how to go ahead with this.  Should we branch?  Do we just
take the plunge and say that any new versions have to be JDK5 compliant?  Does
the trunk continue on a JDK5-centric path and we just creaet branches that
suppor the "legacy" JDKs?

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org


DO NOT REPLY [Bug 39538] - [collections] Support parametized classes with commons.collections.

Posted by bu...@apache.org.
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG�
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=39538>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND�
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=39538





------- Additional Comments From cp1965@ROGERS.com  2006-05-15 16:34 -------
(In reply to comment #3)
> Someone has already ported it.  There's a sourceforge project
> (http://collections15.sourceforge.net/) out there that does it.

Yes, someone has attempted to port the commons.collections but the projects 
seems dead.  The current source code has many coding errors.  The programmers 
simply replaced the type <E> everywhere without forethought.  That's wrong.  
There is a document named "generics-tutorial.pdf" available from sun.java.com 
website.  It explains in great detail how parametized classes should be code.
The project was done without good technical knowledge of Java 1.5 parametized 
classes.

THE TYPICAL ERROR:
class Set<E> {
    void add(E d) {...} // that's wrong!!!
}
- the method add should read
    void add(<? extends E> d) {...} // so any subclass of E is acceptable.

I don't see much motivation to pursue commons.collections15 which is a shame. 
It's one of the most important Jakarta library!

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org


DO NOT REPLY [Bug 39538] - [collections] Support parametized classes with commons.collections.

Posted by bu...@apache.org.
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG�
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=39538>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND�
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=39538


gudnabrsam@yahoo.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|Support parametized classes |[collections] Support
                   |with commons.collections.   |parametized classes with
                   |                            |commons.collections.




-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org