diff --git a/GreenshotConfluencePlugin/ConfluenceDestination.cs b/GreenshotConfluencePlugin/ConfluenceDestination.cs index 09fd11377..32c192dfb 100644 --- a/GreenshotConfluencePlugin/ConfluenceDestination.cs +++ b/GreenshotConfluencePlugin/ConfluenceDestination.cs @@ -92,7 +92,7 @@ namespace GreenshotConfluencePlugin { } public override IEnumerable DynamicDestinations() { - if (!ConfluencePlugin.ConfluenceConnectorNoLogin.isLoggedIn) { + if (ConfluencePlugin.ConfluenceConnectorNoLogin == null || !ConfluencePlugin.ConfluenceConnectorNoLogin.isLoggedIn) { yield break; } List currentPages = ConfluenceUtils.GetCurrentPages(); diff --git a/GreenshotConfluencePlugin/ConfluencePlugin.cs b/GreenshotConfluencePlugin/ConfluencePlugin.cs index 01da4061b..6fd02ad6a 100644 --- a/GreenshotConfluencePlugin/ConfluencePlugin.cs +++ b/GreenshotConfluencePlugin/ConfluencePlugin.cs @@ -41,16 +41,19 @@ namespace GreenshotConfluencePlugin { private static PluginAttribute ConfluencePluginAttributes; private static ConfluenceConfiguration config = null; private static IGreenshotHost host; - + + private static void CreateConfluenceConntector() { + if (confluenceConnector == null) { + if (config.Url.Contains("soap-axis")) { + confluenceConnector = new ConfluenceConnector(config.Url, config.Timeout); + } else { + confluenceConnector = new ConfluenceConnector(config.Url + ConfluenceConfiguration.DEFAULT_POSTFIX, config.Timeout); + } + } + } + public static ConfluenceConnector ConfluenceConnectorNoLogin { get { - if (confluenceConnector == null) { - if (config.Url.Contains("soap-axis")) { - confluenceConnector = new ConfluenceConnector(config.Url, config.Timeout); - } else { - confluenceConnector = new ConfluenceConnector(config.Url + ConfluenceConfiguration.DEFAULT_POSTFIX, config.Timeout); - } - } return confluenceConnector; } } @@ -58,7 +61,7 @@ namespace GreenshotConfluencePlugin { public static ConfluenceConnector ConfluenceConnector { get { if (confluenceConnector == null) { - confluenceConnector = ConfluenceConnectorNoLogin; + CreateConfluenceConntector(); } try { if (!confluenceConnector.isLoggedIn) { diff --git a/GreenshotJiraPlugin/JiraDestination.cs b/GreenshotJiraPlugin/JiraDestination.cs index f1e73fd21..2b0300aac 100644 --- a/GreenshotJiraPlugin/JiraDestination.cs +++ b/GreenshotJiraPlugin/JiraDestination.cs @@ -86,8 +86,7 @@ namespace GreenshotJiraPlugin { } public override IEnumerable DynamicDestinations() { - // Fail fast would be like this: if (JiraPlugin.Instance.CurrentJiraConnector == null || !JiraPlugin.Instance.JiraConnector.isLoggedIn) { - if (!JiraPlugin.Instance.JiraConnector.isLoggedIn) { + if (JiraPlugin.Instance.CurrentJiraConnector == null || !JiraPlugin.Instance.CurrentJiraConnector.isLoggedIn) { yield break; } List issues = JiraUtils.GetCurrentJiras(); diff --git a/GreenshotJiraPlugin/JiraPlugin.cs b/GreenshotJiraPlugin/JiraPlugin.cs index a1744e4dc..4803a9d86 100644 --- a/GreenshotJiraPlugin/JiraPlugin.cs +++ b/GreenshotJiraPlugin/JiraPlugin.cs @@ -75,11 +75,11 @@ namespace GreenshotJiraPlugin { } //Needed for a fail-fast - //public JiraConnector CurrentJiraConnector { - // get { - // return jiraConnector; - // } - //} + public JiraConnector CurrentJiraConnector { + get { + return jiraConnector; + } + } public JiraConnector JiraConnector { get {