2010-05-19 Atsushi Enomoto <atsushi@ximian.com>
authorAtsushi Eno <atsushieno@gmail.com>
Wed, 19 May 2010 08:12:32 +0000 (08:12 -0000)
committerAtsushi Eno <atsushieno@gmail.com>
Wed, 19 May 2010 08:12:32 +0000 (08:12 -0000)
* ServiceSettingsResponseInfo.cs
  RegisterResponseInfo.cs
  RefreshResponseInfo.cs
  ResolveInfo.cs
  UpdateInfo.cs
  RegisterInfo.cs
  UnregisterInfo.cs
  RefreshInfo.cs
  ResolveResponseInfo.cs : they don't have field initialization at
  constructor now, for FormatterServices.GetUninitializedObject().
  Fix regression with related to serialization changes.

* PeerResolverSerializationTest.cs :
  verify deserialized address count too.

svn path=/trunk/mcs/; revision=157532

12 files changed:
mcs/class/System.ServiceModel/System.ServiceModel.PeerResolvers/ChangeLog
mcs/class/System.ServiceModel/System.ServiceModel.PeerResolvers/RefreshInfo.cs
mcs/class/System.ServiceModel/System.ServiceModel.PeerResolvers/RefreshResponseInfo.cs
mcs/class/System.ServiceModel/System.ServiceModel.PeerResolvers/RegisterInfo.cs
mcs/class/System.ServiceModel/System.ServiceModel.PeerResolvers/RegisterResponseInfo.cs
mcs/class/System.ServiceModel/System.ServiceModel.PeerResolvers/ResolveInfo.cs
mcs/class/System.ServiceModel/System.ServiceModel.PeerResolvers/ResolveResponseInfo.cs
mcs/class/System.ServiceModel/System.ServiceModel.PeerResolvers/ServiceSettingsResponseInfo.cs
mcs/class/System.ServiceModel/System.ServiceModel.PeerResolvers/UnregisterInfo.cs
mcs/class/System.ServiceModel/System.ServiceModel.PeerResolvers/UpdateInfo.cs
mcs/class/System.ServiceModel/Test/System.ServiceModel.PeerResolvers/ChangeLog
mcs/class/System.ServiceModel/Test/System.ServiceModel.PeerResolvers/PeerResolverSerializationTest.cs

index 99f0484a50af47ec113afc3632dd9b66fefab415..3a98126d518ca05c422465429b8f168589a6971b 100644 (file)
@@ -1,3 +1,17 @@
+2010-05-19  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * ServiceSettingsResponseInfo.cs
+         RegisterResponseInfo.cs
+         RefreshResponseInfo.cs
+         ResolveInfo.cs
+         UpdateInfo.cs
+         RegisterInfo.cs
+         UnregisterInfo.cs
+         RefreshInfo.cs
+         ResolveResponseInfo.cs : they don't have field initialization at
+         constructor now, for FormatterServices.GetUninitializedObject().
+         Fix regression with related to serialization changes.
+
 2009-08-24  Atsushi Enomoto  <atsushi@ximian.com>
 
        * IPeerConnectorContract.cs : use common Constants class.
