com.waveset.adapter
Class NTResourceAdapter

java.lang.Object
  extended bycom.waveset.adapter.ResourceAdapterBase
      extended bycom.waveset.adapter.AgentResourceAdapter
          extended bycom.waveset.adapter.NTResourceAdapter
All Implemented Interfaces:
RASecureConnection.RASecureConnectionAccessor, ResourceAdapter

public class NTResourceAdapter
extends AgentResourceAdapter


Nested Class Summary
 
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 code_id
           
static java.lang.String NT_OBJECT_TYPE_ACCOUNT
          Windows-specific name for ObjectType.ACCOUNT.
static java.lang.String NT_OBJECT_TYPE_GROUP
          Windows-specific name for ObjectType.GROUP.
static java.lang.String RA_CREATE_HOME_DIR
           
static java.lang.String RA_DOMAIN
           
static java.lang.String RA_PASSWORD
           
static java.lang.String RA_USER
           
 
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.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
NTResourceAdapter()
           
NTResourceAdapter(Resource res, ObjectCache cache)
           
 
Method Summary
 Resource createPrototypeResource()
           
 AccountIterator getAccountIterator()
          Default implementation just gets all the users and holds them in an array.
 GenericObject getFeatures()
          Expose features supported by the Resource Adapter.
protected  java.lang.String getLoginAttrName(java.lang.String key)
          Get the attribute name to use for the login info key that is passed in.
 java.util.List listObjects(java.lang.String objectType, java.util.Map options)
          Returns a list of objects matching the requested objectType and options
protected  java.lang.String mapObjectType(java.lang.String resourceObjectType)
          Resource adapters such as the ones for NT and ADSI may overrided this method to provide resource-specific types.
static Resource staticCreatePrototypeResource()
           
 boolean supportsAccountDisable()
          Return true if this resource supports some form of native account disable.
 boolean supportsActions()
          Whether the resource will support Before/After actions.
 boolean supportsExcludedAccounts()
           
 boolean supportsScanning()
           
 
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, doCreateOrUpdateRequest, doGetGatewayInfo, doGetGatewayInfo, enableAccounts, encryptEncryptedType, encryptEncryptedType, endRequest, extendWSAttributes, getAccountAttributes, getAccountIterator, getAgentAdapters, getAuthenticationTimeout, getBlockAccountIterator, getBlockAccountIterator, getConnection, getGatewayInfo, getGenericObjectsFromResponse, getHangTimeout, 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, removeUserAttr, returnConnection, returnConnection, returnConnection, returnConnection, reverseMapAttributes, run, runAction, scan, sendRequest, sendRequest, sendRequest, sendRequest, setConnection, setGatewayInfo, startRequest, startRequest, startRequestWithoutConnect, transformGUID, updateAccounts, updateIdFromResource, 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, supportsCaseInsensitiveAccountIds, supportsContainerObjectTypes, supportsResourceAccount, testConfiguration, 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

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_DOMAIN

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

RA_CREATE_HOME_DIR

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

NT_OBJECT_TYPE_ACCOUNT

public static final java.lang.String NT_OBJECT_TYPE_ACCOUNT
Windows-specific name for ObjectType.ACCOUNT.

See Also:
Constant Field Values

NT_OBJECT_TYPE_GROUP

public static final java.lang.String NT_OBJECT_TYPE_GROUP
Windows-specific name for ObjectType.GROUP.

See Also:
Constant Field Values
Constructor Detail

NTResourceAdapter

public NTResourceAdapter(Resource res,
                         ObjectCache cache)

NTResourceAdapter

public NTResourceAdapter()
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

getLoginAttrName

protected java.lang.String getLoginAttrName(java.lang.String key)
Get the attribute name to use for the login info key that is passed in. This basically maps login info keys to attribute names that will be used by the resource.

Overrides:
getLoginAttrName in class AgentResourceAdapter

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

supportsActions

public boolean supportsActions()
Whether the resource will support Before/After actions.

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

supportsExcludedAccounts

public boolean supportsExcludedAccounts()
Specified by:
supportsExcludedAccounts in interface ResourceAdapter
Overrides:
supportsExcludedAccounts in class ResourceAdapterBase

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

supportsScanning

public boolean supportsScanning()
Specified by:
supportsScanning in interface ResourceAdapter
Overrides:
supportsScanning in class ResourceAdapterBase

mapObjectType

protected java.lang.String mapObjectType(java.lang.String resourceObjectType)
Description copied from class: AgentResourceAdapter
Resource adapters such as the ones for NT and ADSI may overrided this method to provide resource-specific types.

Overrides:
mapObjectType in class AgentResourceAdapter

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

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