예제 #1
0
 /// <summary>
 /// Adds the specified document to the queue.
 /// </summary>
 public void AddDocument(NamedXmlDocument document)
 {
     MappingsQueueEntry re = new MappingsQueueEntry(
         document,
         ClassExtractor.GetClassEntries(document.Document));
     AddEntry(re);
 }
		private void AddEntry(MappingsQueueEntry re)
		{
			if (CanProcess(re))
			{
				availableEntries.Enqueue(re);
			}
			else
			{
				unavailableEntries.Add(re);
			}
		}
예제 #3
0
 private void AddEntry(MappingsQueueEntry re)
 {
     if (CanProcess(re))
     {
         _availableEntries.Enqueue(re);
     }
     else
     {
         _unavailableEntries.Add(re);
     }
 }
예제 #4
0
 private bool CanProcess(MappingsQueueEntry ce)
 {
     foreach (var c in ce.RequiredClassNames)
     {
         if (!(_processedClassNames.Contains(c.FullClassName) || _processedClassNames.Contains(c.EntityName)))
         {
             return(false);
         }
     }
     return(true);
 }
예제 #5
0
        /// <summary>
        /// Gets a <see cref="NamedXmlDocument" /> that can now be processed (i.e.
        /// that doesn't depend on classes not yet processed).
        /// </summary>
        /// <returns></returns>
        public NamedXmlDocument GetNextAvailableResource()
        {
            if (_availableEntries.Count == 0)
            {
                return(null);
            }

            MappingsQueueEntry entry = (MappingsQueueEntry)_availableEntries.Dequeue();

            AddProcessedClassNames(entry.ContainedClassNames);
            return(entry.Document);
        }
		private bool CanProcess(MappingsQueueEntry ce)
		{
			return
				ce.RequiredClassNames.All(
					c => (processedClassNames.Contains(c.FullClassName) || processedClassNames.Contains(c.EntityName)));
		}
예제 #7
0
        /// <summary>
        /// Adds the specified document to the queue.
        /// </summary>
        public void AddDocument(NamedXmlDocument document)
        {
            MappingsQueueEntry re = new MappingsQueueEntry(document, ClassExtractor.GetClassEntries(document.Document));

            AddEntry(re);
        }
예제 #8
0
 private bool CanProcess(MappingsQueueEntry ce)
 {
     return
         (ce.RequiredClassNames.All(
              c => (processedClassNames.Contains(c.FullClassName) || processedClassNames.Contains(c.EntityName))));
 }
예제 #9
0
		private bool CanProcess(MappingsQueueEntry ce)
		{
			foreach (var c in ce.RequiredClassNames)
			{
				if (!(_processedClassNames.Contains(c.FullClassName) || _processedClassNames.Contains(c.EntityName)))
					return false;
			}
			return true;
		}
예제 #10
0
 private bool CanProcess(MappingsQueueEntry ce)
 {
     return _processedClassNames.ContainsAll(ce.RequiredClassNames);
 }