com.waveset.adapter
Class TopSecretResourceAdapter

java.lang.Object
  extended bycom.waveset.adapter.ResourceAdapterBase
      extended bycom.waveset.adapter.HostAccessResourceAdapter
          extended bycom.waveset.adapter.TopSecretResourceAdapter
All Implemented Interfaces:
ActiveSync, HostAccessLogin, ResourceAdapter
Direct Known Subclasses:
TopSecretActiveSyncAdapter

public class TopSecretResourceAdapter
extends HostAccessResourceAdapter
implements HostAccessLogin, ActiveSync


Nested Class Summary
 class TopSecretResourceAdapter.AcctIter
           
protected static class TopSecretResourceAdapter.Event
          Contains the information that is parsed out of a line of the TSSAUDIT output.
 
Nested classes inherited from class com.waveset.adapter.ResourceAdapterBase
ResourceAdapterBase.SimpleAccountIterator
 
Nested classes inherited from class com.waveset.adapter.ResourceAdapter
ResourceAdapter.ActionResult, ResourceAdapter.Features, ResourceAdapter.ObjectType
 
Field Summary
protected  java.util.List _affinityList
           
protected  java.lang.String _host
           
protected  HostAccess _hostAccess
           
protected  int _idleTimeout
           
protected  java.lang.Boolean _isCICS
           
protected  java.lang.Boolean _isTso
           
protected  java.lang.String _key
           
protected  java.util.SortedSet _managedAccountTypes
           
protected  java.lang.String _port
           
protected  java.util.Properties _properties
           
protected  int _requestTimeout
           
protected static java.util.Map _supportedSegments
           
protected static boolean _supportMultiValuedAttrs
           
protected static Trace _trace
           
protected  java.lang.String[] _warnMessagesUpdate
           
static java.lang.String ACID
           
protected static java.lang.String ACID_DOES_NOT_EXIST
           
protected static java.lang.String ADD_FUNCTION_END
           
static java.lang.String ASUSPEND
           
protected static java.lang.String ATTR_EXPIREPASSWORD
           
static java.lang.String ATTR_IDENTITY
          attribute containing the account's identity
static java.lang.String ATTR_IS_DISABLED
          Fake user attribute.
static java.lang.String ATTRIBUTE
           
static java.lang.String code_id
           
static java.lang.String CORPID
           
protected static java.lang.String CREATE_FUNCTION_END
           
protected static java.lang.String CREATE_FUNCTION_END_TSO
           
static java.lang.String DATASET
           
protected static java.lang.String DEF_FUNCTION_END
           
static java.lang.String DEPT
           
static java.lang.String DFLTGRP
           
static java.lang.String DISPLAY_TOP_SECRET_PASSWORD
           
static java.lang.String DISPLAY_TOP_SECRET_USER
           
static java.lang.String DIV
           
protected static char EOL_CHAR
           
static java.lang.String FACILITY
           
static java.lang.String GROUP
           
static java.lang.String HOME
           
protected  java.lang.String hostSystem
           
static java.lang.String INSTDATA
           
protected static java.lang.String LIST_FUNCTION_END
           
protected  java.lang.String[] multiValueFields
           
static java.lang.String NAME
           
static java.lang.String OMVS_ACCESS
           
static java.lang.String OMVSPGM
           
protected static java.lang.String OP_CREATE
           
protected static java.lang.String OP_DELETE
           
protected static java.lang.String OP_DISABLE
           
protected static java.lang.String OP_ENABLE
           
protected static java.lang.String OP_UPDATE
           
static java.lang.String OPID
           
static java.lang.String OPTIME
           
static java.lang.String OTRAN
           
protected static java.lang.String PERMIT_FUNCTION_END
           
static java.lang.String PROFILE
           
static java.lang.String PSUSPEND
           
static java.lang.String RA_ACCOUNT_TYPES
           
static java.lang.String RA_AFFINITY_LIST
           
static java.lang.String RA_CICS_SEGMENT_ATTR_PARSE
           
static java.lang.String RA_CMD_INTERP
           
static java.lang.String RA_CUSTOM_MULTI_VALUED_ATTRS
           
static java.lang.String RA_CUSTOM_SINGLE_VALUED_ATTRS
           
static java.lang.String RA_DATE_FORMAT
          active sync resource attribute names
static java.lang.String RA_FITE_ALIASES
           
static java.lang.String RA_FITE_SYSTEM
           
static java.lang.String RA_FTP_ACCOUNT
           
static java.lang.String RA_FTP_DIRECTORY
           
static java.lang.String RA_FTP_FILE
           
static java.lang.String RA_FTP_HOST
           
static java.lang.String RA_FTP_PASSWORD
           
static java.lang.String RA_FTP_PORT
           
static java.lang.String RA_GDG_GENERATIONS
           
static java.lang.String RA_HOST
          Resource attributes are the common names that will be visible in the GUI that will prompt the user for values.
static java.lang.String RA_IDLETIMEOUT
           
static java.lang.String RA_IS_GDG
           
static java.lang.String RA_LIST_TIMEOUT
           
static java.lang.String RA_LISTALLOBJECTS_ATTR_PARSE
           
static java.lang.String RA_LISTUSER_ATTR_PARSE
           
static java.lang.String RA_OMVS_SEGMENT_ATTR_PARSE
           
static java.lang.String RA_PORT
          The port on which to communicate to the resource.
static java.lang.String RA_PROD_ALIASES
           
