|
From: <jer...@us...> - 2008-10-03 15:12:58
|
Revision: 164
http://structuremap.svn.sourceforge.net/structuremap/?rev=164&view=rev
Author: jeremydmiller
Date: 2008-10-03 15:12:28 +0000 (Fri, 03 Oct 2008)
Log Message:
-----------
Getting ready to eliminate IPluginGraphVisitor and finish out querying the model
Modified Paths:
--------------
trunk/Source/StructureMap/Diagnostics/TextLine.cs
trunk/Source/StructureMap/Diagnostics/WhatDoIHaveWriter.cs
trunk/Source/StructureMap/Graph/PluginFamily.cs
trunk/Source/StructureMap/PipelineGraph.cs
trunk/Source/StructureMap.Testing/Graph/PluginFamilyTester.cs
Modified: trunk/Source/StructureMap/Diagnostics/TextLine.cs
===================================================================
--- trunk/Source/StructureMap/Diagnostics/TextLine.cs 2008-10-03 14:47:59 UTC (rev 163)
+++ trunk/Source/StructureMap/Diagnostics/TextLine.cs 2008-10-03 15:12:28 UTC (rev 164)
@@ -9,6 +9,11 @@
internal TextLine(string[] contents)
{
_contents = contents;
+ for (int i = 0; i < contents.Length; i++)
+ {
+ if (contents[i] == null) contents[i] = string.Empty;
+
+ }
}
public void OverwriteCounts(CharacterWidth[] widths)
Modified: trunk/Source/StructureMap/Diagnostics/WhatDoIHaveWriter.cs
===================================================================
--- trunk/Source/StructureMap/Diagnostics/WhatDoIHaveWriter.cs 2008-10-03 14:47:59 UTC (rev 163)
+++ trunk/Source/StructureMap/Diagnostics/WhatDoIHaveWriter.cs 2008-10-03 15:12:28 UTC (rev 164)
@@ -11,7 +11,7 @@
{
private readonly PipelineGraph _graph;
private TextReportWriter _writer;
- private List<Instance> _instances;
+ private List<IInstance> _instances;
public WhatDoIHaveWriter(PipelineGraph graph)
{
@@ -33,12 +33,15 @@
private void writeContentsOfPluginTypes(StringWriter stringWriter)
{
_writer = new TextReportWriter(3);
- _instances = new List<Instance>();
+ _instances = new List<IInstance>();
_writer.AddDivider('=');
_writer.AddText("PluginType", "Name", "Description");
- _graph.Visit(this);
+ foreach (var pluginType in _graph.PluginTypes)
+ {
+ writePluginType(pluginType);
+ }
_writer.AddDivider('=');
@@ -61,6 +64,41 @@
writer.WriteLine();
}
+ private void writePluginType(PluginTypeConfiguration pluginType)
+ {
+ _writer.AddDivider('-');
+ string[] contents = new string[] { pluginType.PluginType.AssemblyQualifiedName ?? pluginType.PluginType.Name, string.Empty, string.Empty };
+
+ if (pluginType.Default != null)
+ {
+ setContents(contents, pluginType.Default);
+
+ }
+
+ _writer.AddText(contents);
+
+ _writer.AddContent("Built by: " + pluginType.Policy.ToString());
+
+ foreach (var instance in pluginType.Instances)
+ {
+ writeInstance(instance);
+ }
+ }
+
+ private void writeInstance(IInstance instance)
+ {
+ if (_instances.Contains(instance))
+ {
+ return;
+ }
+
+ string[] contents = new[] { string.Empty, string.Empty, string.Empty };
+ setContents(contents, instance);
+
+ _writer.AddText(contents);
+ }
+
+
void IPipelineGraphVisitor.PluginType(Type pluginType, Instance defaultInstance, IBuildPolicy policy)
{
_writer.AddDivider('-');
@@ -77,11 +115,10 @@
_writer.AddContent("Built by: " + policy.ToString());
}
- private void setContents(string[] contents, Instance instance)
+ private void setContents(string[] contents, IInstance instance)
{
- InstanceToken token = ((IDiagnosticInstance)instance).CreateToken();
- contents[1] = token.Name;
- contents[2] = token.Description;
+ contents[1] = instance.Name;
+ contents[2] = instance.Description;
_instances.Add(instance);
}
Modified: trunk/Source/StructureMap/Graph/PluginFamily.cs
===================================================================
--- trunk/Source/StructureMap/Graph/PluginFamily.cs 2008-10-03 14:47:59 UTC (rev 163)
+++ trunk/Source/StructureMap/Graph/PluginFamily.cs 2008-10-03 15:12:28 UTC (rev 164)
@@ -366,7 +366,7 @@
{
return new PluginTypeConfiguration()
{
- Instance = GetDefaultInstance(),
+ Default = GetDefaultInstance(),
PluginType = PluginType,
Policy = _buildPolicy,
Instances = Instances
Modified: trunk/Source/StructureMap/PipelineGraph.cs
===================================================================
--- trunk/Source/StructureMap/PipelineGraph.cs 2008-10-03 14:47:59 UTC (rev 163)
+++ trunk/Source/StructureMap/PipelineGraph.cs 2008-10-03 15:12:28 UTC (rev 164)
@@ -19,7 +19,7 @@
public class PluginTypeConfiguration
{
public Type PluginType { get; set; }
- public IInstance Instance { get; set; }
+ public IInstance Default { get; set; }
public IBuildPolicy Policy { get; set; }
public IEnumerable<IInstance> Instances { get; set; }
@@ -235,7 +235,7 @@
yield return new PluginTypeConfiguration()
{
- Instance = _profileManager.GetDefault(factory.PluginType),
+ Default = _profileManager.GetDefault(factory.PluginType),
PluginType = factory.PluginType,
Policy = factory.Policy,
Instances = factory.Instances
Modified: trunk/Source/StructureMap.Testing/Graph/PluginFamilyTester.cs
===================================================================
--- trunk/Source/StructureMap.Testing/Graph/PluginFamilyTester.cs 2008-10-03 14:47:59 UTC (rev 163)
+++ trunk/Source/StructureMap.Testing/Graph/PluginFamilyTester.cs 2008-10-03 15:12:28 UTC (rev 164)
@@ -48,7 +48,7 @@
var configuration = family.GetConfiguration();
- configuration.Instance.ShouldBeTheSameAs(instance1);
+ configuration.Default.ShouldBeTheSameAs(instance1);
configuration.PluginType.ShouldEqual(typeof (IWidget));
configuration.Policy.ShouldBeTheSameAs(family.Policy);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|