Hi Daniel
No problem. Any submissions welcome.
Thanks
Rory
Daniel Manley wrote:
Hi Rory,
I don't know much about OS/400, OS/390 or MVS. I would feel more
comfortable submitting a patch to the OS/400 parser and let you guys
figure out if this is applicable to OS/390 or MVS.
Dan
Rory Winston wrote:
Hi Daniel
You're the second person to raise the issue about swallowing
exceptions in less than a week, so maybe there is something that we
can look at there. Possibly we could have a configurable "fail-fast"
policy for parsing directory entries. On the subject of the OS/400
parser, if there are changes you have made to get this to work, and
if you (and/or your employer) are happy to donate them to the
project, I would be happy to incorporate them into the existing
OS/400 parser implementation in [net], giving you due credit, of course.
Best regards
Rory
"Jakarta Commons Developers List" <commons-dev@jakarta.apache.org>
wrote:
Hi all,
I've been using commons-net for FTP for about two years now. It's
been great and we love it (we = the company at which I work).
But recently our systems have had to interface with an OS/400-based
FTP server. It's been a lot of trouble.
First, the default date format didn't match what the server was
sending (dd/MM/yy instead of the default yy/MM/dd). Second, the
OS/400 parser only understands the *STMF and *DIR types. But the
server I'm working with has a *FILE type. Additionally, there's a
*MEM type too. Which leads me to the third problem: each file
listing seems to be in two lines. One as *FILE and the other as
*MEM. But the *MEM lines don't include size or timestamp. This
results in a null being returned from parseEntry() (because the
REGEX doesn't match). When null is returned, the parsing is
aborted. As a result, I would only ever see the first file
alphabetically in a listFiles() call.
To solve my problem without hacking/customizing the commons-net
1.4.1 jar, I subclassed the OS/400 parser to try parsing with two
REGEX values.
Could I suggest changing the core of file entry parsing to not give
up when it gets a null back, but rather to give up when the listing
data stream is done reading? Any null's return by parseEntry()
should be skipped. At the least, an exception should be thrown to
indicate incompatible FTP listing data.
But, I also discovered that if there's an exception in parsing (null
pointer, runtime, etc), commons-net catches this exception and
quietly returns. IMHO, this should be floated up to the caller to
be aware of a problem in parsing the FTP data.
Cheers,
Dan
=======================
here's some debug I put into commons-net to discover what was being
read from the server.
the line read was [CFT 45056 04/12/06 14:19:31
*FILE AFTFRE1.FILE]
the line read was [CFT
*MEM AFTFRE1.FILE/AFTFRE1.MBR]
the line read was [CFT 36864 28/11/06 15:19:30
*FILE AFTFRE2.FILE]
the line read was [CFT
*MEM AFTFRE2.FILE/AFTFRE2.MBR]
the line read was [CFT 45056 04/12/06 14:19:37
*FILE AFTFRE6.FILE]
the line read was [CFT
*MEM AFTFRE6.FILE/AFTFRE6.MBR]
the line read was [QSYSOPR 28672 01/12/06 20:08:04
*FILE FPKI45POK5.FILE]
the line read was [QSYSOPR
*MEM FPKI45POK5.FILE/FPKI45POK5.MBR]
the line read was [null]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
-----------------------------------------------------------------
Find the home of your dreams with eircom net property
Sign up for email alerts now http://www.eircom.net/propertyalerts
---------------------------------------------------------------------
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]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]