Re: Next Steps - WAS Re: [net] VMSFTPEntryParser bug?

2004-01-02 Thread Daniel F. Savarese

In message [EMAIL PROTECTED], steve cohen writes:
Seems to me the HashMap --- Hashtable change could be made against HEAD.  
It's only NECESSARY for 1.1 compatibility but it poses no great problem for a 
1.2 compatible version;  it isn't as if this would impact some functionality 
deep in the core of the product.  So after this is done, a NET_1_1_1 tag 
could be created and that could be the final of this branch.

+1; same as Jeffrey suggested.

On the other hand, if there are other 1.1 incompatibilities we may want to fix
those too, and then this might get a little problematical.  Hey, Jeffrey, do 
you know if there's an easy way to make Maven do a JDK 1.1 compile?  Or would 
it be easier to just tinker with the generated ant script?

+1 to fixing all 1.1 incompatibilities before branching.  I skipped ahead
in the thread and see Jeffrey already answered how to run compile for
1.1 with Maven.

On the subject of the pluggable parser factory, I'm not sure I see the need, 
but it's easy enough to do it that way, so I will make the change.  Am I 

If there really isn't a need, don't do it.  I just thought users may
need to be able to customize the method used to determine which parser
is returned.  I thought it would become an issue when you started
writing code that created parsers using the static factory method.

correct in assuming that in your plan there would be a default 
implementation, with other factories being selectable instead on the basis of 
a property?

I figured an automatic detector would accept a parser factory as an
argument in either a constructor or detection method.  The default
constructor or default no-argument method would use a default
implementation (whatever you were writing for the static method).
That users could provide their own factories for systems we haven't
anticipated.  Probably they'd just subclass the default implementation,
override the factory method, provide their own detection code for the
systems they care about that we don't handle, and delegate to the
superclass method anything else.  Alternatively, there may be situations
where they want to implement something from scratch, in which case they
would just implement the interface.

daniel



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Next Steps - WAS Re: [net] VMSFTPEntryParser bug?

2004-01-02 Thread Daniel F. Savarese

In message [EMAIL PROTECTED], steve cohen writes:
This code was calling a method in ORO that returned a Collection, also not 
JDK1.1 compatible.  Since the older ORO method that returned a Vector had 
been deprecated, I looked at what it was doing, which was simply splitting a 
string on a comma.  This was an overkill use of ORO, easily replicated with a 
StringTokenizer.

Oh yeah, it's way better to use StringTokenizer when you're splitting
on just a constant string rather than an actual regular expression.
However, if there's anything that doesn't work in 1.1 because of ORO,
I can get off of my ass and finally do the multi-version compilation
support we'd talked about on oro-dev.  We wanted to use conditional
compilation to simultaneously support J2ME, J2SE 1.2, and J2SE 1.4.
J2ME support effectively makes it JDK 1.1 compatible, so we could also
throw in a JDK 1.1 target.  The changes are minor; the equivalent of a few
ifdefs.  But it keeps J2ME folks from having to make the changes
themselves and will take care of any Commons Net users who complain
about Net breaking on JDK 1.1 because of ORO.  At any rate, if the
ORO dependency is the only thing preventing 1.1 compatibility I can
take care of that over the next week.

daniel



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Next Steps - WAS Re: [net] VMSFTPEntryParser bug?

2004-01-01 Thread steve cohen
Seems to me the HashMap --- Hashtable change could be made against HEAD.  
It's only NECESSARY for 1.1 compatibility but it poses no great problem for a 
1.2 compatible version;  it isn't as if this would impact some functionality 
deep in the core of the product.  So after this is done, a NET_1_1_1 tag 
could be created and that could be the final of this branch.

On the other hand, if there are other 1.1 incompatibilities we may want to fix 
those too, and then this might get a little problematical.  Hey, Jeffrey, do 
you know if there's an easy way to make Maven do a JDK 1.1 compile?  Or would 
it be easier to just tinker with the generated ant script?

