com.waveset.adapter
Class NISResourceAdapter

java.lang.Object
  extended bycom.waveset.adapter.ResourceAdapterBase
      extended bycom.waveset.adapter.GenericScriptResourceAdapter
          extended bycom.waveset.adapter.UnixResourceAdapter
              extended bycom.waveset.adapter.NISResourceAdapter
All Implemented Interfaces:
ResourceAdapter, ResourcePolicyTimeouts

public class NISResourceAdapter
extends UnixResourceAdapter

Resource adapter for NIS The NIS usermod/useradd/userdel commands use flags (-u, -g, etc) to specify the user attributes. These flags have been mapped in a hashmap, see SVIDResourceAdapter.paramToFlagMap.


Nested Class Summary
protected  class NISResourceAdapter.AccountIter
          AccountIterator implementation that can be built by construction from the output of "awk -F: '{print $1}' /etc/passwd".
 
Nested classes inherited from class com.waveset.adapter.GenericScriptResourceAdapter
GenericScriptResourceAdapter.AcctIter
 
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 CLASS_NAME
           
static java.lang.String code_id
           
static java.lang.String LOGIN_PASSWORD
           
static java.lang.String LOGIN_USER
           
static java.lang.String RA_LOGIN_SHELL_PROMPT
           
static java.lang.String RA_MAKE_DIR
           
static java.lang.String RA_ROOT_PASSWORD
           
static java.lang.String RA_ROOT_SHELL_PROMPT
           
static java.lang.String RA_ROOT_USER
           
static java.lang.String RA_SKEL_DIR
           
static java.lang.String RA_USERADD_CREATE_GROUP
          Resource attribute name of the variable used to set whether the Red Hat useradd command is to create a group with the same name as the user being added to the system.
static java.lang.String RA_YPPUSH
           
static java.lang.String RESOURCE_NAME
           
static java.lang.String RESOURCE_USER_FORM
           
static java.lang.String USER_COMMENT
           
static java.lang.String USER_DIR
           
static java.lang.String USER_EXPIRE
           
static java.lang.String USER_GROUP
           
static java.lang.String USER_INACTIVE
           
static java.lang.String USER_SECONDARY_GROUP
           
static java.lang.String USER_SHELL
           
static java.lang.String USER_UID
           
 
Fields inherited from class com.waveset.adapter.UnixResourceAdapter
CMD_AWK, CMD_CAT, CMD_CHMOD, CMD_CHOWN, CMD_CP, CMD_CUT, CMD_DIFF, CMD_ECHO, CMD_GREP, CMD_GROUPADD, CMD_GROUPDEL, CMD_GROUPMOD, CMD_LAST, CMD_LISTUSERS, CMD_LOGINS, CMD_LS, CMD_MAKE, CMD_MV, CMD_PASSWD, CMD_RM, CMD_SED, CMD_SLEEP, CMD_SORT, CMD_SUDO, CMD_TAIL, CMD_TOUCH, CMD_USERADD, CMD_USERDEL, CMD_USERMOD, CMD_WHICH, CMD_YPCAT, CMD_YPMATCH, CMD_YPPASSWD, loginPass, loginShellPrompt, loginUser, ONE_TAIL, RA_ALT_ROOT_SHELL_PROMPT, RA_DEL_HOME_DIR, RA_HOME_BASEDIR, RA_NISDIR, RA_NISPWDDIR, RA_NISSRCDIR, RA_SUDO_AUTH, RA_SYS_DB_TYPE, removeAction, rootPass, rootPromptCaptureToken, rootPromptCaptureTokenOrig, rootPromptWaitToken, rootPromptWaitTokenOrig, rootShellPrompt, rootShellPromptOrig, rootUser, sudoResetCmd, sudoResetToken, sudoStartCmd, sudoStartToken, wavesetRootPrompt, wavesetRootPromptCaptureToken, wavesetRootPromptWaitToken
 
