com.waveset.adapter
Class PeopleSoftComponentActiveSyncAdapter

java.lang.Object
  extended bycom.waveset.adapter.ResourceAdapterBase
      extended bycom.waveset.adapter.PeopleSoftComponentResourceAdapterBase
          extended bycom.waveset.adapter.PeopleSoftComponentActiveSyncAdapter
All Implemented Interfaces:
ActiveSync, ResourceAdapter

public class PeopleSoftComponentActiveSyncAdapter
extends PeopleSoftComponentResourceAdapterBase
implements ActiveSync

The ActiveSync adapter for PeopleSoft. The basic model is to poll a table of Audit data that is changes to personnel data. Use rows from that to read the updated user data. The audit data rows can either then be deleted or we can just search from the last row received. This assumes that setup has been done on the PeopleSoft side to add search records for user and audit data, and that audit is turned on for the PERSONAL_DATA, JOB, and EMPLOYMENT records.


Nested Class Summary
protected  class PeopleSoftComponentActiveSyncAdapter.AcctIter
          AccountIterator implementation that can be built by construction from the output of mast smc
static interface PeopleSoftComponentActiveSyncAdapter.ObjectType
           
static class PeopleSoftComponentActiveSyncAdapter.UpdateRowComparator
          Internal class that implements the Comparator interface for sorting the UpdateRow elements in a list by a named attribute
 
Nested classes inherited from class com.waveset.adapter.ResourceAdapterBase
ResourceAdapterBase.SimpleAccountIterator
 
Nested classes inherited from class com.waveset.adapter.ResourceAdapter
ResourceAdapter.ActionResult, ResourceAdapter.Features
 
Field Summary
static java.lang.String code_id
           
protected static java.lang.String DEFAULT_AUDIT_STAMP_FORMAT
          Deprecated. - for legacy component interface
protected static java.lang.String DEFAULT_AUDIT_STAMP_START_DATE
          Deprecated. - for legacy component interface
static java.lang.String PS_EMPLID
           
static java.lang.String RA_AUDIT_COMPONENT_INTF
          The component interface, for 8.x servers
static java.lang.String RA_AUDIT_LEGACY_GET_UPDATE_ROWS
           
static java.lang.String RA_AUDIT_PROC_ORDER_WIDTH
           
static java.lang.String RA_AUDIT_STAMP_FORMAT
          Deprecated. - for legacy component interface
static java.lang.String RA_EMPLOYEE_COMPONENT_INTF
           
static java.lang.String RA_MAX_PS_LIST_ITEMS
           
static java.lang.String RA_USER_COMPONENT_INTF
           
 
Fields inherited from class com.waveset.adapter.PeopleSoftComponentResourceAdapterBase
_connection, DISPLAY_PASSWORD, DISPLAY_USER, LOGIN_PASSWORD, LOGIN_USER, RA_HOST, RA_PASSWORD, RA_PORT, RA_USER, RESOURCE_NAME, RESOURCE_USER_FORM
 
Fields inherited from class com.waveset.adapter.ResourceAdapterBase
_cache, _context, _excludedAccountsRule, _excludedAccountsRuleInited, _listAllObjectsAttrParse, _listAllObjectsAttrParseName, _listUserAttrParse, _listUserAttrParseName, _listUserGroupsAttrParse, _listUserGroupsAttrParseName, _resource, _thread, _trace, displayInfoCode, RA_BLOCKCOUNT, RA_LOGIN_ACTION, RA_LOGOFF_ACTION, RA_MULTI_VALUED_ATTRS, RA_TEST_MODE
 
