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 2014/06/10 01:19:10 UTC
svn commit: r1601529 [2/6] - in /manifoldcf/trunk: ./ connectors/
connectors/nulltransformation/
framework/agents/src/main/java/org/apache/manifoldcf/agents/
framework/agents/src/main/java/org/apache/manifoldcf/agents/incrementalingest/
framework/agent...
Modified: manifoldcf/trunk/framework/agents/src/main/java/org/apache/manifoldcf/agents/interfaces/IIncrementalIngester.java
URL: http://svn.apache.org/viewvc/manifoldcf/trunk/framework/agents/src/main/java/org/apache/manifoldcf/agents/interfaces/IIncrementalIngester.java?rev=1601529&r1=1601528&r2=1601529&view=diff
==============================================================================
--- manifoldcf/trunk/framework/agents/src/main/java/org/apache/manifoldcf/agents/interfaces/IIncrementalIngester.java (original)
+++ manifoldcf/trunk/framework/agents/src/main/java/org/apache/manifoldcf/agents/interfaces/IIncrementalIngester.java Mon Jun 9 23:19:08 2014
@@ -68,6 +68,30 @@ public interface IIncrementalIngester
public String getOutputDescription(String outputConnectionName, OutputSpecification spec)
throws ManifoldCFException, ServiceInterruption;
+ /** Get transformation version strings for a document.
+ *@param transformationConnectionNames are the names of the transformation connections associated with this action.
+ *@param specs are the transformation specifications.
+ *@return the description strings.
+ */
+ public String[] getTransformationDescriptions(String[] transformationConnectionNames, OutputSpecification[] specs)
+ throws ManifoldCFException, ServiceInterruption;
+
+ /** Check if a mime type is indexable.
+ *@param transformationConnectionNames is the ordered list of transformation connection names.
+ *@param transformationDescriptions is the ordered list of transformation description strings.
+ *@param outputConnectionName is the name of the output connection associated with this action.
+ *@param outputDescription is the output description string.
+ *@param mimeType is the mime type to check.
+ *@param activity are the activities available to this method.
+ *@return true if the mimeType is indexable.
+ */
+ public boolean checkMimeTypeIndexable(
+ String[] transformationConnectionNames, String[] transformationDescriptions,
+ String outputConnectionName, String outputDescription,
+ String mimeType,
+ IOutputCheckActivity activity)
+ throws ManifoldCFException, ServiceInterruption;
+
/** Check if a mime type is indexable.
*@param outputConnectionName is the name of the output connection associated with this action.
*@param outputDescription is the output description string.
@@ -78,6 +102,22 @@ public interface IIncrementalIngester
throws ManifoldCFException, ServiceInterruption;
/** Check if a file is indexable.
+ *@param transformationConnectionNames is the ordered list of transformation connection names.
+ *@param transformationDescriptions is the ordered list of transformation description strings.
+ *@param outputConnectionName is the name of the output connection associated with this action.
+ *@param outputDescription is the output description string.
+ *@param localFile is the local file to check.
+ *@param activity are the activities available to this method.
+ *@return true if the local file is indexable.
+ */
+ public boolean checkDocumentIndexable(
+ String[] transformationConnectionNames, String[] transformationDescriptions,
+ String outputConnectionName, String outputDescription,
+ File localFile,
+ IOutputCheckActivity activity)
+ throws ManifoldCFException, ServiceInterruption;
+
+ /** Check if a file is indexable.
*@param outputConnectionName is the name of the output connection associated with this action.
*@param outputDescription is the output description string.
*@param localFile is the local file to check.
@@ -88,6 +128,23 @@ public interface IIncrementalIngester
/** Pre-determine whether a document's length is indexable by this connector. This method is used by participating repository connectors
* to help filter out documents that are too long to be indexable.
+ *@param transformationConnectionNames is the ordered list of transformation connection names.
+ *@param transformationDescriptions is the ordered list of transformation description strings.
+ *@param outputConnectionName is the name of the output connection associated with this action.
+ *@param outputDescription is the output description string.
+ *@param length is the length of the document.
+ *@param activity are the activities available to this method.
+ *@return true if the file is indexable.
+ */
+ public boolean checkLengthIndexable(
+ String[] transformationConnectionNames, String[] transformationDescriptions,
+ String outputConnectionName, String outputDescription,
+ long length,
+ IOutputCheckActivity activity)
+ throws ManifoldCFException, ServiceInterruption;
+
+ /** Pre-determine whether a document's length is indexable by this connector. This method is used by participating repository connectors
+ * to help filter out documents that are too long to be indexable.
*@param outputConnectionName is the name of the output connection associated with this action.
*@param outputDescription is the output description string.
*@param length is the length of the document.
@@ -98,6 +155,23 @@ public interface IIncrementalIngester
/** Pre-determine whether a document's URL is indexable by this connector. This method is used by participating repository connectors
* to help filter out documents that not indexable.
+ *@param transformationConnectionNames is the ordered list of transformation connection names.
+ *@param transformationDescriptions is the ordered list of transformation description strings.
+ *@param outputConnectionName is the name of the output connection associated with this action.
+ *@param outputDescription is the output description string.
+ *@param url is the url of the document.
+ *@param activity are the activities available to this method.
+ *@return true if the file is indexable.
+ */
+ public boolean checkURLIndexable(
+ String[] transformationConnectionNames, String[] transformationDescriptions,
+ String outputConnectionName, String outputDescription,
+ String url,
+ IOutputCheckActivity activity)
+ throws ManifoldCFException, ServiceInterruption;
+
+ /** Pre-determine whether a document's URL is indexable by this connector. This method is used by participating repository connectors
+ * to help filter out documents that not indexable.
*@param outputConnectionName is the name of the output connection associated with this action.
*@param outputDescription is the output description string.
*@param url is the url of the document.
@@ -178,6 +252,44 @@ public interface IIncrementalIngester
IOutputActivity activities)
throws ManifoldCFException, ServiceInterruption;
+ /** Ingest a document.
+ * This ingests the document, and notes it. If this is a repeat ingestion of the document, this
+ * method also REMOVES ALL OLD METADATA. When complete, the index will contain only the metadata
+ * described by the RepositoryDocument object passed to this method.
+ * ServiceInterruption is thrown if the document ingestion must be rescheduled.
+ *@param transformationConnectionNames are the names of the transformation connections associated with this action.
+ *@param transformationDescriptionStrings are the description strings corresponding to the transformation connection names.
+ *@param outputConnectionName is the name of the output connection associated with this action.
+ *@param otuputDescriptionString is the description string corresponding to the output connection.
+ *@param identifierClass is the name of the space in which the identifier hash should be interpreted.
+ *@param identifierHash is the hashed document identifier.
+ *@param documentVersion is the document version.
+ *@param transformationVersion is the version string for the transformations to be performed on the document.
+ *@param outputVersion is the output version string for the output connection.
+ *@param parameterVersion is the version string for the forced parameters.
+ *@param authorityName is the name of the authority associated with the document, if any.
+ *@param data is the document data. The data is closed after ingestion is complete.
+ *@param ingestTime is the time at which the ingestion took place, in milliseconds since epoch.
+ *@param documentURI is the URI of the document, which will be used as the key of the document in the index.
+ *@param activities is an object providing a set of methods that the implementer can use to perform the operation.
+ *@return true if the ingest was ok, false if the ingest is illegal (and should not be repeated).
+ */
+ public boolean documentIngest(
+ String[] transformationConnectionNames,
+ String[] transformationDescriptionStrings,
+ String outputConnectionName,
+ String outputDescriptionString,
+ String identifierClass, String identifierHash,
+ String documentVersion,
+ String transformationVersion,
+ String outputVersion,
+ String parameterVersion,
+ String authorityName,
+ RepositoryDocument data,
+ long ingestTime, String documentURI,
+ IOutputActivity activities)
+ throws ManifoldCFException, ServiceInterruption;
+
/** Note the fact that we checked a document (and found that it did not need to be ingested, because the
* versions agreed).
*@param outputConnectionName is the name of the output connection associated with this action.
Modified: manifoldcf/trunk/framework/agents/src/main/java/org/apache/manifoldcf/agents/interfaces/IOutputAddActivity.java
URL: http://svn.apache.org/viewvc/manifoldcf/trunk/framework/agents/src/main/java/org/apache/manifoldcf/agents/interfaces/IOutputAddActivity.java?rev=1601529&r1=1601528&r2=1601529&view=diff
==============================================================================
--- manifoldcf/trunk/framework/agents/src/main/java/org/apache/manifoldcf/agents/interfaces/IOutputAddActivity.java (original)
+++ manifoldcf/trunk/framework/agents/src/main/java/org/apache/manifoldcf/agents/interfaces/IOutputAddActivity.java Mon Jun 9 23:19:08 2014
@@ -24,17 +24,17 @@ import org.apache.manifoldcf.agents.inte
/** This interface abstracts from the activities that an output connector can do
when adding or replacing documents.
*/
-public interface IOutputAddActivity extends IOutputHistoryActivity
+public interface IOutputAddActivity extends IOutputQualifyActivity,IOutputHistoryActivity,IOutputCheckActivity
{
public static final String _rcsid = "@(#)$Id: IOutputAddActivity.java 988245 2010-08-23 18:39:35Z kwright $";
- /** Qualify an access token appropriately, to match access tokens as returned by mod_aa. This method
- * includes the authority name with the access token, if any, so that each authority may establish its own token space.
- *@param authorityNameString is the name of the authority to use to qualify the access token.
- *@param accessToken is the raw, repository access token.
- *@return the properly qualified access token.
+ /** Send a document via the pipeline to the next output connection.
+ *@param documentURI is the document's URI.
+ *@param document is the document data to be processed (handed to the output data store).
+ *@param authorityNameString is the authority name string that should be used to qualify the document's access tokens.
+ *@return the document status (accepted or permanently rejected); return codes are listed in IPipelineConnector.
*/
- public String qualifyAccessToken(String authorityNameString, String accessToken)
- throws ManifoldCFException;
+ public int sendDocument(String documentURI, RepositoryDocument document, String authorityNameString)
+ throws ManifoldCFException, ServiceInterruption;
}
Modified: manifoldcf/trunk/framework/agents/src/main/java/org/apache/manifoldcf/agents/interfaces/IOutputConnector.java
URL: http://svn.apache.org/viewvc/manifoldcf/trunk/framework/agents/src/main/java/org/apache/manifoldcf/agents/interfaces/IOutputConnector.java?rev=1601529&r1=1601528&r2=1601529&view=diff
==============================================================================
--- manifoldcf/trunk/framework/agents/src/main/java/org/apache/manifoldcf/agents/interfaces/IOutputConnector.java (original)
+++ manifoldcf/trunk/framework/agents/src/main/java/org/apache/manifoldcf/agents/interfaces/IOutputConnector.java Mon Jun 9 23:19:08 2014
@@ -46,17 +46,10 @@ import java.util.*;
* Connector Framework is concerned).
*
*/
-public interface IOutputConnector extends IConnector
+public interface IOutputConnector extends IPipelineConnector
{
public static final String _rcsid = "@(#)$Id: IOutputConnector.java 998081 2010-09-17 11:33:15Z kwright $";
- // Document statuses
-
- /** Document accepted */
- public final static int DOCUMENTSTATUS_ACCEPTED = 0;
- /** Document permanently rejected */
- public final static int DOCUMENTSTATUS_REJECTED = 1;
-
/** 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.
@@ -73,75 +66,6 @@ public interface IOutputConnector extend
public boolean requestInfo(Configuration output, String command)
throws ManifoldCFException;
-
- /** Get an output version string, given an output specification. The output version string is used to uniquely describe the pertinent details of
- * the output specification and the configuration, to allow the Connector Framework to determine whether a document will need to be output again.
- * Note that the contents of the document cannot be considered by this method, and that a different version string (defined in IRepositoryConnector)
- * is used to describe the version of the actual document.
- *
- * This method presumes that the connector object has been configured, and it is thus able to communicate with the output data store should that be
- * necessary.
- *@param spec is the current output specification for the job that is doing the crawling.
- *@return a string, of unlimited length, which uniquely describes output configuration and specification in such a way that if two such strings are equal,
- * the document will not need to be sent again to the output data store.
- */
- public String getOutputDescription(OutputSpecification spec)
- throws ManifoldCFException, ServiceInterruption;
-
- /** Detect if a mime type is indexable or not. This method is used by participating repository connectors to pre-filter the number of
- * unusable documents that will be passed to this output connector.
- *@param outputDescription is the document's output version.
- *@param mimeType is the mime type of the document.
- *@return true if the mime type is indexable by this connector.
- */
- public boolean checkMimeTypeIndexable(String outputDescription, String mimeType)
- throws ManifoldCFException, ServiceInterruption;
-
- /** Pre-determine whether a document (passed here as a File object) is indexable by this connector. This method is used by participating
- * repository connectors to help reduce the number of unmanageable documents that are passed to this output connector in advance of an
- * actual transfer. This hook is provided mainly to support search engines that only handle a small set of accepted file types.
- *@param outputDescription is the document's output version.
- *@param localFile is the local file to check.
- *@return true if the file is indexable.
- */
- public boolean checkDocumentIndexable(String outputDescription, File localFile)
- throws ManifoldCFException, ServiceInterruption;
-
- /** Pre-determine whether a document's length is indexable by this connector. This method is used by participating repository connectors
- * to help filter out documents that are too long to be indexable.
- *@param outputDescription is the document's output version.
- *@param length is the length of the document.
- *@return true if the file is indexable.
- */
- public boolean checkLengthIndexable(String outputDescription, long length)
- throws ManifoldCFException, ServiceInterruption;
-
- /** Pre-determine whether a document's URL is indexable by this connector. This method is used by participating repository connectors
- * to help filter out documents that are not worth indexing.
- *@param outputDescription is the document's output version.
- *@param url is the URL of the document.
- *@return true if the file is indexable.
- */
- public boolean checkURLIndexable(String outputDescription, String url)
- throws ManifoldCFException, ServiceInterruption;
-
- /** Add (or replace) a document in the output data store using the connector.
- * This method presumes that the connector object has been configured, and it is thus able to communicate with the output data store should that be
- * necessary.
- * The OutputSpecification is *not* provided to this method, because the goal is consistency, and if output is done it must be consistent with the
- * output description, since that was what was partly used to determine if output should be taking place. So it may be necessary for this method to decode
- * an output description string in order to determine what should be done.
- *@param documentURI is the URI of the document. The URI is presumed to be the unique identifier which the output data store will use to process
- * and serve the document. This URI is constructed by the repository connector which fetches the document, and is thus universal across all output connectors.
- *@param outputDescription is the description string that was constructed for this document by the getOutputDescription() method.
- *@param document is the document data to be processed (handed to the output data store).
- *@param authorityNameString is the name of the authority responsible for authorizing any access tokens passed in with the repository document. May be null.
- *@param activities is the handle to an object that the implementer of an output connector may use to perform operations, such as logging processing activity.
- *@return the document status (accepted or permanently rejected).
- */
- public int addOrReplaceDocument(String documentURI, String outputDescription, RepositoryDocument document, String authorityNameString, IOutputAddActivity activities)
- throws ManifoldCFException, ServiceInterruption;
-
/** Remove a document using the connector.
* Note that the last outputDescription is included, since it may be necessary for the connector to use such information to know how to properly remove the document.
*@param documentURI is the URI of the document. The URI is presumed to be the unique identifier which the output data store will use to process
@@ -167,60 +91,8 @@ public interface IOutputConnector extend
public void noteAllRecordsRemoved()
throws ManifoldCFException;
- // UI support methods.
- //
- // 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 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.
- *@param out is the output to which any HTML should be sent.
- *@param locale is the preferred local of the output.
- *@param os is the current output specification for this job.
- *@param tabsArray is an array of tab names. Add to this array any tab names that are specific to the connector.
- */
- public void outputSpecificationHeader(IHTTPOutput out, Locale locale, OutputSpecification os, List<String> tabsArray)
- throws ManifoldCFException, IOException;
-
- /** Output the specification body section.
- * This method is called in the body section of a job page which has selected an output connection of the current type. 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 "editjob".
- *@param out is the output to which any HTML should be sent.
- *@param locale is the preferred local of the output.
- *@param os is the current output specification for this job.
- *@param tabName is the current tab name.
- */
- public void outputSpecificationBody(IHTTPOutput out, Locale locale, OutputSpecification os, String tabName)
- throws ManifoldCFException, IOException;
-
- /** Process a specification post.
- * This method is called at the start of job's edit or view 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 output specification accordingly.
- * The name of the posted form is "editjob".
- *@param variableContext contains the post data, including binary file-upload information.
- *@param locale is the preferred local of the output.
- *@param os is the current output specification for this job.
- *@return null if all is well, or a string error message if there is an error that should prevent saving of the job (and cause a redirection to an error page).
- */
- public String processSpecificationPost(IPostParameters variableContext, Locale locale, OutputSpecification os)
- throws ManifoldCFException;
-
- /** View specification.
- * This method is called in the body section of a job's view page. Its purpose is to present the output specification 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 out is the output to which any HTML should be sent.
- *@param locale is the preferred local of the output.
- *@param os is the current output specification for this job.
- */
- public void viewSpecification(IHTTPOutput out, Locale locale, OutputSpecification os)
- throws ManifoldCFException, IOException;
-
+ // UI support methods are inherited from IConnector and IPipelineConnector.
+
}
Modified: manifoldcf/trunk/framework/agents/src/main/java/org/apache/manifoldcf/agents/interfaces/OutputConnectionManagerFactory.java
URL: http://svn.apache.org/viewvc/manifoldcf/trunk/framework/agents/src/main/java/org/apache/manifoldcf/agents/interfaces/OutputConnectionManagerFactory.java?rev=1601529&r1=1601528&r2=1601529&view=diff
==============================================================================
--- manifoldcf/trunk/framework/agents/src/main/java/org/apache/manifoldcf/agents/interfaces/OutputConnectionManagerFactory.java (original)
+++ manifoldcf/trunk/framework/agents/src/main/java/org/apache/manifoldcf/agents/interfaces/OutputConnectionManagerFactory.java Mon Jun 9 23:19:08 2014
@@ -66,26 +66,23 @@ public class OutputConnectionManagerFact
{
IOutputConnectionManager manager = make(tc);
IOutputConnection[] connections = manager.getAllConnections();
- HashMap map = new HashMap();
- int i = 0;
- while (i < connections.length)
+ Set<String> map = new HashSet();
+ for (IOutputConnection connection : connections)
{
- IOutputConnection connection = connections[i++];
String connectionName = connection.getName();
String[] activities = OutputConnectorFactory.getActivitiesList(tc,connection.getClassName());
- int j = 0;
- while (j < activities.length)
+ for (String activityName : activities)
{
- String activity = activities[j++] + " ("+connectionName+")";
- map.put(activity,activity);
+ String activity = ManifoldCF.qualifyOutputActivityName(activityName,connectionName);
+ map.add(activity);
}
}
String[] rval = new String[map.size()];
- i = 0;
- Iterator iter = map.keySet().iterator();
+ int i = 0;
+ Iterator<String> iter = map.iterator();
while (iter.hasNext())
{
- rval[i++] = (String)iter.next();
+ rval[i++] = iter.next();
}
java.util.Arrays.sort(rval);
return rval;
Modified: manifoldcf/trunk/framework/agents/src/main/java/org/apache/manifoldcf/agents/output/BaseOutputConnector.java
URL: http://svn.apache.org/viewvc/manifoldcf/trunk/framework/agents/src/main/java/org/apache/manifoldcf/agents/output/BaseOutputConnector.java?rev=1601529&r1=1601528&r2=1601529&view=diff
==============================================================================
--- manifoldcf/trunk/framework/agents/src/main/java/org/apache/manifoldcf/agents/output/BaseOutputConnector.java (original)
+++ manifoldcf/trunk/framework/agents/src/main/java/org/apache/manifoldcf/agents/output/BaseOutputConnector.java Mon Jun 9 23:19:08 2014
@@ -81,13 +81,26 @@ public abstract class BaseOutputConnecto
// The base implementation does nothing here.
}
+ /** Detect if a mime type is acceptable or not. This method is used to determine whether it makes sense to fetch a document
+ * in the first place.
+ *@param pipelineDescription is the document's pipeline version string, for this connection.
+ *@param mimeType is the mime type of the document.
+ *@param checkActivity is an object including the activities that can be performed by this method.
+ *@return true if the mime type can be accepted by this connector.
+ */
+ @Override
+ public boolean checkMimeTypeIndexable(String pipelineDescription, String mimeType, IOutputCheckActivity checkActivity)
+ throws ManifoldCFException, ServiceInterruption
+ {
+ return checkMimeTypeIndexable(pipelineDescription, mimeType);
+ }
+
/** Detect if a mime type is indexable or not. This method is used by participating repository connectors to pre-filter the number of
* unusable documents that will be passed to this output connector.
*@param outputDescription is the document's output version.
*@param mimeType is the mime type of the document.
*@return true if the mime type is indexable by this connector.
*/
- @Override
public boolean checkMimeTypeIndexable(String outputDescription, String mimeType)
throws ManifoldCFException, ServiceInterruption
{
@@ -105,6 +118,21 @@ public abstract class BaseOutputConnecto
return true;
}
+ /** Pre-determine whether a document (passed here as a File object) is acceptable or not. This method is
+ * used to determine whether a document needs to be actually transferred. This hook is provided mainly to support
+ * search engines that only handle a small set of accepted file types.
+ *@param pipelineDescription is the document's pipeline version string, for this connection.
+ *@param localFile is the local file to check.
+ *@param checkActivity is an object including the activities that can be done by this method.
+ *@return true if the file is acceptable, false if not.
+ */
+ @Override
+ public boolean checkDocumentIndexable(String pipelineDescription, File localFile, IOutputCheckActivity checkActivity)
+ throws ManifoldCFException, ServiceInterruption
+ {
+ return checkDocumentIndexable(pipelineDescription, localFile);
+ }
+
/** Pre-determine whether a document (passed here as a File object) is indexable by this connector. This method is used by participating
* repository connectors to help reduce the number of unmanageable documents that are passed to this output connector in advance of an
* actual transfer. This hook is provided mainly to support search engines that only handle a small set of accepted file types.
@@ -112,7 +140,6 @@ public abstract class BaseOutputConnecto
*@param localFile is the local file to check.
*@return true if the file is indexable.
*/
- @Override
public boolean checkDocumentIndexable(String outputDescription, File localFile)
throws ManifoldCFException, ServiceInterruption
{
@@ -131,32 +158,76 @@ public abstract class BaseOutputConnecto
return true;
}
+ /** Pre-determine whether a document's length is acceptable. This method is used
+ * to determine whether to fetch a document in the first place.
+ *@param pipelineDescription is the document's pipeline version string, for this connection.
+ *@param length is the length of the document.
+ *@param checkActivity is an object including the activities that can be done by this method.
+ *@return true if the file is acceptable, false if not.
+ */
+ @Override
+ public boolean checkLengthIndexable(String pipelineDescription, long length, IOutputCheckActivity checkActivity)
+ throws ManifoldCFException, ServiceInterruption
+ {
+ return checkLengthIndexable(pipelineDescription, length);
+ }
+
/** Pre-determine whether a document's length is indexable by this connector. This method is used by participating repository connectors
* to help filter out documents that are too long to be indexable.
*@param outputDescription is the document's output version.
*@param length is the length of the document.
*@return true if the file is indexable.
*/
- @Override
public boolean checkLengthIndexable(String outputDescription, long length)
throws ManifoldCFException, ServiceInterruption
{
return true;
}
+ /** Pre-determine whether a document's URL is acceptable. This method is used
+ * to help filter out documents that cannot be indexed in advance.
+ *@param pipelineDescription is the document's pipeline version string, for this connection.
+ *@param url is the URL of the document.
+ *@param checkActivity is an object including the activities that can be done by this method.
+ *@return true if the file is acceptable, false if not.
+ */
+ @Override
+ public boolean checkURLIndexable(String pipelineDescription, String url, IOutputCheckActivity checkActivity)
+ throws ManifoldCFException, ServiceInterruption
+ {
+ return checkURLIndexable(pipelineDescription, url);
+ }
+
/** Pre-determine whether a document's URL is indexable by this connector. This method is used by participating repository connectors
* to help filter out documents that are not worth indexing.
*@param outputDescription is the document's output version.
*@param url is the URL of the document.
*@return true if the file is indexable.
*/
- @Override
public boolean checkURLIndexable(String outputDescription, String url)
throws ManifoldCFException, ServiceInterruption
{
return true;
}
+ /** Get a pipeline version string, given a pipeline specification object. The version string is used to
+ * uniquely describe the pertinent details of the specification and the configuration, to allow the Connector
+ * Framework to determine whether a document will need to be processed again.
+ * Note that the contents of any document cannot be considered by this method; only configuration and specification information
+ * can be considered.
+ *
+ * This method presumes that the underlying connector object has been configured.
+ *@param spec is the current pipeline specification object for this connection for the job that is doing the crawling.
+ *@return a string, of unlimited length, which uniquely describes configuration and specification in such a way that
+ * if two such strings are equal, nothing that affects how or whether the document is indexed will be different.
+ */
+ @Override
+ public String getPipelineDescription(OutputSpecification spec)
+ throws ManifoldCFException, ServiceInterruption
+ {
+ return getOutputDescription(spec);
+ }
+
/** Get an output version string, given an output specification. The output version string is used to uniquely describe the pertinent details of
* the output specification and the configuration, to allow the Connector Framework to determine whether a document will need to be output again.
* Note that the contents of the document cannot be considered by this method, and that a different version string (defined in IRepositoryConnector)
@@ -168,7 +239,6 @@ public abstract class BaseOutputConnecto
*@return a string, of unlimited length, which uniquely describes output configuration and specification in such a way that if two such strings are equal,
* the document will not need to be sent again to the output data store.
*/
- @Override
public String getOutputDescription(OutputSpecification spec)
throws ManifoldCFException, ServiceInterruption
{
@@ -228,16 +298,52 @@ public abstract class BaseOutputConnecto
// 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 specification header section.
+
+ /** Obtain the name of the form check javascript method to call.
+ *@param connectionSequenceNumber is the unique number of this connection within the job.
+ *@return the name of the form check javascript method.
+ */
+ @Override
+ public String getFormCheckJavascriptMethodName(int connectionSequenceNumber)
+ {
+ return "checkOutputSpecification";
+ }
+
+ /** Obtain the name of the form presave check javascript method to call.
+ *@param connectionSequenceNumber is the unique number of this connection within the job.
+ *@return the name of the form presave check javascript method.
+ */
+ @Override
+ public String getFormPresaveCheckJavascriptMethodName(int connectionSequenceNumber)
+ {
+ return "checkOutputSpecificationForSave";
+ }
+
+ /** 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.
*@param out is the output to which any HTML should be sent.
*@param locale is the preferred local of the output.
*@param os is the current output specification for this job.
+ *@param connectionSequenceNumber is the unique number of this connection within the job.
*@param tabsArray is an array of tab names. Add to this array any tab names that are specific to the connector.
*/
@Override
+ public void outputSpecificationHeader(IHTTPOutput out, Locale locale, OutputSpecification os,
+ int connectionSequenceNumber, List<String> tabsArray)
+ throws ManifoldCFException, IOException
+ {
+ outputSpecificationHeader(out,locale,os,tabsArray);
+ }
+
+ /** 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.
+ *@param out is the output to which any HTML should be sent.
+ *@param locale is the preferred local of the output.
+ *@param os is the current output specification for this job.
+ *@param tabsArray is an array of tab names. Add to this array any tab names that are specific to the connector.
+ */
public void outputSpecificationHeader(IHTTPOutput out, Locale locale, OutputSpecification os, List<String> tabsArray)
throws ManifoldCFException, IOException
{
@@ -275,9 +381,27 @@ public abstract class BaseOutputConnecto
*@param out is the output to which any HTML should be sent.
*@param locale is the preferred local of the output.
*@param os is the current output specification for this job.
+ *@param connectionSequenceNumber is the unique number of this connection within the job.
+ *@param actualSequenceNumber is the connection within the job that has currently been selected.
*@param tabName is the current tab name.
*/
@Override
+ public void outputSpecificationBody(IHTTPOutput out, Locale locale, OutputSpecification os,
+ int connectionSequenceNumber, int actualSequenceNumber, String tabName)
+ throws ManifoldCFException, IOException
+ {
+ outputSpecificationBody(out,locale,os,tabName);
+ }
+
+ /** Output the specification body section.
+ * This method is called in the body section of a job page which has selected an output connection of the current type. 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 "editjob".
+ *@param out is the output to which any HTML should be sent.
+ *@param locale is the preferred local of the output.
+ *@param os is the current output specification for this job.
+ *@param tabName is the current tab name.
+ */
public void outputSpecificationBody(IHTTPOutput out, Locale locale, OutputSpecification os, String tabName)
throws ManifoldCFException, IOException
{
@@ -304,9 +428,26 @@ public abstract class BaseOutputConnecto
*@param variableContext contains the post data, including binary file-upload information.
*@param locale is the preferred local of the output.
*@param os is the current output specification for this job.
+ *@param connectionSequenceNumber is the unique number of this connection within the job.
*@return null if all is well, or a string error message if there is an error that should prevent saving of the job (and cause a redirection to an error page).
*/
@Override
+ public String processSpecificationPost(IPostParameters variableContext, Locale locale, OutputSpecification os,
+ int connectionSequenceNumber)
+ throws ManifoldCFException
+ {
+ return processSpecificationPost(variableContext,locale,os);
+ }
+
+ /** Process a specification post.
+ * This method is called at the start of job's edit or view 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 output specification accordingly.
+ * The name of the posted form is "editjob".
+ *@param variableContext contains the post data, including binary file-upload information.
+ *@param locale is the preferred local of the output.
+ *@param os is the current output specification for this job.
+ *@return null if all is well, or a string error message if there is an error that should prevent saving of the job (and cause a redirection to an error page).
+ */
public String processSpecificationPost(IPostParameters variableContext, Locale locale, OutputSpecification os)
throws ManifoldCFException
{
@@ -332,9 +473,24 @@ public abstract class BaseOutputConnecto
* The coder can presume that the HTML that is output from this configuration will be within appropriate <html> and <body> tags.
*@param out is the output to which any HTML should be sent.
*@param locale is the preferred local of the output.
+ *@param connectionSequenceNumber is the unique number of this connection within the job.
*@param os is the current output specification for this job.
*/
@Override
+ public void viewSpecification(IHTTPOutput out, Locale locale, OutputSpecification os,
+ int connectionSequenceNumber)
+ throws ManifoldCFException, IOException
+ {
+ viewSpecification(out,locale,os);
+ }
+
+ /** View specification.
+ * This method is called in the body section of a job's view page. Its purpose is to present the output specification 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 out is the output to which any HTML should be sent.
+ *@param locale is the preferred local of the output.
+ *@param os is the current output specification for this job.
+ */
public void viewSpecification(IHTTPOutput out, Locale locale, OutputSpecification os)
throws ManifoldCFException, IOException
{
Modified: manifoldcf/trunk/framework/agents/src/main/java/org/apache/manifoldcf/agents/outputconnection/OutputConnectionManager.java
URL: http://svn.apache.org/viewvc/manifoldcf/trunk/framework/agents/src/main/java/org/apache/manifoldcf/agents/outputconnection/OutputConnectionManager.java?rev=1601529&r1=1601528&r2=1601529&view=diff
==============================================================================
--- manifoldcf/trunk/framework/agents/src/main/java/org/apache/manifoldcf/agents/outputconnection/OutputConnectionManager.java (original)
+++ manifoldcf/trunk/framework/agents/src/main/java/org/apache/manifoldcf/agents/outputconnection/OutputConnectionManager.java Mon Jun 9 23:19:08 2014
@@ -58,12 +58,10 @@ public class OutputConnectionManager ext
protected final static String maxCountField = "maxcount";
protected final static String configField = "configxml";
- protected static Random random = new Random();
-
// Cache manager
- ICacheManager cacheManager;
+ protected final ICacheManager cacheManager;
// Thread context
- IThreadContext threadContext;
+ protected final IThreadContext threadContext;
/** Constructor.
*@param threadContext is the thread context.
@@ -165,7 +163,7 @@ public class OutputConnectionManager ext
{
int version = ManifoldCF.readDword(is);
if (version != 1)
- throw new java.io.IOException("Unknown repository connection configuration version: "+Integer.toString(version));
+ throw new java.io.IOException("Unknown output connection configuration version: "+Integer.toString(version));
int count = ManifoldCF.readDword(is);
int i = 0;
while (i < count)
Modified: manifoldcf/trunk/framework/agents/src/main/java/org/apache/manifoldcf/agents/system/AgentsDaemon.java
URL: http://svn.apache.org/viewvc/manifoldcf/trunk/framework/agents/src/main/java/org/apache/manifoldcf/agents/system/AgentsDaemon.java?rev=1601529&r1=1601528&r2=1601529&view=diff
==============================================================================
--- manifoldcf/trunk/framework/agents/src/main/java/org/apache/manifoldcf/agents/system/AgentsDaemon.java (original)
+++ manifoldcf/trunk/framework/agents/src/main/java/org/apache/manifoldcf/agents/system/AgentsDaemon.java Mon Jun 9 23:19:08 2014
@@ -173,6 +173,7 @@ public class AgentsDaemon
}
// Done.
OutputConnectorPoolFactory.make(threadContext).flushUnusedConnectors();
+ TransformationConnectorPoolFactory.make(threadContext).flushUnusedConnectors();
}
protected static String getAgentsClassServiceType(String agentClassName)
Modified: manifoldcf/trunk/framework/agents/src/main/java/org/apache/manifoldcf/agents/system/IdleCleanupThread.java
URL: http://svn.apache.org/viewvc/manifoldcf/trunk/framework/agents/src/main/java/org/apache/manifoldcf/agents/system/IdleCleanupThread.java?rev=1601529&r1=1601528&r2=1601529&view=diff
==============================================================================
--- manifoldcf/trunk/framework/agents/src/main/java/org/apache/manifoldcf/agents/system/IdleCleanupThread.java (original)
+++ manifoldcf/trunk/framework/agents/src/main/java/org/apache/manifoldcf/agents/system/IdleCleanupThread.java Mon Jun 9 23:19:08 2014
@@ -55,6 +55,8 @@ public class IdleCleanupThread extends T
ICacheManager cacheManager = CacheManagerFactory.make(threadContext);
// Get the output connector pool handle
IOutputConnectorPool outputConnectorPool = OutputConnectorPoolFactory.make(threadContext);
+ // Get the transformation connector pool handle
+ ITransformationConnectorPool transformationConnectorPool = TransformationConnectorPoolFactory.make(threadContext);
// Throttler subsystem
IThrottleGroups throttleGroups = ThrottleGroupsFactory.make(threadContext);
@@ -90,6 +92,7 @@ public class IdleCleanupThread extends T
// Do the cleanup
outputConnectorPool.pollAllConnectors();
+ transformationConnectorPool.pollAllConnectors();
// Poll connection bins
throttleGroups.poll();
// Expire objects
Modified: manifoldcf/trunk/framework/agents/src/main/java/org/apache/manifoldcf/agents/system/ManifoldCF.java
URL: http://svn.apache.org/viewvc/manifoldcf/trunk/framework/agents/src/main/java/org/apache/manifoldcf/agents/system/ManifoldCF.java?rev=1601529&r1=1601528&r2=1601529&view=diff
==============================================================================
--- manifoldcf/trunk/framework/agents/src/main/java/org/apache/manifoldcf/agents/system/ManifoldCF.java (original)
+++ manifoldcf/trunk/framework/agents/src/main/java/org/apache/manifoldcf/agents/system/ManifoldCF.java Mon Jun 9 23:19:08 2014
@@ -107,9 +107,13 @@ public class ManifoldCF extends org.apac
IIncrementalIngester igstmgr = IncrementalIngesterFactory.make(threadcontext);
IOutputConnectorManager outputConnMgr = OutputConnectorManagerFactory.make(threadcontext);
IOutputConnectionManager outputConnectionManager = OutputConnectionManagerFactory.make(threadcontext);
+ ITransformationConnectorManager transConnMgr = TransformationConnectorManagerFactory.make(threadcontext);
+ ITransformationConnectionManager transConnectionManager = TransformationConnectionManagerFactory.make(threadcontext);
mgr.install();
outputConnMgr.install();
outputConnectionManager.install();
+ transConnMgr.install();
+ transConnectionManager.install();
igstmgr.install();
}
@@ -123,7 +127,11 @@ public class ManifoldCF extends org.apac
IIncrementalIngester igstmgr = IncrementalIngesterFactory.make(threadcontext);
IOutputConnectorManager outputConnMgr = OutputConnectorManagerFactory.make(threadcontext);
IOutputConnectionManager outputConnectionManager = OutputConnectionManagerFactory.make(threadcontext);
+ ITransformationConnectorManager transConnMgr = TransformationConnectorManagerFactory.make(threadcontext);
+ ITransformationConnectionManager transConnectionManager = TransformationConnectionManagerFactory.make(threadcontext);
igstmgr.deinstall();
+ transConnectionManager.deinstall();
+ transConnMgr.deinstall();
outputConnectionManager.deinstall();
outputConnMgr.deinstall();
mgr.deinstall();
@@ -163,6 +171,26 @@ public class ManifoldCF extends org.apac
AgentManagerFactory.noteOutputConnectionChange(threadContext,connectionName);
}
+ /** Qualify output activity name.
+ *@param outputActivityName is the name of the output activity.
+ *@param outputConnectionName is the corresponding name of the output connection.
+ *@return the qualified (global) activity name.
+ */
+ public static String qualifyOutputActivityName(String outputActivityName, String outputConnectionName)
+ {
+ return outputActivityName+" ("+outputConnectionName+")";
+ }
+
+ /** Qualify transformation activity name.
+ *@param transformationActivityName is the name of the output activity.
+ *@param transformationConnectionName is the corresponding name of the transformation connection.
+ *@return the qualified (global) activity name.
+ */
+ public static String qualifyTransformationActivityName(String transformationActivityName, String transformationConnectionName)
+ {
+ return transformationActivityName+" ["+transformationConnectionName+"]";
+ }
+
// Helper methods for API support. These are made public so connectors can use them to implement the executeCommand method.
// These are the universal node types.
Modified: manifoldcf/trunk/framework/api-service/src/main/java/org/apache/manifoldcf/apiservice/IdleCleanupThread.java
URL: http://svn.apache.org/viewvc/manifoldcf/trunk/framework/api-service/src/main/java/org/apache/manifoldcf/apiservice/IdleCleanupThread.java?rev=1601529&r1=1601528&r2=1601529&view=diff
==============================================================================
--- manifoldcf/trunk/framework/api-service/src/main/java/org/apache/manifoldcf/apiservice/IdleCleanupThread.java (original)
+++ manifoldcf/trunk/framework/api-service/src/main/java/org/apache/manifoldcf/apiservice/IdleCleanupThread.java Mon Jun 9 23:19:08 2014
@@ -56,6 +56,7 @@ public class IdleCleanupThread extends T
IRepositoryConnectorPool repositoryConnectorPool = RepositoryConnectorPoolFactory.make(threadContext);
IOutputConnectorPool outputConnectorPool = OutputConnectorPoolFactory.make(threadContext);
+ ITransformationConnectorPool transformationConnectorPool = TransformationConnectorPoolFactory.make(threadContext);
IAuthorityConnectorPool authorityConnectorPool = AuthorityConnectorPoolFactory.make(threadContext);
IMappingConnectorPool mappingConnectorPool = MappingConnectorPoolFactory.make(threadContext);
@@ -70,6 +71,7 @@ public class IdleCleanupThread extends T
// Do the cleanup
repositoryConnectorPool.pollAllConnectors();
outputConnectorPool.pollAllConnectors();
+ transformationConnectorPool.pollAllConnectors();
authorityConnectorPool.pollAllConnectors();
mappingConnectorPool.pollAllConnectors();
Modified: manifoldcf/trunk/framework/buildfiles/connector-build.xml
URL: http://svn.apache.org/viewvc/manifoldcf/trunk/framework/buildfiles/connector-build.xml?rev=1601529&r1=1601528&r2=1601529&view=diff
==============================================================================
--- manifoldcf/trunk/framework/buildfiles/connector-build.xml (original)
+++ manifoldcf/trunk/framework/buildfiles/connector-build.xml Mon Jun 9 23:19:08 2014
@@ -809,6 +809,25 @@
<target name="general-add-output-connector" depends="general-add-output-connector-commented,general-add-output-connector-non-commented,general-add-output-connector-proprietary-commented,general-add-output-connector-proprietary-non-commented">
</target>
+ <target name="general-add-transformation-connector-commented" depends="general-connector-runnable-check" unless="is-runnable">
+ <replace file="${mcf-dist}/connectors.xml" token="<!-- Add your transformation connectors here -->" value="<!-- Add your transformation connectors here -->
 <!--transformationconnector name="${connector-label}" class="${connector-class}"/-->"/>
+ </target>
+
+ <target name="general-add-transformation-connector-non-commented" depends="general-connector-runnable-check" if="is-runnable">
+ <replace file="${mcf-dist}/connectors.xml" token="<!-- Add your transformation connectors here -->" value="<!-- Add your transformation connectors here -->
 <transformationconnector name="${connector-label}" class="${connector-class}"/>"/>
+ </target>
+
+ <target name="general-add-transformation-connector-proprietary-commented" depends="general-connector-proprietary-runnable-check" unless="is-proprietary-runnable">
+ <replace file="${mcf-dist}/connectors-proprietary.xml" token="<!-- Add your transformation connectors here -->" value="<!-- Add your transformation connectors here -->
 <!--transformationconnector name="${connector-label}" class="${connector-class}"/-->"/>
+ </target>
+
+ <target name="general-add-transformation-connector-proprietary-non-commented" depends="general-connector-proprietary-runnable-check" if="is-proprietary-runnable">
+ <replace file="${mcf-dist}/connectors-proprietary.xml" token="<!-- Add your transformation connectors here -->" value="<!-- Add your transformation connectors here -->
 <transformationconnector name="${connector-label}" class="${connector-class}"/>"/>
+ </target>
+
+ <target name="general-add-transformation-connector" depends="general-add-transformation-connector-commented,general-add-transformation-connector-non-commented,general-add-transformation-connector-proprietary-commented,general-add-transformation-connector-proprietary-non-commented">
+ </target>
+
<target name="general-add-repository-connector-commented" depends="general-connector-runnable-check" unless="is-runnable">
<replace file="${mcf-dist}/connectors.xml" token="<!-- Add your repository connectors here -->" value="<!-- Add your repository connectors here -->
 <!--repositoryconnector name="${connector-label}" class="${connector-class}"/-->"/>
</target>
Modified: manifoldcf/trunk/framework/combined-service/src/main/java/org/apache/manifoldcf/combinedservice/IdleCleanupThread.java
URL: http://svn.apache.org/viewvc/manifoldcf/trunk/framework/combined-service/src/main/java/org/apache/manifoldcf/combinedservice/IdleCleanupThread.java?rev=1601529&r1=1601528&r2=1601529&view=diff
==============================================================================
--- manifoldcf/trunk/framework/combined-service/src/main/java/org/apache/manifoldcf/combinedservice/IdleCleanupThread.java (original)
+++ manifoldcf/trunk/framework/combined-service/src/main/java/org/apache/manifoldcf/combinedservice/IdleCleanupThread.java Mon Jun 9 23:19:08 2014
@@ -56,6 +56,7 @@ public class IdleCleanupThread extends T
IRepositoryConnectorPool repositoryConnectorPool = RepositoryConnectorPoolFactory.make(threadContext);
IOutputConnectorPool outputConnectorPool = OutputConnectorPoolFactory.make(threadContext);
+ ITransformationConnectorPool transformationConnectorPool = TransformationConnectorPoolFactory.make(threadContext);
IAuthorityConnectorPool authorityConnectorPool = AuthorityConnectorPoolFactory.make(threadContext);
IMappingConnectorPool mappingConnectorPool = MappingConnectorPoolFactory.make(threadContext);
@@ -70,6 +71,7 @@ public class IdleCleanupThread extends T
// Do the cleanup
repositoryConnectorPool.pollAllConnectors();
outputConnectorPool.pollAllConnectors();
+ transformationConnectorPool.pollAllConnectors();
authorityConnectorPool.pollAllConnectors();
mappingConnectorPool.pollAllConnectors();
Modified: manifoldcf/trunk/framework/crawler-ui/src/main/java/org/apache/manifoldcf/crawlerui/IdleCleanupThread.java
URL: http://svn.apache.org/viewvc/manifoldcf/trunk/framework/crawler-ui/src/main/java/org/apache/manifoldcf/crawlerui/IdleCleanupThread.java?rev=1601529&r1=1601528&r2=1601529&view=diff
==============================================================================
--- manifoldcf/trunk/framework/crawler-ui/src/main/java/org/apache/manifoldcf/crawlerui/IdleCleanupThread.java (original)
+++ manifoldcf/trunk/framework/crawler-ui/src/main/java/org/apache/manifoldcf/crawlerui/IdleCleanupThread.java Mon Jun 9 23:19:08 2014
@@ -56,6 +56,7 @@ public class IdleCleanupThread extends T
IRepositoryConnectorPool repositoryConnectorPool = RepositoryConnectorPoolFactory.make(threadContext);
IOutputConnectorPool outputConnectorPool = OutputConnectorPoolFactory.make(threadContext);
+ ITransformationConnectorPool transformationConnectorPool = TransformationConnectorPoolFactory.make(threadContext);
IAuthorityConnectorPool authorityConnectorPool = AuthorityConnectorPoolFactory.make(threadContext);
IMappingConnectorPool mappingConnectorPool = MappingConnectorPoolFactory.make(threadContext);
@@ -70,6 +71,7 @@ public class IdleCleanupThread extends T
// Do the cleanup
repositoryConnectorPool.pollAllConnectors();
outputConnectorPool.pollAllConnectors();
+ transformationConnectorPool.pollAllConnectors();
authorityConnectorPool.pollAllConnectors();
mappingConnectorPool.pollAllConnectors();
Modified: manifoldcf/trunk/framework/crawler-ui/src/main/webapp/adminDefaults.jsp
URL: http://svn.apache.org/viewvc/manifoldcf/trunk/framework/crawler-ui/src/main/webapp/adminDefaults.jsp?rev=1601529&r1=1601528&r2=1601529&view=diff
==============================================================================
--- manifoldcf/trunk/framework/crawler-ui/src/main/webapp/adminDefaults.jsp (original)
+++ manifoldcf/trunk/framework/crawler-ui/src/main/webapp/adminDefaults.jsp Mon Jun 9 23:19:08 2014
@@ -46,6 +46,3 @@
threadContext.save("__WRAPPER__",variableContext);
}
%>
-
-<!DOCTYPE html>
-<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
Modified: manifoldcf/trunk/framework/crawler-ui/src/main/webapp/adminHeaders.jsp
URL: http://svn.apache.org/viewvc/manifoldcf/trunk/framework/crawler-ui/src/main/webapp/adminHeaders.jsp?rev=1601529&r1=1601528&r2=1601529&view=diff
==============================================================================
--- manifoldcf/trunk/framework/crawler-ui/src/main/webapp/adminHeaders.jsp (original)
+++ manifoldcf/trunk/framework/crawler-ui/src/main/webapp/adminHeaders.jsp Mon Jun 9 23:19:08 2014
@@ -61,5 +61,3 @@ response.setContentType("text/html;chars
}
%>
-<!DOCTYPE html>
-<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
Modified: manifoldcf/trunk/framework/crawler-ui/src/main/webapp/documentstatus.jsp
URL: http://svn.apache.org/viewvc/manifoldcf/trunk/framework/crawler-ui/src/main/webapp/documentstatus.jsp?rev=1601529&r1=1601528&r2=1601529&view=diff
==============================================================================
--- manifoldcf/trunk/framework/crawler-ui/src/main/webapp/documentstatus.jsp (original)
+++ manifoldcf/trunk/framework/crawler-ui/src/main/webapp/documentstatus.jsp Mon Jun 9 23:19:08 2014
@@ -24,9 +24,9 @@ boolean maintenanceUnderway = org.apache
%>
-
-
<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html>
+<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
Modified: manifoldcf/trunk/framework/crawler-ui/src/main/webapp/editauthority.jsp
URL: http://svn.apache.org/viewvc/manifoldcf/trunk/framework/crawler-ui/src/main/webapp/editauthority.jsp?rev=1601529&r1=1601528&r2=1601529&view=diff
==============================================================================
--- manifoldcf/trunk/framework/crawler-ui/src/main/webapp/editauthority.jsp (original)
+++ manifoldcf/trunk/framework/crawler-ui/src/main/webapp/editauthority.jsp Mon Jun 9 23:19:08 2014
@@ -106,6 +106,8 @@
%>
<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html>
+<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
@@ -273,11 +275,33 @@
{
%>
<form class="standardform" name="editconnection" action="execute.jsp" method="POST" enctype="multipart/form-data">
- <input type="hidden" name="op" value="Continue"/>
- <input type="hidden" name="type" value="authority"/>
- <input type="hidden" name="tabname" value='<%=org.apache.manifoldcf.ui.util.Encoder.attributeEscape(tabName)%>'/>
- <input type="hidden" name="isnewconnection" value='<%=(isNew?"true":"false")%>'/>
+ <input type="hidden" name="op" value="Continue"/>
+ <input type="hidden" name="type" value="authority"/>
+ <input type="hidden" name="tabname" value='<%=org.apache.manifoldcf.ui.util.Encoder.attributeEscape(tabName)%>'/>
+ <input type="hidden" name="isnewconnection" value='<%=(isNew?"true":"false")%>'/>
<table class="tabtable">
+ <tr class="tabspacerrow">
+ <td class="spacertab" colspan="<%=tabsArray.size()%>"></td>
+ <td class="remaindertab" rowspan="3">
+<%
+ if (description.length() > 0)
+ {
+%>
+ <nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editauthority.EditAuthority")%> '<%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(description)%>'</nobr>
+<%
+ }
+ else
+ {
+%>
+ <nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editauthority.EditAnAuthority")%></nobr>
+<%
+ }
+%>
+ </td>
+ </tr>
+ <tr class="tabsequencerow">
+ <td class="blanksequencetab" colspan="<%=tabsArray.size()%>"></td>
+ </tr>
<tr class="tabrow">
<%
int tabNum = 0;
@@ -298,22 +322,6 @@
}
}
%>
- <td class="remaindertab">
-<%
- if (description.length() > 0)
- {
-%>
- <nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editauthority.EditAuthority")%> '<%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(description)%>'</nobr>
-<%
- }
- else
- {
-%>
- <nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editauthority.EditAnAuthority")%></nobr>
-<%
- }
-%>
- </td>
</tr>
<tr class="tabbodyrow">
<td class="tabbody" colspan='<%=Integer.toString(tabsArray.size()+1)%>'>
Modified: manifoldcf/trunk/framework/crawler-ui/src/main/webapp/editconnection.jsp
URL: http://svn.apache.org/viewvc/manifoldcf/trunk/framework/crawler-ui/src/main/webapp/editconnection.jsp?rev=1601529&r1=1601528&r2=1601529&view=diff
==============================================================================
--- manifoldcf/trunk/framework/crawler-ui/src/main/webapp/editconnection.jsp (original)
+++ manifoldcf/trunk/framework/crawler-ui/src/main/webapp/editconnection.jsp Mon Jun 9 23:19:08 2014
@@ -104,6 +104,8 @@
%>
<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html>
+<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
@@ -280,11 +282,33 @@
%>
<form class="standardform" name="editconnection" action="execute.jsp" method="POST" enctype="multipart/form-data">
- <input type="hidden" name="op" value="Continue"/>
- <input type="hidden" name="type" value="connection"/>
- <input type="hidden" name="tabname" value='<%=org.apache.manifoldcf.ui.util.Encoder.attributeEscape(tabName)%>'/>
- <input type="hidden" name="isnewconnection" value='<%=(isNew?"true":"false")%>'/>
+ <input type="hidden" name="op" value="Continue"/>
+ <input type="hidden" name="type" value="connection"/>
+ <input type="hidden" name="tabname" value='<%=org.apache.manifoldcf.ui.util.Encoder.attributeEscape(tabName)%>'/>
+ <input type="hidden" name="isnewconnection" value='<%=(isNew?"true":"false")%>'/>
<table class="tabtable">
+ <tr class="tabspacerrow">
+ <td class="spacertab" colspan="<%=tabsArray.size()%>"></td>
+ <td class="remaindertab" rowspan="3">
+<%
+ if (description.length() > 0)
+ {
+%>
+ <nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editconnection.EditConnection")%> '<%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(description)%>'</nobr>
+<%
+ }
+ else
+ {
+%>
+ <nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editconnection.EditAConnection")%></nobr>
+<%
+ }
+%>
+ </td>
+ </tr>
+ <tr class="tabsequencerow">
+ <td class="blanksequencetab" colspan="<%=tabsArray.size()%>"></td>
+ </tr>
<tr class="tabrow">
<%
int tabNum = 0;
@@ -305,22 +329,6 @@
}
}
%>
- <td class="remaindertab">
-<%
- if (description.length() > 0)
- {
-%>
- <nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editconnection.EditConnection")%> '<%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(description)%>'</nobr>
-<%
- }
- else
- {
-%>
- <nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editconnection.EditAConnection")%></nobr>
-<%
- }
-%>
- </td>
</tr>
<tr class="tabbodyrow">
<td class="tabbody" colspan='<%=Integer.toString(tabsArray.size()+1)%>'>
Modified: manifoldcf/trunk/framework/crawler-ui/src/main/webapp/editgroup.jsp
URL: http://svn.apache.org/viewvc/manifoldcf/trunk/framework/crawler-ui/src/main/webapp/editgroup.jsp?rev=1601529&r1=1601528&r2=1601529&view=diff
==============================================================================
--- manifoldcf/trunk/framework/crawler-ui/src/main/webapp/editgroup.jsp (original)
+++ manifoldcf/trunk/framework/crawler-ui/src/main/webapp/editgroup.jsp Mon Jun 9 23:19:08 2014
@@ -72,6 +72,8 @@
%>
<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html>
+<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
@@ -175,6 +177,28 @@
<input type="hidden" name="tabname" value='<%=org.apache.manifoldcf.ui.util.Encoder.attributeEscape(tabName)%>'/>
<input type="hidden" name="isnewconnection" value='<%=(isNew?"true":"false")%>'/>
<table class="tabtable">
+ <tr class="tabspacerrow">
+ <td class="spacertab" colspan="<%=tabsArray.size()%>"></td>
+ <td class="remaindertab" rowspan="3">
+<%
+ if (description.length() > 0)
+ {
+%>
+ <nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editgroup.EditGroup")%> '<%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(description)%>'</nobr>
+<%
+ }
+ else
+ {
+%>
+ <nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editgroup.EditAGroup")%></nobr>
+<%
+ }
+%>
+ </td>
+ </tr>
+ <tr class="tabsequencerow">
+ <td class="blanksequencetab" colspan="<%=tabsArray.size()%>"></td>
+ </tr>
<tr class="tabrow">
<%
int tabNum = 0;
@@ -195,22 +219,6 @@
}
}
%>
- <td class="remaindertab">
-<%
- if (description.length() > 0)
- {
-%>
- <nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editgroup.EditGroup")%> '<%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(description)%>'</nobr>
-<%
- }
- else
- {
-%>
- <nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editgroup.EditAGroup")%></nobr>
-<%
- }
-%>
- </td>
</tr>
<tr class="tabbodyrow">
<td class="tabbody" colspan='<%=Integer.toString(tabsArray.size()+1)%>'>