Rational Developer for Power Systems Software
V7.6

com.ibm.etools.iseries.util.evfparser
Class QSYSEventsFileExpansionProcessorCore

java.lang.Object
  extended by com.ibm.etools.iseries.util.evfparser.QSYSEventsFileExpansionProcessorCore
All Implemented Interfaces:
IQSYSEventsFileProcessor
Direct Known Subclasses:
QSYSEventsFileExpansionProcessor

public class QSYSEventsFileExpansionProcessorCore
extends Object
implements IQSYSEventsFileProcessor


Field Summary
protected  boolean _containsPreCompileProcessorBlocks
           
protected  QSYSEventsFileProcessorBlockCore _currentProcessor
           
protected  boolean _postProcessingNeeded
           
 
Constructor Summary
QSYSEventsFileExpansionProcessorCore()
           
 
Method Summary
protected  QSYSEventsFileProcessorBlockCore constructEventsFileProcessorBlock(QSYSEventsFileProcessorRecord record)
           
protected  boolean determineAndSetMappingSupport(QSYSEventsFileProcessorBlockCore lastProcessorBlock)
          Recursively determines whether the events file (or any of the "sub" events files when multiple have been combined into one) supports mapping of errors from the final temporary output member to the original input members.
 boolean doPostProcessing()
          After parsing all records in the Events File, this method will be called to process the records.
 boolean doPreProcessing()
          Before parsing all records in the Events File, this method will be called to allow the processor to perform initialization.
 LinkedList getAllErrors()
          This method is used by the JUnit test for event file processing.
 Set getAllFileIDRecords()
          Return all file ID records.
 void processErrorRecord(QSYSEventsFileErrorInformationRecord record)
          Processes an Error record object.
 void processExpansionRecord(QSYSEventsFileExpansionRecord record)
          Processes an Expansion record object.
 void processFeedbackCodeRecord(QSYSEventsFileFeedbackCodeRecord record)
          Processes a Feedback Code record object.
 void processFileEndRecord(QSYSEventsFileFileEndRecord record)
          Processes a File End record object.
 void processFileIDRecord(QSYSEventsFileFileIDRecord record)
          Processes a File ID record object.
 void processMapDefineRecord(QSYSEventsFileMapDefineRecord record)
          Processes a Map Define record object.
 void processMapEndRecord(QSYSEventsFileMapEndRecord record)
          Processes a Map End record object.
 void processMapStartRecord(QSYSEventsFileMapStartRecord record)
          Processes a Map Start record object.
 void processProcessorRecord(QSYSEventsFileProcessorRecord record)
          Processes a Processor record object.
 void processProgramRecord(QSYSEventsFileProgramRecord record)
          Processes a Program record object.
 void processTimestampRecord(QSYSEventsFileTimestampRecord record)
          Processes a Timestamp record object.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_currentProcessor

protected QSYSEventsFileProcessorBlockCore _currentProcessor

_postProcessingNeeded

protected boolean _postProcessingNeeded

_containsPreCompileProcessorBlocks

protected boolean _containsPreCompileProcessorBlocks
Constructor Detail

QSYSEventsFileExpansionProcessorCore

public QSYSEventsFileExpansionProcessorCore()
Method Detail

processErrorRecord

public void processErrorRecord(QSYSEventsFileErrorInformationRecord record)
Description copied from interface: IQSYSEventsFileProcessor
Processes an Error record object.

Specified by:
processErrorRecord in interface IQSYSEventsFileProcessor

processExpansionRecord

public void processExpansionRecord(QSYSEventsFileExpansionRecord record)
Description copied from interface: IQSYSEventsFileProcessor
Processes an Expansion record object.

Specified by:
processExpansionRecord in interface IQSYSEventsFileProcessor

processFeedbackCodeRecord

public void processFeedbackCodeRecord(QSYSEventsFileFeedbackCodeRecord record)
Description copied from interface: IQSYSEventsFileProcessor
Processes a Feedback Code record object.

Specified by:
processFeedbackCodeRecord in interface IQSYSEventsFileProcessor

processFileEndRecord

public void processFileEndRecord(QSYSEventsFileFileEndRecord record)
                          throws SecondLevelHelpException
Description copied from interface: IQSYSEventsFileProcessor
Processes a File End record object.

Specified by:
processFileEndRecord in interface IQSYSEventsFileProcessor
Throws:
SecondLevelHelpException

processFileIDRecord

public void processFileIDRecord(QSYSEventsFileFileIDRecord record)
                         throws SecondLevelHelpException