Fields inherited from interface com.waveset.adapter.ActiveSync
ACTIVE_SYNC_EVENT_RES_ATTRS_XML, ACTIVE_SYNC_STD_RES_ATTRS_XML, ATTR_IS_DELETED, DATE_FORMAT, DATE_TIME_FORMAT, RA_APPLY_META_VIEW, RA_ASSIGN_SOURCE_ON_CREATE, RA_CONFIRMATION_RULE, RA_CORRELATION_RULE, RA_CREATE_UNMATCHED, RA_DELETE_RULE, RA_FORM, RA_ID, RA_IDM_NAME_RULE, RA_LEGACY_EVENT_GEN, RA_LOG_LEVEL, RA_LOG_PATH, RA_LOG_SIZE, RA_MAX_AGE_LENGTH, RA_MAX_AGE_UNIT, RA_MAX_ARCHIVES, RA_NAME, RA_PARAMETERIZED_INPUT_FORM, RA_POPULATE_GLOBAL, RA_POSTPOLL_WORKFLOW, RA_PREPOLL_WORKFLOW, RA_PROCESS_RULE, RA_PROXY_ADMINISTRATOR, RA_RESET_TO_TODAY, RA_RESOLVE_PROCESS_RULE, RA_SCHEDULE_INTERVAL, RA_SCHEDULE_INTERVAL_COUNT, RA_SCHEDULE_START_DATE, RA_SCHEDULE_START_TIME, RA_SYNC_CONFIG_MODE, RA_SYNC_POST_PROCESS_FORM, RA_UPDATE_IF_DELETE, RA_USE_INPUT_FORM, TIME_FORMAT, TRACE_LEVEL_DEBUG, TRACE_LEVEL_ERROR, TRACE_LEVEL_INFO, TRACE_LEVEL_NONE, TRACE_LEVEL_WARNING
 
Fields inherited from interface com.waveset.adapter.ResourceAdapter
CHANGE_PASSWORD_LOCATION, DISABLE, ENABLE, EXPIRE_PASSWORD, GUID, IGNORE_ATTR, NEW_ACCOUNT_ID, OP_DAYS_INACTIVE, OP_DISABLED, OP_DORMANT, OP_EXPIRED, OP_EXPIREDPWD, OP_INACTIVE, OP_LOCKED, OP_NO_PASSWORD_SET, OP_NOOWNERSHIP, OP_NOPASSWORDREQ, OP_NUMINACTIVEDAYS, OP_NUMPWDAYS, OP_PWNUMDAYS, RA_BASE_CTX, RA_DISPLAY_NAME_ATTR, RA_NEW_OBJECT_ID, RA_NEW_OBJECT_NAME, RA_OBJECT_ATTRIBUTES, RA_OBJECT_CLASS, RA_OBJECT_ID, RA_OBJECT_TYPE, RA_OP_TYPE, RA_RENAME_OP, RA_REQUESTOR, RA_SAVEAS_OP, RA_SEARCH_ATTRIBUTE_NAMES, RA_SEARCH_ATTRS_TO_GET, RA_SEARCH_CONTEXT, RA_SEARCH_FILTER, RA_SEARCH_RUN_AS_PASSWORD, RA_SEARCH_RUN_AS_USER, RA_SEARCH_SCOPE, RA_SEARCH_SCOPE_OBJECT, RA_SEARCH_SCOPE_ONE_LEVEL, RA_SEARCH_SCOPE_SUBTREE, RA_SEARCH_TIME_LIMIT, RESET_PASSWORD, SYSTEM_ATTRIBUTES, UNLOCK, WS_USER_PASSWORD
 
Constructor Summary
PeopleSoftComponentActiveSyncAdapter()
           
PeopleSoftComponentActiveSyncAdapter(Resource res, ObjectCache cache)
           
 
Method Summary
protected  com.waveset.adapter.iapi.IAPI buildEvent(com.waveset.adapter.PeopleSoftComponentActiveSyncAdapter.UpdateRow row)
          Give a Map, go get the PeopleSoft user associated with the event (this is a notification of change to a record, we then fetch the record to get all of the user attributes).
 void callCompleted(com.waveset.adapter.iapi.IAPI call)
          An call generated by this resource adapter has completed.
 WavesetResult createAccounts(WSUser[] users)
          Override all the XXXXXAccounts() methods so that they do not call startConnectionWrapper()/stopConnection(), since this adapter does not support provisioning.
 Resource createPrototypeResource()
           
 WavesetResult deleteAccounts(WSUser[] users)
           
 WavesetResult disableAccounts(WSUser[] users)
           
 WavesetResult enableAccounts(WSUser[] users)
           
 WSAttributes getAccountAttributes(java.lang.String accountIdentity)
          This method is obsolete.
 AccountIterator getAccountIterator()
           
 java.lang.Object getAttributeValue(java.lang.String name)
          Get or set an attribute value for the ActiveSync.
protected  psft.pt8.joa.IObject getAuditComponentInterface(psft.pt8.joa.ISession oSession)
           
protected  psft.pt8.joa.IObject getEmployeeComponentInterface(psft.pt8.joa.ISession oSession)
           