Fields inherited from class com.waveset.adapter.GenericScriptResourceAdapter
conn, RA_BLOCK_FETCH_TIMEOUT, RA_CONN_MAX, RA_CONN_TIMEOUT, RA_CONN_TYPE, RA_HOST, RA_LOGIN_PASSWORD, RA_LOGIN_USER, RA_PORT, RA_TERM
 
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
NISResourceAdapter()
          Constructor with empty param list.
NISResourceAdapter(Resource res, ObjectCache cache)
          Constructor with params.
 
Method Summary
protected  void changeGroupMembers(java.lang.String group, java.lang.String users, Script script)
           
protected  java.lang.String constructUserAttributeParameter(java.lang.String key, java.lang.String value)
          Builds up a single user attribute value suitable for shell commands, given the parameter key and value.
 Resource createPrototypeResource()
          Non-static version of staticCreatePrototypeResource()
static java.util.Collection divideString(java.lang.String stringToDivide, char delim, boolean trimTokens)
          A utility method that breaks up a String into an Collection of Strings by cutting at each delimiter.
protected  AccountIterator getAccountIteratorResult(CaptureList captureList)
          Generates an account iterator from the capture list that was built from running the getAccountIteratorScript generated script through the ScriptedConnection.
protected  Script getAccountIteratorScript()
          Returns a script that can be run on an opened and logged in ScriptedConnection to pull a list of users out of the system.
protected  WavesetResult getAuthenticateResult(java.util.HashMap loginInfo, CaptureList captureList)
          Takes the capture list from running the authenticate script through the resource and validates it.
protected  Script getAuthenticateScript(java.util.HashMap loginInfo)
          Generates a script for authenticating a user on the resource using the username and password in the loginInfo HashMap.
protected  WavesetResult getCheckCreateAccountResult(CaptureList captureList)
          Validates the capture list returned from the check create account script execution.
protected  Script getCheckCreateAccountScript()
          Returns a shell script to check the resource and determine if a create account request is likely to succeed.
protected  WavesetResult getCheckDeleteAccountResult(CaptureList captureList)
          Validates the capture list returned from the check delete account script execution.
protected  Script getCheckDeleteAccountScript()
          Returns a shell script to check the resource and determine if a delete account request is likely to succeed.
protected  WavesetResult getCheckUpdateAccountResult(CaptureList captureList)
          Validates the capture list returned from the update create account script execution.
protected  Script getCheckUpdateAccountScript()
          Returns a shell script to check the resource and determine if an update account request is likely to succeed.
protected  WavesetResult getConnectionTestResult(CaptureList captureList)
          Evaluates capture list from execution of generic test connection script.
protected  Script getConnectionTestScript()
          Creates a script to test the connection, does NOT login or logout.
protected  WavesetResult getCreateGroupResult(CaptureList captureList)
           
protected  Script getCreateGroupScript(java.lang.String groupName, GenericObject attrs, java.util.Map options, boolean isSaveAs)
          Generates a script that will create a group on the resource.
protected  void getCreateUserResult(CaptureList captureList, WavesetResult result)
          Analyzes the capture list generated by executing the create user script on the scripted connection.
protected  Script getCreateUserScript(WSUser user)
          Generates a script that will create an account for the passed user on the resource.
protected  Script getDeleteGroupScript(GenericObject object, java.util.Map options)
          Generates a script that will delete a group on the resource.
protected  void getDeleteUserResult(CaptureList captureList)
          Analyzes the capture list generated by executing the delete user script on the scripted connection.
protected  Script getDeleteUserScript(WSUser user)
          Generates a script that will delete the account of the passed user on the resource.
protected  boolean getDisableUserResult(CaptureList captureList)
          Analyzes the capture list generated by executing the disable user script on the scripted connection.
protected  Script getDisableUserScript(WSUser user, java.lang.String password)
          Generates a script that will disable an account for the passed user on the resource.
protected  boolean getEnableUserResult(CaptureList captureList)
          Analyzes the capture list generated by executing the enable user script on the scripted connection.
protected  Script getEnableUserScript(WSUser user, java.lang.String password)
          Generates a script that will enable an account for the passed user on the resource.
 GenericObject getFeatures()
          Expose features supported by the Resource Adapter.
