|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.waveset.adapter.ResourceAdapterBase
com.waveset.adapter.JdbcResourceAdapter
com.waveset.adapter.ExampleTableResourceAdapter
Nested Class Summary | |
class |
ExampleTableResourceAdapter.TableAccountIterator
The implementation of the AccountIterator returned by getAccountIterator. |
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 |
AA_DEPARTMENT
The name of the department the account owner is in. |
static java.lang.String |
AA_FIRST_NAME
The first name of the account owner. |
static java.lang.String |
AA_GROUPS
Optional group(s) to which this account is to be a member. |
static java.lang.String |
AA_LAST_NAME
The last name of the account owner. |
static java.lang.String |
code_id
|
static java.lang.String |
DEFAULT_DRIVER
The default value for the RA_DRIVER resource attribute. |
static java.lang.String |
DEFAULT_TEMPLATE
The default connect URL template. |
protected static java.lang.String |
GROUPS_SCHEMA
|
protected static java.lang.String |
GROUPS_TABLE
|
protected static java.lang.String |
MEMBERS_SCHEMA
|
protected static java.lang.String |
MEMBERS_TABLE
|
static java.lang.String |
RA_GROUPS
The optional group(s) to assign to accounts created by this adapter. |
static java.lang.String |
RESOURCE_NAME
|
static java.lang.String |
RESOURCE_TYPE
|
protected static java.lang.String |
USERS_SCHEMA
|
protected static java.lang.String |
USERS_TABLE
|
Fields inherited from class com.waveset.adapter.JdbcResourceAdapter |
RA_DATABASE, RA_DRIVER, RA_HOST, RA_PASSWORD, RA_PORT, RA_QUOTING, RA_URL_PREFIX, RA_URL_TEMPLATE, RA_USER |
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 |
Constructor Summary | |
ExampleTableResourceAdapter()
Create an adapater instance, without a resource. |
|
ExampleTableResourceAdapter(Resource res,
ObjectCache cache)
Create an adapter instance for a resource. |
Method Summary | |
void |
addAttributeValue(java.lang.StringBuffer b,
WSUser user,
java.lang.String attname)
Helper method for building the values() list for an insert statement from account attributes. |
WavesetResult |
authenticate(java.util.HashMap loginInfo)
Check to see if a user account and password is valid. |
WSUser |
buildUser(java.lang.String id)
Build the base user object given an id. |
WavesetResult |
checkCreateAccount(WSUser user)
Check to see if an account can be created. |
WavesetResult |
checkDeleteAccount(WSUser user)
Check account deletion. |
void |
checkSchema()
|
protected void |
checkTable(java.sql.Connection con,
java.lang.String name,
java.lang.String schema)
|
WavesetResult |
checkUpdateAccount(WSUser user)
Check the ability to perform an account update. |
void |
createGroup(java.lang.String id,
java.lang.String name)
|
Resource |
createPrototypeResource()
Create the prototype instance. |
java.lang.String |
encryptPassword(EncryptedData ed)
Convert a password from the Waveset encrypted form, to the encryption used in the database. |
java.lang.String |
encryptPassword(java.lang.String clearText)
|
WSAttributes |
getAccountAttributes(java.lang.String accountIdentity)
Deprecated method, use getUser instead. |
AccountIterator |
getAccountIterator()
Return an iterator that will iterate over all the accounts on a resource. |
java.lang.String |
getColumn(java.sql.ResultSet result,
int col)
Get a string from a result set, trimming trailing blanks. |
GenericObject |
getFeatures()
Expose features supported by the Resource Adapter. |
java.util.List |
getGroupIds(java.sql.Connection con,
java.util.List names)
Given a list of group names, create a list of the corresponding group ids. |
java.util.List |
getGroupNames(java.sql.Connection con,
java.util.List ids)
Given a list of group ids, create a list of the corresponding group names. |
WSUser |
getUser(WSUser idUser)
Public adapter method to get the current user information. |
protected java.lang.String |
getUserPassword(WSUser user)
Get the password for this user on this resource out of the res info. |
protected void |
realCreate(WSUser user,
WavesetResult result)
Create a new account. |
protected void |
realDelete(WSUser user,
WavesetResult result)
Delete the account for real. |
protected void |
realUpdate(WSUser user,
WavesetResult result)
Perform the actual account update. |
void |
startConnection()
Needs to be overridden by subclass if default createAccounts() implementation is used. |
static Resource |
staticCreatePrototypeResource()
Create the prototype instance. |
void |
stopConnection()
Needs to be overridden by subclass if default createAccounts() implementation is used. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final java.lang.String code_id
protected static final java.lang.String USERS_TABLE
protected static final java.lang.String GROUPS_TABLE
protected static final java.lang.String MEMBERS_TABLE
public static final java.lang.String RESOURCE_NAME
public static final java.lang.String RESOURCE_TYPE
public static final java.lang.String DEFAULT_DRIVER
public static final java.lang.String DEFAULT_TEMPLATE
public static final java.lang.String RA_GROUPS
public static final java.lang.String AA_FIRST_NAME
public static final java.lang.String AA_LAST_NAME
public static final java.lang.String AA_DEPARTMENT
public static final java.lang.String AA_GROUPS
protected static final java.lang.String USERS_SCHEMA
protected static final java.lang.String GROUPS_SCHEMA
protected static final java.lang.String MEMBERS_SCHEMA
Constructor Detail |
public ExampleTableResourceAdapter(Resource res, ObjectCache cache)
public ExampleTableResourceAdapter()
Method Detail |
public static Resource staticCreatePrototypeResource() throws WavesetException
WavesetException
public Resource createPrototypeResource() throws WavesetException
createPrototypeResource
in interface ResourceAdapter
createPrototypeResource
in class ResourceAdapterBase
WavesetException
public void startConnection() throws WavesetException
ResourceAdapterBase
startConnection
in class ResourceAdapterBase
WavesetException
public void stopConnection() throws WavesetException
ResourceAdapterBase
stopConnection
in class ResourceAdapterBase
WavesetException
public WavesetResult checkCreateAccount(WSUser user) throws WavesetException
checkCreateAccount
in interface ResourceAdapter
checkCreateAccount
in class ResourceAdapterBase
WavesetException
protected java.lang.String getUserPassword(WSUser user)
protected void realCreate(WSUser user, WavesetResult result) throws WavesetException
realCreate
in class ResourceAdapterBase
WavesetException
public void addAttributeValue(java.lang.StringBuffer b, WSUser user, java.lang.String attname)
public java.util.List getGroupIds(java.sql.Connection con, java.util.List names) throws WavesetException
WavesetException
public java.util.List getGroupNames(java.sql.Connection con, java.util.List ids) throws WavesetException
WavesetException
public java.lang.String encryptPassword(EncryptedData ed)
public java.lang.String encryptPassword(java.lang.String clearText)
public WavesetResult checkUpdateAccount(WSUser user) throws WavesetException
checkUpdateAccount
in interface ResourceAdapter
checkUpdateAccount
in class ResourceAdapterBase
WavesetException
protected void realUpdate(WSUser user, WavesetResult result) throws WavesetException
The account ID cannot be changed.
Password changes are indiciated with a non-null password stored in the ResourceInfo object for this resource.
Extended account attribute changes are indicated with non-null attribute values in the user. If an attribute value is null, it means that the current value is to be kept, not cleared. To clear a value, the attribute value in the user must be the empty string.
We currently do not have a way to flag changes in the email value, other than reading the current user object and comparing.
Changes to group membership require that we read the current group list so we can determine which memberships to add, and which to remove.
Attribute changes will be collected in a Map which will then be used to construct a SQL update statement.
realUpdate
in class ResourceAdapterBase
WavesetException
public WavesetResult checkDeleteAccount(WSUser user) throws WavesetException
checkDeleteAccount
in interface ResourceAdapter
checkDeleteAccount
in class ResourceAdapterBase
WavesetException
protected void realDelete(WSUser user, WavesetResult result) throws WavesetException
realDelete
in class ResourceAdapterBase
WavesetException
public java.lang.String getColumn(java.sql.ResultSet result, int col) throws java.sql.SQLException
java.sql.SQLException
public WSUser getUser(WSUser idUser) throws WavesetException
getUser
in interface ResourceAdapter
getUser
in class ResourceAdapterBase
WavesetException
public WSUser buildUser(java.lang.String id)
public WSAttributes getAccountAttributes(java.lang.String accountIdentity) throws WavesetException
getAccountAttributes
in interface ResourceAdapter
getAccountAttributes
in class ResourceAdapterBase
WavesetException
public AccountIterator getAccountIterator() throws WavesetException
getAccountIterator
in interface ResourceAdapter
getAccountIterator
in class ResourceAdapterBase
WavesetException
public WavesetResult authenticate(java.util.HashMap loginInfo) throws WavesetException
Note that because of the distinction between an "login object" and a "securuty account", you may be able to login to Sybase but still not be able to do anything within the database.
We're only checking for valid logins, we don't care if there is a security account since its possible they might want to set up a database just to handle authentication.
authenticate
in interface ResourceAdapter
authenticate
in class ResourceAdapterBase
WavesetException
public void createGroup(java.lang.String id, java.lang.String name) throws WavesetException
WavesetException
public void checkSchema() throws WavesetException
WavesetException
protected void checkTable(java.sql.Connection con, java.lang.String name, java.lang.String schema) throws WavesetException
WavesetException
public GenericObject getFeatures()
getFeatures
in interface ResourceAdapter
getFeatures
in class ResourceAdapterBase
ResourceAdapter.Features
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |