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 2010/08/09 21:47:21 UTC

svn commit: r983795 - in /incubator/lcf/trunk/modules/framework: agents/org/apache/lcf/agents/interfaces/ agents/org/apache/lcf/agents/output/ core/org/apache/lcf/core/connector/ core/org/apache/lcf/core/interfaces/ pull-agent/org/apache/lcf/authoritie...

Author: kwright
Date: Mon Aug  9 19:47:21 2010
New Revision: 983795

URL: http://svn.apache.org/viewvc?rev=983795&view=rev
Log:
Merge common functionality into core interface and base class; this cuts down on duplication and makes the code easier to read.

Added:
    incubator/lcf/trunk/modules/framework/core/org/apache/lcf/core/connector/
    incubator/lcf/trunk/modules/framework/core/org/apache/lcf/core/connector/BaseConnector.java   (with props)
    incubator/lcf/trunk/modules/framework/core/org/apache/lcf/core/interfaces/IConnector.java   (with props)
Modified:
    incubator/lcf/trunk/modules/framework/agents/org/apache/lcf/agents/interfaces/IOutputConnector.java
    incubator/lcf/trunk/modules/framework/agents/org/apache/lcf/agents/output/BaseOutputConnector.java
    incubator/lcf/trunk/modules/framework/pull-agent/org/apache/lcf/authorities/authorities/BaseAuthorityConnector.java
    incubator/lcf/trunk/modules/framework/pull-agent/org/apache/lcf/authorities/interfaces/IAuthorityConnector.java
    incubator/lcf/trunk/modules/framework/pull-agent/org/apache/lcf/crawler/connectors/BaseRepositoryConnector.java
    incubator/lcf/trunk/modules/framework/pull-agent/org/apache/lcf/crawler/interfaces/IRepositoryConnector.java

Modified: incubator/lcf/trunk/modules/framework/agents/org/apache/lcf/agents/interfaces/IOutputConnector.java
URL: http://svn.apache.org/viewvc/incubator/lcf/trunk/modules/framework/agents/org/apache/lcf/agents/interfaces/IOutputConnector.java?rev=983795&r1=983794&r2=983795&view=diff
==============================================================================
--- incubator/lcf/trunk/modules/framework/agents/org/apache/lcf/agents/interfaces/IOutputConnector.java (original)
+++ incubator/lcf/trunk/modules/framework/agents/org/apache/lcf/agents/interfaces/IOutputConnector.java Mon Aug  9 19:47:21 2010
@@ -46,7 +46,7 @@ import java.util.*;
 * Connector Framework is concerned).
 *
 */
