com.waveset.adapter
Class DominoResourceAdapter

java.lang.Object
  extended bycom.waveset.adapter.ResourceAdapterBase
      extended bycom.waveset.adapter.AgentResourceAdapter
          extended bycom.waveset.adapter.DominoResourceAdapter
All Implemented Interfaces:
ActiveSync, RASecureConnection.RASecureConnectionAccessor, ResourceAdapter
Direct Known Subclasses:
DominoActiveSyncAdapter

public class DominoResourceAdapter
extends AgentResourceAdapter
implements ActiveSync


Nested Class Summary
static class DominoResourceAdapter.UpdateRowComparator
          Internal class that implenents the Comparator interface for sorting the UpdateRow elements in a list by a named attribute
 
Nested classes inherited from class com.waveset.adapter.AgentResourceAdapter
AgentResourceAdapter.AcctIter, AgentResourceAdapter.AgentAccountSupplier, AgentResourceAdapter.BlockAcctIter, AgentResourceAdapter.BlockObjectIterator
 
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
static java.lang.String ATTR_GUID
           
static java.lang.String ATTR_LAST_MODIFIED
           
static java.lang.String code_id
           
static java.lang.String RA_ADD_SHORTNAME
           
static java.lang.String RA_ADMINACCT
           
static java.lang.String RA_ADMINPWD
           
static java.lang.String RA_CERTIFIERIDFILE
           
static java.lang.String RA_CERTLOG
           
static java.lang.String RA_CERTPASSWORD
           
static java.lang.String RA_CONTINUE_ON_ERRORS
           
static java.lang.String RA_CREATE_DESKTOP
           
static java.lang.String RA_CREATE_ID_FILE
           
static java.lang.String RA_CREATEMAILDB
           
static java.lang.String RA_DATABASE_ADMIN
           
static java.lang.String RA_DATABASE_NAMES
           
static java.lang.String RA_DEFAULT_PW_EXPIRY
           
static java.lang.String RA_DELETE_MAILFILE_OPTION
           
static java.lang.String RA_DELETE_REMOVE_DENY
           
static java.lang.String RA_IDTYPE
           
static java.lang.String RA_ISNORTHAMERICAN
           
static java.lang.String RA_MAILSYSTEM
           
static java.lang.String RA_MAX_THREADS
           
static java.lang.String RA_MERGE_GROUPS
           
static java.lang.String RA_MINPWLENGTH
           
static java.lang.String RA_PASSWORD
           
static java.lang.String RA_REGISTRATIONLOG
           
static java.lang.String RA_REGISTRATIONSERVERMACHINE
           
static java.lang.String RA_REGISTRATIONSERVERORGUNIT
           
static java.lang.String RA_RESET_TO_TODAY
          Additional resource attributes
static java.lang.String RA_SERVERCOUNTRYCODE
           
static java.lang.String RA_SERVERMACHINE
           
static java.lang.String RA_SERVERORGUNIT
           
static java.lang.String RA_SET_INET_PASSWORD
           
static java.lang.String RA_STOREIDINADDRBOOK
           
static java.lang.String RA_STOREIDINFILE
           
static java.lang.String RA_UPDATE_IF_DELETE
          Deprecated. As of IdM 5.5. Use RA_DELETE_RULE instead.
static java.lang.String RA_UPDATEADDRBOOK
           
static java.lang.String RA_USER
           
static java.lang.String RA_USER_PWD_ON_CHG
           
static java.lang.String RA_VIEW_GROUPS
           
static java.lang.String USER_ACCOUNTID
           
static java.lang.String USER_ACL_MANAGER
           
static java.lang.String USER_ALT_LANG
           
static java.lang.String USER_ALT_NAME
           
static java.lang.String USER_ALT_ORG
           
static java.lang.String USER_ASSISTANT
           
static java.lang.String USER_CALENDAR_DOMAIN
           
static java.lang.String USER_CELL_PHONE
           
static java.lang.String USER_CHECK_PASSWORD
           
static java.lang.String USER_CHILDREN
           
static java.lang.String USER_CITY
           
static java.lang.String USER_COMMENT
           
static java.lang.String USER_COMPANY
           
static java.lang.String USER_COUNTRY
           
static java.lang.String USER_DBQUOTA_LIMIT
           
static java.lang.String USER_DBQUOTA_THRESHOLD
           
static java.lang.String USER_DENYGROUPS
           
static java.lang.String USER_DEPARTMENY
           