protected  java.lang.StringBuffer getLastError()
           
 WSUser getUser(WSUser user)
          Retrieve information about an account, and package it as a WSUser object.
protected  WSUser getUserInternal(java.lang.String identity)
          Get a peoplesoft employee record with EMPLID matching identity and EMPL_RCD matching the log entry
protected  WSUser getUserInternal(java.lang.String identity, java.lang.String empl_rcd)
           
 void init()
          initialize yourself.
 java.util.ArrayList listAllObjects(java.lang.String resourceObjectType, java.util.Map options, java.lang.String runAsUser, EncryptedData runAsPassword)
          This method will return a list of object names of the specified object type.
protected  void logString(int level, java.lang.String update)
           
protected  void logUpdate(int level, com.waveset.adapter.PeopleSoftComponentActiveSyncAdapter.UpdateRow update, WavesetResult result)
          Log whatever we want to from an update.
 int poll()
          the poll method.
protected  void processUpdates(com.waveset.adapter.iapi.IAPI prox, java.util.List list)
          Take a list of Maps that are rows of the audit data and turn them into IAPI calls.
protected  void realCreate(WSUser user, WavesetResult result)
          Create a new user account on the resource This method is called by createAccounts (the multiuser create method).
protected  void realDelete(WSUser user, WavesetResult result)
          Needs to be overridden by subclass if default deleteAccounts() implementation is used.
protected  void realDisable(WSUser user, WavesetResult result)
          Disables a user, called within a connected context.
protected  void realEnable(WSUser user, WavesetResult result)
           
protected  void realUpdate(WSUser user, WavesetResult result)
          Needs to be overridden by subclass if default updateAccounts() implementation is used.
 void setAttributeValue(java.lang.String name, java.lang.Object value)
           
 void shutdown()
          shutdown
static Resource staticCreatePrototypeResource()
           
 boolean supportsAccountDisable()
          If true, must implement realDisable() and realEnable().
protected  WavesetResult testComponentInterface()
           
 WavesetResult updateAccounts(WSUser[] users)
           
protected  boolean useLegacyEventGeneration()
           
protected  boolean useLegacyGetUpdateRows()
           
 
Methods inherited from class com.waveset.adapter.PeopleSoftComponentResourceAdapterBase
authenticate, checkCreateAccount, checkDeleteAccount, checkUpdateAccount, connect, disconnect, makeWavesetUser, startConnection, stopConnection, testConfiguration
 
Methods inherited from class com.waveset.adapter.ResourceAdapterBase
checkForNoPasswordInSchema, checkSyntax, createAccount, createIdentity, createObject, deleteAccount, deleteAccount, deleteObject, disableAccount, dnsEqual, dnsEqual, enableAccount, executeResourceAttributeJavascriptAction, fillInResourceInfo, fillInResourceInfo, getAccountIterator, getAccountIterator, getAction, getActionNotFoundErrorMessage, getActionNotFoundMessage, getActionRunAsPassword, getActionRunAsUser, getActionTimeout, getActionType, getAdapter, getAdapter, getAdapter, getAdapterProxy, getAdapterProxy, getAllAccounts, getAttrNameFromMapName, getAttrNameFromMapName, getAttrParse, getAttrTypeFromMapName, getAttrTypeFromMapName, getAUserName, getBaseContextAttrName, getBaseContextObject, getBaseContexts, getBlockSize, getContext, getExcludedAccountsRule, getFeatures, getIdentity, getListAllObjectsAttrParse, getListUserAttrParse, getListUserGroupsAttrParse, getObject, getOptionalBooleanResAttrVal, getOptionalBooleanResAttrVal, getOptionalEncryptedResAttrVal, getOptionalResAttrVal, getOptionalStringResAttrVal, getRequiredResAttr, getRequiredResAttr, getRequiredResAttrVal, getRequiredResAttrVal, getRequiredResAttrVals, getRequiredUserAttributeNames, getResAttrValActionOnUser, getResAttrVals, getResource, getResourceAccounts, getResourceInfo, getResourceObjectAttrValNameAttr, getResourceObjectClassAttr, getResourceObjectTypePrefix, getSchemaMap, getUser, getWSAttrByMapName, getWSAttrByMapName, getWSAttrFromMap, handleActionResult, handleJavascriptActionResult, isAccountAttributeSecret, isExcludedAccount, isExcludedAccount, isFeatureEnabled, isSupported, isTestMode, listAllObjects, listObjects, listObjects, listObjectsOfType, lookupAction, lookupAction, lookupActions, namesEqual, objectClassesMatchType, println, restoreResourceObjectClassAttr, run, run, runResourceAttributeJavascriptAction, scan, setCache, setContext, setDisabled, setFromResource, setResource, setResourceObjectClassAttr, setResourceOptionAttrs, startConnectionWrapper, supportsAccountActions, supportsActions, supportsCaseInsensitiveAccountIds, supportsContainerObjectTypes, supportsExcludedAccounts, supportsResourceAccount, supportsScanning, updateAccount, updateObject, updateResourceAccount, updateResourceIdentity, vmStoreBoot, vmStoreGet, vmStoreInit, vmStoreLatch, vmStorePut
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

