[mapguide-commits] r6115 - trunk/Tools/Maestro/Maestro.Base/UI

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Mon Sep 5 07:58:32 EDT 2011


Author: jng
Date: 2011-09-05 04:58:32 -0700 (Mon, 05 Sep 2011)
New Revision: 6115

Modified:
   trunk/Tools/Maestro/Maestro.Base/UI/RepositoryTreeModel.cs
Log:
#1795: First crack, instead of iterating over the main loop store the root connections in a temp list, then yield return from that.


Modified: trunk/Tools/Maestro/Maestro.Base/UI/RepositoryTreeModel.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Base/UI/RepositoryTreeModel.cs	2011-09-05 11:41:03 UTC (rev 6114)
+++ trunk/Tools/Maestro/Maestro.Base/UI/RepositoryTreeModel.cs	2011-09-05 11:58:32 UTC (rev 6115)
@@ -445,8 +445,13 @@
         {
             if (treePath.IsEmpty())
             {
+                _rootNodes.Clear();
+                var roots = new List<RepositoryItem>();
                 foreach (var connName in _connManager.GetConnectionNames())
                 {
+                    if (_rootNodes.ContainsKey(connName))
+                        continue;
+
                     var conn = _connManager.GetConnection(connName);
 
                     var list = conn.ResourceService.GetRepositoryResources("Library://", 0);
@@ -460,9 +465,17 @@
                     connNode.Name = connName;
                     connNode.Model = this;
 
-                    _rootNodes[connName] = connNode;
-                    yield return connNode;
+                    if (!_rootNodes.ContainsKey(connName))
+                    {
+                        _rootNodes[connName] = connNode;
+                        roots.Add(connNode);
+                    }
                 }
+
+                foreach (var r in roots)
+                {
+                    yield return r;
+                }
             }
             else
             {



More information about the mapguide-commits mailing list