static java.lang.String RA_PROD_SYSTEM
           
static java.lang.String RA_PROPS
           
static java.lang.String RA_RESET_TO_TODAY
           
static java.lang.String RA_SYSTEM
          The account name used to connect to the resource.
static java.lang.String RA_TEST_ALIASES
           
static java.lang.String RA_TEST_SYSTEM
           
static java.lang.String RA_TIMEOUT
           
static java.lang.String RA_TN3270E
           
static java.lang.String RA_TSO_SEGMENT_ATTR_PARSE
           
static java.lang.String RA_UPDATE_IF_DELETE
          deprecated As of IdM 5.5.
protected static java.lang.String REPLACE_FUNCTION_END
           
protected static java.lang.String REPLACE_FUNCTION_END_TSO
           
protected static java.lang.String SEGMENT_SEPARATOR
           
protected  java.lang.String[] singleValueFields
           
static java.lang.String SOURCE
           
static java.lang.String SYSID
           
static java.lang.String TOP_SECRET_LOGIN_MODULE
           
static java.lang.String TOP_SECRET_PASSWORD
           
static java.lang.String TOP_SECRET_RESOURCE_TYPE
           
static java.lang.String TOP_SECRET_RESOURCE_USER_FORM
           
static java.lang.String TOP_SECRET_USER
           
protected static java.lang.String TopSecret_PROMPT
           
static java.lang.String TRBA
           
static java.lang.String TSO_ACCESS
           
protected static java.lang.String TSO_MORE
           
protected static java.lang.String TSO_PROMPT
           
static java.lang.String TSOACCT
           
static java.lang.String TSOCOMMAND
           
static java.lang.String TSODEFPRFG
           
static java.lang.String TSODEST
           
static java.lang.String TSOHCLASS
           
static java.lang.String TSOJCLASS
           
static java.lang.String TSOLACCT
           
static java.lang.String TSOLPROC
           
static java.lang.String TSOLSIZE
           
static java.lang.String TSOMCLASS
           
static java.lang.String TSOMSIZE
           
static java.lang.String TSOOPT
           
static java.lang.String TSOSCLASS
           
static java.lang.String TSOUDATA
           
static java.lang.String TSOUNIT
           
protected static java.lang.String TSS_FUNCTION_END
           
static java.lang.String TUPT
           
static java.lang.String TYPE
           
static java.lang.String UID
           
static java.lang.String USING
           
static java.lang.String ZONE
           
 
Fields inherited from class com.waveset.adapter.HostAccessResourceAdapter
HOST_ACCESS_GLOBAL_NAME, JAVASCRIPT_GLOBALS_ACTION_PROPERTY, USER_ATTRS_GLOBAL_NAME, USER_IDENTITY_GLOBAL_NAME
 
Fields inherited from class com.waveset.adapter.ResourceAdapterBase
_cache, _context, _excludedAccountsRule, _excludedAccountsRuleInited, _listAllObjectsAttrParse, _listAllObjectsAttrParseName, _listUserAttrParse, _listUserAttrParseName, _listUserGroupsAttrParse, _listUserGroupsAttrParseName, _resource, _thread, 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_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_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
TopSecretResourceAdapter()
           
TopSecretResourceAdapter(Resource res, ObjectCache cache)
           
 
Method Summary
 void addAliases(java.lang.String hostSystem, java.lang.String system, java.lang.String corpID, WavesetResult result)
           
protected  java.lang.String addEol(java.lang.String s, java.lang.String eol, int width)
           
protected  java.lang.String addEolAndIgnoreLine(java.lang.String s, java.lang.String eol, java.lang.String ignoreLine, int width)
           
protected  boolean addEvent(java.util.List events, java.lang.String line, java.lang.String lastUpdateLine)
           
protected  void addOMVS(WSUser user, WSUser currentUser, java.lang.String identity, java.lang.String operation, WavesetResult result)
           
 void addOMVSSystem(java.lang.String hostSystem, java.lang.String corpID, java.lang.String dfltgrp, WavesetResult result)
           
protected  void addRealEvent(TopSecretResourceAdapter.Event event, java.util.List events, java.util.Map map)
           
protected  void addTso(WSUser user, java.lang.String identity, java.lang.String operation, WavesetResult result)
           
 WavesetResult authenticate(java.util.HashMap loginInfo)
          Authenticates the user against the resource.
 void callCompleted(com.waveset.adapter.iapi.IAPI call)
          A call generated by this resource adapter has completed.
 WavesetResult checkCreateAccount(WSUser user)
          Checks to see if an account can be created.
 WavesetResult checkDeleteAccount(WSUser user)
           
 WavesetResult checkUpdateAccount(WSUser user)
           
 java.lang.String createIdentity(WSUser user)
          Override base class' createIdentity to always uppercase the identity.
 Resource createPrototypeResource()
           
protected  java.lang.String doCmd(java.lang.String cmd, java.lang.String end)
           
protected  java.lang.String doCmd(java.lang.String cmd, java.lang.String end, int timeout)
           
protected  void doCmd(java.lang.String cmd, java.lang.String end, int timeout, ScreenNotifier notifier)
           
protected  java.lang.String doCmdAndError(java.lang.String cmd, java.lang.String function)
           
protected  java.lang.StringBuffer doTsoCmd(java.lang.String cmd)
          Execute the command using the value of RA_TIMEOUT for timeout.
protected  java.lang.StringBuffer doTsoCmd(java.lang.String cmd, int timeout)
          Execute the command, using the specified value for timeout, if > 0.
