Implement several ToString() methods.
authoratsushieno <atsushi@ximian.com>
Wed, 28 Jul 2010 15:04:43 +0000 (00:04 +0900)
committeratsushieno <atsushi@ximian.com>
Wed, 28 Jul 2010 15:04:43 +0000 (00:04 +0900)
mcs/class/System.ServiceModel/System.ServiceModel.Channels/ChangeLog
mcs/class/System.ServiceModel/System.ServiceModel.Channels/SecurityBindingElement.cs
mcs/class/System.ServiceModel/System.ServiceModel.Security.Tokens/ChangeLog
mcs/class/System.ServiceModel/System.ServiceModel.Security.Tokens/IssuedSecurityTokenParameters.cs
mcs/class/System.ServiceModel/System.ServiceModel.Security.Tokens/SecureConversationSecurityTokenParameters.cs
mcs/class/System.ServiceModel/System.ServiceModel.Security.Tokens/SecurityTokenParameters.cs
mcs/class/System.ServiceModel/System.ServiceModel.Security.Tokens/SslSecurityTokenParameters.cs
mcs/class/System.ServiceModel/System.ServiceModel.Security.Tokens/SspiSecurityTokenParameters.cs
mcs/class/System.ServiceModel/System.ServiceModel.Security.Tokens/SupportingTokenParameters.cs

index d60296c9702dc50658b5ffc6ba8171841b6c08b5..6f98db8e2ad9edae4815a2ee4f6ae8977ede21b1 100755 (executable)
@@ -1,3 +1,7 @@
+2010-07-28  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * SecurityBindingElement.cs : implement ToString().
+
 2010-07-15  Atsushi Enomoto  <atsushi@ximian.com>
 
        * MtomMessageEncodingBindingElement.cs, MtomMessageEncoder.cs :
index e229f912d40fa5281aee9871258a058552c655ff..80e2800217e256ad05bf572db4d9da8f5a0edb9c 100644 (file)
@@ -36,6 +36,7 @@ using System.IdentityModel.Selectors;
 using System.IdentityModel.Tokens;
 using System.ServiceModel.Security.Tokens;
 #endif
+using System.Text;
 
 namespace System.ServiceModel.Channels
 {
@@ -176,10 +177,20 @@ namespace System.ServiceModel.Channels
                                p.SetKeyDerivation (requireDerivedKeys);
                }
 
-               [MonoTODO]
                public override string ToString ()
                {
-                       return base.ToString ();
+                       var sb = new StringBuilder ();
+                       sb.Append (GetType ().FullName).Append (":\n");
+                       foreach (var pi in GetType ().GetProperties ()) {
+                               var simple = Type.GetTypeCode (pi.PropertyType) != TypeCode.Object;
+                               var val = pi.GetValue (this, null);
+                               sb.Append (pi.Name).Append (':');
+                               if (val != null)
+                                       sb.AppendFormat ("{0}{1}{2}", simple ? " " : "\n", simple ? "" : "  ", String.Join ("\n  ", val.ToString ().Split ('\n')));
+                               sb.Append ('\n');
+                       }
+                       sb.Length--; // chop trailing EOL.
+                       return sb.ToString ();
                }
 #else
                [MonoTODO]
index 1b7d8d11c8bbe103db6ab970352a6dbd32c1ebdb..c7cb2f18c11a59abaa6eef164f8e2f2d7df245b4 100755 (executable)
@@ -1,3 +1,11 @@
+2010-07-28  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * SecurityTokenParameters.cs, SupportingTokenParameters.cs,
+         SslSecurityTokenParameters.cs, IssuedSecurityTokenParameters.cs,
+         SspiSecurityTokenParameters.cs,
+         SecureConversationSecurityTokenParameters.cs :
+         implement ToString().
+
 2010-07-15  Atsushi Enomoto  <atsushi@ximian.com>
 
        * SslSecurityTokenProvider.cs : verify mismatch. We don't have
index ce91e21141e1e69c673c1ab5581b8a0a1d9f4bda..58faba37d0c7994d2094deac3a6c7261cdeb8df0 100644 (file)
@@ -84,7 +84,6 @@ namespace System.ServiceModel.Security.Tokens
                Collection<XmlElement> additional_reqs =
                        new Collection<XmlElement> ();
 
