Class MVSFTPEntryParser
java.lang.Object
org.apache.commons.net.ftp.FTPFileEntryParserImpl
org.apache.commons.net.ftp.parser.RegexFTPFileEntryParserImpl
org.apache.commons.net.ftp.parser.ConfigurableFTPFileEntryParserImpl
org.apache.commons.net.ftp.parser.MVSFTPEntryParser
- All Implemented Interfaces:
Configurable
,FTPFileEntryParser
Implementation of FTPFileEntryParser and FTPFileListParser for IBM zOS/MVS Systems.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) static final String
Dates are ignored for file lists, but are used for member lists where possible(package private) static final String
Matches these entries:(package private) static final int
private int
(package private) static final String
Matches these entries, note: no header:(package private) static final int
(package private) static final String
JES INTERFACE LEVEL 2 parser Matches these entries:(package private) static final int
(package private) static final String
Matches these entries:(package private) static final int
(package private) static final int
private UnixFTPEntryParser
Fallback parser for Unix-style listings(package private) static final int
Fields inherited from class org.apache.commons.net.ftp.parser.RegexFTPFileEntryParserImpl
_matcher_
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected FTPClientConfig
Each concrete subclass must define this member to create a default configuration to be used when that subclass is instantiated without aFTPClientConfig
parameter being specified.private FTPFile
parseFileList
(String entry) Parses entries representing a dataset list.parseFTPEntry
(String entry) Parses a line of a z/OS - MVS FTP server file listing and converts it into a usable format in the form of anFTPFile
instance.private FTPFile
parseJeslevel1List
(String entry) Matches these entries, note: no header:private FTPFile
parseJeslevel2List
(String entry) Matches these entries:private FTPFile
parseJeslevelList
(String entry, int matchNum) private FTPFile
parseMemberList
(String entry) Parses entries within a partitioned dataset.Pre-parses is called as part of the interface.(package private) void
setType
(int type) Sets the type of listing being processed.Methods inherited from class org.apache.commons.net.ftp.parser.ConfigurableFTPFileEntryParserImpl
configure, parseTimestamp
Methods inherited from class org.apache.commons.net.ftp.parser.RegexFTPFileEntryParserImpl
getGroupCnt, getGroupsAsString, group, matches, setRegex, setRegex
Methods inherited from class org.apache.commons.net.ftp.FTPFileEntryParserImpl
readNextEntry
-
Field Details
-
UNKNOWN_LIST_TYPE
static final int UNKNOWN_LIST_TYPE- See Also:
-
FILE_LIST_TYPE
static final int FILE_LIST_TYPE- See Also:
-
MEMBER_LIST_TYPE
static final int MEMBER_LIST_TYPE- See Also:
-
UNIX_LIST_TYPE
static final int UNIX_LIST_TYPE- See Also:
-
JES_LEVEL_1_LIST_TYPE
static final int JES_LEVEL_1_LIST_TYPE- See Also:
-
JES_LEVEL_2_LIST_TYPE
static final int JES_LEVEL_2_LIST_TYPE- See Also:
-
DEFAULT_DATE_FORMAT
Dates are ignored for file lists, but are used for member lists where possible- See Also:
-
FILE_LIST_REGEX
Matches these entries:Volume Unit Referred Ext Used Recfm Lrecl BlkSz Dsorg Dsname B10142 3390 2006/03/20 2 31 F 80 80 PS MDI.OKL.WORK
- See Also:
-
MEMBER_LIST_REGEX
Matches these entries:Name VV.MM Created Changed Size Init Mod Id TBSHELF 01.03 2002/09/12 2002/10/11 09:37 11 11 0 KIL001
- See Also:
-
JES_LEVEL_1_LIST_REGEX
Matches these entries, note: no header:IBMUSER1 JOB01906 OUTPUT 3 Spool Files 012345678901234567890123456789012345678901234 1 2 3 4
- See Also:
-
JES_LEVEL_2_LIST_REGEX
JES INTERFACE LEVEL 2 parser Matches these entries:JOBNAME JOBID OWNER STATUS CLASS IBMUSER1 JOB01906 IBMUSER OUTPUT A RC=0000 3 spool files IBMUSER TSU01830 IBMUSER OUTPUT TSU ABEND=522 3 spool files
Sample output from FTP session:ftp> quote site filetype=jes 200 SITE command was accepted ftp> ls 200 Port request OK. 125 List started OK for JESJOBNAME=IBMUSER*, JESSTATUS=ALL and JESOWNER=IBMUSER JOBNAME JOBID OWNER STATUS CLASS IBMUSER1 JOB01906 IBMUSER OUTPUT A RC=0000 3 spool files IBMUSER TSU01830 IBMUSER OUTPUT TSU ABEND=522 3 spool files 250 List completed successfully. ftp> ls job01906 200 Port request OK. 125 List started OK for JESJOBNAME=IBMUSER*, JESSTATUS=ALL and JESOWNER=IBMUSER JOBNAME JOBID OWNER STATUS CLASS IBMUSER1 JOB01906 IBMUSER OUTPUT A RC=0000 -------- ID STEPNAME PROCSTEP C DDNAME BYTE-COUNT 001 JES2 A JESMSGLG 858 002 JES2 A JESJCL 128 003 JES2 A JESYSMSG 443 3 spool files 250 List completed successfully.
- See Also:
-
isType
private int isType -
unixFTPEntryParser
Fallback parser for Unix-style listings
-
-
Constructor Details
-
MVSFTPEntryParser
public MVSFTPEntryParser()The sole constructor for a MVSFTPEntryParser object.
-
-
Method Details
-
getDefaultConfiguration
Description copied from class:ConfigurableFTPFileEntryParserImpl
Each concrete subclass must define this member to create a default configuration to be used when that subclass is instantiated without aFTPClientConfig
parameter being specified.- Specified by:
getDefaultConfiguration
in classConfigurableFTPFileEntryParserImpl
- Returns:
- the default configuration for the subclass.
-
parseFileList
Parses entries representing a dataset list.Format of ZOS/MVS file list: 1 2 3 4 5 6 7 8 9 10 Volume Unit Referred Ext Used Recfm Lrecl BlkSz Dsorg Dsname B10142 3390 2006/03/20 2 31 F 80 80 PS MDI.OKL.WORK ARCIVE Not Direct Access Device KJ.IOP998.ERROR.PL.UNITTEST B1N231 3390 2006/03/20 1 15 VB 256 27998 PO PLU B1N231 3390 2006/03/20 1 15 VB 256 27998 PO-E PLB Migrated HLQ.DATASET.NAME
----------------------------------- Group within Regex [1] Volume [2] Unit [3] Referred [4] Ext: number of extents [5] Used [6] Recfm: Record format [7] Lrecl: Logical record length [8] BlkSz: Block size [9] Dsorg: Dataset organisation. Many exists but only support: PS, PO, PO-E [10] Dsname: Dataset name
- Parameters:
entry
- zosDirectoryEntry- Returns:
- null: entry was not parsed.
-
parseFTPEntry
Parses a line of a z/OS - MVS FTP server file listing and converts it into a usable format in the form of anFTPFile
instance. If the file listing line doesn't describe a file, thennull
is returned. Otherwise, aFTPFile
instance representing the file is returned.- Parameters:
entry
- A line of text from the file listing- Returns:
- An FTPFile instance corresponding to the supplied entry
-
parseJeslevel1List
Matches these entries, note: no header:[1] [2] [3] [4] [5] IBMUSER1 JOB01906 OUTPUT 3 Spool Files 012345678901234567890123456789012345678901234 1 2 3 4 ------------------------------------------- Group in regex [1] Job name [2] Job number [3] Job status (INPUT,ACTIVE,OUTPUT) [4] Number of sysout files [5] The string "Spool Files"
- Parameters:
entry
- zosDirectoryEntry- Returns:
- null: entry was not parsed.
-
parseJeslevel2List
Matches these entries:[1] [2] [3] [4] [5] JOBNAME JOBID OWNER STATUS CLASS IBMUSER1 JOB01906 IBMUSER OUTPUT A RC=0000 3 spool files IBMUSER TSU01830 IBMUSER OUTPUT TSU ABEND=522 3 spool files 012345678901234567890123456789012345678901234 1 2 3 4 ------------------------------------------- Group in regex [1] Job name [2] Job number [3] Owner [4] Job status (INPUT,ACTIVE,OUTPUT) [5] Job Class [6] The rest
- Parameters:
entry
- zosDirectoryEntry- Returns:
- null: entry was not parsed.
-
parseJeslevelList
-
parseMemberList
Parses entries within a partitioned dataset. Format of a memberlist within a PDS:0 1 2 3 4 5 6 7 8 Name VV.MM Created Changed Size Init Mod Id TBSHELF 01.03 2002/09/12 2002/10/11 09:37 11 11 0 KIL001 TBTOOL 01.12 2002/09/12 2004/11/26 19:54 51 28 0 KIL001 ------------------------------------------- [1] Name [2] VV.MM: Version . modification [3] Created: yyyy / MM / dd [4,5] Changed: yyyy / MM / dd HH:mm [6] Size: number of lines [7] Init: number of lines when first created [8] Mod: number of modified lines a last save [9] Id: User id for last update
- Parameters:
entry
- zosDirectoryEntry- Returns:
- null: entry was not parsed.
-
preParse
Pre-parses is called as part of the interface. Per definition, it is called before the parsing takes place. Three kinds of lists are recognized:- z/OS-MVS File lists,
- z/OS-MVS Member lists,
- unix file lists.
- Specified by:
preParse
in interfaceFTPFileEntryParser
- Overrides:
preParse
in classFTPFileEntryParserImpl
- Parameters:
orig
- Original list after it has been created from the server stream- Returns:
original
unmodified.- Since:
- 2.0
-
setType
void setType(int type) Sets the type of listing being processed.- Parameters:
type
- The listing type.
-