You are viewing a plain text version of this content. The canonical link for it is here.
Posted to npanday-commits@incubator.apache.org by lc...@apache.org on 2011/11/08 16:13:25 UTC
svn commit: r1199326 - in /incubator/npanday/trunk/dotnet/assemblies:
NPanday.Logging/src/main/csharp/NPanday/Logging/
NPanday.Model.Settings/src/main/csharp/ NPanday.VisualStudio.Addin/
NPanday.VisualStudio.Addin/src/main/csharp/ NPanday.VisualStudio....
Author: lcorneliussen
Date: Tue Nov 8 16:13:24 2011
New Revision: 1199326
URL: http://svn.apache.org/viewvc?rev=1199326&view=rev
Log:
[NPANDAY-479] Refactoring VS Add-in
* created ImportSelectedProjectCommand
* AddArtifactsCommand is now calling ImportSelectedProjectCommand as a subcommand (if pom doesn't exist)
* Using the logger in more places
* Print log level and thread when logging to the output pane
Added:
incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/src/main/csharp/NPanday/VisualStudio/Addin/Commands/ImportSelectedProjectCommand.cs
incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/src/main/csharp/NPanday/VisualStudio/Addin/Helper/VisualStudioControlsFinder.cs
- copied, changed from r1198920, incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/src/main/csharp/NPanday/VisualStudio/Addin/Helper/BuiltinCommandFinder.cs
Removed:
incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/src/main/csharp/NPanday/VisualStudio/Addin/Helper/BuiltinCommandFinder.cs
Modified:
incubator/npanday/trunk/dotnet/assemblies/NPanday.Logging/src/main/csharp/NPanday/Logging/Level.cs
incubator/npanday/trunk/dotnet/assemblies/NPanday.Logging/src/main/csharp/NPanday/Logging/LogRecord.cs
incubator/npanday/trunk/dotnet/assemblies/NPanday.Model.Settings/src/main/csharp/NPanday.Model.Settings.csproj
incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/NPanday.VisualStudio.Addin.sln
incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/src/main/csharp/NPanday.VisualStudio.Addin.csproj
incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/src/main/csharp/NPanday/VisualStudio/Addin/Commands/AddArtifactsCommand.cs
incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/src/main/csharp/NPanday/VisualStudio/Addin/Commands/ButtonCommandRegistry.cs
incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/src/main/csharp/NPanday/VisualStudio/Addin/Commands/IButtonCommandContext.cs
incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/src/main/csharp/NPanday/VisualStudio/Addin/Connect.cs
incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/src/main/csharp/NPanday/VisualStudio/Addin/NPandayImportProjectForm.cs
incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio/src/main/csharp/NPanday/VisualStudio/Logging/OutputWindowPaneHandler.cs
Modified: incubator/npanday/trunk/dotnet/assemblies/NPanday.Logging/src/main/csharp/NPanday/Logging/Level.cs
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.Logging/src/main/csharp/NPanday/Logging/Level.cs?rev=1199326&r1=1199325&r2=1199326&view=diff
==============================================================================
--- incubator/npanday/trunk/dotnet/assemblies/NPanday.Logging/src/main/csharp/NPanday/Logging/Level.cs (original)
+++ incubator/npanday/trunk/dotnet/assemblies/NPanday.Logging/src/main/csharp/NPanday/Logging/Level.cs Tue Nov 8 16:13:24 2011
@@ -23,37 +23,42 @@ using System;
namespace NPanday.Logging
{
- public class Level
- {
-
- public static Level SEVERE = new Level("SEVERE", 10);
-
- public static Level WARNING = new Level("WARNING", 9);
-
- public static Level INFO = new Level("INFO", 8);
-
- public static Level FINE = new Level("FINE", 7);
-
- public static Level DEBUG = new Level("DEBUG", 6);
-
- private String name;
-
- private int value;
-
- private Level(String name, int value)
- {
- this.name = name;
- this.value = value;
- }
-
- public String GetName()
- {
- return name;
- }
-
- public int GetValue()
- {
- return value;
- }
- }
+ public class Level
+ {
+
+ public static Level SEVERE = new Level("SEVERE", 10);
+
+ public static Level WARNING = new Level("WARNING", 9);
+
+ public static Level INFO = new Level("INFO", 8);
+
+ public static Level FINE = new Level("FINE", 7);
+
+ public static Level DEBUG = new Level("DEBUG", 6);
+
+ private String name;
+
+ private int value;
+
+ private Level(String name, int value)
+ {
+ this.name = name;
+ this.value = value;
+ }
+
+ public String GetName()
+ {
+ return name;
+ }
+
+ public int GetValue()
+ {
+ return value;
+ }
+
+ public override string ToString()
+ {
+ return name;
+ }
+ }
}
Modified: incubator/npanday/trunk/dotnet/assemblies/NPanday.Logging/src/main/csharp/NPanday/Logging/LogRecord.cs
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.Logging/src/main/csharp/NPanday/Logging/LogRecord.cs?rev=1199326&r1=1199325&r2=1199326&view=diff
==============================================================================
--- incubator/npanday/trunk/dotnet/assemblies/NPanday.Logging/src/main/csharp/NPanday/Logging/LogRecord.cs (original)
+++ incubator/npanday/trunk/dotnet/assemblies/NPanday.Logging/src/main/csharp/NPanday/Logging/LogRecord.cs Tue Nov 8 16:13:24 2011
@@ -20,32 +20,44 @@
#endregion
using System;
+using System.Threading;
namespace NPanday.Logging
{
- /// <summary>
- /// Description of LogRecord.
- /// </summary>
- public class LogRecord
- {
- private Level level;
-
- private String message;
-
- public LogRecord(Level level, String message)
- {
- this.level = level;
- this.message = message;
- }
-
- public Level GetLevel()
- {
- return level;
- }
-
- public String GetMessage()
- {
- return message;
- }
- }
+ /// <summary>
+ /// Description of LogRecord.
+ /// </summary>
+ public class LogRecord
+ {
+ private Level level;
+ private String message;
+ private int thread;
+
+ public LogRecord(Level level, String message)
+ {
+ this.level = level;
+ this.message = message;
+ thread = Thread.CurrentThread.ManagedThreadId;
+ }
+
+ public Level GetLevel()
+ {
+ return level;
+ }
+
+ public String GetMessage()
+ {
+ return message;
+ }
+
+ public int GetThread()
+ {
+ return thread;
+ }
+
+ public override string ToString()
+ {
+ return "[" + level + ", #" + thread + "] " + message;
+ }
+ }
}
Modified: incubator/npanday/trunk/dotnet/assemblies/NPanday.Model.Settings/src/main/csharp/NPanday.Model.Settings.csproj
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.Model.Settings/src/main/csharp/NPanday.Model.Settings.csproj?rev=1199326&r1=1199325&r2=1199326&view=diff
==============================================================================
--- incubator/npanday/trunk/dotnet/assemblies/NPanday.Model.Settings/src/main/csharp/NPanday.Model.Settings.csproj (original)
+++ incubator/npanday/trunk/dotnet/assemblies/NPanday.Model.Settings/src/main/csharp/NPanday.Model.Settings.csproj Tue Nov 8 16:13:24 2011
@@ -62,6 +62,9 @@ under the License.
<SubType>Code</SubType>
</Compile>
</ItemGroup>
+ <ItemGroup>
+ <WebReferences Include="Web References\" />
+ </ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
Modified: incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/NPanday.VisualStudio.Addin.sln
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/NPanday.VisualStudio.Addin.sln?rev=1199326&r1=1199325&r2=1199326&view=diff
==============================================================================
--- incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/NPanday.VisualStudio.Addin.sln (original)
+++ incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/NPanday.VisualStudio.Addin.sln Tue Nov 8 16:13:24 2011
@@ -3,6 +3,10 @@ Microsoft Visual Studio Solution File, F
# Visual Studio 2005
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NPanday.VisualStudio.Addin", "src\main\csharp\NPanday.VisualStudio.Addin.csproj", "{5BE35FDF-E620-4EB0-B9A8-2359C506D85D}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NPanday.ProjectImporterEngine", "..\NPanday.ProjectImporter\Engine\src\main\csharp\NPanday.ProjectImporterEngine.csproj", "{91FC215D-C041-4000-8F71-C04A9EEABE55}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NPanday.Utils", "..\NPanday.Utils\src\main\csharp\NPanday.Utils.csproj", "{CAA4864F-F4C8-4024-8535-8B8C112307CE}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -10,6 +14,10 @@ Global
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{5BE35FDF-E620-4EB0-B9A8-2359C506D85D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5BE35FDF-E620-4EB0-B9A8-2359C506D85D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {91FC215D-C041-4000-8F71-C04A9EEABE55}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {91FC215D-C041-4000-8F71-C04A9EEABE55}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {CAA4864F-F4C8-4024-8535-8B8C112307CE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {CAA4864F-F4C8-4024-8535-8B8C112307CE}.Debug|Any CPU.Build.0 = Debug|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Modified: incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/src/main/csharp/NPanday.VisualStudio.Addin.csproj
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/src/main/csharp/NPanday.VisualStudio.Addin.csproj?rev=1199326&r1=1199325&r2=1199326&view=diff
==============================================================================
--- incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/src/main/csharp/NPanday.VisualStudio.Addin.csproj (original)
+++ incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/src/main/csharp/NPanday.VisualStudio.Addin.csproj Tue Nov 8 16:13:24 2011
@@ -77,6 +77,7 @@ under the License.
<Compile Include="NPanday\VisualStudio\Addin\Commands\AddArtifactsCommand.cs" />
<Compile Include="NPanday\VisualStudio\Addin\Commands\ButtonCommand.cs" />
<Compile Include="NPanday\VisualStudio\Addin\Commands\IButtonCommandContext.cs" />
+ <Compile Include="NPanday\VisualStudio\Addin\Commands\ImportSelectedProjectCommand.cs" />
<Compile Include="NPanday\VisualStudio\Addin\Commands\VSCommandCaptions.cs" />
<Compile Include="NPanday\VisualStudio\Addin\ConfigureMavenRepositoryForm.cs">
<SubType>Form</SubType>
@@ -86,7 +87,7 @@ under the License.
</Compile>
<Compile Include="NPanday\VisualStudio\Addin\Connect.cs" />
<Compile Include="NPanday\VisualStudio\Addin\FolderWatcher.cs" />
- <Compile Include="NPanday\VisualStudio\Addin\Helper\BuiltinCommandFinder.cs" />
+ <Compile Include="NPanday\VisualStudio\Addin\Helper\VisualStudioControlsFinder.cs" />
<Compile Include="NPanday\VisualStudio\Addin\LoginForm.cs">
<SubType>Form</SubType>
</Compile>
Modified: incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/src/main/csharp/NPanday/VisualStudio/Addin/Commands/AddArtifactsCommand.cs
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/src/main/csharp/NPanday/VisualStudio/Addin/Commands/AddArtifactsCommand.cs?rev=1199326&r1=1199325&r2=1199326&view=diff
==============================================================================
--- incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/src/main/csharp/NPanday/VisualStudio/Addin/Commands/AddArtifactsCommand.cs (original)
+++ incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/src/main/csharp/NPanday/VisualStudio/Addin/Commands/AddArtifactsCommand.cs Tue Nov 8 16:13:24 2011
@@ -28,13 +28,11 @@ namespace NPanday.VisualStudio.Addin.Com
DialogResult result = MessageBox.Show("Pom file not found, do you want to import the projects first before adding Maven Artifact?", "Add Maven Artifact", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
if (result == DialogResult.Cancel)
return;
- else if (result == DialogResult.OK)
+
+ if (result == DialogResult.OK)
{
- context.ExecuteCommand(VSCommandCaptions.Standard_SaveAll);
+ context.ExecuteCommand<ImportSelectedProjectCommand>(); ;
- NPandayImportProjectForm frm = new NPandayImportProjectForm(Application, context.Logger);
- frm.SetOutputWindowPane(context.OutputWindowPane);
- frm.ShowDialog();
currentPom = context.CurrentSelectedProjectPom;
// if import failed
@@ -44,6 +42,7 @@ namespace NPanday.VisualStudio.Addin.Com
}
}
}
+
AddArtifactsForm form = new AddArtifactsForm(project, context.ArtifactContext, context.Logger, currentPom);
form.Show();
break;
Modified: incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/src/main/csharp/NPanday/VisualStudio/Addin/Commands/ButtonCommandRegistry.cs
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/src/main/csharp/NPanday/VisualStudio/Addin/Commands/ButtonCommandRegistry.cs?rev=1199326&r1=1199325&r2=1199326&view=diff
==============================================================================
--- incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/src/main/csharp/NPanday/VisualStudio/Addin/Commands/ButtonCommandRegistry.cs (original)
+++ incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/src/main/csharp/NPanday/VisualStudio/Addin/Commands/ButtonCommandRegistry.cs Tue Nov 8 16:13:24 2011
@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Text;
using Microsoft.VisualStudio.CommandBars;
using EnvDTE80;
+using NPanday.Logging;
namespace NPanday.VisualStudio.Addin.Commands
{
@@ -13,17 +14,25 @@ namespace NPanday.VisualStudio.Addin.Com
/// </summary>
public class ButtonCommandRegistry
{
- List<CommandBarControl> _keepReferences = new List<CommandBarControl>();
+ readonly List<CommandBarControl> _keepReferences = new List<CommandBarControl>();
- Dictionary<Type, ButtonCommand> _commands = new Dictionary<Type, ButtonCommand>();
+ readonly Dictionary<Type, ButtonCommand> _commands = new Dictionary<Type, ButtonCommand>();
private readonly DTE2 _application;
- private BuildCommandContext _buildContext;
+ private readonly BuildCommandContext _buildContext;
+ private readonly Logger _logger;
- public ButtonCommandRegistry(DTE2 application, BuildCommandContext buildContext)
+ public ButtonCommandRegistry(DTE2 application, BuildCommandContext buildContext, Logger logger)
{
_application = application;
_buildContext = buildContext;
+ _logger = logger;
+ }
+
+ public void Excecute<TCommand>(IButtonCommandContext context)
+ where TCommand : ButtonCommand, new()
+ {
+ getOrCreate<TCommand>().Execute(context);
}
public TCommand AddBefore<TCommand>(CommandBarControl barControl)
@@ -32,9 +41,17 @@ namespace NPanday.VisualStudio.Addin.Com
return Add<TCommand>(barControl.Parent, barControl.Index);
}
+ public TCommand AddAfter<TCommand>(CommandBarControl barControl)
+ where TCommand : ButtonCommand, new()
+ {
+ return Add<TCommand>(barControl.Parent, barControl.Index + 1);
+ }
+
public TCommand Add<TCommand>(CommandBar bar, int atIndex)
where TCommand : ButtonCommand, new()
{
+ _logger.Log(Level.DEBUG, "Adding command " + typeof(TCommand).Name + " on " + bar.Name + " at index " + atIndex);
+
TCommand command = getOrCreate<TCommand>();
CommandBarButton ctl = (CommandBarButton)
@@ -42,7 +59,7 @@ namespace NPanday.VisualStudio.Addin.Com
System.Type.Missing, System.Type.Missing, atIndex, true);
ctl.Click += delegate(CommandBarButton btn, ref bool Cancel)
{
- command.Execute(_buildContext());
+ command.Execute(_buildContext());
};
ctl.Caption = command.Caption;
ctl.Visible = true;
@@ -63,8 +80,16 @@ namespace NPanday.VisualStudio.Addin.Com
command = new TCommand();
command.Application = _application;
- _commands[typeof (TCommand)] = command;
+ _commands[typeof(TCommand)] = command;
return (TCommand)command;
}
+
+ public void UnregisterAll()
+ {
+ foreach (var commandBarControl in _keepReferences.ToArray())
+ {
+ _logger.Log(Level.DEBUG, "Removing control " + commandBarControl.Caption + " on " + commandBarControl.HelpContextId + " at index " + commandBarControl.Index);
+ }
+ }
}
}
Modified: incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/src/main/csharp/NPanday/VisualStudio/Addin/Commands/IButtonCommandContext.cs
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/src/main/csharp/NPanday/VisualStudio/Addin/Commands/IButtonCommandContext.cs?rev=1199326&r1=1199325&r2=1199326&view=diff
==============================================================================
--- incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/src/main/csharp/NPanday/VisualStudio/Addin/Commands/IButtonCommandContext.cs (original)
+++ incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/src/main/csharp/NPanday/VisualStudio/Addin/Commands/IButtonCommandContext.cs Tue Nov 8 16:13:24 2011
@@ -7,11 +7,11 @@ namespace NPanday.VisualStudio.Addin.Com
{
public interface IButtonCommandContext
{
- FileInfo CurrentSelectedProjectPom { get; }
- ArtifactContext ArtifactContext { get; }
Logger Logger { get; }
- OutputWindowPane OutputWindowPane { get; }
+ ArtifactContext ArtifactContext { get; }
+ FileInfo CurrentSelectedProjectPom { get; }
- bool ExecuteCommand(string barAndCaption);
+ void ExecuteCommand(string visualStudioCommandName);
+ void ExecuteCommand<TCommand>() where TCommand : ButtonCommand, new();
}
}
Added: incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/src/main/csharp/NPanday/VisualStudio/Addin/Commands/ImportSelectedProjectCommand.cs
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/src/main/csharp/NPanday/VisualStudio/Addin/Commands/ImportSelectedProjectCommand.cs?rev=1199326&view=auto
==============================================================================
--- incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/src/main/csharp/NPanday/VisualStudio/Addin/Commands/ImportSelectedProjectCommand.cs (added)
+++ incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/src/main/csharp/NPanday/VisualStudio/Addin/Commands/ImportSelectedProjectCommand.cs Tue Nov 8 16:13:24 2011
@@ -0,0 +1,18 @@
+namespace NPanday.VisualStudio.Addin.Commands
+{
+ public class ImportSelectedProjectCommand : ButtonCommand
+ {
+ public override string Caption
+ {
+ get { return Messages.MSG_C_IMPORT_PROJECT; }
+ }
+
+ public override void Execute(IButtonCommandContext context)
+ {
+ context.ExecuteCommand("File.SaveAll");
+
+ NPandayImportProjectForm frm = new NPandayImportProjectForm(Application, context.Logger);
+ frm.ShowDialog();
+ }
+ }
+}
\ No newline at end of file
Modified: incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/src/main/csharp/NPanday/VisualStudio/Addin/Connect.cs
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/src/main/csharp/NPanday/VisualStudio/Addin/Connect.cs?rev=1199326&r1=1199325&r2=1199326&view=diff
==============================================================================
--- incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/src/main/csharp/NPanday/VisualStudio/Addin/Connect.cs (original)
+++ incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/src/main/csharp/NPanday/VisualStudio/Addin/Connect.cs Tue Nov 8 16:13:24 2011
@@ -414,58 +414,68 @@ namespace NPanday.VisualStudio.Addin
/// <seealso class='IDTExtensibility2' />
public void OnConnection(object application, ext_ConnectMode connectMode, object addInInst, ref Array custom)
{
- _applicationObject = (DTE2)application;
- mavenRunner = new MavenRunner(_applicationObject);
- mavenRunner.RunnerStopped += new EventHandler(mavenRunner_RunnerStopped);
- _addInInstance = (AddIn)addInInst;
- EnvDTE.Command command = null;
- mavenConnected = true;
+ if (_applicationObject == null)
+ {
+ // this should only be done once!
- string paneName = "NPanday Build System";
+ _applicationObject = (DTE2)application;
+ mavenRunner = new MavenRunner(_applicationObject);
+ mavenRunner.RunnerStopped += new EventHandler(mavenRunner_RunnerStopped);
+ _addInInstance = (AddIn)addInInst;
+ mavenConnected = true;
- outputWindowPane = getOrCreateOutputPane(paneName);
+ string paneName = "NPanday Build System";
- OutputWindowPaneHandler handler = new OutputWindowPaneHandler();
- handler.SetOutputWindowPaneHandler(outputWindowPane);
+ outputWindowPane = getOrCreateOutputPane(paneName);
- logger = NPanday.Logging.Logger.GetLogger("UC");
- logger.AddHandler(handler);
+ OutputWindowPaneHandler handler = new OutputWindowPaneHandler();
+ handler.SetOutputWindowPaneHandler(outputWindowPane);
- if (_addInInstance.Name.Contains("SNAPSHOT"))
- {
- OutputWindowPaneHandler debugHandler = new OutputWindowPaneHandler();
- debugHandler.SetOutputWindowPaneHandler(getOrCreateOutputPane(paneName + " (DEBUG)"));
- debugHandler.SetLevel(Level.DEBUG);
- logger.AddHandler(debugHandler);
- }
+ logger = NPanday.Logging.Logger.GetLogger("UC");
+ logger.AddHandler(handler);
- logger.Log(Level.DEBUG, "Intialized panes; connect mode is " + connectMode);
+ if (_addInInstance.Name.Contains("SNAPSHOT"))
+ {
+ OutputWindowPaneHandler debugHandler = new OutputWindowPaneHandler();
+ debugHandler.SetOutputWindowPaneHandler(getOrCreateOutputPane(paneName + " (DEBUG)"));
+ debugHandler.SetLevel(Level.DEBUG);
+ logger.AddHandler(debugHandler);
+ }
- _buttonCommandRegistry = new ButtonCommandRegistry(_applicationObject, buildCommandContext);
+ logger.Log(Level.DEBUG, "Intialized panes");
- _finder = new BuiltinCommandFinder(_applicationObject, logger);
+ _buttonCommandRegistry = new ButtonCommandRegistry(_applicationObject, buildCommandContext, logger);
+ _finder = new VisualStudioControlsFinder(_applicationObject, logger);
+ _finder.IndexCommands();
- globalSolutionEvents = (EnvDTE.SolutionEvents)((Events2)_applicationObject.Events).SolutionEvents;
- globalSolutionEvents.BeforeClosing += new _dispSolutionEvents_BeforeClosingEventHandler(SolutionEvents_BeforeClosing);
- globalSolutionEvents.Opened += new _dispSolutionEvents_OpenedEventHandler(SolutionEvents_Opened);
- globalSolutionEvents.ProjectAdded += new _dispSolutionEvents_ProjectAddedEventHandler(SolutionEvents_ProjectAdded);
+ globalSolutionEvents = (EnvDTE.SolutionEvents)((Events2)_applicationObject.Events).SolutionEvents;
+ globalSolutionEvents.BeforeClosing += new _dispSolutionEvents_BeforeClosingEventHandler(SolutionEvents_BeforeClosing);
+ globalSolutionEvents.Opened += new _dispSolutionEvents_OpenedEventHandler(SolutionEvents_Opened);
+ globalSolutionEvents.ProjectAdded += new _dispSolutionEvents_ProjectAddedEventHandler(SolutionEvents_ProjectAdded);
- projectItemsEvents = (EnvDTE.ProjectItemsEvents)((Events2)_applicationObject.Events).ProjectItemsEvents;
- projectItemsEvents.ItemAdded += new _dispProjectItemsEvents_ItemAddedEventHandler(ProjectItemEvents_ItemAdded);
- projectItemsEvents.ItemRemoved += new _dispProjectItemsEvents_ItemRemovedEventHandler(ProjectItemEvents_ItemRemoved);
- projectItemsEvents.ItemRenamed += new _dispProjectItemsEvents_ItemRenamedEventHandler(ProjectItemEvents_ItemRenamed);
+ projectItemsEvents = (EnvDTE.ProjectItemsEvents)((Events2)_applicationObject.Events).ProjectItemsEvents;
+ projectItemsEvents.ItemAdded += new _dispProjectItemsEvents_ItemAddedEventHandler(ProjectItemEvents_ItemAdded);
+ projectItemsEvents.ItemRemoved += new _dispProjectItemsEvents_ItemRemovedEventHandler(ProjectItemEvents_ItemRemoved);
+ projectItemsEvents.ItemRenamed += new _dispProjectItemsEvents_ItemRenamedEventHandler(ProjectItemEvents_ItemRenamed);
+ }
+ logger.Log(Level.DEBUG, "OnConnetion() called with connect mode " + connectMode);
+
+ // this is only called once per installation
if (connectMode == ext_ConnectMode.ext_cm_UISetup)
{
+ logger.Log(Level.DEBUG, "Registering Startup-Command in Tools-Menu");
+ Command toolsMenuCommand = null;
object[] contextGUIDS = new object[] { };
Commands2 commands = (Commands2)_applicationObject.Commands;
+
string toolsMenuName = VSCommandCaptions.Tools;
//Place the command on the tools menu.
//Find the MenuBar command bar, which is the top-level command bar holding all the main menu items:
- Microsoft.VisualStudio.CommandBars.CommandBar menuBarCommandBar = ((Microsoft.VisualStudio.CommandBars.CommandBars)_applicationObject.CommandBars)["MenuBar"];
+ CommandBar menuBarCommandBar = ((CommandBars)_applicationObject.CommandBars)["MenuBar"];
//Find the Tools command bar on the MenuBar command bar:
CommandBarControl toolsControl = menuBarCommandBar.Controls[toolsMenuName];
@@ -483,16 +493,16 @@ namespace NPanday.VisualStudio.Addin
try
{
//Add a command to the Commands collection:
- command = commands.AddNamedCommand2(_addInInstance, "NPandayAddin",
+ toolsMenuCommand = commands.AddNamedCommand2(_addInInstance, "NPandayAddin",
Messages.MSG_D_NPANDAY_BUILD_SYSTEM, Messages.MSG_T_NPANDAY_BUILDSYSTEM, true, 480, ref contextGUIDS,
(int)vsCommandStatus.vsCommandStatusSupported + (int)vsCommandStatus.vsCommandStatusEnabled,
(int)vsCommandStyle.vsCommandStylePictAndText,
vsCommandControlType.vsCommandControlTypeButton);
//Add a control for the command to the tools menu:
- if ((command != null) && (toolsPopup != null))
+ if ((toolsMenuCommand != null) && (toolsPopup != null))
{
- command.AddControl(toolsPopup.CommandBar, 1);
+ toolsMenuCommand.AddControl(toolsPopup.CommandBar, 1);
}
else
{
@@ -510,7 +520,9 @@ namespace NPanday.VisualStudio.Addin
}
}
- else if (connectMode == ext_ConnectMode.ext_cm_AfterStartup)
+
+
+ if (connectMode == ext_ConnectMode.ext_cm_AfterStartup)
{
launchNPandayBuildSystem();
}
@@ -534,51 +546,43 @@ namespace NPanday.VisualStudio.Addin
private IButtonCommandContext buildCommandContext()
{
- return new ButtonCommandContext(this);
+ return new ButtonCommandContext(this, _applicationObject);
}
private class ButtonCommandContext : IButtonCommandContext
{
- private Connect _this;
- public ButtonCommandContext(Connect connect)
+ private Connect _connect;
+ private readonly DTE2 _application;
+
+ public ButtonCommandContext(Connect connect, DTE2 application)
{
- _this = connect;
+ _connect = connect;
+ _application = application;
}
public FileInfo CurrentSelectedProjectPom
{
- get { return _this.CurrentSelectedProjectPom; }
+ get { return _connect.CurrentSelectedProjectPom; }
}
public ArtifactContext ArtifactContext
{
- get { return _this.container; }
+ get { return _connect.container; }
}
public Logger Logger
{
- get { return _this.logger; }
+ get { return _connect.logger; }
}
- public OutputWindowPane OutputWindowPane
+ public void ExecuteCommand(string visualStudioCommandName)
{
- get { return _this.outputWindowPane; }
+ _application.ExecuteCommand(visualStudioCommandName, "");
}
- public bool ExecuteCommand(string barAndCaption)
+ public void ExecuteCommand<TCommand>() where TCommand : ButtonCommand, new()
{
- CommandBarControl[] controls;
- if (_this._finder.TryFindCommands(barAndCaption, out controls))
- {
- // best guess
- controls[0].Execute();
- return true;
- }
- else
- {
- Logger.Log(Level.SEVERE, "Could not find and execute command: " + barAndCaption);
- return false;
- }
+ _connect._buttonCommandRegistry.Excecute<TCommand>(this);
}
}
@@ -1158,6 +1162,8 @@ namespace NPanday.VisualStudio.Addin
private void launchNPandayBuildSystem()
{
+ logger.Log(Level.DEBUG, "launchNPandayBuildSystem() called, _npandayLaunched is " + _npandayLaunched);
+
try
{
// just to be safe, check if NPanday is already launched
@@ -1183,8 +1189,6 @@ namespace NPanday.VisualStudio.Addin
bool placedNPandayMenus = false;
bool placedAllProjectMenu = false;
- _finder.IndexCommands();
-
CommandBarControl[] barControls;
if (_finder.TryFindCommands(VSCommandCaptions.AddReference, out barControls))
@@ -1203,19 +1207,7 @@ namespace NPanday.VisualStudio.Addin
{
foreach (CommandBarControl control in commandBar.Controls)
{
- if (control.Caption.Equals(Messages.MSG_C_ADD_REFERENCE))
- {
- CommandBarButton ctl = (CommandBarButton)
- commandBar.Controls.Add(MsoControlType.msoControlButton,
- System.Type.Missing, System.Type.Missing,
- control.Index, true);
- ctl.Click += new _CommandBarButtonEvents_ClickEventHandler(cbShowAddArtifactsForm_Click);
- ctl.Caption = Messages.MSG_C_ADD_MAVEN_ARTIFACT;
- ctl.Visible = true;
- addReferenceControls.Add(ctl);
-
- }
- else if (control.Caption.Equals("C&onfiguration Manager..."))
+ if (control.Caption.Equals("C&onfiguration Manager..."))
{
//add solution menu
createStopBuildMenu(commandBar, control);
@@ -1291,6 +1283,8 @@ namespace NPanday.VisualStudio.Addin
if (_applicationObject.Solution != null)
attachReferenceEvent();
+
+ logger.Log(Level.DEBUG, "launchNPandayBuildSystem() exited, _npandayLaunched is " + _npandayLaunched);
}
CommandBarButton cleanButton;
@@ -1431,7 +1425,6 @@ namespace NPanday.VisualStudio.Addin
CommandBarButton ctlSettingsXml;
CommandBarButton ctlSignAssembly;
- CommandBarButton ctlProjectImport;
private void createNPandayMenus(CommandBar commandBar, CommandBarControl control)
{
@@ -1460,18 +1453,7 @@ namespace NPanday.VisualStudio.Addin
ctlSignAssembly.Visible = true;
buildControls.Add(ctlSignAssembly);
- ctlProjectImport = (CommandBarButton)
- commandBar.Controls.Add(MsoControlType.msoControlButton,
- System.Type.Missing,
- System.Type.Missing,
- control.Index + 1,
- true);
- ctlProjectImport.Click +=
- new _CommandBarButtonEvents_ClickEventHandler(cbChangeProjectImportForm_Click);
- ctlProjectImport.Caption = Messages.MSG_C_IMPORT_PROJECT;
- ctlProjectImport.Visible = true;
-
- buildControls.Add(ctlProjectImport);
+ _buttonCommandRegistry.Add<ImportSelectedProjectCommand>(commandBar, control.Index + 1);
}
CommandBarPopup ctlAll;
@@ -1730,6 +1712,8 @@ namespace NPanday.VisualStudio.Addin
addReferenceControls = new List<CommandBarButton>();
buildControls = new List<CommandBarControl>();
+ _buttonCommandRegistry.UnregisterAll();
+
outputWindowPane.Clear();
mavenRunner.ClearOutputWindow();
@@ -2279,40 +2263,6 @@ namespace NPanday.VisualStudio.Addin
}
#endregion
- #region cbShowAddArtifactsForm_Click(CommandBarButton,bool)
- private void cbShowAddArtifactsForm_Click(CommandBarButton btn, ref bool Cancel)
- {
- //First selected project
- foreach (Project project in (Array)_applicationObject.ActiveSolutionProjects)
- {
- FileInfo currentPom = this.CurrentSelectedProjectPom;
- if (currentPom == null || Path.GetDirectoryName(currentPom.FullName) != Path.GetDirectoryName(project.FullName))
- {
- DialogResult result = MessageBox.Show("Pom file not found, do you want to import the projects first before adding Maven Artifact?", "Add Maven Artifact", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
- if (result == DialogResult.Cancel)
- return;
- else if (result == DialogResult.OK)
- {
- SaveAllDocuments();
- NPandayImportProjectForm frm = new NPandayImportProjectForm(_applicationObject, logger);
- frm.SetOutputWindowPane(outputWindowPane);
- frm.ShowDialog();
- currentPom = this.CurrentSelectedProjectPom;
-
- // if import failed
- if (currentPom == null || Path.GetDirectoryName(currentPom.FullName) != Path.GetDirectoryName(project.FullName))
- {
- return;
- }
- }
- }
- AddArtifactsForm form = new AddArtifactsForm(project, container, logger, currentPom);
- form.Show();
- break;
- }
- }
- #endregion
-
// by jan ancajas
#region cbChangeSettingsXmlForm_Click(CommandBarButton, bool)
private void cbChangeSettingsXmlForm_Click(CommandBarButton btn, ref bool Cancel)
@@ -2341,16 +2291,6 @@ namespace NPanday.VisualStudio.Addin
#endregion
- #region cbChangeProjectImportForm_Click(CommandBarButton, bool)
- private void cbChangeProjectImportForm_Click(CommandBarButton btn, ref bool Cancel)
- {
- SaveAllDocuments();
- NPandayImportProjectForm frm = new NPandayImportProjectForm(_applicationObject, logger);
- frm.SetOutputWindowPane(outputWindowPane);
- frm.ShowDialog();
- }
- #endregion
-
#region OnBeginShutdown(Array)
/// <summary>Implements the OnBeginShutdown method of the IDTExtensibility2 interface. Receives notification that the host application is being unloaded.</summary>
/// <param term='custom'>Array of parameters that are host application specific.</param>
@@ -2428,7 +2368,7 @@ namespace NPanday.VisualStudio.Addin
private CommandBarButton stopButton;
private ButtonCommandRegistry _buttonCommandRegistry;
- private BuiltinCommandFinder _finder;
+ private VisualStudioControlsFinder _finder;
List<WebServicesReferenceWatcher> wsRefWatcher = new List<WebServicesReferenceWatcher>();
Copied: incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/src/main/csharp/NPanday/VisualStudio/Addin/Helper/VisualStudioControlsFinder.cs (from r1198920, incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/src/main/csharp/NPanday/VisualStudio/Addin/Helper/BuiltinCommandFinder.cs)
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/src/main/csharp/NPanday/VisualStudio/Addin/Helper/VisualStudioControlsFinder.cs?p2=incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/src/main/csharp/NPanday/VisualStudio/Addin/Helper/VisualStudioControlsFinder.cs&p1=incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/src/main/csharp/NPanday/VisualStudio/Addin/Helper/BuiltinCommandFinder.cs&r1=1198920&r2=1199326&rev=1199326&view=diff
==============================================================================
--- incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/src/main/csharp/NPanday/VisualStudio/Addin/Helper/BuiltinCommandFinder.cs (original)
+++ incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/src/main/csharp/NPanday/VisualStudio/Addin/Helper/VisualStudioControlsFinder.cs Tue Nov 8 16:13:24 2011
@@ -9,20 +9,20 @@ using NPanday.Logging;
namespace NPanday.VisualStudio.Addin.Helper
{
- public class BuiltinCommandFinder
+ public class VisualStudioControlsFinder
{
private readonly DTE2 _application;
private readonly Logger _logger;
- IDictionary<string, List<string>> _containingCommandBarsByControlCaption = new Dictionary<string, List<string>>();
- IDictionary<string, List<string>> _containingCommandBarsByCammandName = new Dictionary<string, List<string>>();
+ readonly IDictionary<string, List<string>> _containingCommandBarsByControlCaption = new Dictionary<string, List<string>>();
+ readonly IDictionary<string, List<string>> _containingCommandBarsByCammandName = new Dictionary<string, List<string>>();
- IDictionary<string, CommandBarControl> _controlByCaptionPath = new Dictionary<string, CommandBarControl>();
- IDictionary<string, CommandBarControl> _controlByBarAndCommandNamePath = new Dictionary<string, CommandBarControl>();
- private bool _indexed = false;
+ readonly IDictionary<string, CommandBarControl> _controlByCaptionPath = new Dictionary<string, CommandBarControl>();
+ readonly IDictionary<string, CommandBarControl> _controlByBarAndCommandNamePath = new Dictionary<string, CommandBarControl>();
+ private bool _indexed;
- public BuiltinCommandFinder(DTE2 application, Logger logger)
+ public VisualStudioControlsFinder(DTE2 application, Logger logger)
{
_application = application;
_logger = logger;
@@ -117,25 +117,21 @@ namespace NPanday.VisualStudio.Addin.Hel
ensureIsIndexed();
CommandBarControl control;
- if (_controlByBarAndCommandNamePath.TryGetValue(buildCommandCaptionPath(commandBar, controlCaptionOrCommandName), out control))
+ var commandNamePath = buildCommandCaptionPath(commandBar, controlCaptionOrCommandName);
+ if (_controlByBarAndCommandNamePath.TryGetValue(commandNamePath, out control))
{
- string commandName = getButtonTargetCommand(control).Name;
- if (!string.IsNullOrEmpty(commandName))
- {
- _logger.Log(Level.DEBUG,
- "Control found using it's caption; its better to use the command name: " + commandName);
- }
return control;
}
- if (_controlByCaptionPath.TryGetValue(buildCommandCaptionPath(commandBar, controlCaptionOrCommandName), out control))
+ var commandCaptionPath = buildCommandCaptionPath(commandBar, controlCaptionOrCommandName);
+ if (_controlByCaptionPath.TryGetValue(commandCaptionPath, out control))
{
string commandName = getButtonTargetCommand(control).Name;
if (!string.IsNullOrEmpty(commandName))
{
_logger.Log(Level.DEBUG,
- "Control found using it's caption; its better to use the command name: " + commandName);
+ "Control found using it's caption path '" + commandCaptionPath + "'; its better to use the command name path: " + commandNamePath);
}
return control;
}
Modified: incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/src/main/csharp/NPanday/VisualStudio/Addin/NPandayImportProjectForm.cs
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/src/main/csharp/NPanday/VisualStudio/Addin/NPandayImportProjectForm.cs?rev=1199326&r1=1199325&r2=1199326&view=diff
==============================================================================
--- incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/src/main/csharp/NPanday/VisualStudio/Addin/NPandayImportProjectForm.cs (original)
+++ incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/src/main/csharp/NPanday/VisualStudio/Addin/NPandayImportProjectForm.cs Tue Nov 8 16:13:24 2011
@@ -43,10 +43,9 @@ namespace NPanday.VisualStudio.Addin
public partial class NPandayImportProjectForm : Form
{
private DTE2 applicationObject;
- private OutputWindowPane outputWindowPane;
private NPanday.Logging.Logger logger;
- public static string FilterID(string partial)
+ public static string FilterID(string partial)
{
string filtered = string.Empty;
if (partial.EndsWith("."))
@@ -81,16 +80,16 @@ namespace NPanday.VisualStudio.Addin
{
txtBrowseDotNetSolutionFile.Text = applicationObject.Solution.FileName;
try
- {
- string companyId = Registry.LocalMachine.OpenSubKey(@"Software\Microsoft\Windows NT\CurrentVersion").GetValue("RegisteredOrganization","mycompany").ToString();
+ {
+ string companyId = Registry.LocalMachine.OpenSubKey(@"Software\Microsoft\Windows NT\CurrentVersion").GetValue("RegisteredOrganization", "mycompany").ToString();
string groupId = string.Empty;
-
+
if (companyId != string.Empty)
{
- groupId = FilterID( ConvertToPascalCase(companyId) )+ ".";
+ groupId = FilterID(ConvertToPascalCase(companyId)) + ".";
}
-
- groupId = groupId + FilterID(ConvertToPascalCase(new FileInfo(applicationObject.Solution.FileName).Name.Replace(".sln", "")));
+
+ groupId = groupId + FilterID(ConvertToPascalCase(new FileInfo(applicationObject.Solution.FileName).Name.Replace(".sln", "")));
txtGroupId.Text = groupId;
string scmTag = string.Empty; //getSCMTag(applicationObject.Solution.FileName);
string version = "1.0-SNAPSHOT";
@@ -114,7 +113,7 @@ namespace NPanday.VisualStudio.Addin
}
}
- if(! string.IsNullOrEmpty(scmTag))
+ if (!string.IsNullOrEmpty(scmTag))
{
txtSCMTag.Text = scmTag;
}
@@ -153,11 +152,6 @@ namespace NPanday.VisualStudio.Addin
return strBuild.ToString();
}
- public void SetOutputWindowPane(OutputWindowPane pane)
- {
- outputWindowPane = pane;
- }
-
private void btnBrowse_Click(object sender, EventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();
@@ -196,8 +190,8 @@ namespace NPanday.VisualStudio.Addin
MessageBox.Show(exception.Message, "NPanday Import Error:", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
-
- protected void GeneratePom(String solutionFile, String groupId, String version, String scmTag)
+
+ protected void GeneratePom(String solutionFile, String groupId, String version, String scmTag)
{
string warningMsg = string.Empty;
String mavenVerRegex = "^[0-9]+(" + Regex.Escape(".") + "?[0-9]+){0,3}$";
@@ -205,12 +199,12 @@ namespace NPanday.VisualStudio.Addin
String singleMavenVer = "[0-9]+";
bool isMatch = false;
- if (version.Length > 1)
+ if (version.Length > 1)
{
if (Regex.IsMatch(version, hasAlpha) && version.ToUpper().EndsWith("-SNAPSHOT"))
{
- isMatch = Regex.IsMatch(version.ToUpper().Replace("-SNAPSHOT",""), mavenVerRegex, RegexOptions.Singleline);
+ isMatch = Regex.IsMatch(version.ToUpper().Replace("-SNAPSHOT", ""), mavenVerRegex, RegexOptions.Singleline);
}
else
{
@@ -318,15 +312,15 @@ namespace NPanday.VisualStudio.Addin
{
message += Environment.NewLine + "Version is empty.";
}
-
+
else if (!isMatch)
{
message += Environment.NewLine + "Version should be in the form major.minor.build.revision-SNAPSHOT";
}
-
+
throw new Exception(message);
}
-
+
}
private void btnCancel_Click(object sender, EventArgs e)
@@ -337,7 +331,7 @@ namespace NPanday.VisualStudio.Addin
private void txtSCMTag_TextChanged(object sender, EventArgs e)
{
-
+
}
private void txtSCMTag_Click(object sender, EventArgs e)
@@ -379,7 +373,7 @@ namespace NPanday.VisualStudio.Addin
if (refManagers.Count > 0)
{
refManagerHasError = false;
- outputWindowPane.OutputString("\n[INFO] Re-syncing artifacts... ");
+ logger.Log(Level.INFO, "Re-syncing artifacts... ");
try
{
foreach (IReferenceManager mgr in refManagers)
@@ -390,18 +384,18 @@ namespace NPanday.VisualStudio.Addin
if (!refManagerHasError)
{
- outputWindowPane.OutputString(string.Format("done [{0}]", DateTime.Now.ToString("hh:mm tt")));
+ logger.Log(Level.INFO, string.Format("done [{0}]", DateTime.Now.ToString("hh:mm tt")));
}
}
catch (Exception ex)
{
if (refManagerHasError)
{
- outputWindowPane.OutputString(string.Format("\n[WARNING] {0}\n\n{1}\n\n", ex.Message, ex.StackTrace));
+ logger.Log(Level.WARNING, string.Format("{0}\n\n{1}\n\n", ex.Message, ex.StackTrace));
}
else
{
- outputWindowPane.OutputString(string.Format("failed: {0}\n\n{1}\n\n", ex.Message, ex.StackTrace));
+ logger.Log(Level.SEVERE, (string.Format("failed: {0}\n\n{1}\n\n", ex.Message, ex.StackTrace)));
}
}
}
@@ -412,7 +406,7 @@ namespace NPanday.VisualStudio.Addin
{
Solution2 solution = (Solution2)applicationObject.Solution;
string solutionDir = Path.GetDirectoryName(solution.FullName);
- bool isFlatSingleModule = (solution.Projects.Count == 1
+ bool isFlatSingleModule = (solution.Projects.Count == 1
&& Path.GetExtension(solution.Projects.Item(1).FullName).EndsWith("proj")
&& solutionDir == Path.GetDirectoryName(solution.Projects.Item(1).FullName));
@@ -435,10 +429,10 @@ namespace NPanday.VisualStudio.Addin
else
{
// This check seems too arbitrary - removed for now
-// if (solutionDir != Path.GetDirectoryName(projDir))
-// {
-// throw new Exception("Project Importer failed with project " + project.Name + ". Project directory structure may not be supported: in a multi-module project, the project must be in a direct subdirectory of the solution");
-// }
+ // if (solutionDir != Path.GetDirectoryName(projDir))
+ // {
+ // throw new Exception("Project Importer failed with project " + project.Name + ". Project directory structure may not be supported: in a multi-module project, the project must be in a direct subdirectory of the solution");
+ // }
}
}
}
@@ -448,7 +442,7 @@ namespace NPanday.VisualStudio.Addin
void refmanager_OnError(object sender, ReferenceErrorEventArgs e)
{
refManagerHasError = true;
- outputWindowPane.OutputString("\n[WARNING] " + e.Message);
+ logger.Log(Level.WARNING, e.Message);
}
private const string WEB_PROJECT_KIND_GUID = "{E24C65DC-7377-472B-9ABA-BC803B73C61A}";
Modified: incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio/src/main/csharp/NPanday/VisualStudio/Logging/OutputWindowPaneHandler.cs
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio/src/main/csharp/NPanday/VisualStudio/Logging/OutputWindowPaneHandler.cs?rev=1199326&r1=1199325&r2=1199326&view=diff
==============================================================================
--- incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio/src/main/csharp/NPanday/VisualStudio/Logging/OutputWindowPaneHandler.cs (original)
+++ incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio/src/main/csharp/NPanday/VisualStudio/Logging/OutputWindowPaneHandler.cs Tue Nov 8 16:13:24 2011
@@ -26,44 +26,44 @@ using NPanday.Logging;
namespace NPanday.VisualStudio.Logging
{
- /// <summary>
- /// Description of OutputWindowPaneHandler.
- /// </summary>
- public class OutputWindowPaneHandler : IHandler
- {
- private Level level;
-
- private OutputWindowPane outputWindowPane;
-
- public OutputWindowPaneHandler()
- {
- this.level = Level.INFO;
- }
-
- public void SetOutputWindowPaneHandler(OutputWindowPane outputWindowPane)
- {
- this.outputWindowPane = outputWindowPane;
- }
-
- [MethodImpl(MethodImplOptions.Synchronized)]
- public void publish(LogRecord record)
- {
- if(record.GetLevel().GetValue() >= level.GetValue())
- {
- outputWindowPane.OutputString(record.GetMessage().Trim() + Environment.NewLine);
- }
- }
-
- [MethodImpl(MethodImplOptions.Synchronized)]
- public void SetLevel(Level level)
- {
- this.level = level;
- }
-
- [MethodImpl(MethodImplOptions.Synchronized)]
- public Level GetLevel()
- {
- return level;
- }
- }
+ /// <summary>
+ /// Description of OutputWindowPaneHandler.
+ /// </summary>
+ public class OutputWindowPaneHandler : IHandler
+ {
+ private Level level;
+
+ private OutputWindowPane outputWindowPane;
+
+ public OutputWindowPaneHandler()
+ {
+ this.level = Level.INFO;
+ }
+
+ public void SetOutputWindowPaneHandler(OutputWindowPane outputWindowPane)
+ {
+ this.outputWindowPane = outputWindowPane;
+ }
+
+ [MethodImpl(MethodImplOptions.Synchronized)]
+ public void publish(LogRecord record)
+ {
+ if (record.GetLevel().GetValue() >= level.GetValue())
+ {
+ outputWindowPane.OutputString(record.ToString().Trim() + Environment.NewLine);
+ }
+ }
+
+ [MethodImpl(MethodImplOptions.Synchronized)]
+ public void SetLevel(Level level)
+ {
+ this.level = level;
+ }
+
+ [MethodImpl(MethodImplOptions.Synchronized)]
+ public Level GetLevel()
+ {
+ return level;
+ }
+ }
}