protected  void doTsoCmd(java.lang.String cmd, int timeout, ScreenNotifier notifier)
          Execute the command, using the specified value for timeout, if > 0.
protected  void filterAndParseData(java.lang.String resp, boolean verbose, java.io.BufferedWriter bw, boolean asHtml)
           
protected  java.util.List filterEvents(java.util.List events)
           
protected  int findKeyAndValue(java.lang.String source, int startIndex, java.lang.String[] key, java.lang.String[] value)
           
protected  sun.net.ftp.FtpClient ftpLogin(java.lang.String host, java.lang.String port, java.lang.String user, EncryptedData password)
           
protected  java.util.Map getAccountAttrs(TopSecretResourceAdapter.Event event)
           
 AccountIterator getAccountIterator()
           
 java.util.List getAffinityList()
           
 java.util.Properties getAliases(java.lang.String system)
           
 java.lang.Object getAttributeValue(java.lang.String name)
          Get or set an attribute value for the ActiveSync.
protected  java.lang.String getDateFormat()
           
protected  boolean getEvents(java.io.BufferedReader bufRdr, java.lang.String lastUpdateLine, java.util.List events)
           
protected  java.util.List getEventsOverFtp(sun.net.ftp.FtpClient ftpClient, java.lang.String file, java.lang.String lastUpdateLine)
           
 GenericObject getFeatures()
          Indicates what functionality the resource adapter supports.
protected  java.io.BufferedReader getFtpFileReader(sun.net.ftp.FtpClient ftpClient, java.lang.String file)
          Don't close the returned BufferReader since that invalidates the FtpClient instance for some reason.
protected  boolean getGDGEvents(java.util.List events, boolean foundLastUpdateLine, java.lang.String lastUpdateLine, long lastUpdateTimeStamp, java.io.BufferedReader rdr)
           
 java.lang.String getHost()
           
protected  HostAccess getHostAccess()
           
 int getIdleTimeout()
           
protected  int getInt(java.lang.String s, int start, int end)
           
 java.lang.String getKey()
           
protected  java.util.Map getKeyValueMap(java.lang.String source, int startIndex)
           
protected  int getListTimeout()
           
 java.util.Set getManagedAccountTypes()
           
 int getMaxConnections()
           
 java.lang.String getPort()
           
 java.util.Properties getProperties()
           
 int getRequestTimeout()
           
protected  void getSegmentAttrs(java.lang.String str, java.util.Map map)
           
protected  long getTimeInMillis(java.lang.String line)
           
protected  java.util.List getTSSAUDITEvents(java.lang.String lastUpdateLine)
           
protected  java.util.List getTSSAUDITEvents(java.lang.String host, java.lang.String port, java.lang.String path, java.lang.String file, java.lang.String user, EncryptedData password, java.lang.String lastUpdateLine)
           
 java.lang.String getUser()
           
 WSUser getUser(WSUser user)
          Retrieve information about an account, and package it as a WSUser object.
protected  int getValue(java.lang.String source, int startIndex, java.lang.String[] value, java.lang.String key)
          Assumes that source.charAt(startIndex-1) is the parenthesis that starts the value.
protected  void handleMultiValuedAttr(WSUser user, WSUser currentUser, java.lang.String attrName, int maxPerCommand, WavesetResult result)
           
protected  void handleMultiValuedAttrs(WSUser user, WSUser currentUser, int maxPerCommand, WavesetResult result)
           
protected  void handleSingleValuedAttr(WSUser user, WSUser currentUser, java.lang.String mapName, WavesetResult result)
           
protected  void handleSingleValuedAttrs(WSUser user, WSUser currentUser, WavesetResult result)
           
protected  void handleTSAttributes(WSUser user, WSUser currentUser, WavesetResult result)
           
protected  java.lang.String hasError(java.lang.String resp, java.lang.String errorString)
          Deprecated. use #hasError(String cmd, String resp, String errorString) instead
protected  java.lang.String hasError(java.lang.String cmd, java.lang.String resp, java.lang.String errorString)
          Parses out the error message from the response, and errorString
 void init()
          initialize yourself.
protected  void initSupportedSegments()
           
protected  boolean isCICS()
           
protected  boolean isTso()
           
protected  boolean isUserType(java.lang.String line, int index)
           
protected  boolean justPasswordChange(java.lang.String line, int index)
           
 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.
 void login(HostAccess hostAccess)
          Deprecated. use #login(HostAccess hostAccess, ServerAffinity affinity) instead
 void login(HostAccess hostAccess, ServerAffinity affinity)
           
 void logoff(HostAccess hostAccess)
           
protected  void logUpdate(int level, com.waveset.adapter.iapi.IAPI iapi)
          Log whatever we want to from an update.
protected  void logUpdateResult(WavesetResult result)
           
 int poll()
          The poll method.
protected  void quoteValue(java.lang.StringBuffer b, java.lang.String value)
           
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 realCreateOrUpdate(WSUser user, WavesetResult result, java.lang.String operation)
          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.
 void realDisable(WSUser user, WavesetResult result)
           
 void realEnable(WSUser user, WavesetResult result)
           
protected  WSUser realGetUser(WSUser user)
           
protected  void realUpdate(WSUser user, WavesetResult result)
          Needs to be overridden by subclass if default updateAccounts() implementation is used.
protected  void removeOMVS(java.lang.String corpID, WavesetResult result)
           