On the subject of the pluggable parser factory, I'm not sure I see the need, 
but it's easy enough to do it that way, so I will make the change.  Am I 
correct in assuming that in your plan there would be a default 
implementation, with other factories being selectable instead on the basis of 
a property?


On Wednesday 31 December 2003 10:42 pm, Daniel F. Savarese wrote:
 In message [EMAIL PROTECTED], steve cohen writes:
 I am not completely CVS-literate and setting up the branches is beyond my
 current level of experience but probably would be good experience for me.

 In my response to Jeffrey's email, I asked about whether we wanted to
 replace the existing NET_1_1_0 tag with a new NET_1_1_0 branch tag or
 leave the existing tag alone and attach a special branch tag with a
 different name to the NET_1_1_0 files.  After we resolve that, if you want
 to do it, go ahead.  I don't know if you can use the -F and -b options
 together with cvs tag, which is why I suggested the roundabout way of
 renaming the tag and creating a new one with the old name using -b. 
 Subversion makes this easier.

 without requiring it to have far more knowledge of commons-net internals
  than I think is healthy.  So I am developing an FTPFileEntryParserFactory
  and some convenience methods in FTPClient to enable Ant to be recoded
  decently.

 I followed the emails.  Sounds great.  I forgot to offer a comment.
 I was going to suggest making FTPFileEntryParserFactory either a
 class or an interface that has to be instantiated rather than
 a singleton.  I think you were intending to make createFileEntryParser
 a static method.  I suggest the use of an interface and a default
 factory class for the same reason we had to write SocketFactory and
 much later, in J2SE 1.4, Sun added its own javax.net.SocketFactory
 and javax.net.ServerSocketFactory.  It allows generic code to be
 written that accepts pluggable parser factories should a user decide
 to implement his own factory.  I'm thinking about the automatic
 detection code you alluded to, which could then be configurable/extensible
 through the insertion of parser factories.

 I can also make the HashMap--Hashtable change for the 1.1.1 branch.  The
  JDK 1.1 incompatibility was DISCOVERED through failure of the unit test
  but the offending code is in the class being tested, not the test itself.
   I have

 Sure thing.  Let's decide how to tag that branch.

 And it sounds like you have an itch for doing the nio stuff.

 It's been nagging me for a while, but I'm actually writing networking
 code these days based on java.nio, so I figure I should kill two
 birds with one stone and start rolling it into Commons Net as
 a proposal instead of keeping it in my private library.  It's so
 much easier to dedicate volunteer committer hours when you're
 working on/using the stuff anyway.

 daniel



 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Next Steps - WAS Re: [net] VMSFTPEntryParser bug?

2004-01-01 Thread steve cohen
On Thursday 01 January 2004 09:06 am, Jeffrey D. Brekke wrote:

 Maven uses the following property: maven.compiler.target which
 defaults to 1.1 so what I last released generated 1.1 compatible class
 files.

 http://maven.apache.org/reference/plugins/java/properties.html

 Example:
 maven -Dmaven.compiler.target=1.2 clean jar

Then I don't understand why I was able to build, since HashMap is not in 1.1.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Next Steps - WAS Re: [net] VMSFTPEntryParser bug?

2004-01-01 Thread Jeffrey D. Brekke

I believe it just produces 1.1 compatible class files.  Maven just
passes the setting to the ant task, which passes it to javac.  Since
the HashMap class is is not present under 1.1 I guess we'd just get a
ClassNotFoundException.

I believe that should be all we need, we shouldn't need to *compile*
with the javac from 1.1, we just need to use classes that are present
with 1.1 and produce 1.1 compatible classes ( byte codes ).

 On Thu, 01 Jan 2004 10:57:24 -0600, steve cohen [EMAIL PROTECTED] said:

 On Thursday 01 January 2004 09:06 am, Jeffrey D. Brekke wrote:
 Maven uses the following property: maven.compiler.target which
 defaults to 1.1 so what I last released generated 1.1 compatible
 class files.
 
 http://maven.apache.org/reference/plugins/java/properties.html
 
 Example: maven -Dmaven.compiler.target=1.2 clean jar
 
 Then I don't understand why I was able to build, since HashMap is
 not in 1.1.

 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]

