Class AuthorityConnector
- java.lang.Object
-
- org.apache.manifoldcf.core.connector.BaseConnector
-
- org.apache.manifoldcf.authorities.authorities.BaseAuthorityConnector
-
- org.apache.manifoldcf.authorities.authorities.DCTM.AuthorityConnector
-
- All Implemented Interfaces:
org.apache.manifoldcf.authorities.interfaces.IAuthorityConnector,org.apache.manifoldcf.core.interfaces.IConnector
public class AuthorityConnector extends org.apache.manifoldcf.authorities.authorities.BaseAuthorityConnectorAutheticator.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static classAuthorityConnector.AuthorizationResponseDescriptionThis is the cache object descriptor for cached access tokens from this connector.protected classAuthorityConnector.CheckConnectionThreadprotected classAuthorityConnector.DestroySessionThreadprotected classAuthorityConnector.GetAccessTokensThreadprotected classAuthorityConnector.GetSessionThreadprotected classAuthorityConnector.GetUserAccessIDThread
-
Field Summary
Fields Modifier and Type Field Description protected org.apache.manifoldcf.core.interfaces.ICacheManagercacheManagerCache manager.protected booleancaseInsensitivestatic java.lang.StringCONFIG_PARAM_CACHELIFETIMEstatic java.lang.StringCONFIG_PARAM_CACHELRUSIZEstatic java.lang.StringCONFIG_PARAM_CASEINSENSITIVEstatic java.lang.StringCONFIG_PARAM_DOCBASEstatic java.lang.StringCONFIG_PARAM_DOMAINstatic java.lang.StringCONFIG_PARAM_PASSWORDstatic java.lang.StringCONFIG_PARAM_USERNAMEstatic java.lang.StringCONFIG_PARAM_USESYSTEMACLSprotected java.lang.StringdocbaseNameprotected java.lang.Stringdomainprotected static org.apache.manifoldcf.core.interfaces.StringSetemptyStringSetprotected booleanhasSessionParametersprotected longlastSessionFetchprotected java.lang.Stringpasswordprotected IDocumentumsessionprotected static longtimeToReleaseprotected java.lang.StringuserNameprotected booleanuseSystemAcls-
Fields inherited from class org.apache.manifoldcf.authorities.authorities.BaseAuthorityConnector
_rcsid, RESPONSE_UNREACHABLE, RESPONSE_UNREACHABLE_ADDITIVE, RESPONSE_USERNOTFOUND, RESPONSE_USERNOTFOUND_ADDITIVE, RESPONSE_USERUNAUTHORIZED, RESPONSE_USERUNAUTHORIZED_ADDITIVE
-
-
Constructor Summary
Constructors Constructor Description AuthorityConnector()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Stringcheck()Test the connection.protected voidcheckConnection()Check connection, with appropriate retriesvoidclearThreadContext()Clear thread context.voidconnect(org.apache.manifoldcf.core.interfaces.ConfigParams configParams)voiddisconnect()Disconnect from Documentum.org.apache.manifoldcf.authorities.interfaces.AuthorizationResponsegetAuthorizationResponse(java.lang.String strUserNamePassedIn)Obtain the access tokens for a given user name.protected org.apache.manifoldcf.authorities.interfaces.AuthorizationResponsegetAuthorizationResponseUncached(java.lang.String strUserNamePassedIn)Uncached get response method.org.apache.manifoldcf.authorities.interfaces.AuthorizationResponsegetDefaultAuthorizationResponse(java.lang.String userName)Obtain the default access tokens for a given user name.protected IDocumentumObjectgetObjectByQualification(java.lang.String qualification)Perform getObjectByQualification, with appropriate resetprotected java.lang.StringgetServerVersion()Get server version, with appropriate retriesprotected voidgetSession()Get a DFC session.protected voidgetSessionParameters()Get session parameters.protected static java.lang.StringinsensitiveMatch(boolean insensitive, java.lang.String field, java.lang.String value)booleanisConnected()This method is called to assess whether to count this connector instance should actually be counted as being connected.voidoutputConfigurationBody(org.apache.manifoldcf.core.interfaces.IThreadContext threadContext, org.apache.manifoldcf.core.interfaces.IHTTPOutput out, java.util.Locale locale, org.apache.manifoldcf.core.interfaces.ConfigParams parameters, java.lang.String tabName)Output the configuration body section.voidoutputConfigurationHeader(org.apache.manifoldcf.core.interfaces.IThreadContext threadContext, org.apache.manifoldcf.core.interfaces.IHTTPOutput out, java.util.Locale locale, org.apache.manifoldcf.core.interfaces.ConfigParams parameters, java.util.List<java.lang.String> tabsArray)Output the configuration header section.protected IDocumentumResultperformDQLQuery(java.lang.String query)Perform a DQL query, with appropriate reset on a remote exceptionvoidpoll()This method is periodically called for all connectors that are connected but not in active use.java.lang.StringprocessConfigurationPost(org.apache.manifoldcf.core.interfaces.IThreadContext threadContext, org.apache.manifoldcf.core.interfaces.IPostParameters variableContext, java.util.Locale locale, org.apache.manifoldcf.core.interfaces.ConfigParams parameters)Process a configuration post.protected static java.lang.StringquoteDQLString(java.lang.String value)protected voidreleaseCheck()Release the session, if it's time.voidsetThreadContext(org.apache.manifoldcf.core.interfaces.IThreadContext tc)Set thread context.voidviewConfiguration(org.apache.manifoldcf.core.interfaces.IThreadContext threadContext, org.apache.manifoldcf.core.interfaces.IHTTPOutput out, java.util.Locale locale, org.apache.manifoldcf.core.interfaces.ConfigParams parameters)View configuration.-
Methods inherited from class org.apache.manifoldcf.authorities.authorities.BaseAuthorityConnector
getAccessTokens, getDefaultAccessTokens
-
Methods inherited from class org.apache.manifoldcf.core.connector.BaseConnector
deinstall, getConfiguration, install, outputConfigurationBody, outputConfigurationHeader, outputConfigurationHeader, pack, packFixedList, packList, packList, processConfigurationPost, unpack, unpackFixedList, unpackList, viewConfiguration
-
-
-
-
Field Detail
-
CONFIG_PARAM_DOCBASE
public static final java.lang.String CONFIG_PARAM_DOCBASE
- See Also:
- Constant Field Values
-
CONFIG_PARAM_USERNAME
public static final java.lang.String CONFIG_PARAM_USERNAME
- See Also:
- Constant Field Values
-
CONFIG_PARAM_PASSWORD
public static final java.lang.String CONFIG_PARAM_PASSWORD
- See Also:
- Constant Field Values
-
CONFIG_PARAM_DOMAIN
public static final java.lang.String CONFIG_PARAM_DOMAIN
- See Also:
- Constant Field Values
-
CONFIG_PARAM_CASEINSENSITIVE
public static final java.lang.String CONFIG_PARAM_CASEINSENSITIVE
- See Also:
- Constant Field Values
-
CONFIG_PARAM_USESYSTEMACLS
public static final java.lang.String CONFIG_PARAM_USESYSTEMACLS
- See Also:
- Constant Field Values
-
CONFIG_PARAM_CACHELIFETIME
public static final java.lang.String CONFIG_PARAM_CACHELIFETIME
- See Also:
- Constant Field Values
-
CONFIG_PARAM_CACHELRUSIZE
public static final java.lang.String CONFIG_PARAM_CACHELRUSIZE
- See Also:
- Constant Field Values
-
docbaseName
protected java.lang.String docbaseName
-
userName
protected java.lang.String userName
-
password
protected java.lang.String password
-
domain
protected java.lang.String domain
-
caseInsensitive
protected boolean caseInsensitive
-
useSystemAcls
protected boolean useSystemAcls
-
cacheManager
protected org.apache.manifoldcf.core.interfaces.ICacheManager cacheManager
Cache manager.
-
hasSessionParameters
protected boolean hasSessionParameters
-
session
protected IDocumentum session
-
lastSessionFetch
protected long lastSessionFetch
-
timeToRelease
protected static final long timeToRelease
- See Also:
- Constant Field Values
-
emptyStringSet
protected static org.apache.manifoldcf.core.interfaces.StringSet emptyStringSet
-
-
Method Detail
-
setThreadContext
public void setThreadContext(org.apache.manifoldcf.core.interfaces.IThreadContext tc) throws org.apache.manifoldcf.core.interfaces.ManifoldCFExceptionSet thread context.- Specified by:
setThreadContextin interfaceorg.apache.manifoldcf.core.interfaces.IConnector- Overrides:
setThreadContextin classorg.apache.manifoldcf.core.connector.BaseConnector- Throws:
org.apache.manifoldcf.core.interfaces.ManifoldCFException
-
clearThreadContext
public void clearThreadContext()
Clear thread context.- Specified by:
clearThreadContextin interfaceorg.apache.manifoldcf.core.interfaces.IConnector- Overrides:
clearThreadContextin classorg.apache.manifoldcf.core.connector.BaseConnector
-
getSessionParameters
protected void getSessionParameters() throws org.apache.manifoldcf.core.interfaces.ManifoldCFExceptionGet session parameters.- Throws:
org.apache.manifoldcf.core.interfaces.ManifoldCFException
-
getSession
protected void getSession() throws org.apache.manifoldcf.core.interfaces.ManifoldCFExceptionGet a DFC session. This will be done every time it is needed.- Throws:
org.apache.manifoldcf.core.interfaces.ManifoldCFException
-
performDQLQuery
protected IDocumentumResult performDQLQuery(java.lang.String query) throws DocumentumException, org.apache.manifoldcf.core.interfaces.ManifoldCFException
Perform a DQL query, with appropriate reset on a remote exception- Throws:
DocumentumExceptionorg.apache.manifoldcf.core.interfaces.ManifoldCFException
-
checkConnection
protected void checkConnection() throws DocumentumException, org.apache.manifoldcf.core.interfaces.ManifoldCFExceptionCheck connection, with appropriate retries- Throws:
DocumentumExceptionorg.apache.manifoldcf.core.interfaces.ManifoldCFException
-
getObjectByQualification
protected IDocumentumObject getObjectByQualification(java.lang.String qualification) throws DocumentumException, org.apache.manifoldcf.core.interfaces.ManifoldCFException
Perform getObjectByQualification, with appropriate reset- Throws:
DocumentumExceptionorg.apache.manifoldcf.core.interfaces.ManifoldCFException
-
getServerVersion
protected java.lang.String getServerVersion() throws DocumentumException, org.apache.manifoldcf.core.interfaces.ManifoldCFExceptionGet server version, with appropriate retries- Throws:
DocumentumExceptionorg.apache.manifoldcf.core.interfaces.ManifoldCFException
-
releaseCheck
protected void releaseCheck() throws org.apache.manifoldcf.core.interfaces.ManifoldCFExceptionRelease the session, if it's time.- Throws:
org.apache.manifoldcf.core.interfaces.ManifoldCFException
-
getAuthorizationResponse
public org.apache.manifoldcf.authorities.interfaces.AuthorizationResponse getAuthorizationResponse(java.lang.String strUserNamePassedIn) throws org.apache.manifoldcf.core.interfaces.ManifoldCFExceptionObtain the access tokens for a given user name.- Specified by:
getAuthorizationResponsein interfaceorg.apache.manifoldcf.authorities.interfaces.IAuthorityConnector- Overrides:
getAuthorizationResponsein classorg.apache.manifoldcf.authorities.authorities.BaseAuthorityConnector- Parameters:
strUserNamePassedIn- is the user name or identifier.- Returns:
- the response tokens (according to the current authority). (Should throws an exception only when a condition cannot be properly described within the authorization response object.)
- Throws:
org.apache.manifoldcf.core.interfaces.ManifoldCFException
-
getAuthorizationResponseUncached
protected org.apache.manifoldcf.authorities.interfaces.AuthorizationResponse getAuthorizationResponseUncached(java.lang.String strUserNamePassedIn) throws org.apache.manifoldcf.core.interfaces.ManifoldCFExceptionUncached get response method.- Throws:
org.apache.manifoldcf.core.interfaces.ManifoldCFException
-
getDefaultAuthorizationResponse
public org.apache.manifoldcf.authorities.interfaces.AuthorizationResponse getDefaultAuthorizationResponse(java.lang.String userName)
Obtain the default access tokens for a given user name.- Specified by:
getDefaultAuthorizationResponsein interfaceorg.apache.manifoldcf.authorities.interfaces.IAuthorityConnector- Overrides:
getDefaultAuthorizationResponsein classorg.apache.manifoldcf.authorities.authorities.BaseAuthorityConnector- Parameters:
userName- is the user name or identifier.- Returns:
- the default response tokens, presuming that the connect method fails.
-
insensitiveMatch
protected static java.lang.String insensitiveMatch(boolean insensitive, java.lang.String field, java.lang.String value)
-
quoteDQLString
protected static java.lang.String quoteDQLString(java.lang.String value)
-
check
public java.lang.String check() throws org.apache.manifoldcf.core.interfaces.ManifoldCFExceptionTest the connection. Returns a string describing the connection integrity.- Specified by:
checkin interfaceorg.apache.manifoldcf.core.interfaces.IConnector- Overrides:
checkin classorg.apache.manifoldcf.core.connector.BaseConnector- Returns:
- the connection's status as a displayable string.
- Throws:
org.apache.manifoldcf.core.interfaces.ManifoldCFException
-
connect
public void connect(org.apache.manifoldcf.core.interfaces.ConfigParams configParams)
- Specified by:
connectin interfaceorg.apache.manifoldcf.core.interfaces.IConnector- Overrides:
connectin classorg.apache.manifoldcf.core.connector.BaseConnector
-
isConnected
public boolean isConnected()
This method is called to assess whether to count this connector instance should actually be counted as being connected.- Specified by:
isConnectedin interfaceorg.apache.manifoldcf.core.interfaces.IConnector- Overrides:
isConnectedin classorg.apache.manifoldcf.core.connector.BaseConnector- Returns:
- true if the connector instance is actually connected.
-
disconnect
public void disconnect() throws org.apache.manifoldcf.core.interfaces.ManifoldCFExceptionDisconnect from Documentum.- Specified by:
disconnectin interfaceorg.apache.manifoldcf.core.interfaces.IConnector- Overrides:
disconnectin classorg.apache.manifoldcf.core.connector.BaseConnector- Throws:
org.apache.manifoldcf.core.interfaces.ManifoldCFException
-
poll
public void poll() throws org.apache.manifoldcf.core.interfaces.ManifoldCFExceptionThis method is periodically called for all connectors that are connected but not in active use.- Specified by:
pollin interfaceorg.apache.manifoldcf.core.interfaces.IConnector- Overrides:
pollin classorg.apache.manifoldcf.core.connector.BaseConnector- Throws:
org.apache.manifoldcf.core.interfaces.ManifoldCFException
-
outputConfigurationHeader
public void outputConfigurationHeader(org.apache.manifoldcf.core.interfaces.IThreadContext threadContext, org.apache.manifoldcf.core.interfaces.IHTTPOutput out, java.util.Locale locale, org.apache.manifoldcf.core.interfaces.ConfigParams parameters, java.util.List<java.lang.String> tabsArray) throws org.apache.manifoldcf.core.interfaces.ManifoldCFException, java.io.IOExceptionOutput the configuration header section. This method is called in the head section of the connector's configuration page. Its purpose is to add the required tabs to the list, and to output any javascript methods that might be needed by the configuration editing HTML.- Specified by:
outputConfigurationHeaderin interfaceorg.apache.manifoldcf.core.interfaces.IConnector- Overrides:
outputConfigurationHeaderin classorg.apache.manifoldcf.core.connector.BaseConnector- Parameters:
threadContext- is the local thread context.out- is the output to which any HTML should be sent.parameters- are the configuration parameters, as they currently exist, for this connection being configured.tabsArray- is an array of tab names. Add to this array any tab names that are specific to the connector.- Throws:
org.apache.manifoldcf.core.interfaces.ManifoldCFExceptionjava.io.IOException
-
outputConfigurationBody
public void outputConfigurationBody(org.apache.manifoldcf.core.interfaces.IThreadContext threadContext, org.apache.manifoldcf.core.interfaces.IHTTPOutput out, java.util.Locale locale, org.apache.manifoldcf.core.interfaces.ConfigParams parameters, java.lang.String tabName) throws org.apache.manifoldcf.core.interfaces.ManifoldCFException, java.io.IOExceptionOutput the configuration body section. This method is called in the body section of the authority connector's configuration page. Its purpose is to present the required form elements for editing. The coder can presume that the HTML that is output from this configuration will be within appropriate <html>, <body>, and <form> tags. The name of the form is "editconnection".- Specified by:
outputConfigurationBodyin interfaceorg.apache.manifoldcf.core.interfaces.IConnector- Overrides:
outputConfigurationBodyin classorg.apache.manifoldcf.core.connector.BaseConnector- Parameters:
threadContext- is the local thread context.out- is the output to which any HTML should be sent.parameters- are the configuration parameters, as they currently exist, for this connection being configured.tabName- is the current tab name.- Throws:
org.apache.manifoldcf.core.interfaces.ManifoldCFExceptionjava.io.IOException
-
processConfigurationPost
public java.lang.String processConfigurationPost(org.apache.manifoldcf.core.interfaces.IThreadContext threadContext, org.apache.manifoldcf.core.interfaces.IPostParameters variableContext, java.util.Locale locale, org.apache.manifoldcf.core.interfaces.ConfigParams parameters) throws org.apache.manifoldcf.core.interfaces.ManifoldCFExceptionProcess a configuration post. This method is called at the start of the authority connector's configuration page, whenever there is a possibility that form data for a connection has been posted. Its purpose is to gather form information and modify the configuration parameters accordingly. The name of the posted form is "editconnection".- Specified by:
processConfigurationPostin interfaceorg.apache.manifoldcf.core.interfaces.IConnector- Overrides:
processConfigurationPostin classorg.apache.manifoldcf.core.connector.BaseConnector- Parameters:
threadContext- is the local thread context.variableContext- is the set of variables available from the post, including binary file post information.parameters- are the configuration parameters, as they currently exist, for this connection being configured.- Returns:
- null if all is well, or a string error message if there is an error that should prevent saving of the connection (and cause a redirection to an error page).
- Throws:
org.apache.manifoldcf.core.interfaces.ManifoldCFException
-
viewConfiguration
public void viewConfiguration(org.apache.manifoldcf.core.interfaces.IThreadContext threadContext, org.apache.manifoldcf.core.interfaces.IHTTPOutput out, java.util.Locale locale, org.apache.manifoldcf.core.interfaces.ConfigParams parameters) throws org.apache.manifoldcf.core.interfaces.ManifoldCFException, java.io.IOExceptionView configuration. This method is called in the body section of the authority connector's view configuration page. Its purpose is to present the connection information to the user. The coder can presume that the HTML that is output from this configuration will be within appropriate <html> and <body>tags.- Specified by:
viewConfigurationin interfaceorg.apache.manifoldcf.core.interfaces.IConnector- Overrides:
viewConfigurationin classorg.apache.manifoldcf.core.connector.BaseConnector- Parameters:
threadContext- is the local thread context.out- is the output to which any HTML should be sent.parameters- are the configuration parameters, as they currently exist, for this connection being configured.- Throws:
org.apache.manifoldcf.core.interfaces.ManifoldCFExceptionjava.io.IOException
-
-