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/07/18 02:49:50 UTC
svn commit: r1611521 - in /manifoldcf/trunk: CHANGES.txt
connectors/alfresco/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/alfresco/AlfrescoRepositoryConnector.java
Author: kwright
Date: Fri Jul 18 00:49:50 2014
New Revision: 1611521
URL: http://svn.apache.org/r1611521
Log:
Fix for CONNECTORS-994.
Modified:
manifoldcf/trunk/CHANGES.txt
manifoldcf/trunk/connectors/alfresco/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/alfresco/AlfrescoRepositoryConnector.java
Modified: manifoldcf/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/manifoldcf/trunk/CHANGES.txt?rev=1611521&r1=1611520&r2=1611521&view=diff
==============================================================================
--- manifoldcf/trunk/CHANGES.txt (original)
+++ manifoldcf/trunk/CHANGES.txt Fri Jul 18 00:49:50 2014
@@ -3,6 +3,10 @@ $Id$
======================= 1.7-dev =====================
+CONNECTORS-994: Make Alfresco connector pay attention to the
+scanOnly flag.
+(Prasad Perera, Karl Wright)
+
CONNECTORS-997: Get CMIS connector working again.
(Karl Wright)
Modified: manifoldcf/trunk/connectors/alfresco/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/alfresco/AlfrescoRepositoryConnector.java
URL: http://svn.apache.org/viewvc/manifoldcf/trunk/connectors/alfresco/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/alfresco/AlfrescoRepositoryConnector.java?rev=1611521&r1=1611520&r2=1611521&view=diff
==============================================================================
--- manifoldcf/trunk/connectors/alfresco/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/alfresco/AlfrescoRepositoryConnector.java (original)
+++ manifoldcf/trunk/connectors/alfresco/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/alfresco/AlfrescoRepositoryConnector.java Fri Jul 18 00:49:50 2014
@@ -898,81 +898,82 @@ public class AlfrescoRepositoryConnector
//a generic node in Alfresco could also have binaries content
if (isDocument) {
- // this is a content to ingest
- InputStream is = null;
- long fileLength = 0;
- try {
- //properties ingestion
- RepositoryDocument rd = new RepositoryDocument();
- List<NamedValue> contentProperties = PropertiesUtils.getContentProperties(properties);
- PropertiesUtils.ingestProperties(rd, properties, contentProperties);
+ if (!scanOnly[i]) {
+ // this is a content to ingest
+ InputStream is = null;
+ long fileLength = 0;
+ try {
+ //properties ingestion
+ RepositoryDocument rd = new RepositoryDocument();
+ List<NamedValue> contentProperties = PropertiesUtils.getContentProperties(properties);
+ PropertiesUtils.ingestProperties(rd, properties, contentProperties);
- // binaries ingestion - in Alfresco we could have more than one binary for each node (custom content models)
- for (NamedValue contentProperty : contentProperties) {
- //we are ingesting all the binaries defined as d:content property in the Alfresco content model
- Content binary = ContentReader.read(endpoint, username, password, socketTimeout, session, predicate, contentProperty.getName());
- fileLength = binary.getLength();
- is = ContentReader.getBinary(endpoint, binary, username, password, socketTimeout, session);
- rd.setBinary(is, fileLength);
-
- //id is the node reference only if the node has an unique content stream
- //For a node with a single d:content property: id = node reference
- String id = PropertiesUtils.getNodeReference(properties);
-
- //For a node with multiple d:content properties: id = node reference;QName
- //The QName of a property of type d:content will be appended to the node reference
- if(contentProperties.size()>1){
- id = id + INGESTION_SEPARATOR_FOR_MULTI_BINARY + contentProperty.getName();
+ // binaries ingestion - in Alfresco we could have more than one binary for each node (custom content models)
+ for (NamedValue contentProperty : contentProperties) {
+ //we are ingesting all the binaries defined as d:content property in the Alfresco content model
+ Content binary = ContentReader.read(endpoint, username, password, socketTimeout, session, predicate, contentProperty.getName());
+ fileLength = binary.getLength();
+ is = ContentReader.getBinary(endpoint, binary, username, password, socketTimeout, session);
+ rd.setBinary(is, fileLength);
+
+ //id is the node reference only if the node has an unique content stream
+ //For a node with a single d:content property: id = node reference
+ String id = PropertiesUtils.getNodeReference(properties);
+
+ //For a node with multiple d:content properties: id = node reference;QName
+ //The QName of a property of type d:content will be appended to the node reference
+ if(contentProperties.size()>1){
+ id = id + INGESTION_SEPARATOR_FOR_MULTI_BINARY + contentProperty.getName();
+ }
+
+ //version label
+ String version = PropertiesUtils.getVersionLabel(properties);
+
+ //the document uri is related to the specific d:content property available in the node
+ //we want to ingest each content stream that are nested in a single node
+ String documentURI = binary.getUrl();
+ activities.ingestDocumentWithException(id, version, documentURI, rd);
}
- //version label
- String version = PropertiesUtils.getVersionLabel(properties);
+ AuthenticationUtils.endSession();
- //the document uri is related to the specific d:content property available in the node
- //we want to ingest each content stream that are nested in a single node
- String documentURI = binary.getUrl();
- activities.ingestDocumentWithException(id, version, documentURI, rd);
- }
-
- AuthenticationUtils.endSession();
-
- } catch (ParseException e) {
- errorCode = "IO ERROR";
- errorDesc = e.getMessage();
- Logging.connectors.warn(
- "Alfresco: Error during the reading process of dates: "
- + e.getMessage(), e);
- handleParseException(e);
- } catch (IOException e) {
- Logging.connectors.warn(
- "Alfresco: IOException: "
- + e.getMessage(), e);
- handleIOException(e);
- } 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) {
+ } catch (ParseException e) {
errorCode = "IO ERROR";
errorDesc = e.getMessage();
Logging.connectors.warn(
- "Alfresco: IOException closing file input stream: "
+ "Alfresco: Error during the reading process of dates: "
+ + e.getMessage(), e);
+ handleParseException(e);
+ } catch (IOException e) {
+ Logging.connectors.warn(
+ "Alfresco: IOException: "
+ e.getMessage(), e);
handleIOException(e);
+ } 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(
+ "Alfresco: IOException closing file input stream: "
+ + e.getMessage(), e);
+ handleIOException(e);
+ }
+
+ session = null;
+
+ activities.recordActivity(new Long(startTime), ACTIVITY_READ,
+ fileLength, nodeReference, errorCode, errorDesc, null);
}
-
- session = null;
-
- activities.recordActivity(new Long(startTime), ACTIVITY_READ,
- fileLength, nodeReference, errorCode, errorDesc, null);
}
-
}
i++;
}