code_id

public static final java.lang.String code_id
See Also:
Constant Field Values

RA_AUDIT_COMPONENT_INTF

public static final java.lang.String RA_AUDIT_COMPONENT_INTF
The component interface, for 8.x servers

See Also:
Constant Field Values

RA_USER_COMPONENT_INTF

public static final java.lang.String RA_USER_COMPONENT_INTF
See Also:
Constant Field Values

RA_EMPLOYEE_COMPONENT_INTF

public static final java.lang.String RA_EMPLOYEE_COMPONENT_INTF
See Also:
Constant Field Values

RA_AUDIT_LEGACY_GET_UPDATE_ROWS

public static final java.lang.String RA_AUDIT_LEGACY_GET_UPDATE_ROWS
See Also:
Constant Field Values

RA_AUDIT_PROC_ORDER_WIDTH

public static final java.lang.String RA_AUDIT_PROC_ORDER_WIDTH
See Also:
Constant Field Values

PS_EMPLID

public static final java.lang.String PS_EMPLID
See Also:
Constant Field Values

RA_AUDIT_STAMP_FORMAT

public static final java.lang.String RA_AUDIT_STAMP_FORMAT
Deprecated. - for legacy component interface

See Also:
Constant Field Values

RA_MAX_PS_LIST_ITEMS

public static final java.lang.String RA_MAX_PS_LIST_ITEMS
See Also:
Constant Field Values

DEFAULT_AUDIT_STAMP_FORMAT

protected static final java.lang.String DEFAULT_AUDIT_STAMP_FORMAT
Deprecated. - for legacy component interface

See Also:
Constant Field Values

DEFAULT_AUDIT_STAMP_START_DATE

protected static final java.lang.String DEFAULT_AUDIT_STAMP_START_DATE
Deprecated. - for legacy component interface

See Also:
Constant Field Values
Constructor Detail

PeopleSoftComponentActiveSyncAdapter

public PeopleSoftComponentActiveSyncAdapter(Resource res,
                                            ObjectCache cache)

PeopleSoftComponentActiveSyncAdapter

public PeopleSoftComponentActiveSyncAdapter()
Method Detail

staticCreatePrototypeResource

public static Resource staticCreatePrototypeResource()
                                              throws WavesetException
Throws:
WavesetException

createPrototypeResource

public Resource createPrototypeResource()
                                 throws WavesetException
Specified by:
createPrototypeResource in interface ResourceAdapter
Specified by:
createPrototypeResource in class ResourceAdapterBase
Throws:
WavesetException

createAccounts

public WavesetResult createAccounts(WSUser[] users)
                             throws WavesetException
Override all the XXXXXAccounts() methods so that they do not call startConnectionWrapper()/stopConnection(), since this adapter does not support provisioning. This is a temporary fix. There really should be a feature which is respected at an even higher level which would preclude these methods from ever being called.

Specified by:
createAccounts in interface ResourceAdapter
Overrides:
createAccounts in class ResourceAdapterBase
Throws:
WavesetException

deleteAccounts

public WavesetResult deleteAccounts(WSUser[] users)
                             throws WavesetException
Specified by:
deleteAccounts in interface ResourceAdapter
Overrides:
deleteAccounts in class ResourceAdapterBase
Throws:
WavesetException

updateAccounts

public WavesetResult updateAccounts(WSUser[] users)
                             throws WavesetException
Specified by:
updateAccounts in interface ResourceAdapter
Overrides:
updateAccounts in class ResourceAdapterBase
Throws:
WavesetException

enableAccounts

