Exemplo n.º 1
0
		public static Sharpen.Util.ISet BuildHierarchy(ClassMetadataRepository repository
			)
		{
			ClassMetadataIterator classIter = repository.Iterator();
			IDictionary nodes = new Hashtable();
			Sharpen.Util.ISet roots = new HashSet();
			while (classIter.MoveNext())
			{
				Db4objects.Db4o.Internal.ClassMetadata clazz = classIter.CurrentClass();
				Db4objects.Db4o.Filestats.ClassNode node = new Db4objects.Db4o.Filestats.ClassNode
					(clazz);
				nodes[clazz.GetName()] = node;
				if (clazz.GetAncestor() == null)
				{
					roots.Add(node);
				}
			}
			for (IEnumerator nodeIter = nodes.Values.GetEnumerator(); nodeIter.MoveNext(); )
			{
				Db4objects.Db4o.Filestats.ClassNode node = ((Db4objects.Db4o.Filestats.ClassNode)
					nodeIter.Current);
				Db4objects.Db4o.Internal.ClassMetadata ancestor = node.ClassMetadata().GetAncestor
					();
				if (ancestor != null)
				{
					((Db4objects.Db4o.Filestats.ClassNode)nodes[ancestor.GetName()]).AddSubClass(node
						);
				}
			}
			return roots;
		}
Exemplo n.º 2
0
 public static ISet BuildHierarchy(ClassMetadataRepository repository
     )
 {
     var classIter = repository.Iterator();
     IDictionary nodes = new Hashtable();
     ISet roots = new HashSet();
     while (classIter.MoveNext())
     {
         var clazz = classIter.CurrentClass();
         var node = new ClassNode
             (clazz);
         nodes[clazz.GetName()] = node;
         if (clazz.GetAncestor() == null)
         {
             roots.Add(node);
         }
     }
     for (var nodeIter = nodes.Values.GetEnumerator(); nodeIter.MoveNext();)
     {
         var node = ((ClassNode)
             nodeIter.Current);
         var ancestor = node.ClassMetadata().GetAncestor
             ();
         if (ancestor != null)
         {
             ((ClassNode) nodes[ancestor.GetName()]).AddSubClass(node
                 );
         }
     }
     return roots;
 }