Author: kwright
Date: Wed Aug  6 14:48:05 2014
New Revision: 1616253

URL: http://svn.apache.org/r1616253
Log:
Fix for CONNECTORS-1003.

Modified:
    manifoldcf/trunk/CHANGES.txt
    
manifoldcf/trunk/connectors/cmis/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/cmis/CmisRepositoryConnector.java

Modified: manifoldcf/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/manifoldcf/trunk/CHANGES.txt?rev=1616253&r1=1616252&r2=1616253&view=diff
==============================================================================
--- manifoldcf/trunk/CHANGES.txt (original)
+++ manifoldcf/trunk/CHANGES.txt Wed Aug  6 14:48:05 2014
@@ -3,6 +3,10 @@ $Id$
 
 ======================= 1.7-dev =====================
 
+CONNECTORS-1003: CMIS connector handling of query string was
+incorrect.
+(Karl Wright)
+
 CONNECTORS-958: Update OpenSearchServer connector to handle
 metadata, and deal with more current versions of OpenSearchServer.
 (Emmanuel Keller)

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=1616253&r1=1616252&r2=1616253&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
 Wed Aug  6 14:48:05 2014
@@ -144,8 +144,6 @@ public class CmisRepositoryConnector ext
   protected static final long timeToRelease = 300000L;
   protected long lastSessionFetch = -1L;
   
-  protected String cmisQuery = StringUtils.EMPTY;
-
   /**
    * Constructor
    */
@@ -661,15 +659,14 @@ public class CmisRepositoryConnector ext
 
     getSession();
 
-    cmisQuery = StringUtils.EMPTY;
-    int i = 0;
-    while (i < spec.getChildCount()) {
+    String cmisQuery = StringUtils.EMPTY;
+    for (int i = 0; i < spec.getChildCount(); i++)
+    {
       SpecificationNode sn = spec.getChild(i);
       if (sn.getType().equals(JOB_STARTPOINT_NODE_TYPE)) {
         cmisQuery = sn.getAttributeValue(CmisConfig.CMIS_QUERY_PARAM);
         break;
       }
-      i++;
     }
 
     if (StringUtils.isEmpty(cmisQuery)) {
@@ -1068,6 +1065,16 @@ public class CmisRepositoryConnector ext
     getSession();
     Logging.connectors.debug("CMIS: Inside processDocuments");
         
+    String cmisQuery = StringUtils.EMPTY;
+    for (int i = 0; i < spec.getChildCount(); i++)
+    {
+      SpecificationNode sn = spec.getChild(i);
+      if (sn.getType().equals(JOB_STARTPOINT_NODE_TYPE)) {
+        cmisQuery = sn.getAttributeValue(CmisConfig.CMIS_QUERY_PARAM);
+        break;
+      }
+    }
+
     for (int i = 0; i < documentIdentifiers.length; i++) {
       long startTime = System.currentTimeMillis();
       String nodeId = documentIdentifiers[i];
@@ -1288,6 +1295,16 @@ public class CmisRepositoryConnector ext
       DocumentSpecification spec) throws ManifoldCFException,
       ServiceInterruption {
     
+    String cmisQuery = StringUtils.EMPTY;
+    for (int i = 0; i < spec.getChildCount(); i++)
+    {
+      SpecificationNode sn = spec.getChild(i);
+      if (sn.getType().equals(JOB_STARTPOINT_NODE_TYPE)) {
+        cmisQuery = sn.getAttributeValue(CmisConfig.CMIS_QUERY_PARAM);
+        break;
+      }
+    }
+
     getSession();
     
     String[] rval = new String[documentIdentifiers.length];
@@ -1306,7 +1323,7 @@ public class CmisRepositoryConnector ext
         //we have to check if this CMIS repository support versioning
         // or if the versioning is disabled for this content
         if(StringUtils.isNotEmpty(document.getVersionLabel())){
-          rval[i] = document.getVersionLabel();
+          rval[i] = document.getVersionLabel() + ":" + cmisQuery;
         } else {
         //a CMIS document that doesn't contain versioning information will 
always be processed
           rval[i] = StringUtils.EMPTY;


Reply via email to