-               [MonoTODO]
                public override string ToString ()
                {
                        return base.ToString ();
index ef61a1085679f1fc7afc486531f2a4f65f501ad6..956104dc08c2bebe3f1f6f3f5782f24b4342d259 100644 (file)
@@ -155,7 +155,6 @@ namespace System.ServiceModel.Security.Tokens
                        requirement.KeyType = SecurityKeyType.SymmetricKey;
                }
 
-               [MonoTODO]
                public override string ToString ()
                {
                        return base.ToString ();
index 39b0fdcceb7e2d98c3edfa6d2604ab3bebb4a8c3..3618cc99eaaf6b67ada3a5b8190095b90cc3b052 100644 (file)
@@ -29,6 +29,7 @@ using System.IdentityModel.Selectors;
 using System.IdentityModel.Tokens;
 using System.ServiceModel.Channels;
 using System.ServiceModel.Security;
+using System.Text;
 
 namespace System.ServiceModel.Security.Tokens
 {
@@ -67,10 +68,20 @@ namespace System.ServiceModel.Security.Tokens
                        return CloneCore ();
                }
 
-               [MonoTODO]
                public override string ToString ()
                {
-                       return base.ToString ();
+                       var sb = new StringBuilder ();
+                       sb.Append (GetType ().FullName).Append (":\n");
+                       foreach (var pi in GetType ().GetProperties ()) {
+                               var simple = Type.GetTypeCode (pi.PropertyType) != TypeCode.Object;
+                               var val = pi.GetValue (this, null);
+                               sb.Append (pi.Name).Append (':');
+                               if (val != null)
+                                       sb.AppendFormat ("{0}{1}{2}", simple ? " " : "\n", simple ? "" : "  ", String.Join ("\n  ", val.ToString ().Split ('\n')));
+                               sb.Append ('\n');
+                       }
+                       sb.Length--; // chop trailing EOL.
+                       return sb.ToString ();
                }
 
                protected abstract bool HasAsymmetricKey { get; }
index 0e70f06eeb88ea8bee46e0cf1f572e0bfd68f326..15e6bb45864563d1de667b378fd54b00ca6463e7 100644 (file)
@@ -71,7 +71,6 @@ namespace System.ServiceModel.Security.Tokens
                        set { cancel = value; }
                }
 
-               [MonoTODO]
                public override string ToString ()
                {
                        return base.ToString ();
index c5aab7c6a7fd2a81e1924ff047186f1c41f09c56..ea963d0131b4ecc2e30fb03ab22f26f462635d8a 100644 (file)
@@ -98,7 +98,6 @@ namespace System.ServiceModel.Security.Tokens
                        requirement.KeyType = SecurityKeyType.SymmetricKey;
                }
 
-               [MonoTODO]
                public override string ToString ()
                {
                        return base.ToString ();
index b8bb7f483132a117ef49cac6bce48b66f7791413..8bbc19983e459fce6c7c38b3c9fbe4a91d5fa16a 100644 (file)
@@ -31,6 +31,7 @@ using System.Net.Security;
 using System.ServiceModel.Channels;
 using System.ServiceModel.Description;
 using System.ServiceModel.Security;
+using System.Text;
 
 using ParamList = System.Collections.ObjectModel.Collection<System.ServiceModel.Security.Tokens.SecurityTokenParameters>;
 
@@ -88,10 +89,23 @@ namespace System.ServiceModel.Security.Tokens
                                p.RequireDerivedKeys = requireDerivedKeys;
                }
 
-               [MonoTODO]
                public override string ToString ()
                {
-                       return base.ToString ();
+                       var sb = new StringBuilder ();
+                       AppendCollection (sb, Endorsing, "endorsing", "Endorsing");
+                       AppendCollection (sb, Signed, "signed", "Signed");
+                       AppendCollection (sb, SignedEncrypted, "signed encrypted", "SignedEncrypted");
+                       AppendCollection (sb, SignedEndorsing, "signed endorsing", "SignedEndorsing");
+                       sb.Length--; // chop trailing EOL.
+                       return sb.ToString ();
+               }
+
+               void AppendCollection (StringBuilder sb, Collection<SecurityTokenParameters> col, string emptyLabel, string label)
+               {
+                       if (col.Count == 0)
+                               sb.AppendFormat ("No {0} tokens.\n", emptyLabel);
+                       for (int i = 0; i < col.Count; i++)
+                               sb.AppendFormat ("{0}[{1}]\n  {2}\n", label, i, String.Join ("\n  ", col [i].ToString ().Split ('\n')));
                }
        }
 }