/// <summary> /// Gets the root map nodes from a Glyma repository. /// </summary> /// <param name="entityFields">A ITypeDescriptorCollection object that contains the fields to retrieve for each node.</param> /// <returns>A collection of DynamicType objects containing details of the nodes retrieved from a Glyma repository.</returns> /// <remarks>This is intended to be used as a Finder method in a BCS model.</remarks> public List <DynamicType> GetRooMaps(ITypeDescriptorCollection entityFields) { GlymaSearchLogger.WriteTrace(LogCategoryId.Connector, TraceSeverity.Verbose, "GetRootMaps"); Uri startUrl = new Uri(StartAddress); Guid domainId = Guid.Empty; if (startUrl.Segments.Length == 2) { domainId = new Guid(startUrl.Segments[1].TrimEnd('/')); } List <DynamicType> nodes = MapRepository.GetRootMaps(RepositoryName, domainId, entityFields); nodes.RemoveAll(node => !CrawlRules.Apply(node, MapRepository)); return(nodes); }