[mapguide-commits] r6763 - in trunk/Tools/Maestro: Maestro.Base/Editor Maestro.Base/Properties OSGeo.MapGuide.MaestroAPI OSGeo.MapGuide.MaestroAPI.Http
svn_mapguide at osgeo.org
svn_mapguide at osgeo.org
Thu Jun 14 07:05:31 PDT 2012
Author: jng
Date: 2012-06-14 07:05:30 -0700 (Thu, 14 Jun 2012)
New Revision: 6763
Modified:
trunk/Tools/Maestro/Maestro.Base/Editor/EditorContentBase.Designer.cs
trunk/Tools/Maestro/Maestro.Base/Editor/EditorContentBase.cs
trunk/Tools/Maestro/Maestro.Base/Editor/EditorContentBase.resx
trunk/Tools/Maestro/Maestro.Base/Editor/ResourceEditorService.cs
trunk/Tools/Maestro/Maestro.Base/Properties/Resources.Designer.cs
trunk/Tools/Maestro/Maestro.Base/Properties/Resources.resx
trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI.Http/HttpServerConnection.cs
trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/MgServerConnectionBase.cs
Log:
#2027: Hook into the new SessionIDChanged event to allow editors to semi-gracefully notify the user that they need to be reloaded.
Modified: trunk/Tools/Maestro/Maestro.Base/Editor/EditorContentBase.Designer.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Base/Editor/EditorContentBase.Designer.cs 2012-06-14 14:04:07 UTC (rev 6762)
+++ trunk/Tools/Maestro/Maestro.Base/Editor/EditorContentBase.Designer.cs 2012-06-14 14:05:30 UTC (rev 6763)
@@ -33,7 +33,11 @@
this.label1 = new System.Windows.Forms.Label();
this.btnUpgrade = new System.Windows.Forms.Button();
this.panelBody = new System.Windows.Forms.Panel();
+ this.sessionRestartPanel = new System.Windows.Forms.Panel();
+ this.label2 = new System.Windows.Forms.Label();
+ this.btnReload = new System.Windows.Forms.Button();
this.upgradePanel.SuspendLayout();
+ this.sessionRestartPanel.SuspendLayout();
this.SuspendLayout();
//
// upgradePanel
@@ -61,14 +65,36 @@
resources.ApplyResources(this.panelBody, "panelBody");
this.panelBody.Name = "panelBody";
//
+ // sessionRestartPanel
+ //
+ this.sessionRestartPanel.BackColor = System.Drawing.SystemColors.Info;
+ this.sessionRestartPanel.Controls.Add(this.label2);
+ this.sessionRestartPanel.Controls.Add(this.btnReload);
+ resources.ApplyResources(this.sessionRestartPanel, "sessionRestartPanel");
+ this.sessionRestartPanel.Name = "sessionRestartPanel";
+ //
+ // label2
+ //
+ resources.ApplyResources(this.label2, "label2");
+ this.label2.Name = "label2";
+ //
+ // btnReload
+ //
+ resources.ApplyResources(this.btnReload, "btnReload");
+ this.btnReload.Name = "btnReload";
+ this.btnReload.UseVisualStyleBackColor = true;
+ this.btnReload.Click += new System.EventHandler(this.btnReload_Click);
+ //
// EditorContentBase
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.Controls.Add(this.panelBody);
+ this.Controls.Add(this.sessionRestartPanel);
this.Controls.Add(this.upgradePanel);
this.Name = "EditorContentBase";
resources.ApplyResources(this, "$this");
this.upgradePanel.ResumeLayout(false);
+ this.sessionRestartPanel.ResumeLayout(false);
this.ResumeLayout(false);
}
@@ -79,5 +105,8 @@
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Button btnUpgrade;
protected System.Windows.Forms.Panel panelBody;
+ private System.Windows.Forms.Panel sessionRestartPanel;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.Button btnReload;
}
}
Modified: trunk/Tools/Maestro/Maestro.Base/Editor/EditorContentBase.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Base/Editor/EditorContentBase.cs 2012-06-14 14:04:07 UTC (rev 6762)
+++ trunk/Tools/Maestro/Maestro.Base/Editor/EditorContentBase.cs 2012-06-14 14:05:30 UTC (rev 6763)
@@ -51,6 +51,12 @@
private set { upgradePanel.Visible = value; }
}
+ public bool RequiresReload
+ {
+ get { return sessionRestartPanel.Visible; }
+ set { sessionRestartPanel.Visible = true; }
+ }
+
private IEditorService _svc;
public IEditorService EditorService
@@ -67,6 +73,9 @@
_svc.DirtyStateChanged -= OnDirtyStateChanged;
_svc.Saved -= OnSaved;
_svc.BeforeSave -= OnBeforeSave;
+
+ var res = _svc.GetEditedResource();
+ res.CurrentConnection.SessionIDChanged -= OnSessionIdChanged;
}
_svc = value;
@@ -74,8 +83,13 @@
_svc.Saved += OnSaved;
_svc.BeforeSave += OnBeforeSave;
+ {
+ var res = _svc.GetEditedResource();
+ res.CurrentConnection.SessionIDChanged += OnSessionIdChanged;
+ }
+
UpdateTitle();
-
+
this.CanUpgrade = _svc.IsUpgradeAvailable;
Bind(_svc);
@@ -88,6 +102,11 @@
}
}
+ void OnSessionIdChanged(object sender, EventArgs e)
+ {
+ this.RequiresReload = true;
+ }
+
/// <summary>
/// Gets the XML content of the edited resource
/// </summary>
@@ -334,5 +353,24 @@
this.EditorService.MarkDirty(); //It gets re-init with a clean slate, but an in-place upgrade is a dirty operation
}
}
+
+ private void btnReload_Click(object sender, EventArgs e)
+ {
+ if (this.EditorService.IsNew)
+ {
+ MessageService.ShowMessage(Properties.Resources.TextReloadNewResource);
+ this.Close(true);
+ }
+ else
+ {
+ var omgr = ServiceRegistry.GetService<OpenResourceManager>();
+ var res = this.EditorService.GetEditedResource();
+ var origResId = this.EditorService.ResourceID;
+ var conn = res.CurrentConnection;
+ var wb = Workbench.Instance;
+ this.Close();
+ omgr.Open(origResId, conn, false, wb.ActiveSiteExplorer);
+ }
+ }
}
}
Modified: trunk/Tools/Maestro/Maestro.Base/Editor/EditorContentBase.resx
===================================================================
--- trunk/Tools/Maestro/Maestro.Base/Editor/EditorContentBase.resx 2012-06-14 14:04:07 UTC (rev 6762)
+++ trunk/Tools/Maestro/Maestro.Base/Editor/EditorContentBase.resx 2012-06-14 14:05:30 UTC (rev 6763)
@@ -112,23 +112,71 @@
<value>2.0</value>
</resheader>
<resheader name="reader">
- <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
- <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
- <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name=">>label1.Name" xml:space="preserve">
+ <value>label1</value>
+ </data>
+ <data name=">>label1.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>label1.Parent" xml:space="preserve">
+ <value>upgradePanel</value>
+ </data>
+ <data name=">>label1.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <data name=">>btnUpgrade.Name" xml:space="preserve">
+ <value>btnUpgrade</value>
+ </data>
+ <data name=">>btnUpgrade.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>btnUpgrade.Parent" xml:space="preserve">
+ <value>upgradePanel</value>
+ </data>
+ <data name=">>btnUpgrade.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="upgradePanel.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+ <value>Top</value>
+ </data>
+ <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <data name="upgradePanel.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 0</value>
+ </data>
+ <data name="upgradePanel.Size" type="System.Drawing.Size, System.Drawing">
+ <value>614, 39</value>
+ </data>
+ <assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="upgradePanel.TabIndex" type="System.Int32, mscorlib">
+ <value>0</value>
+ </data>
+ <data name=">>upgradePanel.Name" xml:space="preserve">
+ <value>upgradePanel</value>
+ </data>
+ <data name=">>upgradePanel.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>upgradePanel.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>upgradePanel.ZOrder" xml:space="preserve">
+ <value>2</value>
+ </data>
<data name="label1.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
</data>
- <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="label1.Location" type="System.Drawing.Point, System.Drawing">
<value>17, 13</value>
</data>
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
<value>494, 13</value>
</data>
- <assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="label1.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
@@ -139,7 +187,7 @@
<value>label1</value>
</data>
<data name=">>label1.Type" xml:space="preserve">
- <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name=">>label1.Parent" xml:space="preserve">
<value>upgradePanel</value>
@@ -166,7 +214,7 @@
<value>btnUpgrade</value>
</data>
<data name=">>btnUpgrade.Type" xml:space="preserve">
- <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name=">>btnUpgrade.Parent" xml:space="preserve">
<value>upgradePanel</value>
@@ -174,38 +222,14 @@
<data name=">>btnUpgrade.ZOrder" xml:space="preserve">
<value>1</value>
</data>
- <data name="upgradePanel.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
- <value>Top</value>
- </data>
- <data name="upgradePanel.Location" type="System.Drawing.Point, System.Drawing">
- <value>0, 0</value>
- </data>
- <data name="upgradePanel.Size" type="System.Drawing.Size, System.Drawing">
- <value>614, 39</value>
- </data>
- <data name="upgradePanel.TabIndex" type="System.Int32, mscorlib">
- <value>0</value>
- </data>
- <data name=">>upgradePanel.Name" xml:space="preserve">
- <value>upgradePanel</value>
- </data>
- <data name=">>upgradePanel.Type" xml:space="preserve">
- <value>System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name=">>upgradePanel.Parent" xml:space="preserve">
- <value>$this</value>
- </data>
- <data name=">>upgradePanel.ZOrder" xml:space="preserve">
- <value>1</value>
- </data>
<data name="panelBody.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="panelBody.Location" type="System.Drawing.Point, System.Drawing">
- <value>0, 39</value>
+ <value>0, 78</value>
</data>
<data name="panelBody.Size" type="System.Drawing.Size, System.Drawing">
- <value>614, 520</value>
+ <value>614, 481</value>
</data>
<data name="panelBody.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
@@ -214,7 +238,7 @@
<value>panelBody</value>
</data>
<data name=">>panelBody.Type" xml:space="preserve">
- <value>System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name=">>panelBody.Parent" xml:space="preserve">
<value>$this</value>
@@ -222,7 +246,98 @@
<data name=">>panelBody.ZOrder" xml:space="preserve">
<value>0</value>
</data>
- <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <data name="label2.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="label2.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+ <value>NoControl</value>
+ </data>
+ <data name="label2.Location" type="System.Drawing.Point, System.Drawing">
+ <value>17, 8</value>
+ </data>
+ <data name="label2.Size" type="System.Drawing.Size, System.Drawing">
+ <value>494, 28</value>
+ </data>
+ <data name="label2.TabIndex" type="System.Int32, mscorlib">
+ <value>2</value>
+ </data>
+ <data name="label2.Text" xml:space="preserve">
+ <value>A new session was created since this editor was opened. Click reload to refresh this editor. All unsaved changes are lost
+</value>
+ </data>
+ <data name="label2.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
+ <value>MiddleLeft</value>
+ </data>
+ <data name=">>label2.Name" xml:space="preserve">
+ <value>label2</value>
+ </data>
+ <data name=">>label2.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>label2.Parent" xml:space="preserve">
+ <value>sessionRestartPanel</value>
+ </data>
+ <data name=">>label2.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <data name="btnReload.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Right</value>
+ </data>
+ <data name="btnReload.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+ <value>NoControl</value>
+ </data>
+ <data name="btnReload.Location" type="System.Drawing.Point, System.Drawing">
+ <value>526, 8</value>
+ </data>
+ <data name="btnReload.Size" type="System.Drawing.Size, System.Drawing">
+ <value>75, 23</value>
+ </data>
+ <data name="btnReload.TabIndex" type="System.Int32, mscorlib">
+ <value>1</value>
+ </data>
+ <data name="btnReload.Text" xml:space="preserve">
+ <value>Reload</value>
+ </data>
+ <data name=">>btnReload.Name" xml:space="preserve">
+ <value>btnReload</value>
+ </data>
+ <data name=">>btnReload.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>btnReload.Parent" xml:space="preserve">
+ <value>sessionRestartPanel</value>
+ </data>
+ <data name=">>btnReload.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <data name="sessionRestartPanel.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+ <value>Top</value>
+ </data>
+ <data name="sessionRestartPanel.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 39</value>
+ </data>
+ <data name="sessionRestartPanel.Size" type="System.Drawing.Size, System.Drawing">
+ <value>614, 39</value>
+ </data>
+ <data name="sessionRestartPanel.TabIndex" type="System.Int32, mscorlib">
+ <value>2</value>
+ </data>
+ <data name="sessionRestartPanel.Visible" type="System.Boolean, mscorlib">
+ <value>False</value>
+ </data>
+ <data name=">>sessionRestartPanel.Name" xml:space="preserve">
+ <value>sessionRestartPanel</value>
+ </data>
+ <data name=">>sessionRestartPanel.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>sessionRestartPanel.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>sessionRestartPanel.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<data name="$this.Size" type="System.Drawing.Size, System.Drawing">
@@ -232,6 +347,6 @@
<value>EditorContentBase</value>
</data>
<data name=">>$this.Type" xml:space="preserve">
- <value>Maestro.Base.ViewContentBase, Maestro.Base, Version=3.5.0.5977, Culture=neutral, PublicKeyToken=null</value>
+ <value>Maestro.Shared.UI.ViewContentBase, Maestro.Shared.UI, Version=5.0.0.6640, Culture=neutral, PublicKeyToken=f526c48929fda856</value>
</data>
</root>
\ No newline at end of file
Modified: trunk/Tools/Maestro/Maestro.Base/Editor/ResourceEditorService.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Base/Editor/ResourceEditorService.cs 2012-06-14 14:04:07 UTC (rev 6762)
+++ trunk/Tools/Maestro/Maestro.Base/Editor/ResourceEditorService.cs 2012-06-14 14:05:30 UTC (rev 6763)
@@ -41,7 +41,7 @@
private ISiteExplorer _siteExp;
private OpenResourceManager _orm;
- public ResourceEditorService(string resourceID, IServerConnection conn, IUrlLauncherService launcher, ISiteExplorer siteExp, OpenResourceManager orm)
+ internal ResourceEditorService(string resourceID, IServerConnection conn, IUrlLauncherService launcher, ISiteExplorer siteExp, OpenResourceManager orm)
: base(resourceID, conn)
{
_siteExp = siteExp;
Modified: trunk/Tools/Maestro/Maestro.Base/Properties/Resources.Designer.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Base/Properties/Resources.Designer.cs 2012-06-14 14:04:07 UTC (rev 6762)
+++ trunk/Tools/Maestro/Maestro.Base/Properties/Resources.Designer.cs 2012-06-14 14:05:30 UTC (rev 6763)
@@ -1,7 +1,7 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
-// Runtime Version:4.0.30319.225
+// Runtime Version:4.0.30319.269
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
@@ -2460,6 +2460,15 @@
}
}
+ /// <summary>
+ /// Looks up a localized string similar to Sorry, this is a newly created resource. The editor will close instead.
+ /// </summary>
+ internal static string TextReloadNewResource {
+ get {
+ return ResourceManager.GetString("TextReloadNewResource", resourceCulture);
+ }
+ }
+
internal static System.Drawing.Bitmap tick {
get {
object obj = ResourceManager.GetObject("tick", resourceCulture);
Modified: trunk/Tools/Maestro/Maestro.Base/Properties/Resources.resx
===================================================================
--- trunk/Tools/Maestro/Maestro.Base/Properties/Resources.resx 2012-06-14 14:04:07 UTC (rev 6762)
+++ trunk/Tools/Maestro/Maestro.Base/Properties/Resources.resx 2012-06-14 14:05:30 UTC (rev 6763)
@@ -2682,4 +2682,7 @@
<data name="PrgPreparingResourcePreview" xml:space="preserve">
<value>Preparing resource preview</value>
</data>
+ <data name="TextReloadNewResource" xml:space="preserve">
+ <value>Sorry, this is a newly created resource. The editor will close instead</value>
+ </data>
</root>
\ No newline at end of file
Modified: trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/MgServerConnectionBase.cs
===================================================================
--- trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/MgServerConnectionBase.cs 2012-06-14 14:04:07 UTC (rev 6762)
+++ trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/MgServerConnectionBase.cs 2012-06-14 14:05:30 UTC (rev 6763)
@@ -116,6 +116,12 @@
var oldSessionId = this.SessionID;
var ret = RestartSessionInternal(throwException);
var newSessionId = this.SessionID;
+ CheckAndRaiseSessionChanged(oldSessionId, newSessionId);
+ return ret;
+ }
+
+ protected void CheckAndRaiseSessionChanged(string oldSessionId, string newSessionId)
+ {
if (!string.IsNullOrEmpty(oldSessionId))
{
if (oldSessionId != newSessionId)
@@ -125,7 +131,6 @@
h(this, EventArgs.Empty);
}
}
- return ret;
}
protected abstract bool RestartSessionInternal(bool throwException);
Modified: trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI.Http/HttpServerConnection.cs
===================================================================
--- trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI.Http/HttpServerConnection.cs 2012-06-14 14:04:07 UTC (rev 6762)
+++ trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI.Http/HttpServerConnection.cs 2012-06-14 14:05:30 UTC (rev 6763)
@@ -1155,6 +1155,7 @@
Uri hosturl = new Uri(m_reqBuilder.HostURI);
string locale = m_reqBuilder.Locale;
+ string oldSessionId = m_reqBuilder.SessionID;
try
{
@@ -1168,6 +1169,8 @@
reqb.SessionID = System.Text.Encoding.Default.GetString(wc.DownloadData(req));
if (reqb.SessionID.IndexOf("<") >= 0)
throw new Exception("Invalid server token recieved: " + reqb.SessionID);
+ else
+ CheckAndRaiseSessionChanged(oldSessionId, reqb.SessionID);
}
catch (Exception ex)
{
@@ -1187,14 +1190,13 @@
reqb.SessionID = System.Text.Encoding.Default.GetString(wc.DownloadData(req));
if (reqb.SessionID.IndexOf("<") >= 0)
throw new Exception("Invalid server token recieved: " + reqb.SessionID);
-
ok = true;
}
}
catch {}
- if (!ok)
- {
+ if (!ok)
+ {
if (throwException) //Report original error
{
if (ex is WebException) //These exceptions, we just want the underlying message. No need for 50 bajillion nested exceptions
@@ -1204,7 +1206,11 @@
}
else
return false;
- }
+ }
+ else
+ {
+ CheckAndRaiseSessionChanged(oldSessionId, reqb.SessionID);
+ }
}
//Reset cached items
More information about the mapguide-commits
mailing list