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.