static java.lang.String USER_DISPLAYNAME
           
static java.lang.String USER_EMPLOYEE_ID
           
static java.lang.String USER_FIRSTNAME
           
static java.lang.String USER_FULLNAME
           
static java.lang.String USER_HOME_FAX
           
static java.lang.String USER_HTTP_PASWORD
           
static java.lang.String USER_IDFILE
           
static java.lang.String USER_INTERNET_ADDR
           
static java.lang.String USER_JOB_TITLE
           
static java.lang.String USER_LASTNAME
           
static java.lang.String USER_LOCATION
           
static java.lang.String USER_MAIL_ADDRESS
           
static java.lang.String USER_MAIL_DOMAIN
           
static java.lang.String USER_MAIL_TEMPLATE
           
static java.lang.String USER_MAILDBPATH
           
static java.lang.String USER_MAILSERVER
           
static java.lang.String USER_MANAGER
           
static java.lang.String USER_MIDDLEINIT
           
static java.lang.String USER_NET_USER_NAME
           
static java.lang.String USER_NOTESGROUPS
           
static java.lang.String USER_OFFICE_CITY
           
static java.lang.String USER_OFFICE_COUNTRY
           
static java.lang.String USER_OFFICE_FAX
           
static java.lang.String USER_OFFICE_NUMBER
           
static java.lang.String USER_OFFICE_PHONE
           
static java.lang.String USER_OFFICE_STATE
           
static java.lang.String USER_OFFICE_STREET
           
static java.lang.String USER_OFFICE_ZIP
           
static java.lang.String USER_ORGHIERARCHY
           
static java.lang.String USER_ORGUNIT
           
static java.lang.String USER_PASSWORD
           
static java.lang.String USER_PASSWORD_CHANGE_INT
           
static java.lang.String USER_PASSWORD_GRACE
           
static java.lang.String USER_PHONE_NUMBER
           
static java.lang.String USER_PHONE_NUMBER_6
           
static java.lang.String USER_PROFILES
           
static java.lang.String USER_RECERTIFY
           
static java.lang.String USER_SAMETIMESERVER
           
static java.lang.String USER_SHORTNAME
           
static java.lang.String USER_SPOUSE
           
static java.lang.String USER_STATE
           
static java.lang.String USER_STREET_ADDRESS
           
static java.lang.String USER_SUFFIX
           
static java.lang.String USER_TITLE
           
static java.lang.String USER_TYPE
           
static java.lang.String USER_WEBSITE
           
static java.lang.String USER_X400
           
static java.lang.String USER_ZIP
           
 
Fields inherited from class com.waveset.adapter.AgentResourceAdapter
_connection, ATTR_ACTION, CONNECTED_TO_RESOURCE, RA_AUTHTIMEOUT, RA_CONN, RA_HANGTIMEOUT, RA_HOST, RA_OBJCLASS, RA_PORT, SUPPORTS_ENCRYPTED_TYPE, USER_CLASS
 
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_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
DominoResourceAdapter()
           
DominoResourceAdapter(Resource res, ObjectCache cache)
           
 
Method Summary
protected  com.waveset.adapter.iapi.IAPI buildEvent(com.waveset.adapter.DominoResourceAdapter.UpdateRow row)
          Deprecated. As of IdM 5.5.
 void callCompleted(com.waveset.adapter.iapi.IAPI call)
          An call generated by this resource adapter has completed.
protected static AccountAttributeType createAcctAttrType(Resource res, java.lang.String attrDefName, java.lang.String attrType, java.lang.String mapName, java.lang.String mapType, boolean required, boolean readOnly)
          Generates an AccountAttributeType suitable for insertion into the prototype XML structure.
 Resource createPrototypeResource()
           
protected  WavesetResult doCreateOrUpdateRequest(WSUser[] users, java.lang.String cmd)
           
 AccountIterator getAccountIterator()
          Default implementation just gets all the users and holds them in an array.
 AccountIterator getAccountIterator(java.util.Map map)
          Alternate interface to pass in a map of name/value pairs to control the search.
 java.lang.Object getAttributeValue(java.lang.String name)
          Get or set an attribute value for the ActiveSync.
 GenericObject getFeatures()
          Expose features supported by the Resource Adapter.
 void init()
          initialize yourself.
 java.util.List listObjects(java.lang.String objectType, java.util.Map options)
          Returns a list of objects matching the requested objectType and options