-- 
=
Jeffrey D. Brekke   [EMAIL PROTECTED]
Wisconsin,  USA [EMAIL PROTECTED]
[EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Next Steps - WAS Re: [net] VMSFTPEntryParser bug?

2004-01-01 Thread steve cohen
Yes, in order to verify that the code doesn't use any 1.2+ code I found that 
you have to also use bootclasspath={path to jdk1.1.8 classes.zip}

There were a couple of other instances:
use of ArrayLists in VMSFTPEntryParser and in ExtendedNNTPOps.java
in the examples section.

I cleaned all of these up and committed them.  In the case of the ArrayList in 
VMSFTPEntryParser, it did not work to change the file container to a Vector.  
This code was calling a method in ORO that returned a Collection, also not 
JDK1.1 compatible.  Since the older ORO method that returned a Vector had 
been deprecated, I looked at what it was doing, which was simply splitting a 
string on a comma.  This was an overkill use of ORO, easily replicated with a 
StringTokenizer.

Talk about a stroll down memory lane!



On Thursday 01 January 2004 02:18 pm, Jeffrey D. Brekke wrote:
 I believe it just produces 1.1 compatible class files.  Maven just
 passes the setting to the ant task, which passes it to javac.  Since
 the HashMap class is is not present under 1.1 I guess we'd just get a
 ClassNotFoundException.

 I believe that should be all we need, we shouldn't need to *compile*
 with the javac from 1.1, we just need to use classes that are present
 with 1.1 and produce 1.1 compatible classes ( byte codes ).

  On Thu, 01 Jan 2004 10:57:24 -0600, steve cohen
  [EMAIL PROTECTED] said:
 
  On Thursday 01 January 2004 09:06 am, Jeffrey D. Brekke wrote:
  Maven uses the following property: maven.compiler.target which
  defaults to 1.1 so what I last released generated 1.1 compatible
  class files.
 
  http://maven.apache.org/reference/plugins/java/properties.html
 
  Example: maven -Dmaven.compiler.target=1.2 clean jar
 
  Then I don't understand why I was able to build, since HashMap is
  not in 1.1.
 
  -
  To unsubscribe, e-mail: [EMAIL PROTECTED]
  For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [net] VMSFTPEntryParser bug?

2003-12-31 Thread Daniel F. Savarese

In message [EMAIL PROTECTED], Steve Cohen writes:
But what about my point that what we have now is NOT 1.1 compatible?
VMSFTPEntryParser broke that, although it could, if necessary, be 
reimplemented to use Hashtable instead of HashMap.

I misread your email (unfortunately an increasingly common experience
given the volume of email I have to skim).  I thought you said the
unit test wasn't 1.1 compatible.  Given that the 1.1 release was
supposed to be 1.1 compatible, I'm in favor of replacing the HashMap
with a Hashtable in a 1.1.1 release and doing a JDK 1.1 build to
spot any other compatibility problems.  After that, I say we branch
the code.  Without selectable I/O, we're forced to use inefficient
kluges.  The guts of the telnet implementation is an abomination, which
I wouldn't be too concerned about except that it underpins the
FTPClient command conversation.

There was some discussion about mandating 1.3, but that met resistance from 
some.  Let alone 1.4.  That was a non-starter, as we've already heard from 
several users here on the other thread.

I don't think it's a non-starter.  As long as we give advance warning
about how the transition is being handled.  Say we branch and commit
to making bug fixes on the 1.1 tree for x number of month.  Since ant
is J2SE 1.2 dependent, we ought not move to 1.3 (what do we really gain
from 1.3 anyway?).  We can plan a series of 1.2 compatible releases
for some pre-announced period of time all the while working on a
J2SE 1.4 dependent 2.0 release on an experimental code branch.  I
know it makes maintenance more difficult, but the code is showing
its age and not making an attempt to reimplement using java.nio is
selling users short in the long run.  I'm willing to take the
initiative on the experimental or proposal branch.

Are there any users of Commons-Net who need 1.1 compatibility?  (Remember 
NetComponents is still available).

Available as a courtesy, but unsupported.  We'll find out soon enough
if anyone still needs JDK 1.1 compatibility if we migrate to 1.2 and
announce no new features for 1.1.x releases and only bug fixes for
those who request them.  To summarize, I now believe the stepping stones
should be J2SE 1.2 and then 1.4.  J2SE 1.2 compatibility for releases
1.2.x - 1.9.x on the head branch and J2SE 1.4 for release 2.0 on an
experimental branch.  JDK 1.1 compatibility for 1.1.x releases on a 1.1
maintenance branch.

daniel



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Next Steps - WAS Re: [net] VMSFTPEntryParser bug?

2003-12-31 Thread steve cohen
This makes a lot of sense, Daniel, and as long as I stay unemployed, I will 
even have time to devote to the project :-)

