Exemple #1
0
        /// <summary>
        /// Copy constructor helper.
        /// </summary>
        /// <param name="dataSource">The LGSPNamedGraph object to get the data from</param>
        /// <param name="oldToNewMap">A map of the old elements to the new elements after cloning.</param>
        private void CopyNames(LGSPNamedGraph dataSource, IDictionary <IGraphElement, IGraphElement> oldToNewMap)
        {
            foreach (INode node in dataSource.Nodes)
            {
                NameToElem[dataSource.GetElementName(node)] = oldToNewMap[node];
                ElemToName[oldToNewMap[node]] = dataSource.GetElementName(node);
            }

            foreach (IEdge edge in dataSource.Edges)
            {
                NameToElem[dataSource.GetElementName(edge)] = oldToNewMap[edge];
                ElemToName[oldToNewMap[edge]] = dataSource.GetElementName(edge);
            }

            /* TODO: remove when cloning of graph variables was implemented
             * foreach(KeyValuePair<IGraphElement, LinkedList<Variable>> kvp in dataSource.ElementMap)
             * {
             *  IGraphElement newElem = oldToNewMap[kvp.Key];
             *  foreach(Variable var in kvp.Value)
             *      SetVariableValue(var.Name, newElem);
             * }*/
        }
Exemple #2
0
        /// <summary>
        /// Copy constructor helper.
        /// </summary>
        /// <param name="dataSource">The LGSPNamedGraph object to get the data from</param>
        /// <param name="oldToNewMap">A map of the old elements to the new elements after cloning.</param>
        private void CopyNames(LGSPNamedGraph dataSource, IDictionary<IGraphElement, IGraphElement> oldToNewMap)
        {
            foreach(INode node in dataSource.Nodes)
            {
                NameToElem[dataSource.GetElementName(node)] = oldToNewMap[node];
                ElemToName[oldToNewMap[node]] = dataSource.GetElementName(node);
            }

            foreach(IEdge edge in dataSource.Edges)
            {
                NameToElem[dataSource.GetElementName(edge)] = oldToNewMap[edge];
                ElemToName[oldToNewMap[edge]] = dataSource.GetElementName(edge);
            }

            /* TODO: remove when cloning of graph variables was implemented
             * foreach(KeyValuePair<IGraphElement, LinkedList<Variable>> kvp in dataSource.ElementMap)
            {
                IGraphElement newElem = oldToNewMap[kvp.Key];
                foreach(Variable var in kvp.Value)
                    SetVariableValue(var.Name, newElem);
            }*/
        }