protected  void removeTso(java.lang.String corpID, WavesetResult result)
           
protected  WSAttributes reverseMap(java.util.Map map)
           
protected  void saveLastUpdate(com.waveset.adapter.iapi.IAPI prox, TopSecretResourceAdapter.Event event)
           
 void setAttributeValue(java.lang.String name, java.lang.Object value)
           
protected  void setFromResource()
           
 void shutdown()
          shutdown
protected  int skipComment(java.lang.String source, int startIndex)
           
protected  int skipWhitespace(java.lang.String source, int startIndex)
           
protected  void startConnection()
          Needs to be overridden by subclass if default createAccounts() implementation is used.
static Resource staticCreatePrototypeResource()
           
protected  void stopConnection()
          Needs to be overridden by subclass if default createAccounts() implementation is used.
protected  boolean supportedCommand(java.lang.String cmd)
           
 boolean supportsAccountDisable()
          Indicates whether or not this resource supports account disable.
 WavesetResult testConfiguration()
          Default implementation of test method, calls check create.
protected  void traceAndLog(long traceLevel, java.lang.String method, int logLevel, java.lang.String message)
           
protected  Message validateDateFormat()
           
 
Methods inherited from class com.waveset.adapter.HostAccessResourceAdapter
formatOutputStr, getResourceId, lookupAndRunJavascriptAction, parseDataFromFile, readDataFile, run, runAfterJavascriptAction, runBeforeJavascriptAction, runJavascript, runJavascriptAction, runResourceAttributeJavascriptAction, supportsActions, verifyUsers
 
Methods inherited from class com.waveset.adapter.ResourceAdapterBase
checkForNoPasswordInSchema, checkSyntax, createAccount, createAccounts, createObject, deleteAccount, deleteAccount, deleteAccounts, deleteObject, disableAccount, disableAccounts, dnsEqual, dnsEqual, enableAccount, enableAccounts, executeResourceAttributeJavascriptAction, fillInResourceInfo, fillInResourceInfo, getAccountAttributes, 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, 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, runResourceAttributeJavascriptAction, scan, setCache, setContext, setDisabled, setResource, setResourceObjectClassAttr, setResourceOptionAttrs, startConnectionWrapper, supportsAccountActions, supportsCaseInsensitiveAccountIds, supportsContainerObjectTypes, supportsExcludedAccounts, supportsResourceAccount, supportsScanning, updateAccount, updateAccounts, 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

EOL_CHAR

protected static final char EOL_CHAR
See Also:
Constant Field Values

_supportMultiValuedAttrs

protected static final boolean _supportMultiValuedAttrs
See Also:
Constant Field Values

_trace

protected static Trace _trace

TopSecret_PROMPT

protected static java.lang.String TopSecret_PROMPT

TSO_PROMPT

protected static java.lang.String TSO_PROMPT

TSO_MORE

protected static java.lang.String TSO_MORE

SEGMENT_SEPARATOR

protected static final java.lang.String SEGMENT_SEPARATOR
See Also:
Constant Field Values

TSS_FUNCTION_END

protected static final java.lang.String TSS_FUNCTION_END
See Also:
Constant Field Values

REPLACE_FUNCTION_END

protected static final java.lang.String REPLACE_FUNCTION_END
See Also:
Constant Field Values

REPLACE_FUNCTION_END_TSO

protected static final java.lang.String REPLACE_FUNCTION_END_TSO
See Also:
Constant Field Values

CREATE_FUNCTION_END

protected static final java.lang.String CREATE_FUNCTION_END
See Also:
Constant Field Values

CREATE_FUNCTION_END_TSO

protected static final java.lang.String CREATE_FUNCTION_END_TSO
See Also:
Constant Field Values

LIST_FUNCTION_END

protected static final java.lang.String LIST_FUNCTION_END
See Also:
Constant Field Values

ADD_FUNCTION_END

protected static final java.lang.String ADD_FUNCTION_END
See Also:
Constant Field Values

PERMIT_FUNCTION_END

protected static final java.lang.String PERMIT_FUNCTION_END
See Also:
Constant Field Values

DEF_FUNCTION_END

protected static final java.lang.String DEF_FUNCTION_END
See Also:
Constant Field Values

ACID_DOES_NOT_EXIST

protected static final java.lang.String ACID_DOES_NOT_EXIST
See Also:
Constant Field Values

OP_CREATE

protected static final java.lang.String OP_CREATE
See Also:
Constant Field Values

OP_UPDATE

protected static final java.lang.String OP_UPDATE
See Also:
Constant Field Values

OP_DELETE

protected static final java.lang.String OP_DELETE
See Also:
Constant Field Values

OP_ENABLE

protected static final java.lang.String OP_ENABLE
See Also:
Constant Field Values

OP_DISABLE

protected static final java.lang.String OP_DISABLE
See Also:
Constant Field Values

TOP_SECRET_RESOURCE_TYPE

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

TOP_SECRET_LOGIN_MODULE

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

TOP_SECRET_USER

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

DISPLAY_TOP_SECRET_USER

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

TOP_SECRET_PASSWORD

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

DISPLAY_TOP_SECRET_PASSWORD

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

ATTR_EXPIREPASSWORD

protected static final java.lang.String ATTR_EXPIREPASSWORD
See Also:
Constant Field Values

TOP_SECRET_RESOURCE_USER_FORM

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

_hostAccess

protected HostAccess _hostAccess

hostSystem

protected java.lang.String hostSystem

_isTso