public WavesetResult enableAccounts(WSUser[] users)
                             throws WavesetException
Specified by:
enableAccounts in interface ResourceAdapter
Overrides:
enableAccounts in class ResourceAdapterBase
Throws:
WavesetException

disableAccounts

public WavesetResult disableAccounts(WSUser[] users)
                              throws WavesetException
Specified by:
disableAccounts in interface ResourceAdapter
Overrides:
disableAccounts in class ResourceAdapterBase
Throws:
WavesetException

getUser

public WSUser getUser(WSUser user)
               throws WavesetException
Retrieve information about an account, and package it as a WSUser object.

Information required to identify the resource account is supplied in another WSUser object.

The returned user object will resemble the source object, but will have its account attribute list filled in.

Returns "null" if there is no account that corresponds to the user.

Specified by:
getUser in interface ResourceAdapter
Overrides:
getUser in class PeopleSoftComponentResourceAdapterBase
Throws:
WavesetException

getUserInternal

protected WSUser getUserInternal(java.lang.String identity)
                          throws WavesetException
Get a peoplesoft employee record with EMPLID matching identity and EMPL_RCD matching the log entry

Specified by:
getUserInternal in class PeopleSoftComponentResourceAdapterBase
Throws:
WavesetException

getUserInternal

protected WSUser getUserInternal(java.lang.String identity,
                                 java.lang.String empl_rcd)
                          throws WavesetException
Throws:
WavesetException

realCreate

protected void realCreate(WSUser user,
                          WavesetResult result)
                   throws WavesetException
Create a new user account on the resource This method is called by createAccounts (the multiuser create method). CreateAccounts will open a connection, call realCreate for each user being created, then close the connection.

Overrides:
realCreate in class ResourceAdapterBase
Throws:
WavesetException

realUpdate

protected void realUpdate(WSUser user,
                          WavesetResult result)
                   throws WavesetException
Description copied from class: ResourceAdapterBase
Needs to be overridden by subclass if default updateAccounts() implementation is used.

Overrides:
realUpdate in class ResourceAdapterBase
Throws:
WavesetException

realDelete

protected void realDelete(WSUser user,
                          WavesetResult result)
                   throws WavesetException
Description copied from class: ResourceAdapterBase
Needs to be overridden by subclass if default deleteAccounts() implementation is used.

Overrides:
realDelete in class ResourceAdapterBase
Throws:
WavesetException

getAccountAttributes

public WSAttributes getAccountAttributes(java.lang.String accountIdentity)
                                  throws WavesetException
Description copied from interface: ResourceAdapter
This method is obsolete. ResourceAdapterBase provides a default implementation that throws a "not implemented" WavesetException.

Specified by:
getAccountAttributes in interface ResourceAdapter
Overrides:
getAccountAttributes in class ResourceAdapterBase
Throws:
WavesetException

getAccountIterator

public AccountIterator getAccountIterator()
                                   throws WavesetException
Specified by:
getAccountIterator in interface ResourceAdapter
Overrides:
getAccountIterator in class ResourceAdapterBase
Throws:
WavesetException

listAllObjects

public java.util.ArrayList listAllObjects(java.lang.String resourceObjectType,
                                          java.util.Map options,
                                          java.lang.String runAsUser,
                                          EncryptedData runAsPassword)
                                   throws WavesetException
Description copied from interface: ResourceAdapter
This method will return a list of object names of the specified object type. If you need to be able to specify which attrs to return, use listObjects instead

Specified by:
listAllObjects in interface ResourceAdapter
Overrides:
listAllObjects in class ResourceAdapterBase
Parameters:
resourceObjectType - - a type of object that is either well-known or is meaningful to the resource. Every resource is expected to recognize certain values. For example, listAllObjects(ACCOUNT) should return a list of all account names.
options - - a map of options
runAsUser - - (optional) if specified, connect as this user to list all objects of the specified type.
runAsPassword - - (optional) if specified, connect with this password to list all objects of the specified type.
Returns:
a list of all objects of a specified type.
Throws:
WavesetException

supportsAccountDisable

public boolean supportsAccountDisable()
If true, must implement realDisable() and realEnable(). See below.

Specified by:
supportsAccountDisable in interface ResourceAdapter
Overrides:
supportsAccountDisable in class ResourceAdapterBase

realDisable

protected void realDisable(WSUser user,
                           WavesetResult result)
                    throws WavesetException