protected  void logUpdate(int level, com.waveset.adapter.DominoResourceAdapter.UpdateRow update, WavesetResult result)
          Log whatever we want to from an update.
static void main(java.lang.String[] args)
           
 int poll()
          the poll method.
protected  void processUpdates(java.util.List list, com.waveset.adapter.iapi.IAPI prox)
          Take a list of Maps that are rows of the audit data and turn them into IAPI calls.
protected  WSAttributes reverseMapAttributes(WSAttributes attributes)
           
 void setAttributeValue(java.lang.String name, java.lang.Object value)
           
 void shutdown()
          shutdown
static Resource staticCreatePrototypeResource()
           
 boolean supportsAccountDisable()
          Return true if this resource supports some form of native account disable.
 WavesetResult testConfiguration()
          Test method.
protected  boolean updateIdFromResource()
          Indicates whether or not the identity for this resource should be updated from the id that is returned from the gateway.
 
Methods inherited from class com.waveset.adapter.AgentResourceAdapter
addCmdArgs, addIgnoredAttrs, agentTestConfiguration, augmentListAllObjects, authenticate, buildGetObjectRequest, checkCreateAccount, checkDeleteAccount, checkUpdateAccount, createAccounts, createObject, createXmlObject, createXmlObject, deleteAccounts, deleteObject, determineGatewayCapabilities, disableAccounts, doCreateOrUpdateObjectRequest, doGetGatewayInfo, doGetGatewayInfo, enableAccounts, encryptEncryptedType, encryptEncryptedType, endRequest, extendWSAttributes, getAccountAttributes, getAgentAdapters, getAuthenticationTimeout, getBlockAccountIterator, getBlockAccountIterator, getConnection, getGatewayInfo, getGenericObjectsFromResponse, getHangTimeout, getLoginAttrName, getObject, getObjectFromResponse, getObjectIterator, getObjectListFromResponse, getResInfo, getResponse, getResponse, getResponse, getResponse, getResponseBytes, getResponseBytes, getResponseBytes, getResponseBytes, getResultItemList, getTraceFile, getTraceFile, getUser, getUsersFromResponse, getUsersFromResponse, getWsAttrsString, listAllObjects, loadUsersFromResponse, makeConnection, makeConnection, makeGUID, mapAttributes, mapObjectType, removeUserAttr, returnConnection, returnConnection, returnConnection, returnConnection, run, runAction, scan, sendRequest, sendRequest, sendRequest, sendRequest, setConnection, setGatewayInfo, startRequest, startRequest, startRequestWithoutConnect, transformGUID, updateAccounts, updateKey, updateObject
 
Methods inherited from class com.waveset.adapter.ResourceAdapterBase
checkForNoPasswordInSchema, checkSyntax, createAccount, createIdentity, deleteAccount, deleteAccount, disableAccount, dnsEqual, dnsEqual, enableAccount, executeResourceAttributeJavascriptAction, fillInResourceInfo, fillInResourceInfo, 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, 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, listObjectsOfType, lookupAction, lookupAction, lookupActions, namesEqual, objectClassesMatchType, println, realCreate, realDelete, realDisable, realEnable, realUpdate, restoreResourceObjectClassAttr, run, runResourceAttributeJavascriptAction, setCache, setContext, setDisabled, setFromResource, setResource, setResourceObjectClassAttr, setResourceOptionAttrs, startConnection, startConnectionWrapper, stopConnection, supportsAccountActions, supportsActions, supportsCaseInsensitiveAccountIds, supportsContainerObjectTypes, supportsExcludedAccounts, supportsResourceAccount, supportsScanning, updateAccount, 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

USER_ACCOUNTID

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

USER_ACL_MANAGER

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

USER_ALT_LANG

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

USER_ALT_NAME

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

USER_ALT_ORG

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

USER_ASSISTANT

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

USER_CALENDAR_DOMAIN

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

USER_CELL_PHONE

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

USER_CHILDREN

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

USER_CHECK_PASSWORD

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

USER_CITY

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

USER_COUNTRY

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

USER_COMMENT

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

USER_COMPANY

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

USER_DBQUOTA_LIMIT

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

USER_DBQUOTA_THRESHOLD

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

USER_DENYGROUPS

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

USER_DISPLAYNAME

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

USER_DEPARTMENY

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

USER_EMPLOYEE_ID

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

USER_FIRSTNAME

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

USER_FULLNAME

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

USER_HOME_FAX

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

USER_HTTP_PASWORD

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

USER_IDFILE

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