protected  GenericObject getGetGroupResult(java.lang.String groupName, java.util.List attrsToGet, CaptureList captureList)
           
protected  Script getGetGroupScript(java.lang.String objectId, java.util.List attrsToGet, java.util.Map options)
          Returns a script which will retrieve the attributes of a group account.
protected  Script getListAllObjectsScript(java.lang.String resObjType, java.util.Map options, java.lang.String runAsUser, EncryptedData runAsPassword)
          Returns a script which will return a list of objects of a specified type from the scriptedConnection.
 java.lang.String getLoginPasswordAttrName()
           
protected  Script getLoginScript()
          Returns a script that will log the administrative user into the system and set up the shell if necessary.
 java.lang.String getLoginUserAttrName()
           
protected  Script getLogoutScript()
          Returns a script that will log the administrative user into the system and set up the shell if necessary.
protected  WavesetResult getRenameGroupResult(GenericObject object, CaptureList captureList)
           
protected  Script getRenameGroupScript(GenericObject object)
          Returns a script which will rename a group.
protected  WavesetResult getScanningResult(CaptureList captureList, java.util.Map scanArgsIn)
          Based on the result of the scan routine's capturelist and the arguments passed into the routine, generate some output.
protected  Script getScanningScript(java.util.Map scanArgs)
          Generates a script that will return a list of all the users and interesting attributes.
protected  WavesetResult getTestConnectionResult(CaptureList captureList)
          Evaluates capture list from execution of generic test connection script.
protected  Script getTestConnectionScript()
          Creates a script to test the connection, does NOT login or logout.
protected  java.lang.String getUid(WSUser user)
          Ascertain the UID (user name) from the WSUser obj.
protected  WavesetResult getUpdateGroupResult(GenericObject object, CaptureList captureList)
           
protected  Script getUpdateGroupScript(GenericObject object)
          Returns a script which will update a group.
protected  void getUpdateUserResult(WSUser user, CaptureList captureList, WavesetResult result)
          Analyzes the capture list generated by executing the update user script on the scripted connection.
protected  Script getUpdateUserScript(WSUser user, java.lang.String password)
          Generates a script that will update an account for the passed user on the resource.
protected  WSUser getUserResult(CaptureList captureList, WSUser targetUser)
          Analyzes the capture list generated by executing the get user script on the scripted connection.
protected  Script getUserScript(WSUser user)
          Returns a script that sends commands to check for existence of the passed user on the resource.
protected  boolean isAllowableUserAttribute(java.lang.String name)
          Reports whether a given attribute name is legal on the resource.
protected  boolean isYppush()
           
protected  void startConnection()
          Starts a scripted connection up and logs into it.
static Resource staticCreatePrototypeResource()
           
 
Methods inherited from class com.waveset.adapter.UnixResourceAdapter
addActionScript, addResultItem, addScriptArguments, addSudoReset, addSudoStart, authenticate, createResourceAttr, escape, getAccountActionResult, getAccountActionScript, getAccountIterator, getAccountIterator, getActionResult, getActionScript, getCaptureItem, getConnectionType, getCreateNativeGroupScript, getCreateNativeUserScript, getCreateNISGroupScript, getCreateNISUserScript, getCreateObjectResult, getCreateObjectScript, getCreateUserResult, getCreateUserScript, getDefaultShellsList, getDeleteNativeGroupScript, getDeleteNativeUserScript, getDeleteNISGroupScript, getDeleteNISUserScript, getDeleteObjectScript, getDeleteUserScript, getGetObjectResult, getGetObjectScript, getGetUserResult, getGetUserScript, getListObjectsResult, getListObjectsScript, getReadOnlyNISTestCmds, getReadOnlyTestCmds, getRenameObjectResult, getRenameObjectScript, getRenameUserResult, getRenameUserScript, getRequiredCmds, getRequiredFileCmds, getRequiredGroupCmds, getRequiredNISCmds, getRequiredUserCmds, getResourceAccounts, getScriptedConnection, getShellsScript, getTestConfigurationResult, getTestConfigurationScript, getUpdateNativeGroupScript, getUpdateNativeUserScript, getUpdateNISGroupScript, getUpdateNISUserScript, getUpdateObjectResult, getUpdateObjectScript, getUpdateUserResult, getUpdateUserScript, getWhichScript, init, isNIS, quoteString, replaceSpaces, setWavesetPrompt, stopConnection, stopConnection, sudoAuthorization, supportsActions, supportsCaseInsensitiveAccountIds, supportsExcludedAccounts, testConnection
 