I am not completely CVS-literate and setting up the branches is beyond my 
current level of experience but probably would be good experience for me.

I am working now on a system that should help our interface with Ant.  There 
has been quite a bit of complaining on the Ant list about the ability to 
connect to non-unix servers.  We'd previously developed the ability to parse
other systems, but accessing them from an outside system like ant was still 
impossible.  Ant could, of course, be recoded, but not, at this point, 
without requiring it to have far more knowledge of commons-net internals than 
I think is healthy.  So I am developing an FTPFileEntryParserFactory and some 
convenience methods in FTPClient to enable Ant to be recoded decently.

These changes will belong on the 1.2 branch.

Since the strings accepted by this factory method will have been chosen so as 
to map to the output of the SYST command (with a backup facility for also 
accepting a fully-qualified classname of the parser class), this system could 
also be used to implement an auto-detect system.  I personally feel that that 
is a bell-and-whistle that is less important than the ant interface, since a 
programmer will usually know what system he is connecting to, or can easily 
find out, but some have asked for it.

I can also make the HashMap--Hashtable change for the 1.1.1 branch.  The JDK 
1.1 incompatibility was DISCOVERED through failure of the unit test but the 
offending code is in the class being tested, not the test itself.  I have 
already checked in the fix to the test that does not expect the file list to 
be in an order that the parser cannot guarantee.

And it sounds like you have an itch for doing the nio stuff.


On Wednesday 31 December 2003 10:14 am, Daniel F. Savarese wrote:
 In message [EMAIL PROTECTED], Steve Cohen writes:
 But what about my point that what we have now is NOT 1.1 compatible?
 VMSFTPEntryParser broke that, although it could, if necessary, be
 reimplemented to use Hashtable instead of HashMap.

 I misread your email (unfortunately an increasingly common experience
 given the volume of email I have to skim).  I thought you said the
 unit test wasn't 1.1 compatible.  Given that the 1.1 release was
 supposed to be 1.1 compatible, I'm in favor of replacing the HashMap
 with a Hashtable in a 1.1.1 release and doing a JDK 1.1 build to
 spot any other compatibility problems.  After that, I say we branch
 the code.  Without selectable I/O, we're forced to use inefficient
 kluges.  The guts of the telnet implementation is an abomination, which
 I wouldn't be too concerned about except that it underpins the
 FTPClient command conversation.

 There was some discussion about mandating 1.3, but that met resistance
  from some.  Let alone 1.4.  That was a non-starter, as we've already
  heard from several users here on the other thread.

 I don't think it's a non-starter.  As long as we give advance warning
 about how the transition is being handled.  Say we branch and commit
 to making bug fixes on the 1.1 tree for x number of month.  Since ant
 is J2SE 1.2 dependent, we ought not move to 1.3 (what do we really gain
 from 1.3 anyway?).  We can plan a series of 1.2 compatible releases
 for some pre-announced period of time all the while working on a
 J2SE 1.4 dependent 2.0 release on an experimental code branch.  I
 know it makes maintenance more difficult, but the code is showing
 its age and not making an attempt to reimplement using java.nio is
 selling users short in the long run.  I'm willing to take the
 initiative on the experimental or proposal branch.

 Are there any users of Commons-Net who need 1.1 compatibility?  (Remember
 NetComponents is still available).

 Available as a courtesy, but unsupported.  We'll find out soon enough
 if anyone still needs JDK 1.1 compatibility if we migrate to 1.2 and
 announce no new features for 1.1.x releases and only bug fixes for
 those who request them.  To summarize, I now believe the stepping stones
 should be J2SE 1.2 and then 1.4.  J2SE 1.2 compatibility for releases
 1.2.x - 1.9.x on the head branch and J2SE 1.4 for release 2.0 on an
 experimental branch.  JDK 1.1 compatibility for 1.1.x releases on a 1.1
 maintenance branch.

 daniel



 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Next Steps - WAS Re: [net] VMSFTPEntryParser bug?

