Author: kwright
Date: Tue Jun 17 18:58:18 2014
New Revision: 1603255
URL: http://svn.apache.org/r1603255
Log:
Fix CONNECTORS-966 for CMIS connector
Modified:
manifoldcf/trunk/connectors/cmis/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/cmis/CmisRepositoryConnector.java
Modified:
manifoldcf/trunk/connectors/cmis/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/cmis/CmisRepositoryConnector.java
URL:
http://svn.apache.org/viewvc/manifoldcf/trunk/connectors/cmis/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/cmis/CmisRepositoryConnector.java?rev=1603255&r1=1603254&r2=1603255&view=diff
==============================================================================
---
manifoldcf/trunk/connectors/cmis/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/cmis/CmisRepositoryConnector.java
(original)
+++
manifoldcf/trunk/connectors/cmis/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/cmis/CmisRepositoryConnector.java
Tue Jun 17 18:58:18 2014
@@ -1218,34 +1218,44 @@ public class CmisRepositoryConnector ext
//documentURI
String documentURI =
CmisRepositoryConnectorUtils.getDocumentURL(document, session);
- activities.ingestDocument(id, version, documentURI, rd);
-
+ try {
+ activities.ingestDocumentWithException(id, version, documentURI,
rd);
+ } catch (IOException e) {
+ errorCode = "IO ERROR";
+ errorDesc = e.getMessage();
+ handleIOException(e, "reading file input stream");
+ }
} finally {
try {
if(is!=null){
is.close();
}
- } catch (InterruptedIOException e) {
- errorCode = "Interrupted error";
- errorDesc = e.getMessage();
- throw new ManifoldCFException(e.getMessage(), e,
- ManifoldCFException.INTERRUPTED);
} catch (IOException e) {
errorCode = "IO ERROR";
errorDesc = e.getMessage();
- Logging.connectors.warn(
- "CMIS: IOException closing file input stream: "
- + e.getMessage(), e);
- }
-
- activities.recordActivity(new Long(startTime), ACTIVITY_READ,
+ handleIOException(e, "closing file input stream");
+ } finally {
+ activities.recordActivity(new Long(startTime), ACTIVITY_READ,
fileLength, nodeId, errorCode, errorDesc, null);
+ }
}
}
i++;
}
}
+ protected static void handleIOException(IOException e, String context)
throws ManifoldCFException, ServiceInterruption {
+ if (e instanceof InterruptedIOException) {
+ throw new ManifoldCFException(e.getMessage(), e,
+ ManifoldCFException.INTERRUPTED);
+ } else {
+ Logging.connectors.warn(
+ "CMIS: IOException "+context+": "
+ + e.getMessage(), e);
+ throw new ManifoldCFException(e.getMessage(), e);
+ }
+ }
+
/** The short version of getDocumentVersions.
* Get document versions given an array of document identifiers.
* This method is called for EVERY document that is considered. It is