Methods inherited from class com.waveset.adapter.GenericScriptResourceAdapter
checkCreateAccount, checkDeleteAccount, checkUpdateAccount, constructUserAttributeParameters, constructUserAttributeParameters, createObject, deleteObject, getAccountAttributeFromMapName, getAccountAttributes, getAccountIteratorScript, getCapture, getDeleteObjectResult, getListAllObjectsResult, getObject, getUpdateUserResult, getUpdateUserScript, getUser, getWaitFor, getWaitForIgnoreCase, listAllObjects, listObjects, lookupAndRunAction, realCreate, realDelete, realDisable, realEnable, realUpdate, renameObject, reverseMapAttr, reverseMapAttr, reverseMapMultiAttr, run, runAction, runAction, runAfterAction, runBeforeAction, scan, testConfiguration, updateObject, updateResourceAccount, wellFormedUserAttributeName
 
Methods inherited from class com.waveset.adapter.ResourceAdapterBase
checkForNoPasswordInSchema, checkSyntax, createAccount, createAccounts, createIdentity, deleteAccount, deleteAccount, deleteAccounts, disableAccount, disableAccounts, dnsEqual, dnsEqual, enableAccount, enableAccounts, 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, 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, restoreResourceObjectClassAttr, run, runResourceAttributeJavascriptAction, setCache, setContext, setDisabled, setFromResource, setResource, setResourceObjectClassAttr, setResourceOptionAttrs, startConnectionWrapper, supportsAccountActions, supportsAccountDisable, supportsContainerObjectTypes, supportsResourceAccount, supportsScanning, updateAccount, updateAccounts, updateResourceIdentity, vmStoreBoot, vmStoreGet, vmStoreInit, vmStoreLatch, vmStorePut
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.waveset.adapter.ResourceAdapter
checkCreateAccount, checkDeleteAccount, checkUpdateAccount, createAccount, createAccounts, createIdentity, createObject, deleteAccount, deleteAccount, deleteAccounts, deleteObject, disableAccount, disableAccounts, enableAccount, enableAccounts, getAccountAttributes, getAccountIterator, getAllAccounts, getBaseContextAttrName, getBaseContextObject, getBaseContexts, getObject, getResource, getUser, getUser, isSupported, listAllObjects, listAllObjects, listObjects, listObjects, listObjectsOfType, namesEqual, run, run, scan, setCache, setContext, setResource, setResourceObjectClassAttr, supportsAccountDisable, supportsContainerObjectTypes, supportsResourceAccount, supportsScanning, testConfiguration, updateAccount, updateAccounts, updateObject, updateResourceAccount
 

Field Detail

code_id

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

RESOURCE_NAME

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

CLASS_NAME

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

RESOURCE_USER_FORM

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

LOGIN_USER

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

LOGIN_PASSWORD

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

RA_LOGIN_SHELL_PROMPT

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

RA_ROOT_USER

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

RA_ROOT_PASSWORD

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

RA_ROOT_SHELL_PROMPT

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

RA_SKEL_DIR

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

RA_MAKE_DIR

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

RA_USERADD_CREATE_GROUP

public static final java.lang.String RA_USERADD_CREATE_GROUP
Resource attribute name of the variable used to set whether the Red Hat useradd command is to create a group with the same name as the user being added to the system.

See Also:
Constant Field Values

RA_YPPUSH

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

USER_UID

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

USER_COMMENT

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

USER_DIR

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

USER_SHELL

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

USER_GROUP

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

USER_SECONDARY_GROUP

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

USER_INACTIVE

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

USER_EXPIRE

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

NISResourceAdapter

public NISResourceAdapter()
Constructor with empty param list.