protected java.lang.Boolean _isTso

_isCICS

protected java.lang.Boolean _isCICS

_host

protected java.lang.String _host

_port

protected java.lang.String _port

_key

protected java.lang.String _key

_affinityList

protected java.util.List _affinityList

_requestTimeout

protected int _requestTimeout

_idleTimeout

protected int _idleTimeout

_properties

protected java.util.Properties _properties

_managedAccountTypes

protected java.util.SortedSet _managedAccountTypes

_warnMessagesUpdate

protected java.lang.String[] _warnMessagesUpdate

RA_HOST

public static final java.lang.String RA_HOST
Resource attributes are the common names that will be visible in the GUI that will prompt the user for values. For example, the GUI will show "host" and have a box next to it for the user to enter a host name. The name of the host used to communicate with the resource.

See Also:
Constant Field Values

RA_PORT

public static final java.lang.String RA_PORT
The port on which to communicate to the resource.

See Also:
Constant Field Values

RA_SYSTEM

public static final java.lang.String RA_SYSTEM
The account name used to connect to the resource.

See Also:
Constant Field Values

RA_CMD_INTERP

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

RA_AFFINITY_LIST

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

RA_LISTUSER_ATTR_PARSE

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

RA_TSO_SEGMENT_ATTR_PARSE

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

RA_OMVS_SEGMENT_ATTR_PARSE

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

RA_CICS_SEGMENT_ATTR_PARSE

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

RA_LISTALLOBJECTS_ATTR_PARSE

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

RA_TIMEOUT

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

RA_IDLETIMEOUT

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

RA_LIST_TIMEOUT

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

RA_TN3270E

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

RA_PROPS

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

RA_PROD_SYSTEM

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

RA_FITE_SYSTEM

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

RA_TEST_SYSTEM

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

RA_PROD_ALIASES

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

RA_FITE_ALIASES

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

RA_TEST_ALIASES

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

RA_ACCOUNT_TYPES

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

RA_CUSTOM_SINGLE_VALUED_ATTRS

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

RA_CUSTOM_MULTI_VALUED_ATTRS

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

NAME

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

PROFILE

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

USING

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

GROUP

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

DFLTGRP

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

ACID

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

TYPE

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

DEPT

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

DIV

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

INSTDATA

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

TSO_ACCESS

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

TRBA

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

TSOCOMMAND

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

TSODEFPRFG

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

TSODEST

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

TSOHCLASS

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

TSOJCLASS

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

TSOMCLASS

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

TSOSCLASS

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

TSOLACCT

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

TSOLPROC

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

TSOLSIZE

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

TSOMSIZE

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

TSOOPT

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

TSOUDATA

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

TSOUNIT

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

TUPT

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

OPTIME

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

OPID

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

OMVS_ACCESS

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

UID

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

HOME

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

OMVSPGM

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

SOURCE

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

DATASET

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

FACILITY

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

ZONE

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

ATTRIBUTE

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

TSOACCT

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

OTRAN

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

CORPID

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

SYSID

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

ASUSPEND

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

PSUSPEND

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

singleValueFields

protected java.lang.String[] singleValueFields

multiValueFields

protected java.lang.String[] multiValueFields

RA_DATE_FORMAT

public static final java.lang.String RA_DATE_FORMAT
active sync resource attribute names

See Also:
Constant Field Values

RA_FTP_HOST

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

RA_FTP_PORT

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

RA_FTP_DIRECTORY

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

RA_FTP_FILE

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

RA_FTP_ACCOUNT

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

RA_FTP_PASSWORD

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

RA_IS_GDG

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

RA_GDG_GENERATIONS

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

RA_RESET_TO_TODAY

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

RA_UPDATE_IF_DELETE

public static final java.lang.String RA_UPDATE_IF_DELETE
deprecated As of IdM 5.5. Use RA_DELETE_RULE instead.

See Also:
Constant Field Values

_supportedSegments

protected static java.util.Map _supportedSegments

ATTR_IDENTITY

public static final java.lang.String ATTR_IDENTITY
attribute containing the account's identity

See Also:
Constant Field Values

ATTR_IS_DISABLED

public static final java.lang.String ATTR_IS_DISABLED
Fake user attribute. Added to indicate whether or not the account is disabled or not. Only set if the adapter has the ACCOUNT_REPORTS_DISABLED feature set.

See Also:
Constant Field Values
Constructor Detail

TopSecretResourceAdapter

public TopSecretResourceAdapter(Resource res,
                                ObjectCache cache)
                         throws WavesetException

TopSecretResourceAdapter

public TopSecretResourceAdapter()
                         throws WavesetException
Method Detail

initSupportedSegments

protected void initSupportedSegments()
                              throws WavesetException
Throws:
WavesetException

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

setFromResource

protected void setFromResource()
Overrides:
setFromResource in class ResourceAdapterBase

isTso

protected boolean isTso()

isCICS

protected boolean isCICS()

createIdentity

public java.lang.String createIdentity(WSUser user)
                                throws WavesetException
Override base class' createIdentity to always uppercase the identity.

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

testConfiguration

public WavesetResult testConfiguration()
                                throws WavesetException
Description copied from class: ResourceAdapterBase
Default implementation of test method, calls check create. It is strongly preferred that this is overrided by derived classes so that a real test can be done without burdening the checkCreate method with a large overhead. On errors, an exception can be thrown or the error can be returned in the WavesetResult. Errors in the result will generate a test failure message, messages will appear for success or failure.

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