USER_INTERNET_ADDR

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

USER_LASTNAME

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

USER_LOCATION

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

USER_JOB_TITLE

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

USER_MAILDBPATH

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

USER_MAILSERVER

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

USER_MAIL_ADDRESS

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

USER_MAIL_DOMAIN

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

USER_MAIL_TEMPLATE

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

USER_MANAGER

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

USER_MIDDLEINIT

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

USER_NET_USER_NAME

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

USER_NOTESGROUPS

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

USER_OFFICE_CITY

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

USER_OFFICE_COUNTRY

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

USER_OFFICE_FAX

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

USER_OFFICE_PHONE

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

USER_OFFICE_STATE

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

USER_OFFICE_STREET

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

USER_OFFICE_ZIP

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

USER_OFFICE_NUMBER

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

USER_ORGUNIT

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

USER_ORGHIERARCHY

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

USER_PASSWORD

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

USER_PASSWORD_CHANGE_INT

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

USER_PASSWORD_GRACE

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

USER_PHONE_NUMBER

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

USER_PHONE_NUMBER_6

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

USER_PROFILES

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

USER_RECERTIFY

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

USER_SAMETIMESERVER

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

USER_SHORTNAME

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

USER_SPOUSE

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

USER_STATE

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

USER_STREET_ADDRESS

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

USER_SUFFIX

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

USER_TITLE

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

USER_TYPE

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

USER_WEBSITE

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

USER_ZIP

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

USER_X400

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

RA_ADMINACCT

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

RA_ADMINPWD

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

RA_SERVERMACHINE

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

RA_CERTIFIERIDFILE

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

RA_CERTPASSWORD

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

RA_CERTLOG

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

RA_REGISTRATIONLOG

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

RA_MINPWLENGTH

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

RA_ISNORTHAMERICAN

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

RA_REGISTRATIONSERVERMACHINE

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

RA_CREATEMAILDB

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

RA_STOREIDINADDRBOOK

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

RA_STOREIDINFILE

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

RA_UPDATEADDRBOOK

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

RA_IDTYPE

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

RA_DEFAULT_PW_EXPIRY

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

RA_DATABASE_NAMES

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

RA_DATABASE_ADMIN

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

RA_VIEW_GROUPS

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

RA_ADD_SHORTNAME

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

RA_USER

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

RA_PASSWORD

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

RA_CREATE_ID_FILE

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

RA_MAX_THREADS

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

RA_SET_INET_PASSWORD

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

RA_CREATE_DESKTOP

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

RA_MAILSYSTEM

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

RA_DELETE_MAILFILE_OPTION

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

RA_DELETE_REMOVE_DENY

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

RA_SERVERCOUNTRYCODE

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

RA_MERGE_GROUPS

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

RA_REGISTRATIONSERVERORGUNIT

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

RA_SERVERORGUNIT

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

RA_USER_PWD_ON_CHG

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

RA_RESET_TO_TODAY

public static final java.lang.String RA_RESET_TO_TODAY
Additional resource attributes

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

RA_CONTINUE_ON_ERRORS

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

ATTR_LAST_MODIFIED

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

ATTR_GUID

public static final java.lang.String ATTR_GUID
See Also:
Constant Field Values
Constructor Detail

DominoResourceAdapter

public DominoResourceAdapter(Resource res,
                             ObjectCache cache)

DominoResourceAdapter

public DominoResourceAdapter()
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 AgentResourceAdapter
Throws:
WavesetException

getAccountIterator

public AccountIterator getAccountIterator()
                                   throws WavesetException
Description copied from class: AgentResourceAdapter
Default implementation just gets all the users and holds them in an array. May (should) be overriden by the subclass.

Specified by:
getAccountIterator in interface ResourceAdapter
Overrides:
getAccountIterator in class AgentResourceAdapter
Throws:
WavesetException

getAccountIterator

public AccountIterator getAccountIterator(java.util.Map map)
                                   throws WavesetException
Description copied from class: AgentResourceAdapter
Alternate interface to pass in a map of name/value pairs to control the search.

Specified by:
getAccountIterator in interface ResourceAdapter
Overrides:
getAccountIterator in class AgentResourceAdapter
Throws:
WavesetException

getFeatures

public GenericObject getFeatures()
Expose features supported by the Resource Adapter. Note: ActiveSync is considered a facet, not a feature.