NISResourceAdapter

public NISResourceAdapter(Resource res,
                          ObjectCache cache)
Constructor with params.

Method Detail

constructUserAttributeParameter

protected java.lang.String constructUserAttributeParameter(java.lang.String key,
                                                           java.lang.String value)
Builds up a single user attribute value suitable for shell commands, given the parameter key and value. This is identical to the method found in SVIDResourceAdapter. The code is replicated here in order to use the private maps.

Specified by:
constructUserAttributeParameter in class GenericScriptResourceAdapter

staticCreatePrototypeResource

public static Resource staticCreatePrototypeResource()
                                              throws WavesetException
Throws:
WavesetException

createPrototypeResource

public Resource createPrototypeResource()
                                 throws WavesetException
Non-static version of staticCreatePrototypeResource()

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

getLoginUserAttrName

public java.lang.String getLoginUserAttrName()

getLoginPasswordAttrName

public java.lang.String getLoginPasswordAttrName()

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 GenericScriptResourceAdapter
Returns:
GenericObject containing Features, as both key and value, which are supported by this resource adapter.
See Also:
ResourceAdapter.Features

isAllowableUserAttribute

protected boolean isAllowableUserAttribute(java.lang.String name)
Reports whether a given attribute name is legal on the resource.

Specified by:
isAllowableUserAttribute in class GenericScriptResourceAdapter

getUid

protected java.lang.String getUid(WSUser user)
Ascertain the UID (user name) from the WSUser obj.

Returns:
A string representing the User ID.

startConnection

protected void startConnection()
                        throws WavesetException
Starts a scripted connection up and logs into it.

Overrides:
startConnection in class UnixResourceAdapter
Throws:
WavesetException

getLoginScript

protected Script getLoginScript()
                         throws WavesetException
Returns a script that will log the administrative user into the system and set up the shell if necessary.

Specified by:
getLoginScript in class GenericScriptResourceAdapter
Throws:
WavesetException

getLogoutScript

protected Script getLogoutScript()
                          throws WavesetException
Returns a script that will log the administrative user into the system and set up the shell if necessary.

Specified by:
getLogoutScript in class GenericScriptResourceAdapter
Throws:
WavesetException

getConnectionTestScript

protected Script getConnectionTestScript()
                                  throws WavesetException
Creates a script to test the connection, does NOT login or logout.

Specified by:
getConnectionTestScript in class UnixResourceAdapter
Throws:
WavesetException

getConnectionTestResult

protected WavesetResult getConnectionTestResult(CaptureList captureList)
                                         throws WavesetException
Evaluates capture list from execution of generic test connection script.

Specified by:
getConnectionTestResult in class UnixResourceAdapter
Throws:
WavesetException

getTestConnectionScript

protected Script getTestConnectionScript()
                                  throws WavesetException
Creates a script to test the connection, does NOT login or logout.

Throws:
WavesetException

getTestConnectionResult

protected WavesetResult getTestConnectionResult(CaptureList captureList)
                                         throws WavesetException
Evaluates capture list from execution of generic test connection script.

Throws:
WavesetException

getCheckCreateAccountScript

protected Script getCheckCreateAccountScript()
                                      throws WavesetException
Returns a shell script to check the resource and determine if a create account request is likely to succeed. Running the script through the scripted connection may cause a failure and throw, or evaluating the resulting capture list may result in a throw. The script should NOT login or logout.

Specified by:
getCheckCreateAccountScript in class GenericScriptResourceAdapter
Throws:
WavesetException

getCheckCreateAccountResult

protected WavesetResult getCheckCreateAccountResult(CaptureList captureList)
                                             throws WavesetException
Validates the capture list returned from the check create account script execution. Returns a result if create account is likely to succeed, otherwise throws. The executing script may also throw if check fails.

Specified by:
getCheckCreateAccountResult in class GenericScriptResourceAdapter
Throws:
WavesetException

getCheckUpdateAccountScript

protected Script getCheckUpdateAccountScript()
                                      throws WavesetException