2003-12-31 Thread Daniel F. Savarese

In message [EMAIL PROTECTED], steve cohen writes:
I am not completely CVS-literate and setting up the branches is beyond my 
current level of experience but probably would be good experience for me.

In my response to Jeffrey's email, I asked about whether we wanted to
replace the existing NET_1_1_0 tag with a new NET_1_1_0 branch tag or
leave the existing tag alone and attach a special branch tag with a different
name to the NET_1_1_0 files.  After we resolve that, if you want to do
it, go ahead.  I don't know if you can use the -F and -b options together
with cvs tag, which is why I suggested the roundabout way of renaming
the tag and creating a new one with the old name using -b.  Subversion
makes this easier.

without requiring it to have far more knowledge of commons-net internals than 
I think is healthy.  So I am developing an FTPFileEntryParserFactory and some 
convenience methods in FTPClient to enable Ant to be recoded decently.

I followed the emails.  Sounds great.  I forgot to offer a comment.
I was going to suggest making FTPFileEntryParserFactory either a
class or an interface that has to be instantiated rather than
a singleton.  I think you were intending to make createFileEntryParser
a static method.  I suggest the use of an interface and a default
factory class for the same reason we had to write SocketFactory and
much later, in J2SE 1.4, Sun added its own javax.net.SocketFactory
and javax.net.ServerSocketFactory.  It allows generic code to be
written that accepts pluggable parser factories should a user decide
to implement his own factory.  I'm thinking about the automatic
detection code you alluded to, which could then be configurable/extensible
through the insertion of parser factories.

I can also make the HashMap--Hashtable change for the 1.1.1 branch.  The JDK 
1.1 incompatibility was DISCOVERED through failure of the unit test but the 
offending code is in the class being tested, not the test itself.  I have 

Sure thing.  Let's decide how to tag that branch.

And it sounds like you have an itch for doing the nio stuff.

It's been nagging me for a while, but I'm actually writing networking
code these days based on java.nio, so I figure I should kill two
birds with one stone and start rolling it into Commons Net as
a proposal instead of keeping it in my private library.  It's so
much easier to dedicate volunteer committer hours when you're
working on/using the stuff anyway.

daniel



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [net] VMSFTPEntryParser bug?

2003-12-30 Thread Jeffrey D. Brekke
 On Mon, 29 Dec 2003 16:22:48 -0600, Steve Cohen [EMAIL PROTECTED] said:

[SNIP]

 However, this brings up the larger question, of what the target
 platform for commons-net is.  I dimly remember that it being java
 1.1.  This is why I went through the annoying exercise of creating
 the FTPFileList and FTPFileIterator classes based on
 java-1.1-compatible containers like Vector.  If we are now using
 HashMaps, though, we will have violated this contract, if, in fact,
 such a contract exists.  Can someone clarify this question?

