General Framework Execution Base Framework

Developing a Custom Loader for OAAM Offline 22-9 getTotalNumberToProcess will return the total number of records in the data source that satisfy the conditions that define a given Session Set. hasMoreRecords will return true if there are more records to be processed, and will move any sort of record pointer to the next available record if required. There is a flag named nextRecordIsReady that should be used for signaling here. The superclass sets this flag to false when it has made use of the next available record. Your implementation of hasMoreRecords should check the value of the nextRecordIsReady flag, move the pointer to the next record only if the flags value is false, and change the flags value to true when you successfully move the pointer to a new record. If you are following this paradigm, then if your implementation of hasMoreRecords is called while nextRecordIsReady is true, then you should return true without changing the state of any record pointers. buildNextRecord will return a new instance of the required subclass of AbstractTransactionRecord. close is called when you have finished processing all of the records. Any required clean-up should be performed here.

22.5 Implement RunMode

If you have created any customized classes for the load or playback behavior, you are required to create a customized subclass of AbstractLoadLoginsRunMode, AbstractLoadTransactionsRunMode, or PlaybackRunMode, depending on your requirements. The most important RunMode methods are acquireDataSource and buildObjectLoader. acquireDataSourceRiskAnalyzer returns an instance of the RiskAnalyzerDataSource required to run your process. The RiskAnalyzer parameter contains context information that the RunMode can use to instantiate the data source object. buildObjectLoaderRiskAnalyzer returns an instance of the AbstractRiskAnalyzerLoader required to run your process. The RiskAnalyzer parameter contains context information that the RunMode can use to instantiate the object loader. When implementing RunMode, it is critical that your object loader and data source are compatible, meaning that the data source you return produces the specific type of loadable object that your object loader expects. The method chooseStartDateRangeVCryptDataAccessMgr, RunSession method is used to determine the start date range for your OAAM Offline job. All of your implementors of RunMode have a default implementation of this method. The default behavior is as follows. If this is the first time the job has run, you return the start date from the run sessions session set if any, or an arbitrary date guaranteed to be earlier than the earliest date in your data source if your session set has no begin date. If this is a resumed job, then you determine, in an implementation specific way, which record you need to start from when the job is resumed.

22.5.1 Extending AbstractLoadLoginsRunMode

This is the appropriate choice if you are loading login data, and you need a custom data source. You must implement the acquireDataSourceRiskAnalyzer method, and return a new instance of your custom data source. If you need a custom