Returns a shell script to check the resource and determine if an update account request is likely to succeed. Running the script through the scripted connection may cause a failure and throw, or evaluating the resulting capture list may result in a throw. The script should NOT login or logout.

Specified by:
getCheckUpdateAccountScript in class GenericScriptResourceAdapter
Throws:
WavesetException

getCheckUpdateAccountResult

protected WavesetResult getCheckUpdateAccountResult(CaptureList captureList)
                                             throws WavesetException
Validates the capture list returned from the update create account script execution. Returns a result if update account is likely to succeed, otherwise throws. The executing script may also throw if check fails.

Specified by:
getCheckUpdateAccountResult in class GenericScriptResourceAdapter
Throws:
WavesetException

getCheckDeleteAccountScript

protected Script getCheckDeleteAccountScript()
                                      throws WavesetException
Returns a shell script to check the resource and determine if a delete account request is likely to succeed. Running the script through the scripted connection may cause a failure and throw, or evaluating the resulting capture list may result in a throw. The script should NOT login or logout.

Specified by:
getCheckDeleteAccountScript in class GenericScriptResourceAdapter
Throws:
WavesetException

getCheckDeleteAccountResult

protected WavesetResult getCheckDeleteAccountResult(CaptureList captureList)
                                             throws WavesetException
Validates the capture list returned from the check delete account script execution. Returns a result if delete account is likely to succeed, otherwise throws. The executing script may also throw if check fails.

Specified by:
getCheckDeleteAccountResult in class GenericScriptResourceAdapter
Throws:
WavesetException

getCreateUserScript

protected Script getCreateUserScript(WSUser user)
                              throws WavesetException
Generates a script that will create an account for the passed user on the resource. The script can be executed on a ScriptedConnection. Should NOT login or logout. This method overridden from SVIDResourceAdapter because of the differencese in NIS functionality between NIS, HPUX and Solaris

Overrides:
getCreateUserScript in class UnixResourceAdapter
Throws:
WavesetException

getCreateUserResult

protected void getCreateUserResult(CaptureList captureList,
                                   WavesetResult result)
                            throws WavesetException
Analyzes the capture list generated by executing the create user script on the scripted connection. Throws if the capture list indicates failure. The executing script may throw on failure also.

Specified by:
getCreateUserResult in class GenericScriptResourceAdapter
Throws:
WavesetException

getUpdateUserScript

protected Script getUpdateUserScript(WSUser user,
                                     java.lang.String password)
                              throws WavesetException
Generates a script that will update an account for the passed user on the resource. The script can be executed on a ScriptedConnection. Should NOT login or logout. If the userID is passed in, the update will fail if the Id is in use by another user, but will succeed if the userId is the same or is a new value. Changing the user's ID will not change the files owned by that user.

Overrides:
getUpdateUserScript in class UnixResourceAdapter
Throws:
WavesetException

getUpdateUserResult

protected void getUpdateUserResult(WSUser user,
                                   CaptureList captureList,
                                   WavesetResult result)
                            throws WavesetException
Analyzes the capture list generated by executing the update user script on the scripted connection. Throws if the capture list indicates failure. The executing script may throw on failure also.

Specified by:
getUpdateUserResult in class GenericScriptResourceAdapter
Throws:
WavesetException

getDeleteUserScript

protected Script getDeleteUserScript(WSUser user)
                              throws WavesetException
Generates a script that will delete the account of the passed user on the resource. The script can be executed on a ScriptedConnection. Should NOT login or logout.

Overrides:
getDeleteUserScript in class UnixResourceAdapter
Throws:
WavesetException

getDeleteUserResult

protected void getDeleteUserResult(CaptureList captureList)
                            throws WavesetException
Analyzes the capture list generated by executing the delete user script on the scripted connection. Throws if the capture list indicates failure. The executing script may throw on failure also.

Specified by:
getDeleteUserResult in class GenericScriptResourceAdapter
Throws:
WavesetException

getEnableUserScript

protected Script getEnableUserScript(WSUser user,
                                     java.lang.String password)
                              throws WavesetException
Generates a script that will enable an account for the passed user on the resource. The script can be executed on a ScriptedConnection. Should NOT login or logout.