index 9206450331a970aa98f6f9f60a910582760396c9..d11030cca075993656c6dab7ee591f9daeafa8ea 100644 (file)
@@ -15,26 +15,32 @@ namespace System.ServiceModel.PeerResolvers
        public class RefreshInfo
        {
                [MessageBodyMember (Name = "Refresh", Namespace = "http://schemas.microsoft.com/net/2006/05/peer")]
+               RefreshInfoDC Body {
+                       get {
+                               if (body == null)
+                                       body = new RefreshInfoDC ();
+                               return body;
+                       }
+               }
                RefreshInfoDC body;
                
                public RefreshInfo ()
                {
-                       body = new RefreshInfoDC ();
                }
                
                public RefreshInfo (string meshId, Guid regId)
                        : this ()
                {
-                       body.MeshId = meshId;
-                       body.RegistrationId = regId;
+                       Body.MeshId = meshId;
+                       Body.RegistrationId = regId;
                }
                
                public string MeshId {
-                       get { return body.MeshId; }
+                       get { return Body.MeshId; }
                }
                
                public Guid RegistrationId {
-                       get { return body.RegistrationId; }
+                       get { return Body.RegistrationId; }
                }
                
                public bool HasBody ()
index 390e51281d06ded8d2f89bf69b4d39831dace495..8642d2ffbd60624703c7dc14f805e95010a1fcd6 100644 (file)
@@ -15,28 +15,33 @@ namespace System.ServiceModel.PeerResolvers
        public class RefreshResponseInfo
        {
                [MessageBodyMember (Name = "RefreshResponse", Namespace = "http://schemas.microsoft.com/net/2006/05/peer")]
+               RefreshResponseInfoDC Body {
+                       get {
+                               if (body == null)
+                                       body = new RefreshResponseInfoDC ();
+                               return body;
+                       }
+               }
                RefreshResponseInfoDC body;
                
                public RefreshResponseInfo ()
                {
-                       body = new RefreshResponseInfoDC ();
                }
                
                public RefreshResponseInfo (TimeSpan registrationLifetime, RefreshResult result)
-                       : this ()
                {
-                       body.RegistrationLifetime = registrationLifetime;
-                       body.Result = result;
+                       Body.RegistrationLifetime = registrationLifetime;
+                       Body.Result = result;
                }
                
                public TimeSpan RegistrationLifetime {
-                       get { return body.RegistrationLifetime; }
-                       set { body.RegistrationLifetime = value; }
+                       get { return Body.RegistrationLifetime; }
+                       set { Body.RegistrationLifetime = value; }
                }
                
                public RefreshResult Result {
-                       get { return body.Result; }
-                       set { body.Result = value; }
+                       get { return Body.Result; }
+                       set { Body.Result = value; }
                }
                
                public bool HasBody ()
index 7fcf7527acffe583de523efd2d8b1f8401db33a6..000b66353ba9ee0c40e8f0b727cc09e5f16c2b89 100644 (file)
@@ -36,31 +36,37 @@ namespace System.ServiceModel.PeerResolvers
        public class RegisterInfo
        {
                [MessageBodyMember (Name = "Register", Namespace = "http://schemas.microsoft.com/net/2006/05/peer")]
+               RegisterInfoDC Body {
+                       get {
+                               if (body == null)
+                                       body = new RegisterInfoDC ();
+                               return body;
+                       }
+               }
                RegisterInfoDC body;
                
                public RegisterInfo ()
                {
-                       body = new RegisterInfoDC ();
                }
                
                public RegisterInfo (Guid client, string meshId, PeerNodeAddress address)
                        : this ()
                {
-                       body.ClientId = client;
-                       body.MeshId = meshId;
-                       body.NodeAddress = address;
+                       Body.ClientId = client;
+                       Body.MeshId = meshId;
+                       Body.NodeAddress = address;
                }
                
                public Guid ClientId {
-                       get { return body.ClientId; }
+                       get { return Body.ClientId; }
                }
                
                public string MeshId {
-                       get { return body.MeshId; }
+                       get { return Body.MeshId; }
                }
                
                public PeerNodeAddress NodeAddress {
-                       get { return body.NodeAddress; }
+                       get { return Body.NodeAddress; }
                }
                
                public bool HasBody ()
index e9d5d648a43b9d0fd996832c8b24f5fadc4e4d25..46155ef92650512791e1d3a5dce257703a5f27ec 100644 (file)
@@ -15,27 +15,33 @@ namespace System.ServiceModel.PeerResolvers
        public class RegisterResponseInfo
        {
                [MessageBodyMember (Name = "Update", Namespace = "http://schemas.microsoft.com/net/2006/05/peer")] // .NET indeed returns "Update" element here.
+               RegisterResponseInfoDC Body {
+                       get {
+                               if (body == null)
+                                       body = new RegisterResponseInfoDC ();
+                               return body;
+                       }
+               }
                RegisterResponseInfoDC body;
                
                public RegisterResponseInfo ()
                {
-                       body = new RegisterResponseInfoDC ();
                }
                
                public RegisterResponseInfo (Guid registrationId, TimeSpan registrationLifetime)
                {
-                       body.RegistrationId = registrationId;
-                       body.RegistrationLifetime = registrationLifetime;
+                       Body.RegistrationId = registrationId;
+                       Body.RegistrationLifetime = registrationLifetime;
                }
                
                public Guid RegistrationId {
-                       get { return body.RegistrationId; }
-                       set { body.RegistrationId = value; }
+                       get { return Body.RegistrationId; }
+                       set { Body.RegistrationId = value; }
                }
                
                public TimeSpan RegistrationLifetime {
-                       get { return body.RegistrationLifetime; }
-                       set { body.RegistrationLifetime = value; }
+                       get { return Body.RegistrationLifetime; }
+                       set { Body.RegistrationLifetime = value; }
                }
                
                public bool HasBody ()
index a853947a2ec434e10a92e215a030f5184d684075..d7b37347b0a08d6a09b044f9b875995ed57317c8 100644 (file)
@@ -15,15 +15,20 @@ namespace System.ServiceModel.PeerResolvers
        public class ResolveInfo
        {
                [MessageBodyMember (Name = "Resolve", Namespace = "http://schemas.microsoft.com/net/2006/05/peer")]
+               ResolveInfoDC Body {
+                       get {
+                               if (body == null)
+                                       body = new ResolveInfoDC ();
+                               return body;
+                       }
+               }
                ResolveInfoDC body;
                
                public ResolveInfo ()
                {
-                       body = new ResolveInfoDC ();
                }
                
                public ResolveInfo (Guid clientId, string meshId, int maxAddresses)
-                       : this ()
                {
                        if (clientId == Guid.Empty)
                                throw new ArgumentException ("Empty Guid");
@@ -31,19 +36,19 @@ namespace System.ServiceModel.PeerResolvers
                                throw new ArgumentNullException ("meshId");
                        if (maxAddresses <= 0)
                                throw new ArgumentOutOfRangeException ("maxAddresses must be positive integer");
-                       body.ClientId = clientId;
-                       body.MeshId = meshId;
-                       body.MaxAddresses = maxAddresses;
+                       Body.ClientId = clientId;
+                       Body.MeshId = meshId;
+                       Body.MaxAddresses = maxAddresses;
                }
                
                public Guid ClientId {
-                       get { return body.ClientId; }
+                       get { return Body.ClientId; }
                }
                public int MaxAddresses {
-                       get { return body.MaxAddresses; }
+                       get { return Body.MaxAddresses; }
                }
                public string MeshId {
-                       get { return body.MeshId; }
+                       get { return Body.MeshId; }
                }
                
                public bool HasBody ()
index a3605a74d5cbace586ec8e93d3aa007a9a3e4dc9..ea921d4c354a0223be9be1f12852404f10cb87e0 100644 (file)
@@ -16,21 +16,27 @@ namespace System.ServiceModel.PeerResolvers
        public class ResolveResponseInfo
        {
                [MessageBodyMember (Name = "ResolveResponse", Namespace = "http://schemas.microsoft.com/net/2006/05/peer")]
+               ResolveResponseInfoDC Body {
+                       get {
+                               if (body == null)
+                                       body = new ResolveResponseInfoDC ();
+                               return body;
+                       }
+               }
                ResolveResponseInfoDC body;
-               
+
                public ResolveResponseInfo ()
                {
-                       body = new ResolveResponseInfoDC ();
                }
                
-               public ResolveResponseInfo (PeerNodeAddress[] addresses)
+               public ResolveResponseInfo (PeerNodeAddress [] addresses)
                {
-                       body.Addresses = new List<PeerNodeAddress> (addresses);
+                       Body.Addresses = new List<PeerNodeAddress> (addresses);
                }
                
                public IList<PeerNodeAddress> Addresses {
-                       get { return body.Addresses; }
-                       set { body.Addresses = value; }
+                       get { return Body.Addresses; }
+                       set { Body.Addresses = value; }
                }
                
                public bool HasBody ()
index f172f73a2cd62c5e33d790aed4042fadeee1665a..50be42bb89d2866c6a881ac06ec2b4077fe6e524 100644 (file)
@@ -15,22 +15,27 @@ namespace System.ServiceModel.PeerResolvers
        public class ServiceSettingsResponseInfo
        {
                [MessageBodyMember (Name = "ServiceSettings", Namespace = "http://schemas.microsoft.com/net/2006/05/peer")]
+               ServiceSettingsResponseInfoDC Body {
+                       get {
+                               if (body == null)
+                                       body = new ServiceSettingsResponseInfoDC ();
+                               return body;
+                       }
+               }
                ServiceSettingsResponseInfoDC body;
                
                public ServiceSettingsResponseInfo ()
                {
-                       body = new ServiceSettingsResponseInfoDC ();
                }
                
                public ServiceSettingsResponseInfo (bool control)
-                       : this ()
                {
-                       body.ControlMeshShape = control;
+                       Body.ControlMeshShape = control;
                }
                
                public bool ControlMeshShape {
-                       get { return body.ControlMeshShape; }
-                       set { body.ControlMeshShape = value; }
+                       get { return Body.ControlMeshShape; }
+                       set { Body.ControlMeshShape = value; }
                }
                
                public bool HasBody ()
index fe925c7ac05762d8f68e06c69cef1deea90162ae..ed82ee27195d510d1030f5354d07ba4060853527 100644 (file)
@@ -15,26 +15,31 @@ namespace System.ServiceModel.PeerResolvers
        public class UnregisterInfo
        {
                [MessageBodyMember (Name = "Unregister", Namespace = "http://schemas.microsoft.com/net/2006/05/peer")]
+               UnregisterInfoDC Body {
+                       get {
+                               if (body == null)
+                                       body = new UnregisterInfoDC ();
+                               return body;
+                       }
+               }
                UnregisterInfoDC body;
                
                public UnregisterInfo ()
                {
-                       body = new UnregisterInfoDC ();
                }
                
                public UnregisterInfo (string meshId, Guid registration_id)
-                       : this ()
                {
-                       body.MeshId = meshId;
-                       body.RegistrationId = registration_id;
+                       Body.MeshId = meshId;
+                       Body.RegistrationId = registration_id;
                }
                
                public string MeshId {
-                       get { return body.MeshId; }
+                       get { return Body.MeshId; }
                }
                
                public Guid RegistrationId  {
-                       get { return body.RegistrationId; }
+                       get { return Body.RegistrationId; }
                }
                
                public bool HasBody ()
index 77815d10d43ac3db9b80833db402229443678595..6a2ef871c848c8bcd39ff68e2dc80a1e0a86ffae 100644 (file)
@@ -15,36 +15,42 @@ namespace System.ServiceModel.PeerResolvers
        public class UpdateInfo
        {
                [MessageBodyMember (Name = "Update", Namespace = "http://schemas.microsoft.com/net/2006/05/peer")]
+               UpdateInfoDC Body {
+                       get {
+                               if (body == null)
+                                       body = new UpdateInfoDC ();
+                               return body;
+                       }
+               }
                UpdateInfoDC body;
                
                public UpdateInfo ()
                {
-                       body = new UpdateInfoDC ();
                }
                
                public UpdateInfo (Guid registrationId, Guid client, string meshId, PeerNodeAddress address)
                        : this ()
                {
-                       body.RegistrationId = registrationId;
-                       body.ClientId = client;
-                       body.MeshId = meshId;
-                       body.NodeAddress = address;
+                       Body.RegistrationId = registrationId;
+                       Body.ClientId = client;
+                       Body.MeshId = meshId;
+                       Body.NodeAddress = address;
                }
                
                public Guid ClientId {
-                       get { return body.ClientId; }
+                       get { return Body.ClientId; }
                }
                
                public string MeshId {
-                       get { return body.MeshId; }
+                       get { return Body.MeshId; }
                }
                
                public PeerNodeAddress NodeAddress {
-                       get { return body.NodeAddress; }
+                       get { return Body.NodeAddress; }
                }
                
                public Guid RegistrationId {
-                       get { return body.RegistrationId; }
+                       get { return Body.RegistrationId; }
                }
                
                public bool HasBody ()
index 306f17810d8f4b98cfa23be5f984f7f2529f79b6..254f40bec97c1c26b779ec66a2d40fac3888dddf 100644 (file)
@@ -1,3 +1,8 @@
+2010-05-19  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * PeerResolverSerializationTest.cs :
+         verify deserialized address count too.
+
 2010-04-05  Atsushi Enomoto  <atsushi@ximian.com>
 
        * CustomPeerResolverServiceTest.cs : enabled all disabled tests.
index 146ee020649f4a3a9ac3e8083f0302f8ff57bc02..452e9a21728597e0dd40daa22d0e3364c6f5ee34 100644 (file)
@@ -69,6 +69,7 @@ public class PeerResolverSerializationTest
                using (var xw = XmlWriter.Create (sw))
                        ser.WriteObject (xw, rri);
                rri = (ResolveResponseInfo) ser.ReadObject (XmlReader.Create (new StringReader (sw.ToString ())));
+               Assert.AreEqual (1, rri.Addresses.Count, "#1");
        }
 }