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 2013/09/17 15:07:01 UTC
svn commit: r1524030 -
/manifoldcf/branches/CONNECTORS-772/connectors/sharepoint/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/sharepoint/SPSProxyHelper.java
Author: kwright
Date: Tue Sep 17 13:07:00 2013
New Revision: 1524030
URL: http://svn.apache.org/r1524030
Log:
Implement relative path conventions for returned URLs as well.
Modified:
manifoldcf/branches/CONNECTORS-772/connectors/sharepoint/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/sharepoint/SPSProxyHelper.java
Modified: manifoldcf/branches/CONNECTORS-772/connectors/sharepoint/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/sharepoint/SPSProxyHelper.java
URL: http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-772/connectors/sharepoint/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/sharepoint/SPSProxyHelper.java?rev=1524030&r1=1524029&r2=1524030&view=diff
==============================================================================
--- manifoldcf/branches/CONNECTORS-772/connectors/sharepoint/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/sharepoint/SPSProxyHelper.java (original)
+++ manifoldcf/branches/CONNECTORS-772/connectors/sharepoint/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/sharepoint/SPSProxyHelper.java Tue Sep 17 13:07:00 2013
@@ -798,7 +798,7 @@ public class SPSProxyHelper {
nodeList.clear();
doc.processPath(nodeList, "*", parent); // <ns1:Lists>
- int chuckIndex = fullListPaths?decodedServerLocation.length() + parentSiteDecoded.length():0;
+ String prefixPath = decodedServerLocation + parentSiteDecoded;
int i = 0;
while (i < nodeList.size())
@@ -816,9 +816,13 @@ public class SPSProxyHelper {
// If it has no view url, we don't have any idea what to do with it
if (urlPath != null && urlPath.length() > 0)
{
- if (urlPath.length() < chuckIndex)
- throw new ManifoldCFException("Library view url is not in the expected form: '"+urlPath+"'");
- urlPath = urlPath.substring(chuckIndex);
+ // Normalize conditionally
+ if (!urlPath.startsWith("/"))
+ urlPath = prefixPath + "/" + urlPath;
+ // Get rid of what we don't want, unconditionally
+ if (!urlPath.startsWith(prefixPath))
+ throw new ManifoldCFException("Library view url is not in the expected form: '"+urlPath+"'; it should start with '"+prefixPath+"'");
+ urlPath = urlPath.substring(prefixPath.length());
if (!urlPath.startsWith("/"))
throw new ManifoldCFException("Library view url without site is not in the expected form: '"+urlPath+"'");
// We're at the library name. Figure out where the end of it is.
@@ -987,7 +991,7 @@ public class SPSProxyHelper {
nodeList.clear();
doc.processPath(nodeList, "*", parent); // <ns1:Lists>
- int chuckIndex = fullListPaths?decodedServerLocation.length() + parentSiteDecoded.length():0;
+ String prefixPath = decodedServerLocation + parentSiteDecoded;
int i = 0;
while (i < nodeList.size())
@@ -1005,9 +1009,13 @@ public class SPSProxyHelper {
// If it has no view url, we don't have any idea what to do with it
if (urlPath != null && urlPath.length() > 0)
{
- if (urlPath.length() < chuckIndex)
- throw new ManifoldCFException("List view url is not in the expected form: '"+urlPath+"'");
- urlPath = urlPath.substring(chuckIndex);
+ // Normalize conditionally
+ if (!urlPath.startsWith("/"))
+ urlPath = prefixPath + "/" + urlPath;
+ // Get rid of what we don't want, unconditionally
+ if (!urlPath.startsWith(prefixPath))
+ throw new ManifoldCFException("List view url is not in the expected form: '"+urlPath+"'; expected something beginning with '"+prefixPath+"'");
+ urlPath = urlPath.substring(prefixPath.length());
if (!urlPath.startsWith("/"))
throw new ManifoldCFException("List view url without site is not in the expected form: '"+urlPath+"'");
// We're at the /Lists/listname part of the name. Figure out where the end of it is.
@@ -2151,7 +2159,7 @@ public class SPSProxyHelper {
nodeList.clear();
doc.processPath(nodeList, "*", parent); // <ns1:Lists>
- int chuckIndex = fullListPaths?decodedServerLocation.length() + parentSiteDecoded.length():0;
+ String prefixPath = decodedServerLocation + parentSiteDecoded;
int i = 0;
while (i < nodeList.size())
@@ -2175,9 +2183,13 @@ public class SPSProxyHelper {
// It's a library. If it has no view url, we don't have any idea what to do with it
if (urlPath != null && urlPath.length() > 0)
{
- if (urlPath.length() < chuckIndex)
- throw new ManifoldCFException("Library view url is not in the expected form: '"+urlPath+"'");
- urlPath = urlPath.substring(chuckIndex);
+ // Normalize conditionally
+ if (!urlPath.startsWith("/"))
+ urlPath = prefixPath + "/" + urlPath;
+ // Get rid of what we don't want, unconditionally
+ if (!urlPath.startsWith(prefixPath))
+ throw new ManifoldCFException("Library view url is not in the expected form: '"+urlPath+"'; expected something beginning with '"+prefixPath+"'");
+ urlPath = urlPath.substring(prefixPath.length());
if (!urlPath.startsWith("/"))
throw new ManifoldCFException("Library view url without site is not in the expected form: '"+urlPath+"'");
// We're at the library name. Figure out where the end of it is.
@@ -2295,7 +2307,7 @@ public class SPSProxyHelper {
nodeList.clear();
doc.processPath(nodeList, "*", parent); // <ns1:Lists>
- int chuckIndex = fullListPaths?decodedServerLocation.length() + parentSiteDecoded.length():0;
+ String prefixPath = decodedServerLocation + parentSiteDecoded;
int i = 0;
while (i < nodeList.size())
@@ -2319,9 +2331,13 @@ public class SPSProxyHelper {
// If it has no view url, we don't have any idea what to do with it
if (urlPath != null && urlPath.length() > 0)
{
- if (urlPath.length() < chuckIndex)
- throw new ManifoldCFException("List view url is not in the expected form: '"+urlPath+"'");
- urlPath = urlPath.substring(chuckIndex);
+ // Normalize conditionally
+ if (!urlPath.startsWith("/"))
+ urlPath = prefixPath + "/" + urlPath;
+ // Get rid of what we don't want, unconditionally
+ if (!urlPath.startsWith(prefixPath))
+ throw new ManifoldCFException("List view url is not in the expected form: '"+urlPath+"'; expected something beginning with '"+prefixPath+"'");
+ urlPath = urlPath.substring(prefixPath.length());
if (!urlPath.startsWith("/"))
throw new ManifoldCFException("List view url without site is not in the expected form: '"+urlPath+"'");
// We're at the /Lists/listname part of the name. Figure out where the end of it is.