Specified by:
getEnableUserScript in class GenericScriptResourceAdapter
Throws:
WavesetException

getEnableUserResult

protected boolean getEnableUserResult(CaptureList captureList)
                               throws WavesetException
Analyzes the capture list generated by executing the enable user script on the scripted connection. Throws if the capture list indicates failure. The executing script may throw on failure also.

Specified by:
getEnableUserResult in class GenericScriptResourceAdapter
Throws:
WavesetException

getDisableUserScript

protected Script getDisableUserScript(WSUser user,
                                      java.lang.String password)
                               throws WavesetException
Generates a script that will disable an account for the passed user on the resource. The script can be executed on a ScriptedConnection. Should NOT login or logout.

Specified by:
getDisableUserScript in class GenericScriptResourceAdapter
Throws:
WavesetException

getDisableUserResult

protected boolean getDisableUserResult(CaptureList captureList)
                                throws WavesetException
Analyzes the capture list generated by executing the disable user script on the scripted connection. Throws if the capture list indicates failure. The executing script may throw on failure also.

Specified by:
getDisableUserResult in class GenericScriptResourceAdapter
Throws:
WavesetException

getAuthenticateScript

protected Script getAuthenticateScript(java.util.HashMap loginInfo)
                                throws WavesetException
Generates a script for authenticating a user on the resource using the username and password in the loginInfo HashMap. Should NOT login or logout.

Specified by:
getAuthenticateScript in class GenericScriptResourceAdapter
Throws:
WavesetException

getAuthenticateResult

protected WavesetResult getAuthenticateResult(java.util.HashMap loginInfo,
                                              CaptureList captureList)
                                       throws WavesetException
Takes the capture list from running the authenticate script through the resource and validates it. Throws if it is invalid.

Specified by:
getAuthenticateResult in class GenericScriptResourceAdapter
Throws:
WavesetException

changeGroupMembers

protected void changeGroupMembers(java.lang.String group,
                                  java.lang.String users,
                                  Script script)
                           throws WavesetException
Throws:
WavesetException

getAccountIteratorResult

protected AccountIterator getAccountIteratorResult(CaptureList captureList)
Generates an account iterator from the capture list that was built from running the getAccountIteratorScript generated script through the ScriptedConnection.

Specified by:
getAccountIteratorResult in class GenericScriptResourceAdapter

getAccountIteratorScript

protected Script getAccountIteratorScript()
Description copied from class: GenericScriptResourceAdapter
Returns a script that can be run on an opened and logged in ScriptedConnection to pull a list of users out of the system. Needs to be defined in the derived class to send a command that will cause a list of users to be emitted, and to capture that list for parsing in getAccountIteratorResult. Should NOT send login or logout commands.

Specified by:
getAccountIteratorScript in class GenericScriptResourceAdapter

getListAllObjectsScript

protected Script getListAllObjectsScript(java.lang.String resObjType,
                                         java.util.Map options,
                                         java.lang.String runAsUser,
                                         EncryptedData runAsPassword)
                                  throws WavesetException
Returns a script which will return a list of objects of a specified type from the scriptedConnection. This script should login as the username and password, if specified, or login as the authoritative account.

Overrides:
getListAllObjectsScript in class GenericScriptResourceAdapter
Throws:
WavesetException

getUserResult

protected WSUser getUserResult(CaptureList captureList,
                               WSUser targetUser)
                        throws WavesetException
Description copied from class: GenericScriptResourceAdapter
Analyzes the capture list generated by executing the get user script on the scripted connection. Returns null if the capture list indicates failure. Otherwise returns the new user. Should probably be called getGetUserResult for consistency, but that would look funny.

Specified by:
getUserResult in class GenericScriptResourceAdapter
Throws:
WavesetException

getUserScript

protected Script getUserScript(WSUser user)
                        throws WavesetException
Returns a script that sends commands to check for existence of the passed user on the resource. Upon execution, captures necessary text for analysis by getUserResult method.

Specified by:
getUserScript in class GenericScriptResourceAdapter
Throws:
WavesetException