doCmd

protected java.lang.String doCmd(java.lang.String cmd,
                                 java.lang.String end)
                          throws java.lang.Exception
Throws:
java.lang.Exception

doCmd

protected java.lang.String doCmd(java.lang.String cmd,
                                 java.lang.String end,
                                 int timeout)
                          throws java.lang.Exception
Throws:
java.lang.Exception

doCmd

protected void doCmd(java.lang.String cmd,
                     java.lang.String end,
                     int timeout,
                     ScreenNotifier notifier)
              throws java.lang.Exception
Throws:
java.lang.Exception

doTsoCmd

protected java.lang.StringBuffer doTsoCmd(java.lang.String cmd)
                                   throws WavesetException
Execute the command using the value of RA_TIMEOUT for timeout.

Parameters:
cmd -
Returns:
Throws:
WavesetException

doTsoCmd

protected java.lang.StringBuffer doTsoCmd(java.lang.String cmd,
                                          int timeout)
                                   throws WavesetException
Execute the command, using the specified value for timeout, if > 0. Otherwise RA_TIMEOUT is used.

Parameters:
cmd -
timeout -
Returns:
Throws:
WavesetException

doTsoCmd

protected void doTsoCmd(java.lang.String cmd,
                        int timeout,
                        ScreenNotifier notifier)
                 throws WavesetException
Execute the command, using the specified value for timeout, if > 0. Otherwise RA_TIMEOUT is used.

Parameters:
cmd -
timeout -
Throws:
WavesetException

doCmdAndError

protected java.lang.String doCmdAndError(java.lang.String cmd,
                                         java.lang.String function)
                                  throws WavesetException
Throws:
WavesetException

hasError

protected java.lang.String hasError(java.lang.String resp,
                                    java.lang.String errorString)
Deprecated. use #hasError(String cmd, String resp, String errorString) instead

Parses out the error message from the response, and errorString

Parameters:
resp - response string
errorString - error string
Returns:
error message

hasError

protected java.lang.String hasError(java.lang.String cmd,
                                    java.lang.String resp,
                                    java.lang.String errorString)
Parses out the error message from the response, and errorString

Parameters:
cmd - command sent
resp - response string
errorString - error string
Returns:
error message

realGetUser

protected WSUser realGetUser(WSUser user)
                      throws WavesetException
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 ResourceAdapterBase
Throws:
WavesetException

getSegmentAttrs

protected void getSegmentAttrs(java.lang.String str,
                               java.util.Map map)
                        throws WavesetException
Throws:
WavesetException

reverseMap

protected WSAttributes reverseMap(java.util.Map map)
                           throws WavesetException
Throws:
WavesetException

checkCreateAccount

public WavesetResult checkCreateAccount(WSUser user)
                                 throws WavesetException
Checks to see if an account can be created. Some of the things that might be checked are as follows: - can basic connectivity to the resource be established? - Do the account attribute values comply with all (if any) resource specific restrictions or policies that haven't been checked at a higher level? Currently there are 3 check methods: checkCreateAccount, checkDeleteAccount and checkUpdate account. All three of these methods could be performing similar actions, such as ensuring that the resource is available. These common actions can be moved to a common function such as doBasicCheck() which any/all check methods could call. Then the individual check methods would do additional checks to ensure that user accounts can be added, modified or deleted. checkCreateAccount is not designed to ensure that the account creation will succeed, only that the likelyhood of success is good. checkCreateAccount does not need to check to see if the account already exists. The provisioner method will follow checkCreateAccount with a getUser call.

Specified by:
checkCreateAccount in interface ResourceAdapter
Specified by:
checkCreateAccount in class ResourceAdapterBase
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

realCreateOrUpdate

protected void realCreateOrUpdate(WSUser user,
                                  WavesetResult result,
                                  java.lang.String operation)
                           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.

Throws:
WavesetException

handleSingleValuedAttrs

protected void handleSingleValuedAttrs(WSUser user,
                                       WSUser currentUser,
                                       WavesetResult result)
                                throws WavesetException
Throws:
WavesetException

handleSingleValuedAttr

protected void handleSingleValuedAttr(WSUser user,
                                      WSUser currentUser,
                                      java.lang.String mapName,
                                      WavesetResult result)
                               throws WavesetException
Throws:
WavesetException

addTso

protected void addTso(WSUser user,
                      java.lang.String identity,
                      java.lang.String operation,
                      WavesetResult result)
               throws WavesetException
Throws:
WavesetException

removeTso

protected void removeTso(java.lang.String corpID,
                         WavesetResult result)
                  throws WavesetException
Throws:
WavesetException

addAliases

public void addAliases(java.lang.String hostSystem,
                       java.lang.String system,
                       java.lang.String corpID,
                       WavesetResult result)
                throws WavesetException
Throws:
WavesetException

getAliases

public java.util.Properties getAliases(java.lang.String system)

addOMVS

protected void addOMVS(WSUser user,
                       WSUser currentUser,
                       java.lang.String identity,
                       java.lang.String operation,
                       WavesetResult result)
                throws WavesetException
Throws:
WavesetException

removeOMVS

protected void removeOMVS(java.lang.String corpID,
                          WavesetResult result)
                   throws WavesetException
Throws:
WavesetException

addOMVSSystem

public void addOMVSSystem(java.lang.String hostSystem,
                          java.lang.String corpID,
                          java.lang.String dfltgrp,
                          WavesetResult result)
                   throws WavesetException