Specified by:
getFeatures in interface ResourceAdapter
Overrides:
getFeatures in class AgentResourceAdapter
Returns:
GenericObject containing Features, as both key and value, which are supported by this resource adapter.
See Also:
ResourceAdapter.Features

supportsAccountDisable

public boolean supportsAccountDisable()
Return true if this resource supports some form of native account disable. When this is true, the provisoining engine will expect a real implementation of the disableAccount and enableAccount methods.

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

listObjects

public java.util.List listObjects(java.lang.String objectType,
                                  java.util.Map options)
                           throws WavesetException
Description copied from class: AgentResourceAdapter
Returns a list of objects matching the requested objectType and options

Specified by:
listObjects in interface ResourceAdapter
Overrides:
listObjects in class AgentResourceAdapter
Parameters:
objectType - - the name of a valid object class for this specified "resId".
options - - several options can be specified which control the behavior of the search. They include:
    "searchContext" - the value of this option determines within what context to perform search (ResourceAdapter.RA_SEARCH_CONTEXT). If not specified, will attempt to get a value from RA_BASE_CONTEXT. If no value, will assume search should be done from logical top.
  1. "searchFilter" - optional specification, in LDAP search filter format as specified in RFC 1558, of one or more object tuples either and'ed or or'ed together. If not specified, a filter will be constructed using the specified objectType. (ResourceAdapter.SEARCH_FILTER).
  2. "searchScope" - specifies whether the search should be done on the current object, only within the context of the specified "searchContext", or in all subcontext within the specified "searchContext" (ResourceAdapter.RA_SEARCH_SCOPE). Valid values are "object", "oneLevel", or "subTree" indicates that the search should be performed on all sub contexts within the specified "searchContext".
  3. "searchTimeLimit" - the timelimit in milliseconds a search should not exceed (ResourceAdapter.RA_SEARCH_TIME_LIMIT).
  4. "searchAttrsToGet" - the list of objectType specific attribute names to get per object
  5. "runAsUser" - user name this request is to be run as. If not specified, defaults to resource proxy admin user.
  6. "runAsPassword" - password of runAsUser. Required to authenticate with resource in order to run the list request as the specified user
Throws:
WavesetException

main

public static void main(java.lang.String[] args)

doCreateOrUpdateRequest

protected WavesetResult doCreateOrUpdateRequest(WSUser[] users,
                                                java.lang.String cmd)
                                         throws WavesetException
Overrides:
doCreateOrUpdateRequest in class AgentResourceAdapter
Throws:
WavesetException

testConfiguration

public WavesetResult testConfiguration()
                                throws WavesetException
Test method. This method should check the configuration of the adapter, connecting to the host and validating that it has rights to do account create/update/delete actions.

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

createAcctAttrType

protected static AccountAttributeType createAcctAttrType(Resource res,
                                                         java.lang.String attrDefName,
                                                         java.lang.String attrType,
                                                         java.lang.String mapName,
                                                         java.lang.String mapType,
                                                         boolean required,
                                                         boolean readOnly)
Generates an AccountAttributeType suitable for insertion into the prototype XML structure.


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.DominoResourceAdapter.UpdateRow row)
                                            throws WavesetException,
                                                   com.waveset.adapter.iapi.IAPIException
Deprecated. As of IdM 5.5.

Extract the user identity information and attributes, create an IAPIUser object to update Lighthouse, and return it. This handles deleted accounts now, too. Look for the ATTR_IS_DELETED in the user map.

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

processUpdates

protected void processUpdates(java.util.List list,
                              com.waveset.adapter.iapi.IAPI prox)
                       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. This is called with deleted accounts as well as add/changed accounts. The difference is deleted accounts have an attribute "isDeleted" After every chunk, save off the current highest lastModified

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

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

logUpdate

protected void logUpdate(int level,
                         com.waveset.adapter.DominoResourceAdapter.UpdateRow update,
                         WavesetResult result)
Log whatever we want to from an 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.

Parameters:
call - - the call that has completed.
See Also:


reverseMapAttributes

protected WSAttributes reverseMapAttributes(WSAttributes attributes)
Overrides:
reverseMapAttributes in class AgentResourceAdapter

updateIdFromResource

protected boolean updateIdFromResource()
Indicates whether or not the identity for this resource should be updated from the id that is returned from the gateway. If so, the the ResourceInfo.accountId is updated with the id from the gateway. A resource adapter that desires this behavior should provide an implementation of this routine that returns true. The default return value is false.

Overrides:
updateIdFromResource in class AgentResourceAdapter