getGetGroupScript

protected Script getGetGroupScript(java.lang.String objectId,
                                   java.util.List attrsToGet,
                                   java.util.Map options)
                            throws WavesetException
Returns a script which will retrieve the attributes of a group account.

Overrides:
getGetGroupScript in class UnixResourceAdapter
Throws:
WavesetException

getGetGroupResult

protected GenericObject getGetGroupResult(java.lang.String groupName,
                                          java.util.List attrsToGet,
                                          CaptureList captureList)
                                   throws WavesetException
Overrides:
getGetGroupResult in class UnixResourceAdapter
Throws:
WavesetException

getCreateGroupScript

protected Script getCreateGroupScript(java.lang.String groupName,
                                      GenericObject attrs,
                                      java.util.Map options,
                                      boolean isSaveAs)
                               throws WavesetException
Generates a script that will create a group on the resource. The script can be executed on a ScriptedConnection. Should NOT login or logout.

Overrides:
getCreateGroupScript in class UnixResourceAdapter
Throws:
WavesetException

getCreateGroupResult

protected WavesetResult getCreateGroupResult(CaptureList captureList)
                                      throws WavesetException
Overrides:
getCreateGroupResult in class UnixResourceAdapter
Throws:
WavesetException

getUpdateGroupScript

protected Script getUpdateGroupScript(GenericObject object)
                               throws WavesetException
Returns a script which will update a group.

Overrides:
getUpdateGroupScript in class UnixResourceAdapter
Throws:
WavesetException

getUpdateGroupResult

protected WavesetResult getUpdateGroupResult(GenericObject object,
                                             CaptureList captureList)
                                      throws WavesetException
Overrides:
getUpdateGroupResult in class UnixResourceAdapter
Throws:
WavesetException

getRenameGroupScript

protected Script getRenameGroupScript(GenericObject object)
                               throws WavesetException
Returns a script which will rename a group.

Overrides:
getRenameGroupScript in class UnixResourceAdapter
Throws:
WavesetException

getRenameGroupResult

protected WavesetResult getRenameGroupResult(GenericObject object,
                                             CaptureList captureList)
                                      throws WavesetException
Overrides:
getRenameGroupResult in class UnixResourceAdapter
Throws:
WavesetException

getDeleteGroupScript

protected Script getDeleteGroupScript(GenericObject object,
                                      java.util.Map options)
                               throws WavesetException
Generates a script that will delete a group on the resource. The script can be executed on a ScriptedConnection. Should NOT login or logout.

Overrides:
getDeleteGroupScript in class UnixResourceAdapter
Throws:
WavesetException

divideString

public static java.util.Collection divideString(java.lang.String stringToDivide,
                                                char delim,
                                                boolean trimTokens)
A utility method that breaks up a String into an Collection of Strings by cutting at each delimiter. This works around a difficulty with the StringTokenizer class where multiple adjacent delimiters are treated as a single delimiter. Thus "1,2,,4" is considered to have only three tokens instead of four which would be expected in CSV format. This is a known issue with StringTokenizer which is probably not going to be addressed. See http://developer.java.sun.com/developer/bugParade/bugs/4086845.html for more details.


getScanningScript

protected Script getScanningScript(java.util.Map scanArgs)
                            throws WavesetException
Generates a script that will return a list of all the users and interesting attributes.

Overrides:
getScanningScript in class GenericScriptResourceAdapter
Throws:
WavesetException

getScanningResult

protected WavesetResult getScanningResult(CaptureList captureList,
                                          java.util.Map scanArgsIn)
                                   throws WavesetException
Description copied from class: GenericScriptResourceAdapter
Based on the result of the scan routine's capturelist and the arguments passed into the routine, generate some output. You may or may not use the scanArgs in the processing of the results, it depends on what mechanisms are available on each resource.

Resources which support scanning will have to implement both a genScanningScript and getScanningResult along the "_supportsScanning" attribute to true. ( in the prototype xml )

Overrides:
getScanningResult in class GenericScriptResourceAdapter
Throws:
WavesetException

isYppush

protected boolean isYppush()