Author: kwright
Date: Wed Nov 20 18:43:53 2013
New Revision: 1543904

URL: http://svn.apache.org/r1543904
Log:
Tentative fix for CONNECTORS-813.

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

Modified: manifoldcf/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/manifoldcf/trunk/CHANGES.txt?rev=1543904&r1=1543903&r2=1543904&view=diff
==============================================================================
--- manifoldcf/trunk/CHANGES.txt (original)
+++ manifoldcf/trunk/CHANGES.txt Wed Nov 20 18:43:53 2013
@@ -3,6 +3,10 @@ $Id$
 
 ======================= 1.5-dev =====================
 
+CONNECTORS-813: For list items, obtain the url from the EncodedAbsURL
+metadata field.  This should allow list items to be clicked on in search 
results.
+(Mark Libucha, Karl Wright)
+
 CONNECTORS-812: SharePoint connector needs to ignore constructs
 that it doesn't understand when enumerating list contents, because
 under some configurations, SharePoint lists things that aren't list items

Modified: 
manifoldcf/trunk/connectors/sharepoint/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/sharepoint/SharePointRepository.java
URL: 
http://svn.apache.org/viewvc/manifoldcf/trunk/connectors/sharepoint/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/sharepoint/SharePointRepository.java?rev=1543904&r1=1543903&r2=1543904&view=diff
==============================================================================
--- 
manifoldcf/trunk/connectors/sharepoint/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/sharepoint/SharePointRepository.java
 (original)
+++ 
manifoldcf/trunk/connectors/sharepoint/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/sharepoint/SharePointRepository.java
 Wed Nov 20 18:43:53 2013
@@ -803,6 +803,7 @@ public class SharePointRepository extend
                   metadataDescription.add("Created");
                   metadataDescription.add("ID");
                   metadataDescription.add("GUID");
+                  metadataDescription.add("EncodedAbsUrl");
                   // The document path includes the library, with no leading 
slash, and is decoded.
                   String decodedItemPathWithoutSite = 
decodedItemPath.substring(cutoff+1);
                   Map<String,String> values = proxy.getFieldValues( 
metadataDescription, encodedSitePath, listID, "/Lists/" + 
decodedItemPathWithoutSite, dspStsWorks );
@@ -810,6 +811,7 @@ public class SharePointRepository extend
                   String createdDate = values.get("Created");
                   String id = values.get("ID");
                   String guid = values.get("GUID");
+                  String absURL = values.get("EncodedAbsUrl");
                   if (modifiedDate != null)
                   {
                     // Item has a modified date so we presume it exists.
@@ -831,6 +833,7 @@ public class SharePointRepository extend
                     packDate(sb,createdDateValue);
                     pack(sb,id,'+');
                     pack(sb,guid,'+');
+                    pack(sb,absURL,'+');
                     // The rest of this is unparseable
                     sb.append(versionToken);
                     sb.append(pathNameAttributeVersion);
@@ -1370,6 +1373,11 @@ public class SharePointRepository extend
               startPosition = unpack(guidBuffer,version,startPosition,'+');
               String guid = guidBuffer.toString();
               
+              // List item URL
+              StringBuilder absURLBuffer = new StringBuilder();
+              startPosition = unpack(absURLBuffer,version,startPosition,'+');
+              String absURL = absURLBuffer.toString();
+              
               // We need the list ID, which we've already fetched, so grab 
that from the parent data.
               String[] listIDs = 
activities.retrieveParentData(documentIdentifier, "guids");
 
@@ -1484,7 +1492,7 @@ public class SharePointRepository extend
                     }
                     data.addField("GUID",guid);
                     
-                    activities.ingestDocument( documentIdentifier, version, 
itemUrl , data );
+                    activities.ingestDocument( documentIdentifier, version, 
absURL , data );
                   }
                   finally
                   {


Reply via email to