You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@manifoldcf.apache.org by kw...@apache.org on 2013/03/30 09:26:55 UTC
svn commit: r1462716 - in
/manifoldcf/trunk/connectors/documentum/connector/src/main/java/org/apache/manifoldcf/crawler:
authorities/DCTM/AuthorityConnector.java connectors/DCTM/DCTM.java
Author: kwright
Date: Sat Mar 30 08:26:55 2013
New Revision: 1462716
URL: http://svn.apache.org/r1462716
Log:
Separate parameter setup from actual session establishment. Part of CONNECTORS-667.
Modified:
manifoldcf/trunk/connectors/documentum/connector/src/main/java/org/apache/manifoldcf/crawler/authorities/DCTM/AuthorityConnector.java
manifoldcf/trunk/connectors/documentum/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/DCTM/DCTM.java
Modified: manifoldcf/trunk/connectors/documentum/connector/src/main/java/org/apache/manifoldcf/crawler/authorities/DCTM/AuthorityConnector.java
URL: http://svn.apache.org/viewvc/manifoldcf/trunk/connectors/documentum/connector/src/main/java/org/apache/manifoldcf/crawler/authorities/DCTM/AuthorityConnector.java?rev=1462716&r1=1462715&r2=1462716&view=diff
==============================================================================
--- manifoldcf/trunk/connectors/documentum/connector/src/main/java/org/apache/manifoldcf/crawler/authorities/DCTM/AuthorityConnector.java (original)
+++ manifoldcf/trunk/connectors/documentum/connector/src/main/java/org/apache/manifoldcf/crawler/authorities/DCTM/AuthorityConnector.java Sat Mar 30 08:26:55 2013
@@ -62,6 +62,8 @@ public class AuthorityConnector extends
/** Cache manager. */
protected ICacheManager cacheManager = null;
+ // Set if we have set up session parameters necessary for caching
+ protected boolean hasSessionParameters = false;
// This is the DFC session; it may be null, or it may be set.
protected IDocumentum session = null;
protected long lastSessionFetch = -1L;
@@ -129,23 +131,23 @@ public class AuthorityConnector extends
}
}
- /** Get a DFC session. This will be done every time it is needed.
+ /** Get session parameters.
*/
- protected void getSession()
+ protected void getSessionParameters()
throws ManifoldCFException
{
- try
+ if (!hasSessionParameters)
{
- responseLifetime = Long.parseLong(this.cacheLifetime) * 60L * 1000L;
- LRUsize = Integer.parseInt(this.cacheLRUsize);
- }
- catch (NumberFormatException e)
- {
- throw new ManifoldCFException("Cache lifetime or Cache LRU size must be an integer: "+e.getMessage(),e);
- }
+ try
+ {
+ responseLifetime = Long.parseLong(this.cacheLifetime) * 60L * 1000L;
+ LRUsize = Integer.parseInt(this.cacheLRUsize);
+ }
+ catch (NumberFormatException e)
+ {
+ throw new ManifoldCFException("Cache lifetime or Cache LRU size must be an integer: "+e.getMessage(),e);
+ }
- if (session == null)
- {
// This is the stuff that used to be in connect()
if (docbaseName == null || docbaseName.length() < 1)
throw new ManifoldCFException("Parameter "+CONFIG_PARAM_DOCBASE+" required but not set");
@@ -182,7 +184,18 @@ public class AuthorityConnector extends
Logging.authorityConnectors.debug("DCTM: Use system acls enabled");
}
-
+ hasSessionParameters = true;
+ }
+ }
+
+ /** Get a DFC session. This will be done every time it is needed.
+ */
+ protected void getSession()
+ throws ManifoldCFException
+ {
+ getSessionParameters();
+ if (session == null)
+ {
// This actually sets up the connection
GetSessionThread t = new GetSessionThread();
try
@@ -630,7 +643,7 @@ public class AuthorityConnector extends
Logging.authorityConnectors.debug("DCTM: Inside AuthorityConnector.getAuthorizationResponse for user '"+strUserNamePassedIn+"'");
// We need this in order to be able to properly construct an AuthorizationResponseDescription.
- getSession();
+ getSessionParameters();
// Construct a cache description object
ICacheDescription objectDescription = new AuthorizationResponseDescription(strUserNamePassedIn,docbaseName,userName,password,
@@ -945,6 +958,7 @@ public class AuthorityConnector extends
public void disconnect()
throws ManifoldCFException
{
+ hasSessionParameters = false;
if (session != null)
{
DestroySessionThread t = new DestroySessionThread();
Modified: manifoldcf/trunk/connectors/documentum/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/DCTM/DCTM.java
URL: http://svn.apache.org/viewvc/manifoldcf/trunk/connectors/documentum/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/DCTM/DCTM.java?rev=1462716&r1=1462715&r2=1462716&view=diff
==============================================================================
--- manifoldcf/trunk/connectors/documentum/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/DCTM/DCTM.java (original)
+++ manifoldcf/trunk/connectors/documentum/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/DCTM/DCTM.java Sat Mar 30 08:26:55 2013
@@ -56,6 +56,7 @@ public class DCTM extends org.apache.man
protected String domain = null;
protected String webtopBaseURL = null;
+ protected boolean hasSessionParameters = false;
protected IDocumentum session = null;
protected long lastSessionFetch = -1L;
@@ -98,12 +99,12 @@ public class DCTM extends org.apache.man
}
}
- /** Get a DFC session. This will be done every time it is needed.
+ /** Establish session parameters.
*/
- protected void getSession()
- throws ManifoldCFException, ServiceInterruption
+ protected void getSessionParameters()
+ throws ManifoldCFException
{
- if (session == null)
+ if (!hasSessionParameters)
{
// Perform basic parameter checking, and debug output.
if (docbaseName == null || docbaseName.length() < 1)
@@ -132,6 +133,18 @@ public class DCTM extends org.apache.man
else
Logging.connectors.debug("DCTM: Domain = '" + domain + "'");
+ hasSessionParameters = true;
+ }
+ }
+
+ /** Get a DFC session. This will be done every time it is needed.
+ */
+ protected void getSession()
+ throws ManifoldCFException, ServiceInterruption
+ {
+ getSessionParameters();
+ if (session == null)
+ {
long currentTime;
GetSessionThread t = new GetSessionThread();
try
@@ -646,6 +659,7 @@ public class DCTM extends org.apache.man
public void disconnect()
throws ManifoldCFException
{
+ hasSessionParameters = false;
if (session != null)
{
DestroySessionThread t = new DestroySessionThread();