Description copied from interface: IQSYSEventsFileProcessor
Processes a File ID record object.

Specified by:
processFileIDRecord in interface IQSYSEventsFileProcessor
Throws:
SecondLevelHelpException

processMapDefineRecord

public void processMapDefineRecord(QSYSEventsFileMapDefineRecord record)
Description copied from interface: IQSYSEventsFileProcessor
Processes a Map Define record object.

Specified by:
processMapDefineRecord in interface IQSYSEventsFileProcessor

processMapEndRecord

public void processMapEndRecord(QSYSEventsFileMapEndRecord record)
Description copied from interface: IQSYSEventsFileProcessor
Processes a Map End record object.

Specified by:
processMapEndRecord in interface IQSYSEventsFileProcessor

processMapStartRecord

public void processMapStartRecord(QSYSEventsFileMapStartRecord record)
Description copied from interface: IQSYSEventsFileProcessor
Processes a Map Start record object.

Specified by:
processMapStartRecord in interface IQSYSEventsFileProcessor

processProcessorRecord

public void processProcessorRecord(QSYSEventsFileProcessorRecord record)
                            throws SecondLevelHelpException
Description copied from interface: IQSYSEventsFileProcessor
Processes a Processor record object.

Specified by:
processProcessorRecord in interface IQSYSEventsFileProcessor
Throws:
SecondLevelHelpException

constructEventsFileProcessorBlock

protected QSYSEventsFileProcessorBlockCore constructEventsFileProcessorBlock(QSYSEventsFileProcessorRecord record)

processProgramRecord

public void processProgramRecord(QSYSEventsFileProgramRecord record)
Description copied from interface: IQSYSEventsFileProcessor
Processes a Program record object.

Specified by:
processProgramRecord in interface IQSYSEventsFileProcessor

processTimestampRecord

public void processTimestampRecord(QSYSEventsFileTimestampRecord record)
Description copied from interface: IQSYSEventsFileProcessor
Processes a Timestamp record object.

Specified by:
processTimestampRecord in interface IQSYSEventsFileProcessor

doPreProcessing

public boolean doPreProcessing()
Description copied from interface: IQSYSEventsFileProcessor
Before parsing all records in the Events File, this method will be called to allow the processor to perform initialization.

Specified by:
doPreProcessing in interface IQSYSEventsFileProcessor
Returns:
true if pre-processing was succesful. false otherwise.

doPostProcessing

public boolean doPostProcessing()
                         throws SecondLevelHelpException
Description copied from interface: IQSYSEventsFileProcessor
After parsing all records in the Events File, this method will be called to process the records.

Specified by:
doPostProcessing in interface IQSYSEventsFileProcessor
Returns:
true if post-processing was succesful. false otherwise.
Throws:
SecondLevelHelpException

determineAndSetMappingSupport

protected boolean determineAndSetMappingSupport(QSYSEventsFileProcessorBlockCore lastProcessorBlock)
Recursively determines whether the events file (or any of the "sub" events files when multiple have been combined into one) supports mapping of errors from the final temporary output member to the original input members. Also sets a property of each processor block for whether it supports mappings. Mapping is supported for an events file if all its processor blocks support error mapping. IMPORTANT: When called at the top level, this method should only be called on the very last processor block of the [combined] events file.

Parameters:
lastProcessorBlock - - the first processor block to check. When called at the top level, this should be the very last processor block of the [combined] events file.
Returns:
true if any of the events files support mapping of errors, false otherwise

getAllErrors

public LinkedList getAllErrors()
This method is used by the JUnit test for event file processing. After all records in the Events File are processed, this method is called to return all the errors from all the processor blocks (QSYSEventsFileProcessorBlock) of the Events File. Since each QSYSEventsFileProcessorBlock contains a LinkedList of errors, the result will be returned as a LinkedList of those linked lists. This method is called by EventsFileParser.printEventFileErrors(), which in turn is called by the JUnit test for event file processing.

Specified by:
getAllErrors in interface IQSYSEventsFileProcessor
Returns:
a list of lists of all parsed errors from all processor blocks of the Events File (one list for each processor block).

getAllFileIDRecords

public Set getAllFileIDRecords()
Return all file ID records.

Specified by:
getAllFileIDRecords in interface IQSYSEventsFileProcessor

Rational Developer for Power Systems Software
V7.6

Copyright © 2011 IBM Corp. All Rights Reserved.

Note: This documentation is for part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.