This has come up in regards to using some of java.nio in Commons/Net also. 
I say we leave the last release as 1.1 compatible and move on to using
1.4+ for new versions.

I happen to be building with 1.4.2 under linux, btw.

-- 
=
Jeffrey D. Brekke   [EMAIL PROTECTED]
Wisconsin,  USA [EMAIL PROTECTED]
[EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [net] VMSFTPEntryParser bug?

2003-12-30 Thread Steve Cohen
But what about my point that what we have now is NOT 1.1 compatible?
VMSFTPEntryParser broke that, although it could, if necessary, be 
reimplemented to use Hashtable instead of HashMap.

However, there might be room for discussion whether we want to leave 1.1 
compatibility behind.  Ant 1.6 now is compatible only with JDK 1.2 and above.  
There was some discussion about mandating 1.3, but that met resistance from 
some.  Let alone 1.4.  That was a non-starter, as we've already heard from 
several users here on the other thread.

Are there any users of Commons-Net who need 1.1 compatibility?  (Remember 
NetComponents is still available).

On Tuesday 30 December 2003 09:01 am, Jeffrey D. Brekke wrote:
  On Mon, 29 Dec 2003 16:22:48 -0600, Steve Cohen
  [EMAIL PROTECTED] said:

 [SNIP]

  However, this brings up the larger question, of what the target
  platform for commons-net is.  I dimly remember that it being java
  1.1.  This is why I went through the annoying exercise of creating
  the FTPFileList and FTPFileIterator classes based on
  java-1.1-compatible containers like Vector.  If we are now using
  HashMaps, though, we will have violated this contract, if, in fact,
  such a contract exists.  Can someone clarify this question?

 This has come up in regards to using some of java.nio in Commons/Net also.
 I say we leave the last release as 1.1 compatible and move on to using
 1.4+ for new versions.

 I happen to be building with 1.4.2 under linux, btw.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [net] VMSFTPEntryParser bug?

2003-12-30 Thread Jeffrey D. Brekke

Unfortunately I don't remember if it was discussed or not.  I'm for
leaving 1.1 behind, even if we need to make a compatible version at
this point, but then moving on.  Seems like 1.3 is doable.

I wouldn't want to leave users out in the cold.  I still want to
provide a release that works with a given jvm version, but I don't
think I want to freeze all development at that version so long.  So
maybe new development proceeds with newer version of the jvm or
something?

 On Tue, 30 Dec 2003 14:11:31 -0600, Steve Cohen [EMAIL PROTECTED] said:

 But what about my point that what we have now is NOT 1.1 compatible?
 VMSFTPEntryParser broke that, although it could, if necessary, be
 reimplemented to use Hashtable instead of HashMap.

 However, there might be room for discussion whether we want to leave
 1.1 compatibility behind.  Ant 1.6 now is compatible only with JDK
 1.2 and above.  There was some discussion about mandating 1.3, but
 that met resistance from some.  Let alone 1.4.  That was a
 non-starter, as we've already heard from several users here on the
 other thread.

 Are there any users of Commons-Net who need 1.1 compatibility?
 (Remember NetComponents is still available).

 On Tuesday 30 December 2003 09:01 am, Jeffrey D. Brekke wrote:
  On Mon, 29 Dec 2003 16:22:48 -0600, Steve Cohen 
 [EMAIL PROTECTED] said:
 
 [SNIP]
 
  However, this brings up the larger question, of what the target 
 platform for commons-net is.  I dimly remember that it being java 
 1.1.  This is why I went through the annoying exercise of creating
  the FTPFileList and FTPFileIterator classes based on 
 java-1.1-compatible containers like Vector.  If we are now using 
 HashMaps, though, we will have violated this contract, if, in fact,
  such a contract exists.  Can someone clarify this question?
 
 This has come up in regards to using some of java.nio in
 Commons/Net also.  I say we leave the last release as 1.1
 compatible and move on to using 1.4+ for new versions.
 
 I happen to be building with 1.4.2 under linux, btw.


 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]

