manifoldcf-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From kwri...@apache.org
Subject svn commit: r1380778 - /manifoldcf/integration/sharepoint-2010/trunk/webservice/MCPermissions.cs
Date Tue, 04 Sep 2012 18:09:20 GMT
Author: kwright
Date: Tue Sep  4 18:09:20 2012
New Revision: 1380778

URL: http://svn.apache.org/viewvc?rev=1380778&view=rev
Log:
Instantiate list lookup for current site, not root

Modified:
    manifoldcf/integration/sharepoint-2010/trunk/webservice/MCPermissions.cs

Modified: manifoldcf/integration/sharepoint-2010/trunk/webservice/MCPermissions.cs
URL: http://svn.apache.org/viewvc/manifoldcf/integration/sharepoint-2010/trunk/webservice/MCPermissions.cs?rev=1380778&r1=1380777&r2=1380778&view=diff
==============================================================================
--- manifoldcf/integration/sharepoint-2010/trunk/webservice/MCPermissions.cs (original)
+++ manifoldcf/integration/sharepoint-2010/trunk/webservice/MCPermissions.cs Tue Sep  4 18:09:20
2012
@@ -95,49 +95,55 @@ namespace MetaCarta.SharePoint.SoapServe
                 uint startRowParam = Convert.ToUInt32(startRow);
                 uint rowLimitParam = Convert.ToUInt32(rowLimit);
 
-                SPWeb oWebsiteRoot = SPContext.Current.Site.RootWeb;
-                if (oWebsiteRoot != null)
+                using (SPSite site = new SPSite(SPContext.Current.Web.Url))
                 {
-
-                    oWebsiteRoot.Lists.IncludeRootFolder = true;
-                    SPList oList = oWebsiteRoot.Lists[listName];
-
-                    SPQuery listQuery = new SPQuery();
-                    listQuery.QueryThrottleMode = SPQueryThrottleOption.Override;
-                    listQuery.RowLimit = 1000;
-
-                    uint counter = 0;
-                    do
+                    using (SPWeb oWebsiteRoot = site.OpenWeb())
                     {
-                        if (counter >= startRowParam + rowLimitParam)
-                            break;
-
-                        // Will this work?  Or will it reset something unexpected?
-                        if (startRowParam + rowLimitParam - counter < 1000)
-                            listQuery.RowLimit = startRowParam + rowLimitParam - counter;
+                        if (oWebsiteRoot != null)
+                        {
 
-                        SPListItemCollection collListItems = oList.GetItems(listQuery);
+                            oWebsiteRoot.Lists.IncludeRootFolder = true;
+                            SPList oList = oWebsiteRoot.Lists[listName];
 
-                        XmlDocument doc = new XmlDocument();
-                        retVal = doc.CreateElement("GetListItems", 
-                            "http://schemas.microsoft.com/sharepoint/soap/directory/");
-                        XmlNode getListItemsNode = doc.CreateElement("GetListItemsResponse");
+                            SPQuery listQuery = new SPQuery();
+                            listQuery.QueryThrottleMode = SPQueryThrottleOption.Override;
+                            listQuery.RowLimit = 1000;
 
-                        foreach (SPListItem oListItem in collListItems)
-                        {
-                            if (counter >= startRowParam)
+                            uint counter = 0;
+                            do
                             {
-                                XmlNode resultNode = doc.CreateElement("GetListItemsResult");
-                                XmlAttribute idAttribute = doc.CreateAttribute("FileRef");
-                                idAttribute.Value = oListItem.Url;
-                                resultNode.Attributes.Append(idAttribute);
-                                getListItemsNode.AppendChild(resultNode);
-                            }
-                            counter++;
+                                if (counter >= startRowParam + rowLimitParam)
+                                    break;
+
+                                // Will this work?  Or will it reset something unexpected?
+                                if (startRowParam + rowLimitParam - counter < 1000)
+                                    listQuery.RowLimit = startRowParam + rowLimitParam -
counter;
+
+                                SPListItemCollection collListItems = oList.GetItems(listQuery);
+
+                                XmlDocument doc = new XmlDocument();
+                                retVal = doc.CreateElement("GetListItems", 
+                                    "http://schemas.microsoft.com/sharepoint/soap/directory/");
+                                XmlNode getListItemsNode = doc.CreateElement("GetListItemsResponse");
+
+                                foreach (SPListItem oListItem in collListItems)
+                                {
+                                    if (counter >= startRowParam)
+                                    {
+                                        XmlNode resultNode = doc.CreateElement("GetListItemsResult");
+                                        XmlAttribute idAttribute = doc.CreateAttribute("FileRef");
+                                        idAttribute.Value = oListItem.Url;
+                                        resultNode.Attributes.Append(idAttribute);
+                                        getListItemsNode.AppendChild(resultNode);
+                                    }
+                                    counter++;
+                                }
+                                
+                                retVal.AppendChild(getListItemsNode);
+                            } while (listQuery.ListItemCollectionPosition != null);
                         }
-                        
-                        retVal.AppendChild(getListItemsNode);
-                    } while (listQuery.ListItemCollectionPosition != null);
+                    }
+
                 }
             }
             catch (SoapException soapEx)



Mime
View raw message