Throws:
WavesetException

handleTSAttributes

protected void handleTSAttributes(WSUser user,
                                  WSUser currentUser,
                                  WavesetResult result)
                           throws WavesetException
Throws:
WavesetException

handleMultiValuedAttrs

protected void handleMultiValuedAttrs(WSUser user,
                                      WSUser currentUser,
                                      int maxPerCommand,
                                      WavesetResult result)
                               throws WavesetException
Throws:
WavesetException

handleMultiValuedAttr

protected void handleMultiValuedAttr(WSUser user,
                                     WSUser currentUser,
                                     java.lang.String attrName,
                                     int maxPerCommand,
                                     WavesetResult result)
                              throws WavesetException
Throws:
WavesetException

checkUpdateAccount

public WavesetResult checkUpdateAccount(WSUser user)
                                 throws WavesetException
Specified by:
checkUpdateAccount in interface ResourceAdapter
Specified by:
checkUpdateAccount 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

checkDeleteAccount

public WavesetResult checkDeleteAccount(WSUser user)
                                 throws WavesetException
Specified by:
checkDeleteAccount in interface ResourceAdapter
Specified by:
checkDeleteAccount 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

authenticate

public WavesetResult authenticate(java.util.HashMap loginInfo)
                           throws WavesetException
Description copied from interface: ResourceAdapter
Authenticates the user against the resource. If authentication is successful, the authenticated id will be returned. If more info is required to complete authentication the result will contain the required info

Specified by:
authenticate in interface ResourceAdapter
Specified by:
authenticate in class ResourceAdapterBase
Throws:
WavesetException

startConnection

protected void startConnection()
                        throws WavesetException
Description copied from class: ResourceAdapterBase
Needs to be overridden by subclass if default createAccounts() implementation is used.

Overrides:
startConnection in class ResourceAdapterBase
Throws:
WavesetException

stopConnection

protected void stopConnection()
                       throws WavesetException
Description copied from class: ResourceAdapterBase
Needs to be overridden by subclass if default createAccounts() implementation is used.

Overrides:
stopConnection in class ResourceAdapterBase
Throws:
WavesetException

quoteValue

protected void quoteValue(java.lang.StringBuffer b,
                          java.lang.String value)

addEolAndIgnoreLine

protected java.lang.String addEolAndIgnoreLine(java.lang.String s,
                                               java.lang.String eol,
                                               java.lang.String ignoreLine,
                                               int width)

addEol

protected java.lang.String addEol(java.lang.String s,
                                  java.lang.String eol,
                                  int width)

supportsAccountDisable

public boolean supportsAccountDisable()
Description copied from interface: ResourceAdapter
Indicates whether or not this resource supports account disable. If it does not, the provisioning engine will attempt to simulate disable by generating random passwords. If we end up with more of these "can you do this" methods, we might want to generalize it into a more extensible way to describe features and levels of support.

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

realDisable

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

realEnable

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

login

public void login(HostAccess hostAccess)
           throws java.lang.Exception
Deprecated. use #login(HostAccess hostAccess, ServerAffinity affinity) instead

Specified by:
login in interface HostAccessLogin
Parameters:
hostAccess -
Throws:
java.lang.Exception

login

public void login(HostAccess hostAccess,
                  ServerAffinity affinity)
           throws java.lang.Exception
Specified by:
login in interface HostAccessLogin
Throws:
java.lang.Exception

logoff

public void logoff(HostAccess hostAccess)
            throws java.lang.Exception
Specified by:
logoff in interface HostAccessLogin
Throws:
java.lang.Exception

getHost

public java.lang.String getHost()
                         throws java.lang.Exception
Specified by:
getHost in interface HostAccessLogin
Throws:
java.lang.Exception

getPort

public java.lang.String getPort()
                         throws java.lang.Exception
Specified by:
getPort in interface HostAccessLogin
Throws:
java.lang.Exception

getUser

public java.lang.String getUser()
                         throws java.lang.Exception
Specified by:
getUser in interface HostAccessLogin
Throws:
java.lang.Exception

getAffinityList

public java.util.List getAffinityList()
                               throws java.lang.Exception
Specified by:
getAffinityList in interface HostAccessLogin
Throws:
java.lang.Exception

getKey

public java.lang.String getKey()
                        throws java.lang.Exception
Specified by:
getKey in interface HostAccessLogin
Throws:
java.lang.Exception

getRequestTimeout

public int getRequestTimeout()
                      throws java.lang.Exception
Specified by:
getRequestTimeout in interface HostAccessLogin
Throws:
java.lang.Exception

getIdleTimeout

public int getIdleTimeout()
                   throws java.lang.Exception
Specified by:
getIdleTimeout in interface HostAccessLogin
Throws:
java.lang.Exception

getProperties

public java.util.Properties getProperties()
Specified by:
getProperties in interface HostAccessLogin

getManagedAccountTypes

public java.util.Set getManagedAccountTypes()
                                     throws WavesetException
Throws:
WavesetException

getMaxConnections

public int getMaxConnections()
Specified by:
getMaxConnections in interface HostAccessLogin

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(ObjectType.ACCOUNT, null, null, null) 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 object names of a specified type.
Throws:
WavesetException

getListTimeout

protected int getListTimeout()

getAccountIterator

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

getFeatures

public GenericObject getFeatures()
Indicates what functionality the resource adapter supports.

Specified by:
getFeatures in interface ResourceAdapter
Overrides:
getFeatures in class ResourceAdapterBase
Returns:
Features supported by this resource adapter.
See Also:
ResourceAdapter.Features