-public interface IOutputConnector
+public interface IOutputConnector extends IConnector
 {
   public static final String _rcsid = "@(#)$Id$";
 
@@ -57,68 +57,12 @@ public interface IOutputConnector
   /** Document permanently rejected */
   public final static int DOCUMENTSTATUS_REJECTED = 1;
 
-  /** Install the connector.
-  * This method is called to initialize persistent storage for the connector, such as database tables etc.
-  * It is called when the connector is registered.
-  *@param threadContext is the current thread context.
-  */
-  public void install(IThreadContext threadContext)
-    throws LCFException;
-
-  /** Uninstall the connector.
-  * This method is called to remove persistent storage for the connector, such as database tables etc.
-  * It is called when the connector is deregistered.
-  *@param threadContext is the current thread context.
-  */
-  public void deinstall(IThreadContext threadContext)
-    throws LCFException;
-
   /** Return a list of activities that this connector generates.
+  * The connector does NOT need to be connected before this method is called.
   *@return the set of activities.
   */
   public String[] getActivitiesList();
 
-  /** Connect.  The configuration parameters are included.
-  *@param configParams are the configuration parameters for this connection.
-  * Note well: There are no exceptions allowed from this call, since it is expected to mainly establish connection parameters.
-  */
-  public void connect(ConfigParams configParams);
-
-  // All methods below this line will ONLY be called if a connect() call succeeded
-  // on this instance!
-
-  /** Test the connection.  Returns a string describing the connection integrity.
-  *@return the connection's status as a displayable string.
-  */
-  public String check()
-    throws LCFException;
-
-  /** This method is periodically called for all connectors that are connected but not
-  * in active use.
-  */
-  public void poll()
-    throws LCFException;
-
-  /** Close the connection.  Call this before discarding the repository connector.
-  */
-  public void disconnect()
-    throws LCFException;
-
-  /** Clear out any state information specific to a given thread.
-  * This method is called when this object is returned to the connection pool.
-  */
-  public void clearThreadContext();
-
-  /** Attach to a new thread.
-  *@param threadContext is the new thread context.
-  */
-  public void setThreadContext(IThreadContext threadContext);
-
-  /** Get configuration information.
-  *@return the configuration information for this connector.
-  */
-  public ConfigParams getConfiguration();
-
   /** Execute an arbitrary connector command.
   * This method is called directly from the API in order to allow API users to perform any one of several connector-specific actions or
   * queries.
@@ -190,57 +134,13 @@ public interface IOutputConnector
 
   // UI support methods.
   //
-  // These support methods come in two varieties.  The first bunch is involved in setting up connection configuration information.  The second bunch
+  // These support methods come in two varieties.  The first bunch (inherited from IConnector) is involved in setting up connection configuration information.
+  // The second bunch
   // is involved in presenting and editing output specification information for a job.  The two kinds of methods are accordingly treated differently,
   // in that the first bunch cannot assume that the current connector object is connected, while the second bunch can.  That is why the first bunch
   // receives a thread context argument for all UI methods, while the second bunch does not need one (since it has already been applied via the connect()
   // method, above).
     
-  /** Output 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.
-  *@param threadContext is the local thread context.
-  *@param out is the output to which any HTML should be sent.
-  *@param parameters are the configuration parameters, as they currently exist, for this connection being configured.
-  *@param tabsArray is an array of tab names.  Add to this array any tab names that are specific to the connector.
-  */
-  public void outputConfigurationHeader(IThreadContext threadContext, IHTTPOutput out, ConfigParams parameters, ArrayList tabsArray)
-    throws LCFException, IOException;
-  
-  /** Output the configuration body section.
-  * This method is called in the body section of the 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".
-  *@param threadContext is the local thread context.
-  *@param out is the output to which any HTML should be sent.
-  *@param parameters are the configuration parameters, as they currently exist, for this connection being configured.
-  *@param tabName is the current tab name.
-  */
-  public void outputConfigurationBody(IThreadContext threadContext, IHTTPOutput out, ConfigParams parameters, String tabName)
-    throws LCFException, IOException;
-  
-  /** Process a configuration post.
-  * This method is called at the start of the 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".
-  *@param threadContext is the local thread context.
-  *@param variableContext is the set of variables available from the post, including binary file post information.
-  *@param parameters are the configuration parameters, as they currently exist, for this connection being configured.
-  *@return 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).
-  */
-  public String processConfigurationPost(IThreadContext threadContext, IPostParameters variableContext, ConfigParams parameters)
-    throws LCFException;
-  
-  /** View configuration.
-  * This method is called in the body section of the 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.
-  *@param threadContext is the local thread context.
-  *@param out is the output to which any HTML should be sent.
-  *@param parameters are the configuration parameters, as they currently exist, for this connection being configured.
-  */
-  public void viewConfiguration(IThreadContext threadContext, IHTTPOutput out, ConfigParams parameters)
-    throws LCFException, IOException;
-  
   /** Output the specification header section.
   * This method is called in the head section of a job page which has selected an output connection of the current type.  Its purpose is to add the required tabs
   * to the list, and to output any javascript methods that might be needed by the job editing HTML.

Modified: incubator/lcf/trunk/modules/framework/agents/org/apache/lcf/agents/output/BaseOutputConnector.java
URL: http://svn.apache.org/viewvc/incubator/lcf/trunk/modules/framework/agents/org/apache/lcf/agents/output/BaseOutputConnector.java?rev=983795&r1=983794&r2=983795&view=diff
==============================================================================
--- incubator/lcf/trunk/modules/framework/agents/org/apache/lcf/agents/output/BaseOutputConnector.java (original)
+++ incubator/lcf/trunk/modules/framework/agents/org/apache/lcf/agents/output/BaseOutputConnector.java Mon Aug  9 19:47:21 2010
@@ -41,37 +41,10 @@ import java.util.*;
 * capabilities.
 *
 */
-public abstract class BaseOutputConnector implements IOutputConnector
+public abstract class BaseOutputConnector extends org.apache.lcf.core.connector.BaseConnector implements IOutputConnector
 {
   public static final String _rcsid = "@(#)$Id$";
 
-  // Config params
-  protected ConfigParams params = null;
-
-  // Current thread context
-  protected IThreadContext currentContext = null;
-
-  /** Install the connector.
-  * This method is called to initialize persistent storage for the connector, such as database tables etc.
-  * It is called when the connector is registered.
-  *@param threadContext is the current thread context.
-  */
-  public void install(IThreadContext threadContext)
-    throws LCFException
-  {
-    // Base install does nothing
-  }
-
-  /** Uninstall the connector.
-  * This method is called to remove persistent storage for the connector, such as database tables etc.
-  * It is called when the connector is deregistered.
-  *@param threadContext is the current thread context.
-  */
-  public void deinstall(IThreadContext threadContext)
-    throws LCFException
-  {
-    // Base uninstall does nothing
-  }
 
   /** Return the list of activities that this connector supports (i.e. writes into the log).
   *@return the list.
@@ -81,68 +54,6 @@ public abstract class BaseOutputConnecto
     return new String[0];
   }
 
-  /** Connect.  The configuration parameters are included.
-  *@param configParams are the configuration parameters for this connection.
-  */
-  public void connect(ConfigParams configParams)
-  {
-    params = configParams;
-  }
-
-  // All methods below this line will ONLY be called if a connect() call succeeded
-  // on this instance!
-
-  /** Test the connection.  Returns a string describing the connection integrity.
-  *@return the connection's status as a displayable string.
-  */
-  public String check()
-    throws LCFException
-  {
-    // Base version returns "OK" status.
-    return "Connection working";
-  }
-
-  /** This method is periodically called for all connectors that are connected but not
-  * in active use.
-  */
-  public void poll()
-    throws LCFException
-  {
-    // Base version does nothing
-  }
-
-  /** Close the connection.  Call this before discarding the repository connector.
-  */
-  public void disconnect()
-    throws LCFException
-  {
-    params = null;
-  }
-
-  /** Clear out any state information specific to a given thread.
-  * This method is called when this object is returned to the connection pool.
-  */
-  public void clearThreadContext()
-  {
-    currentContext = null;
-  }
-
-  /** Attach to a new thread.
-  *@param threadContext is the new thread context.
-  */
-  public void setThreadContext(IThreadContext threadContext)
-  {
-    currentContext = threadContext;
-  }
-
-  /** Get configuration information.
-  *@return the configuration information for this class.
-  */
-  public ConfigParams getConfiguration()
-  {
-    return params;
-  }
-
   /** Execute an arbitrary connector command.
   * This method is called directly from the API in order to allow API users to perform any one of several connector-specific actions or
   * queries.
@@ -189,60 +100,7 @@ public abstract class BaseOutputConnecto
   // receives a thread context argument for all UI methods, while the second bunch does not need one (since it has already been applied via the connect()
   // method, above).
     
-  /** Output 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.
-  *@param threadContext is the local thread context.
-  *@param out is the output to which any HTML should be sent.
-  *@param parameters are the configuration parameters, as they currently exist, for this connection being configured.
-  *@param tabsArray is an array of tab names.  Add to this array any tab names that are specific to the connector.
-  */
-  public void outputConfigurationHeader(IThreadContext threadContext, IHTTPOutput out, ConfigParams parameters, ArrayList tabsArray)
-    throws LCFException, IOException
-  {
-  }
-  
-  /** Output the configuration body section.
-  * This method is called in the body section of the 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".
-  *@param threadContext is the local thread context.
-  *@param out is the output to which any HTML should be sent.
-  *@param parameters are the configuration parameters, as they currently exist, for this connection being configured.
-  *@param tabName is the current tab name.
-  */
-  public void outputConfigurationBody(IThreadContext threadContext, IHTTPOutput out, ConfigParams parameters, String tabName)
-    throws LCFException, IOException
-  {
-  }
-  
-  /** Process a configuration post.
-  * This method is called at the start of the 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".
-  *@param threadContext is the local thread context.
-  *@param variableContext is the set of variables available from the post, including binary file post information.
-  *@param parameters are the configuration parameters, as they currently exist, for this connection being configured.
-  *@return 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).
-  */
-  public String processConfigurationPost(IThreadContext threadContext, IPostParameters variableContext, ConfigParams parameters)
-    throws LCFException
-  {
-    return null;
-  }
-  
-  /** View configuration.
-  * This method is called in the body section of the 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.
-  *@param threadContext is the local thread context.
-  *@param out is the output to which any HTML should be sent.
-  *@param parameters are the configuration parameters, as they currently exist, for this connection being configured.
-  */
-  public void viewConfiguration(IThreadContext threadContext, IHTTPOutput out, ConfigParams parameters)
-    throws LCFException, IOException
-  {
-  }
-  
+ 
   /** Output the specification header section.
   * This method is called in the head section of a job page which has selected an output connection of the current type.  Its purpose is to add the required tabs
   * to the list, and to output any javascript methods that might be needed by the job editing HTML.

Added: incubator/lcf/trunk/modules/framework/core/org/apache/lcf/core/connector/BaseConnector.java
URL: http://svn.apache.org/viewvc/incubator/lcf/trunk/modules/framework/core/org/apache/lcf/core/connector/BaseConnector.java?rev=983795&view=auto
==============================================================================
--- incubator/lcf/trunk/modules/framework/core/org/apache/lcf/core/connector/BaseConnector.java (added)
+++ incubator/lcf/trunk/modules/framework/core/org/apache/lcf/core/connector/BaseConnector.java Mon Aug  9 19:47:21 2010
@@ -0,0 +1,175 @@
+/* $Id$ */
+
+/**
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements. See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License. You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package org.apache.lcf.core.connector;
+
+import org.apache.lcf.core.interfaces.*;
+import java.io.*;
+import java.util.*;
+
+/** This base class underlies all connector implementations.
+*/
+public abstract class BaseConnector implements IConnector
+{
+  public static final String _rcsid = "@(#)$Id$";
+
+  // Config params
+  protected ConfigParams params = null;
+
+  // Current thread context
+  protected IThreadContext currentContext = null;
+
+  /** Install the connector.
+  * This method is called to initialize persistent storage for the connector, such as database tables etc.
+  * It is called when the connector is registered.
+  *@param threadContext is the current thread context.
+  */
+  public void install(IThreadContext threadContext)
+    throws LCFException
+  {
+    // Base install does nothing
+  }
+
+  /** Uninstall the connector.
+  * This method is called to remove persistent storage for the connector, such as database tables etc.
+  * It is called when the connector is deregistered.
+  *@param threadContext is the current thread context.
+  */
+  public void deinstall(IThreadContext threadContext)
+    throws LCFException
+  {
+    // Base uninstall does nothing
+  }
+
+  /** Connect.  The configuration parameters are included.
+  *@param configParams are the configuration parameters for this connection.
+  */
+  public void connect(ConfigParams configParams)
+  {
+    params = configParams;
+  }
+
+  // All methods below this line will ONLY be called if a connect() call succeeded
+  // on this instance!
+
+  /** Test the connection.  Returns a string describing the connection integrity.
+  *@return the connection's status as a displayable string.
+  */
+  public String check()
+    throws LCFException
+  {
+    // Base version returns "OK" status.
+    return "Connection working";
+  }
+
+  /** This method is periodically called for all connectors that are connected but not
+  * in active use.
+  */
+  public void poll()
+    throws LCFException
+  {
+    // Base version does nothing
+  }
+
+  /** Close the connection.  Call this before discarding the repository connector.
+  */
+  public void disconnect()
+    throws LCFException
+  {
+    params = null;
+  }
+
+  /** Clear out any state information specific to a given thread.
+  * This method is called when this object is returned to the connection pool.
+  */
+  public void clearThreadContext()
+  {
+    currentContext = null;
+  }
+
+  /** Attach to a new thread.
+  *@param threadContext is the new thread context.
+  */
+  public void setThreadContext(IThreadContext threadContext)
+  {
+    currentContext = threadContext;
+  }
+
+  /** Get configuration information.
+  *@return the configuration information for this class.
+  */
+  public ConfigParams getConfiguration()
+  {
+    return params;
+  }
+
+  /** Output 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.
+  *@param threadContext is the local thread context.
+  *@param out is the output to which any HTML should be sent.
+  *@param parameters are the configuration parameters, as they currently exist, for this connection being configured.
+  *@param tabsArray is an array of tab names.  Add to this array any tab names that are specific to the connector.
+  */
+  public void outputConfigurationHeader(IThreadContext threadContext, IHTTPOutput out, ConfigParams parameters, ArrayList tabsArray)
+    throws LCFException, IOException
+  {
+  }
+  
+  /** Output the configuration body section.
+  * This method is called in the body section of the 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".
+  *@param threadContext is the local thread context.
+  *@param out is the output to which any HTML should be sent.
+  *@param parameters are the configuration parameters, as they currently exist, for this connection being configured.
+  *@param tabName is the current tab name.
+  */
+  public void outputConfigurationBody(IThreadContext threadContext, IHTTPOutput out, ConfigParams parameters, String tabName)
+    throws LCFException, IOException
+  {
+  }
+  
+  /** Process a configuration post.
+  * This method is called at the start of the 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".
+  *@param threadContext is the local thread context.
+  *@param variableContext is the set of variables available from the post, including binary file post information.
+  *@param parameters are the configuration parameters, as they currently exist, for this connection being configured.
+  *@return 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).
+  */
+  public String processConfigurationPost(IThreadContext threadContext, IPostParameters variableContext, ConfigParams parameters)
+    throws LCFException
+  {
+    return null;
+  }
+  
+  /** View configuration.
+  * This method is called in the body section of the 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.
+  *@param threadContext is the local thread context.
+  *@param out is the output to which any HTML should be sent.
+  *@param parameters are the configuration parameters, as they currently exist, for this connection being configured.
+  */
+  public void viewConfiguration(IThreadContext threadContext, IHTTPOutput out, ConfigParams parameters)
+    throws LCFException, IOException
+  {
+  }
+
+}
\ No newline at end of file

Propchange: incubator/lcf/trunk/modules/framework/core/org/apache/lcf/core/connector/BaseConnector.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/lcf/trunk/modules/framework/core/org/apache/lcf/core/connector/BaseConnector.java
------------------------------------------------------------------------------
    svn:keywords = Id

Added: incubator/lcf/trunk/modules/framework/core/org/apache/lcf/core/interfaces/IConnector.java
URL: http://svn.apache.org/viewvc/incubator/lcf/trunk/modules/framework/core/org/apache/lcf/core/interfaces/IConnector.java?rev=983795&view=auto
==============================================================================
--- incubator/lcf/trunk/modules/framework/core/org/apache/lcf/core/interfaces/IConnector.java (added)
+++ incubator/lcf/trunk/modules/framework/core/org/apache/lcf/core/interfaces/IConnector.java Mon Aug  9 19:47:21 2010
@@ -0,0 +1,138 @@
+/* $Id$ */
+
+/**
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements. See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License. You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package org.apache.lcf.core.interfaces;
+
+import java.io.*;
+import java.util.*;
+
+/** This interface represents the base methods every configurable connector needs.
+* Connector instances are pooled, so that session setup does not need to be done repeatedly.  The
+* pool is segregated by specific sets of configuration parameters.
+*/
+public interface IConnector
+{
+
+  /** Install the connector.
+  * This method is called to initialize persistent storage for the connector, such as database tables etc.
+  * It is called when the connector is registered.
+  *@param threadContext is the current thread context.
+  */
+  public void install(IThreadContext threadContext)
+    throws LCFException;
+
+  /** Uninstall the connector.
+  * This method is called to remove persistent storage for the connector, such as database tables etc.
+  * It is called when the connector is deregistered.
+  *@param threadContext is the current thread context.
+  */
+  public void deinstall(IThreadContext threadContext)
+    throws LCFException;
+
+  /** Connect.  The configuration parameters are included.
+  *@param configParams are the configuration parameters for this connection.
+  */
+  public void connect(ConfigParams configParams);
+
+  // All methods below this line will ONLY be called if a connect() call succeeded
+  // on this instance!
+
+  /** Test the connection.  Returns a string describing the connection integrity.
+  *@return the connection's status as a displayable string.
+  */
+  public String check()
+    throws LCFException;
+
+  /** This method is periodically called for all connectors that are connected but not
+  * in active use.
+  */
+  public void poll()
+    throws LCFException;
+
+  /** Close the connection.  Call this before discarding the repository connector.
+  */
+  public void disconnect()
+    throws LCFException;
+
+  /** Get configuration information.
+  *@return the configuration information for this class.
+  */
+  public ConfigParams getConfiguration();
+
+  /** Clear out any state information specific to a given thread.
+  * This method is called when this object is returned to the connection pool.
+  */
+  public void clearThreadContext();
+
+  /** Attach to a new thread.
+  *@param threadContext is the new thread context.
+  */
+  public void setThreadContext(IThreadContext threadContext);
+
+
+  // UI support methods.
+  //
+  // These support methods are involved in setting up connection configuration information. The configuration methods cannot assume that the
+  // current connector is connected.  That is why they receive a thread context argument.
+
+  /** Output 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.
+  *@param threadContext is the local thread context.
+  *@param out is the output to which any HTML should be sent.
+  *@param parameters are the configuration parameters, as they currently exist, for this connection being configured.
+  *@param tabsArray is an array of tab names.  Add to this array any tab names that are specific to the connector.
+  */
+  public void outputConfigurationHeader(IThreadContext threadContext, IHTTPOutput out, ConfigParams parameters, ArrayList tabsArray)
+    throws LCFException, IOException;
+  
+  /** Output 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".
+  *@param threadContext is the local thread context.
+  *@param out is the output to which any HTML should be sent.
+  *@param parameters are the configuration parameters, as they currently exist, for this connection being configured.
+  *@param tabName is the current tab name.
+  */
+  public void outputConfigurationBody(IThreadContext threadContext, IHTTPOutput out, ConfigParams parameters, String tabName)
+    throws LCFException, IOException;
+  
+  /** Process 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".
+  *@param threadContext is the local thread context.
+  *@param variableContext is the set of variables available from the post, including binary file post information.
+  *@param parameters are the configuration parameters, as they currently exist, for this connection being configured.
+  *@return 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).
+  */
+  public String processConfigurationPost(IThreadContext threadContext, IPostParameters variableContext, ConfigParams parameters)
+    throws LCFException;
+  
+  /** View 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.
+  *@param threadContext is the local thread context.
+  *@param out is the output to which any HTML should be sent.
+  *@param parameters are the configuration parameters, as they currently exist, for this connection being configured.
+  */
+  public void viewConfiguration(IThreadContext threadContext, IHTTPOutput out, ConfigParams parameters)
+    throws LCFException, IOException;
+
+}
\ No newline at end of file

Propchange: incubator/lcf/trunk/modules/framework/core/org/apache/lcf/core/interfaces/IConnector.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/lcf/trunk/modules/framework/core/org/apache/lcf/core/interfaces/IConnector.java
------------------------------------------------------------------------------
    svn:keywords = Id

Modified: incubator/lcf/trunk/modules/framework/pull-agent/org/apache/lcf/authorities/authorities/BaseAuthorityConnector.java
URL: http://svn.apache.org/viewvc/incubator/lcf/trunk/modules/framework/pull-agent/org/apache/lcf/authorities/authorities/BaseAuthorityConnector.java?rev=983795&r1=983794&r2=983795&view=diff
==============================================================================
--- incubator/lcf/trunk/modules/framework/pull-agent/org/apache/lcf/authorities/authorities/BaseAuthorityConnector.java (original)
+++ incubator/lcf/trunk/modules/framework/pull-agent/org/apache/lcf/authorities/authorities/BaseAuthorityConnector.java Mon Aug  9 19:47:21 2010
@@ -30,101 +30,10 @@ import java.io.*;
 * An instance of this interface provides this functionality.  Authority connector instances are pooled, so that session
 * setup does not need to be done repeatedly.  The pool is segregated by specific sets of configuration parameters.
 */
-public abstract class BaseAuthorityConnector implements IAuthorityConnector
+public abstract class BaseAuthorityConnector extends org.apache.lcf.core.connector.BaseConnector implements IAuthorityConnector
 {
   public static final String _rcsid = "@(#)$Id$";
 
-  // Config params
-  protected ConfigParams params = null;
-
-  // Current thread context
-  protected IThreadContext currentContext = null;
-
-  /** Install the connector.
-  * This method is called to initialize persistent storage for the connector, such as database tables etc.
-  * It is called when the connector is registered.
-  *@param threadContext is the current thread context.
-  */
-  public void install(IThreadContext threadContext)
-    throws LCFException
-  {
-    // Base version does nothing.
-  }
-
-
-  /** Uninstall the connector.
-  * This method is called to remove persistent storage for the connector, such as database tables etc.
-  * It is called when the connector is deregistered.
-  *@param threadContext is the current thread context.
-  */
-  public void deinstall(IThreadContext threadContext)
-    throws LCFException
-  {
-    // Base version does nothing.
-  }
-
-  /** Connect.  The configuration parameters are included.
-  *@param configParams are the configuration parameters for this connection.
-  */
-  public void connect(ConfigParams configParams)
-  {
-    params = configParams;
-  }
-
-
-  // All methods below this line will ONLY be called if a connect() call succeeded
-  // on this instance!
-
-  /** Test the connection.  Returns a string describing the connection integrity.
-  *@return the connection's status as a displayable string.
-  */
-  public String check()
-    throws LCFException
-  {
-    return "Connection working";
-  }
-
-  /** This method is periodically called for all connectors that are connected but not
-  * in active use.
-  */
-  public void poll()
-    throws LCFException
-  {
-    // Base version does nothing.
-  }
-
-  /** Close the connection.  Call this before discarding the repository connector.
-  */
-  public void disconnect()
-    throws LCFException
-  {
-    params = null;
-  }
-
-  /** Get configuration information.
-  *@return the configuration information for this class.
-  */
-  public ConfigParams getConfiguration()
-  {
-    return params;
-  }
-
-  /** Clear out any state information specific to a given thread.
-  * This method is called when this object is returned to the connection pool.
-  */
-  public void clearThreadContext()
-  {
-    currentContext = null;
-  }
-
-  /** Attach to a new thread.
-  *@param threadContext is the new thread context.
-  */
-  public void setThreadContext(IThreadContext threadContext)
-  {
-    currentContext = threadContext;
-  }
-
   /** Obtain the access tokens for a given user name.
   *@param userName is the user name or identifier.
   *@return the response tokens (according to the current authority).
@@ -189,58 +98,4 @@ public abstract class BaseAuthorityConne
     return null;
   }
 
-  /** Output 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.
-  *@param threadContext is the local thread context.
-  *@param out is the output to which any HTML should be sent.
-  *@param parameters are the configuration parameters, as they currently exist, for this connection being configured.
-  *@param tabsArray is an array of tab names.  Add to this array any tab names that are specific to the connector.
-  */
-  public void outputConfigurationHeader(IThreadContext threadContext, IHTTPOutput out, ConfigParams parameters, ArrayList tabsArray)
-    throws LCFException, IOException
-  {
-  }
-  
-  /** Output 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".
-  *@param threadContext is the local thread context.
-  *@param out is the output to which any HTML should be sent.
-  *@param parameters are the configuration parameters, as they currently exist, for this connection being configured.
-  *@param tabName is the current tab name.
-  */
-  public void outputConfigurationBody(IThreadContext threadContext, IHTTPOutput out, ConfigParams parameters, String tabName)
-    throws LCFException, IOException
-  {
-  }
-  
-  /** Process 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".
-  *@param threadContext is the local thread context.
-  *@param variableContext is the set of variables available from the post, including binary file post information.
-  *@param parameters are the configuration parameters, as they currently exist, for this connection being configured.
-  *@return 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).
-  */
-  public String processConfigurationPost(IThreadContext threadContext, IPostParameters variableContext, ConfigParams parameters)
-    throws LCFException
-  {
-    return null;
-  }
-  
-  /** View 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.
-  *@param threadContext is the local thread context.
-  *@param out is the output to which any HTML should be sent.
-  *@param parameters are the configuration parameters, as they currently exist, for this connection being configured.
-  */
-  public void viewConfiguration(IThreadContext threadContext, IHTTPOutput out, ConfigParams parameters)
-    throws LCFException, IOException
-  {
-  }
-
 }

Modified: incubator/lcf/trunk/modules/framework/pull-agent/org/apache/lcf/authorities/interfaces/IAuthorityConnector.java
URL: http://svn.apache.org/viewvc/incubator/lcf/trunk/modules/framework/pull-agent/org/apache/lcf/authorities/interfaces/IAuthorityConnector.java?rev=983795&r1=983794&r2=983795&view=diff
==============================================================================
--- incubator/lcf/trunk/modules/framework/pull-agent/org/apache/lcf/authorities/interfaces/IAuthorityConnector.java (original)
+++ incubator/lcf/trunk/modules/framework/pull-agent/org/apache/lcf/authorities/interfaces/IAuthorityConnector.java Mon Aug  9 19:47:21 2010
@@ -29,65 +29,9 @@ import java.io.*;
 * An instance of this interface provides this functionality.  Authority connector instances are pooled, so that session
 * setup does not need to be done repeatedly.  The pool is segregated by specific sets of configuration parameters.
 */
-public interface IAuthorityConnector
+public interface IAuthorityConnector extends IConnector
 {
 
-  /** Install the connector.
-  * This method is called to initialize persistent storage for the connector, such as database tables etc.
-  * It is called when the connector is registered.
-  *@param threadContext is the current thread context.
-  */
-  public void install(IThreadContext threadContext)
-    throws LCFException;
-
-  /** Uninstall the connector.
-  * This method is called to remove persistent storage for the connector, such as database tables etc.
-  * It is called when the connector is deregistered.
-  *@param threadContext is the current thread context.
-  */
-  public void deinstall(IThreadContext threadContext)
-    throws LCFException;
-
-  /** Connect.  The configuration parameters are included.
-  *@param configParams are the configuration parameters for this connection.
-  */
-  public void connect(ConfigParams configParams);
-
-  // All methods below this line will ONLY be called if a connect() call succeeded
-  // on this instance!
-
-  /** Test the connection.  Returns a string describing the connection integrity.
-  *@return the connection's status as a displayable string.
-  */
-  public String check()
-    throws LCFException;
-
-  /** This method is periodically called for all connectors that are connected but not
-  * in active use.
-  */
-  public void poll()
-    throws LCFException;
-
-  /** Close the connection.  Call this before discarding the repository connector.
-  */
-  public void disconnect()
-    throws LCFException;
-
-  /** Get configuration information.
-  *@return the configuration information for this class.
-  */
-  public ConfigParams getConfiguration();
-
-  /** Clear out any state information specific to a given thread.
-  * This method is called when this object is returned to the connection pool.
-  */
-  public void clearThreadContext();
-
-  /** Attach to a new thread.
-  *@param threadContext is the new thread context.
-  */
-  public void setThreadContext(IThreadContext threadContext);
-
   /** Obtain the access tokens for a given user name.
   *@param userName is the user name or identifier.
   *@return the response tokens (according to the current authority).
@@ -102,54 +46,4 @@ public interface IAuthorityConnector
   */
   public AuthorizationResponse getDefaultAuthorizationResponse(String userName);
 
-  // UI support methods.
-  //
-  // These support methods are involved in setting up authority connection configuration information. The configuration methods cannot assume that the
-  // current authority object is connected.  That is why they receive a thread context argument.
-    
-  /** Output 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.
-  *@param threadContext is the local thread context.
-  *@param out is the output to which any HTML should be sent.
-  *@param parameters are the configuration parameters, as they currently exist, for this connection being configured.
-  *@param tabsArray is an array of tab names.  Add to this array any tab names that are specific to the connector.
-  */
-  public void outputConfigurationHeader(IThreadContext threadContext, IHTTPOutput out, ConfigParams parameters, ArrayList tabsArray)
-    throws LCFException, IOException;
-  
-  /** Output 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".
-  *@param threadContext is the local thread context.
-  *@param out is the output to which any HTML should be sent.
-  *@param parameters are the configuration parameters, as they currently exist, for this connection being configured.
-  *@param tabName is the current tab name.
-  */
-  public void outputConfigurationBody(IThreadContext threadContext, IHTTPOutput out, ConfigParams parameters, String tabName)
-    throws LCFException, IOException;
-  
-  /** Process 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".
-  *@param threadContext is the local thread context.
-  *@param variableContext is the set of variables available from the post, including binary file post information.
-  *@param parameters are the configuration parameters, as they currently exist, for this connection being configured.
-  *@return 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).
-  */
-  public String processConfigurationPost(IThreadContext threadContext, IPostParameters variableContext, ConfigParams parameters)
-    throws LCFException;
-  
-  /** View 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.
-  *@param threadContext is the local thread context.
-  *@param out is the output to which any HTML should be sent.
-  *@param parameters are the configuration parameters, as they currently exist, for this connection being configured.
-  */
-  public void viewConfiguration(IThreadContext threadContext, IHTTPOutput out, ConfigParams parameters)
-    throws LCFException, IOException;
-
 }

Modified: incubator/lcf/trunk/modules/framework/pull-agent/org/apache/lcf/crawler/connectors/BaseRepositoryConnector.java
URL: http://svn.apache.org/viewvc/incubator/lcf/trunk/modules/framework/pull-agent/org/apache/lcf/crawler/connectors/BaseRepositoryConnector.java?rev=983795&r1=983794&r2=983795&view=diff
==============================================================================
--- incubator/lcf/trunk/modules/framework/pull-agent/org/apache/lcf/crawler/connectors/BaseRepositoryConnector.java (original)
+++ incubator/lcf/trunk/modules/framework/pull-agent/org/apache/lcf/crawler/connectors/BaseRepositoryConnector.java Mon Aug  9 19:47:21 2010
@@ -56,16 +56,10 @@ import java.util.*;
 * This method will not be called if the document version seems to indicate that no document change took
 * place.
 */
-public abstract class BaseRepositoryConnector implements IRepositoryConnector
+public abstract class BaseRepositoryConnector extends org.apache.lcf.core.connector.BaseConnector implements IRepositoryConnector
 {
   public static final String _rcsid = "@(#)$Id$";
 
-  // Config params
-  protected ConfigParams params = null;
-
-  // Current thread context
-  protected IThreadContext currentContext = null;
-
   /** Tell the world what model this connector uses for getDocumentIdentifiers().
   * This must return a model value as specified above.
   *@return the model type value.
@@ -76,28 +70,6 @@ public abstract class BaseRepositoryConn
     return MODEL_ALL;
   }
 
-  /** Install the connector.
-  * This method is called to initialize persistent storage for the connector, such as database tables etc.
-  * It is called when the connector is registered.
-  *@param threadContext is the current thread context.
-  */
-  public void install(IThreadContext threadContext)
-    throws LCFException
-  {
-    // Base install does nothing
-  }
-
-  /** Uninstall the connector.
-  * This method is called to remove persistent storage for the connector, such as database tables etc.
-  * It is called when the connector is deregistered.
-  *@param threadContext is the current thread context.
-  */
-  public void deinstall(IThreadContext threadContext)
-    throws LCFException
-  {
-    // Base uninstall does nothing
-  }
-
   /** Return the list of activities that this connector supports (i.e. writes into the log).
   *@return the list.
   */
@@ -115,61 +87,6 @@ public abstract class BaseRepositoryConn
     return new String[0];
   }
 
-  /** Connect.  The configuration parameters are included.
-  *@param configParams are the configuration parameters for this connection.
-  */
-  public void connect(ConfigParams configParams)
-  {
-    params = configParams;
-  }
-
-  // All methods below this line will ONLY be called if a connect() call succeeded
-  // on this instance!
-
-  /** Test the connection.  Returns a string describing the connection integrity.
-  *@return the connection's status as a displayable string.
-  */
-  public String check()
-    throws LCFException
-  {
-    // Base version returns "OK" status.
-    return "Connection working";
-  }
-
-  /** This method is periodically called for all connectors that are connected but not
-  * in active use.
-  */
-  public void poll()
-    throws LCFException
-  {
-    // Base version does nothing
-  }
-
-  /** Close the connection.  Call this before discarding the repository connector.
-  */
-  public void disconnect()
-    throws LCFException
-  {
-    params = null;
-  }
-
-  /** Clear out any state information specific to a given thread.
-  * This method is called when this object is returned to the connection pool.
-  */
-  public void clearThreadContext()
-  {
-    currentContext = null;
-  }
-
-  /** Attach to a new thread.
-  *@param threadContext is the new thread context.
-  */
-  public void setThreadContext(IThreadContext threadContext)
-  {
-    currentContext = threadContext;
-  }
-
-
   /** Get the bin name strings for a document identifier.  The bin name describes the queue to which the
   * document will be assigned for throttling purposes.  Throttling controls the rate at which items in a
   * given queue are fetched; it does not say anything about the overall fetch rate, which may operate on
@@ -187,14 +104,6 @@ public abstract class BaseRepositoryConn
     return new String[]{""};
   }
 
-  /** Get configuration information.
-  *@return the configuration information for this class.
-  */
-  public ConfigParams getConfiguration()
-  {
-    return params;
-  }
-
   /** Execute an arbitrary connector command.
   * This method is called directly from the API in order to allow API users to perform any one of several connector-specific actions or
   * queries.
@@ -544,60 +453,6 @@ public abstract class BaseRepositoryConn
   // receives a thread context argument for all UI methods, while the second bunch does not need one (since it has already been applied via the connect()
   // method, above).
     
-  /** Output 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.
-  *@param threadContext is the local thread context.
-  *@param out is the output to which any HTML should be sent.
-  *@param parameters are the configuration parameters, as they currently exist, for this connection being configured.
-  *@param tabsArray is an array of tab names.  Add to this array any tab names that are specific to the connector.
-  */
-  public void outputConfigurationHeader(IThreadContext threadContext, IHTTPOutput out, ConfigParams parameters, ArrayList tabsArray)
-    throws LCFException, IOException
-  {
-  }
-  
-  /** Output the configuration body section.
-  * This method is called in the body section of the 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".
-  *@param threadContext is the local thread context.
-  *@param out is the output to which any HTML should be sent.
-  *@param parameters are the configuration parameters, as they currently exist, for this connection being configured.
-  *@param tabName is the current tab name.
-  */
-  public void outputConfigurationBody(IThreadContext threadContext, IHTTPOutput out, ConfigParams parameters, String tabName)
-    throws LCFException, IOException
-  {
-  }
-  
-  /** Process a configuration post.
-  * This method is called at the start of the 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".
-  *@param threadContext is the local thread context.
-  *@param variableContext is the set of variables available from the post, including binary file post information.
-  *@param parameters are the configuration parameters, as they currently exist, for this connection being configured.
-  *@return 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).
-  */
-  public String processConfigurationPost(IThreadContext threadContext, IPostParameters variableContext, ConfigParams parameters)
-    throws LCFException
-  {
-    return null;
-  }
-  
-  /** View configuration.
-  * This method is called in the body section of the 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.
-  *@param threadContext is the local thread context.
-  *@param out is the output to which any HTML should be sent.
-  *@param parameters are the configuration parameters, as they currently exist, for this connection being configured.
-  */
-  public void viewConfiguration(IThreadContext threadContext, IHTTPOutput out, ConfigParams parameters)
-    throws LCFException, IOException
-  {
-  }
-  
   /** Output the specification header section.
   * This method is called in the head section of a job page which has selected a repository connection of the current type.  Its purpose is to add the required tabs
   * to the list, and to output any javascript methods that might be needed by the job editing HTML.

Modified: incubator/lcf/trunk/modules/framework/pull-agent/org/apache/lcf/crawler/interfaces/IRepositoryConnector.java
URL: http://svn.apache.org/viewvc/incubator/lcf/trunk/modules/framework/pull-agent/org/apache/lcf/crawler/interfaces/IRepositoryConnector.java?rev=983795&r1=983794&r2=983795&view=diff
==============================================================================
--- incubator/lcf/trunk/modules/framework/pull-agent/org/apache/lcf/crawler/interfaces/IRepositoryConnector.java (original)
+++ incubator/lcf/trunk/modules/framework/pull-agent/org/apache/lcf/crawler/interfaces/IRepositoryConnector.java Mon Aug  9 19:47:21 2010
@@ -59,7 +59,7 @@ import java.util.*;
 * is passed to the getDocumentVersions() method, and that object contains methods that are necessary for getDocumentVersions()
 * to do its job.  A similar architecture is used throughout the connector framework.
 */
-public interface IRepositoryConnector
+public interface IRepositoryConnector extends IConnector
 {
   public static final String _rcsid = "@(#)$Id$";
 
@@ -90,99 +90,37 @@ public interface IRepositoryConnector
   public static final int JOBMODE_CONTINUOUS = IJobDescription.TYPE_CONTINUOUS;
 
   /** Tell the world what model this connector uses for getDocumentIdentifiers().
-  * This must return a model value as specified above.
+  * This must return a model value as specified above.  The connector does not have to be connected
+  * for this method to be called.
   *@return the model type value.
   */
   public int getConnectorModel();
 
-  /** Install the connector.
-  * This method is called to initialize persistent storage for the connector, such as database tables etc.
-  * It is called when the connector is registered.
-  *@param threadContext is the current thread context.
-  */
-  public void install(IThreadContext threadContext)
-    throws LCFException;
-
-  /** Uninstall the connector.
-  * This method is called to remove persistent storage for the connector, such as database tables etc.
-  * It is called when the connector is deregistered.
-  *@param threadContext is the current thread context.
-  */
-  public void deinstall(IThreadContext threadContext)
-    throws LCFException;
-
   /** Return the list of activities that this connector supports (i.e. writes into the log).
+  * The connector does not have to be connected for this method to be called.
   *@return the list.
   */
   public String[] getActivitiesList();
 
   /** Return the list of relationship types that this connector recognizes.
+  * The connector does not need to be connected for this method to be called.
   *@return the list.
   */
   public String[] getRelationshipTypes();
 
-  /** Return the path for the UI interface JSP elements.
-  * These JSP's must be provided to allow the connector to be configured, and to
-  * permit it to present document filtering specification information in the UI.
-  * This method should return the name of the folder, under the <webapp>/connectors/
-  * area, where the appropriate JSP's can be found.  The name should NOT have a slash in it.
-  *@return the folder part
-  */
-  public String getJSPFolder();
-
-  /** Connect.  The configuration parameters are included.
-  *@param configParams are the configuration parameters for this connection.
-  * Note well: There are no exceptions allowed from this call, since it is expected to mainly establish connection parameters.
-  */
-  public void connect(ConfigParams configParams);
-
-  // All methods below this line will ONLY be called if a connect() call succeeded
-  // on this instance!
-
-  /** Test the connection.  Returns a string describing the connection integrity.
-  *@return the connection's status as a displayable string.
-  */
-  public String check()
-    throws LCFException;
-
-  /** This method is periodically called for all connectors that are connected but not
-  * in active use.
-  */
-  public void poll()
-    throws LCFException;
-
-  /** Close the connection.  Call this before discarding the repository connector.
-  */
-  public void disconnect()
-    throws LCFException;
-
-  /** Clear out any state information specific to a given thread.
-  * This method is called when this object is returned to the connection pool.
-  */
-  public void clearThreadContext();
-
-  /** Attach to a new thread.
-  *@param threadContext is the new thread context.
-  */
-  public void setThreadContext(IThreadContext threadContext);
-
   /** Get the bin name strings for a document identifier.  The bin name describes the queue to which the
   * document will be assigned for throttling purposes.  Throttling controls the rate at which items in a
   * given queue are fetched; it does not say anything about the overall fetch rate, which may operate on
   * multiple queues or bins.
   * For example, if you implement a web crawler, a good choice of bin name would be the server name, since
   * that is likely to correspond to a real resource that will need real throttle protection.
+  * The connector does not need to be connected for this method to be called.
   *@param documentIdentifier is the document identifier.
   *@return the set of bin names.  If an empty array is returned, it is equivalent to there being no request
   * rate throttling available for this identifier.
   */
   public String[] getBinNames(String documentIdentifier);
 
-  /** Get configuration information.
-  *@return the configuration information for this connector.
-  */
-  public ConfigParams getConfiguration();
-
   /** Execute an arbitrary connector command.
   * This method is called directly from the API in order to allow API users to perform any one of several connector-specific actions or
   * queries.
@@ -274,63 +212,20 @@ public interface IRepositoryConnector
     throws LCFException;
 
   /** Get the maximum number of documents to amalgamate together into one batch, for this connector.
+  * The connector does not need to be connected for this method to be called.
   *@return the maximum number. 0 indicates "unlimited".
   */
   public int getMaxDocumentRequest();
 
   // UI support methods.
   //
-  // These support methods come in two varieties.  The first bunch is involved in setting up connection configuration information.  The second bunch
+  // These support methods come in two varieties.  The first bunch (inherited from IConnector) is involved in setting up connection configuration information.
+  // The second bunch
   // is involved in presenting and editing document specification information for a job.  The two kinds of methods are accordingly treated differently,
   // in that the first bunch cannot assume that the current connector object is connected, while the second bunch can.  That is why the first bunch
   // receives a thread context argument for all UI methods, while the second bunch does not need one (since it has already been applied via the connect()
   // method, above).
     
-  /** Output 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.
-  *@param threadContext is the local thread context.
-  *@param out is the output to which any HTML should be sent.
-  *@param parameters are the configuration parameters, as they currently exist, for this connection being configured.
-  *@param tabsArray is an array of tab names.  Add to this array any tab names that are specific to the connector.
-  */
-  public void outputConfigurationHeader(IThreadContext threadContext, IHTTPOutput out, ConfigParams parameters, ArrayList tabsArray)
-    throws LCFException, IOException;
-  
-  /** Output the configuration body section.
-  * This method is called in the body section of the 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".
-  *@param threadContext is the local thread context.
-  *@param out is the output to which any HTML should be sent.
-  *@param parameters are the configuration parameters, as they currently exist, for this connection being configured.
-  *@param tabName is the current tab name.
-  */
-  public void outputConfigurationBody(IThreadContext threadContext, IHTTPOutput out, ConfigParams parameters, String tabName)
-    throws LCFException, IOException;
-  
-  /** Process a configuration post.
-  * This method is called at the start of the 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".
-  *@param threadContext is the local thread context.
-  *@param variableContext is the set of variables available from the post, including binary file post information.
-  *@param parameters are the configuration parameters, as they currently exist, for this connection being configured.
-  *@return 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).
-  */
-  public String processConfigurationPost(IThreadContext threadContext, IPostParameters variableContext, ConfigParams parameters)
-    throws LCFException;
-  
-  /** View configuration.
-  * This method is called in the body section of the 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.
-  *@param threadContext is the local thread context.
-  *@param out is the output to which any HTML should be sent.
-  *@param parameters are the configuration parameters, as they currently exist, for this connection being configured.
-  */
-  public void viewConfiguration(IThreadContext threadContext, IHTTPOutput out, ConfigParams parameters)
-    throws LCFException, IOException;
-  
   /** Output the specification header section.
   * This method is called in the head section of a job page which has selected a repository connection of the current type.  Its purpose is to add the required tabs
   * to the list, and to output any javascript methods that might be needed by the job editing HTML.