Disables a user, called within a connected context.

Overrides:
realDisable in class ResourceAdapterBase
Throws:
WavesetException

realEnable

protected void realEnable(WSUser user,
                          WavesetResult result)
                   throws WavesetException
Overrides:
realEnable in class ResourceAdapterBase
Throws:
WavesetException

getAttributeValue

public java.lang.Object getAttributeValue(java.lang.String name)
                                   throws WavesetException
Description copied from interface: ActiveSync
Get or set an attribute value for the ActiveSync. Setting an attribute value only changes the in-memory copy of the attribute, not the persistent value. Set is typically only used for status or scheduling updates.

Specified by:
getAttributeValue in interface ActiveSync
Throws:
WavesetException

setAttributeValue

public void setAttributeValue(java.lang.String name,
                              java.lang.Object value)
                       throws WavesetException
Specified by:
setAttributeValue in interface ActiveSync
Throws:
WavesetException

init

public void init()
          throws java.lang.Exception
initialize yourself. throw exception if initialization failed

Specified by:
init in interface ActiveSync
Throws:
java.lang.Exception

shutdown

public void shutdown()
Description copied from interface: ActiveSync
shutdown

Specified by:
shutdown in interface ActiveSync

buildEvent

protected com.waveset.adapter.iapi.IAPI buildEvent(com.waveset.adapter.PeopleSoftComponentActiveSyncAdapter.UpdateRow row)
                                            throws WavesetException,
                                                   com.waveset.adapter.iapi.IAPIException
Give a Map, go get the PeopleSoft user associated with the event (this is a notification of change to a record, we then fetch the record to get all of the user attributes). We need to figure out what options to stuff in, too. This is the Audit data schema AUDIT_OPRID: char AUDIT_STAMP: date time AUDIT_ACTN: char AUDIT_RECNAME: char EMPLID: char NAME: char ADDRESS1: char PER_STATUS: char 0, AUDIT_OPRID, AUDIT_STAMP, AUDIT_ACTN, EMPLID, NAME, 1, PS, 2002-03-26-11.31.55.000000, C, KU0090, Ryzhikov,Jeff, 2, PS, 2002-03-26-11.32.13.000000, C, KU0090, Ryzhikov,Jeff,

Throws:
WavesetException
com.waveset.adapter.iapi.IAPIException

useLegacyEventGeneration

protected boolean useLegacyEventGeneration()

useLegacyGetUpdateRows

protected boolean useLegacyGetUpdateRows()

processUpdates

protected void processUpdates(com.waveset.adapter.iapi.IAPI prox,
                              java.util.List list)
                       throws WavesetException,
                              com.waveset.adapter.iapi.IAPIException
Take a list of Maps that are rows of the audit data and turn them into IAPI calls.

Throws:
WavesetException
com.waveset.adapter.iapi.IAPIException

poll

public int poll()
the poll method. Called at a configurable interval, this polls the remote resource for changes, converts them to IAPI calls, and posts them back to the server.

Specified by:
poll in interface ActiveSync
Returns:
0 if no work done, n if n calls processed

logUpdate

protected void logUpdate(int level,
                         com.waveset.adapter.PeopleSoftComponentActiveSyncAdapter.UpdateRow update,
                         WavesetResult result)
Log whatever we want to from an update.


logString

protected void logString(int level,
                         java.lang.String update)

callCompleted

public void callCompleted(com.waveset.adapter.iapi.IAPI call)
An call generated by this resource adapter has completed. Check the result of the call, propogate the result back to the source (like updating a column in a database), and delete it if we are done.

If this does not delete the call, there must be something else that deletes it - or it will just go away when it expires.

See Also:
IAPI

testComponentInterface

protected WavesetResult testComponentInterface()
Overrides:
testComponentInterface in class PeopleSoftComponentResourceAdapterBase

getAuditComponentInterface

protected psft.pt8.joa.IObject getAuditComponentInterface(psft.pt8.joa.ISession oSession)
                                                   throws psft.pt8.joa.JOAException
Throws:
psft.pt8.joa.JOAException

getEmployeeComponentInterface

protected psft.pt8.joa.IObject getEmployeeComponentInterface(psft.pt8.joa.ISession oSession)
                                                      throws psft.pt8.joa.JOAException
Throws:
psft.pt8.joa.JOAException

getLastError

protected java.lang.StringBuffer getLastError()