filterAndParseData

protected void filterAndParseData(java.lang.String resp,
                                  boolean verbose,
                                  java.io.BufferedWriter bw,
                                  boolean asHtml)
                           throws java.io.IOException,
                                  WavesetException
Overrides:
filterAndParseData in class HostAccessResourceAdapter
Throws:
java.io.IOException
WavesetException

getHostAccess

protected HostAccess getHostAccess()
Overrides:
getHostAccess in class HostAccessResourceAdapter
Returns:
Returns the hostAccess.

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

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

poll

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

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

callCompleted

public void callCompleted(com.waveset.adapter.iapi.IAPI call)
A call generated by this resource adapter has completed.

Parameters:
call - - the event that has changed.
See Also:


validateDateFormat

protected Message validateDateFormat()
                              throws WavesetException
Throws:
WavesetException

getDateFormat

protected java.lang.String getDateFormat()
                                  throws WavesetException
Throws:
WavesetException

getTSSAUDITEvents

protected java.util.List getTSSAUDITEvents(java.lang.String lastUpdateLine)
                                    throws java.io.IOException,
                                           WavesetException
Throws:
java.io.IOException
WavesetException

getTSSAUDITEvents

protected java.util.List getTSSAUDITEvents(java.lang.String host,
                                           java.lang.String port,
                                           java.lang.String path,
                                           java.lang.String file,
                                           java.lang.String user,
                                           EncryptedData password,
                                           java.lang.String lastUpdateLine)
                                    throws java.io.IOException,
                                           WavesetException
Throws:
java.io.IOException
WavesetException

ftpLogin

protected sun.net.ftp.FtpClient ftpLogin(java.lang.String host,
                                         java.lang.String port,
                                         java.lang.String user,
                                         EncryptedData password)
                                  throws java.io.IOException
Throws:
java.io.IOException

getEventsOverFtp

protected java.util.List getEventsOverFtp(sun.net.ftp.FtpClient ftpClient,
                                          java.lang.String file,
                                          java.lang.String lastUpdateLine)
                                   throws java.io.IOException,
                                          WavesetException
Throws:
java.io.IOException
WavesetException

getFtpFileReader

protected java.io.BufferedReader getFtpFileReader(sun.net.ftp.FtpClient ftpClient,
                                                  java.lang.String file)
                                           throws java.io.IOException
Don't close the returned BufferReader since that invalidates the FtpClient instance for some reason.

Throws:
java.io.IOException

getGDGEvents

protected boolean getGDGEvents(java.util.List events,
                               boolean foundLastUpdateLine,
                               java.lang.String lastUpdateLine,
                               long lastUpdateTimeStamp,
                               java.io.BufferedReader rdr)
                        throws WavesetException,
                               java.io.IOException
Throws:
WavesetException
java.io.IOException

getAccountAttrs

protected java.util.Map getAccountAttrs(TopSecretResourceAdapter.Event event)
                                 throws WavesetException
Throws:
WavesetException

logUpdate

protected void logUpdate(int level,
                         com.waveset.adapter.iapi.IAPI iapi)
Log whatever we want to from an update.


logUpdateResult

protected void logUpdateResult(WavesetResult result)

saveLastUpdate

protected void saveLastUpdate(com.waveset.adapter.iapi.IAPI prox,
                              TopSecretResourceAdapter.Event event)

getEvents

protected boolean getEvents(java.io.BufferedReader bufRdr,
                            java.lang.String lastUpdateLine,
                            java.util.List events)
                     throws WavesetException
Throws:
WavesetException

addEvent

protected boolean addEvent(java.util.List events,
                           java.lang.String line,
                           java.lang.String lastUpdateLine)
                    throws WavesetException
Throws:
WavesetException

getTimeInMillis

protected long getTimeInMillis(java.lang.String line)
                        throws WavesetException
Throws:
WavesetException

getInt

protected int getInt(java.lang.String s,
                     int start,
                     int end)

isUserType

protected boolean isUserType(java.lang.String line,
                             int index)

justPasswordChange

protected boolean justPasswordChange(java.lang.String line,
                                     int index)

getKeyValueMap

protected java.util.Map getKeyValueMap(java.lang.String source,
                                       int startIndex)

findKeyAndValue

protected int findKeyAndValue(java.lang.String source,
                              int startIndex,
                              java.lang.String[] key,
                              java.lang.String[] value)

skipComment

protected int skipComment(java.lang.String source,
                          int startIndex)

getValue

protected int getValue(java.lang.String source,
                       int startIndex,
                       java.lang.String[] value,
                       java.lang.String key)
Assumes that source.charAt(startIndex-1) is the parenthesis that starts the value. This just gets the value in parenthesis as a string. It doesn't handle multiple values; they will just be returned as a single string. It will handle values surrounded completely by single quotes (') and that embedded single quotes are escaped by a preceding single quote.


skipWhitespace

protected int skipWhitespace(java.lang.String source,
                             int startIndex)

supportedCommand

protected boolean supportedCommand(java.lang.String cmd)

filterEvents

protected java.util.List filterEvents(java.util.List events)

addRealEvent

protected void addRealEvent(TopSecretResourceAdapter.Event event,
                            java.util.List events,
                            java.util.Map map)

traceAndLog

protected void traceAndLog(long traceLevel,
                           java.lang.String method,
                           int logLevel,
                           java.lang.String message)