-- 
=
Jeffrey D. Brekke   [EMAIL PROTECTED]
Wisconsin,  USA [EMAIL PROTECTED]
[EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [NET] VMSFTPEntryParser bug?

2003-12-30 Thread Daniel F. Savarese

In message [EMAIL PROTECTED], steve cohen writes
:
failing but on a different line.  I'm not sure what platform Jeff is on when 
he did the build, but I think I should rewrite this test in a way that 
doesn't assume any particular order since this seems to be JDK-implementation 
dependent.  The JavaDoc for HashMap specifies no order that should be 
expected for HashMap.values(), nor for HashMap.keySet() for that matter.  We 
could probably achieve a dependable order by using a TreeMap.keySet() 
instead.

+1

However, this brings up the larger question, of what the target platform for 
commons-net is.  I dimly remember that it being java 1.1.  This is why I went 
through the annoying exercise of creating the FTPFileList and FTPFileIterator 
classes based on java-1.1-compatible containers like Vector.  If we are now 
using HashMaps, though, we will have violated this contract, if, in fact, 
such a contract exists.  Can someone clarify this question?

This is a good question.  At first I was going to say it doesn't
impact the tests; but if your tests are dependent on a specific JDK,
then you never run them on other JDKs.  I'm of the mind that we ought
to agree on a plan to migrate to J2SE 1.4 features.  Still, there's the issue
of Ant, which has a dependency on commons net.  I know they abandoned
JDK 1.1 support in the latest release, but is their new baseline J2SE 1.2
or 1.4?  Anyone who needs JDK 1.1 support can live with the 1.1 release
and we can support it in a separate branch applying bug fixes if there is
sufficient demand.  Another alternative is to start an experimental branch
intended to become Commons Net 2.0 and continue releasing 1.x releases that
meet Ant's compatibility requirements.  Commons Net 2.0 could be a fundamental
redesign and reimplementation based on the new IO features present in
J2SE 1.4.  The guts of the code would change, but not all of the protocol
logic built around it, so it's not like it would be a complete rewrite.  A
lot of the kluginess in Commons Net stems from the lack of java.nio at
its genesis.  At any rate, until we hash some of this out in more detail,
my vote is to support whatever Ant requires for compatibility.  If it's
J2SE 1.2, then HashMaps are okay in the unit tests.

daniel



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [NET] VMSFTPEntryParser bug?

2003-12-29 Thread steve cohen
On Monday 29 December 2003 04:27 pm, steve cohen wrote:
 I am trying to build commons-net prior to making some changes and some
 other issues have come to light.

 One of the tests is failing for me -
 VMSFTPEntryParserTest.testParseFileList().

 This test seems poorly implemented, since the class being tested builds its
 list of files using a HashMap to eliminate dupes, I presume, and then spits
 out the list by calling values() on the HashMap - which spits out the
 values in an order that is different from the one the test is expecting.  I
 was running this under java 1.3 on linux.  I switched to java 1.4 and it is
 also failing but on a different line.  I'm not sure what platform Jeff is
 on when he did the build, but I think I should rewrite this test in a way
 that doesn't assume any particular order since this seems to be
 JDK-implementation dependent.  The JavaDoc for HashMap specifies no order
 that should be expected for HashMap.values(), nor for HashMap.keySet() for
 that matter.  We could probably achieve a dependable order by using a
 TreeMap.keySet() instead.

However, this brings up a larger question, of what the target platform for 
commons-net is.  I dimly remember that it being java 1.1.  This is why I went 
through the annoying exercise of creating the FTPFileList and FTPFileIterator 
classes based on java-1.1-compatible containers like Vector.  If we are now 
using HashMaps, though, we will have violated this contract, if, in fact, 
such a contract exists.  Can someone clarify this question?



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



[net] VMSFTPEntryParser bug?

2003-12-29 Thread Steve Cohen
I am trying to build commons-net prior to making some changes and some other 
issues have come to light.

One of the tests is failing for me - 
VMSFTPEntryParserTest.testParseFileList().  

This test seems poorly implemented, since the class being tested builds its 
list of files using a HashMap to eliminate dupes, I presume, and then spits 
out the list by calling values() on the HashMap - which spits out the values 
in an order that is different from the one the test is expecting.  I was 
running this under java 1.3 on linux.  I switched to java 1.4 and it is also 
failing but on a different line.  I'm not sure what platform Jeff is on when 
he did the build, but I think I should rewrite this test in a way that 
doesn't assume any particular order since this seems to be JDK-implementation 
dependent.  The JavaDoc for HashMap specifies no order that should be 
expected for HashMap.values(), nor for HashMap.keySet() for that matter.  We 
could probably achieve a dependable order by using a TreeMap.keySet() 
instead.

However, this brings up the larger question, of what the target platform for 
commons-net is.  I dimly remember that it being java 1.1.  This is why I went 
through the annoying exercise of creating the FTPFileList and FTPFileIterator 
classes based on java-1.1-compatible containers like Vector.  If we are now 
using HashMaps, though, we will have violated this contract, if, in fact, 
such a contract exists.  Can someone clarify this question?



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



[NET] VMSFTPEntryParser bug?

2003-12-29 Thread steve cohen
I am trying to build commons-net prior to making some changes and some other 
issues have come to light.

One of the tests is failing for me - 
VMSFTPEntryParserTest.testParseFileList().  

This test seems poorly implemented, since the class being tested builds its 
list of files using a HashMap to eliminate dupes, I presume, and then spits 
out the list by calling values() on the HashMap - which spits out the values 
in an order that is different from the one the test is expecting.  I was 
running this under java 1.3 on linux.  I switched to java 1.4 and it is also 
failing but on a different line.  I'm not sure what platform Jeff is on when 
he did the build, but I think I should rewrite this test in a way that 
doesn't assume any particular order since this seems to be JDK-implementation 
dependent.  The JavaDoc for HashMap specifies no order that should be 
expected for HashMap.values(), nor for HashMap.keySet() for that matter.  We 
could probably achieve a dependable order by using a TreeMap.keySet() 
instead.

However, this brings up the larger question, of what the target platform for 
commons-net is.  I dimly remember that it being java 1.1.  This is why I went 
through the annoying exercise of creating the FTPFileList and FTPFileIterator 
classes based on java-1.1-compatible containers like Vector.  If we are now 
using HashMaps, though, we will have violated this contract, if, in fact, 
such a contract exists.  Can someone clarify this question?


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [NET] VMSFTPEntryParser bug?

2003-12-29 Thread Steve Cohen

On Monday 29 December 2003 04:27 pm, steve cohen wrote:
 I am trying to build commons-net prior to making some changes and some
 other issues have come to light.

 One of the tests is failing for me -
 VMSFTPEntryParserTest.testParseFileList().

 This test seems poorly implemented, since the class being tested builds its
 list of files using a HashMap to eliminate dupes, I presume, and then spits
 out the list by calling values() on the HashMap - which spits out the
 values in an order that is different from the one the test is expecting.  I
 was running this under java 1.3 on linux.  I switched to java 1.4 and it is
 also failing but on a different line.  I'm not sure what platform Jeff is
 on when he did the build, but I think I should rewrite this test in a way
 that doesn't assume any particular order since this seems to be
 JDK-implementation dependent.  The JavaDoc for HashMap specifies no order
 that should be expected for HashMap.values(), nor for HashMap.keySet() for
 that matter.  We could probably achieve a dependable order by using a
 TreeMap.keySet() instead.




However, this brings up a larger question, of what the target platform for 
commons-net is.  I dimly remember that it being java 1.1.  This is why I went 
through the annoying exercise of creating the FTPFileList and FTPFileIterator 
classes based on java-1.1-compatible containers like Vector.  If we are now 
using HashMaps, though, we will have violated this contract, if, in fact, 
such a contract exists.  Can someone clarify this question?



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]