From 526f29729f59e88cdf7bfce5bd5cacc75d413eab Mon Sep 17 00:00:00 2001 From: atsushieno Date: Thu, 29 Jul 2010 00:04:43 +0900 Subject: [PATCH] Implement several ToString() methods. --- .../System.ServiceModel.Channels/ChangeLog | 4 ++++ .../SecurityBindingElement.cs | 15 +++++++++++++-- .../ChangeLog | 8 ++++++++ .../IssuedSecurityTokenParameters.cs | 1 - ...ecureConversationSecurityTokenParameters.cs | 1 - .../SecurityTokenParameters.cs | 15 +++++++++++++-- .../SslSecurityTokenParameters.cs | 1 - .../SspiSecurityTokenParameters.cs | 1 - .../SupportingTokenParameters.cs | 18 ++++++++++++++++-- 9 files changed, 54 insertions(+), 10 deletions(-) diff --git a/mcs/class/System.ServiceModel/System.ServiceModel.Channels/ChangeLog b/mcs/class/System.ServiceModel/System.ServiceModel.Channels/ChangeLog index d60296c9702..6f98db8e2ad 100755 --- a/mcs/class/System.ServiceModel/System.ServiceModel.Channels/ChangeLog +++ b/mcs/class/System.ServiceModel/System.ServiceModel.Channels/ChangeLog @@ -1,3 +1,7 @@ +2010-07-28 Atsushi Enomoto + + * SecurityBindingElement.cs : implement ToString(). + 2010-07-15 Atsushi Enomoto * MtomMessageEncodingBindingElement.cs, MtomMessageEncoder.cs : diff --git a/mcs/class/System.ServiceModel/System.ServiceModel.Channels/SecurityBindingElement.cs b/mcs/class/System.ServiceModel/System.ServiceModel.Channels/SecurityBindingElement.cs index e229f912d40..80e2800217e 100644 --- a/mcs/class/System.ServiceModel/System.ServiceModel.Channels/SecurityBindingElement.cs +++ b/mcs/class/System.ServiceModel/System.ServiceModel.Channels/SecurityBindingElement.cs @@ -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] diff --git a/mcs/class/System.ServiceModel/System.ServiceModel.Security.Tokens/ChangeLog b/mcs/class/System.ServiceModel/System.ServiceModel.Security.Tokens/ChangeLog index 1b7d8d11c8b..c7cb2f18c11 100755 --- a/mcs/class/System.ServiceModel/System.ServiceModel.Security.Tokens/ChangeLog +++ b/mcs/class/System.ServiceModel/System.ServiceModel.Security.Tokens/ChangeLog @@ -1,3 +1,11 @@ +2010-07-28 Atsushi Enomoto + + * SecurityTokenParameters.cs, SupportingTokenParameters.cs, + SslSecurityTokenParameters.cs, IssuedSecurityTokenParameters.cs, + SspiSecurityTokenParameters.cs, + SecureConversationSecurityTokenParameters.cs : + implement ToString(). + 2010-07-15 Atsushi Enomoto * SslSecurityTokenProvider.cs : verify mismatch. We don't have diff --git a/mcs/class/System.ServiceModel/System.ServiceModel.Security.Tokens/IssuedSecurityTokenParameters.cs b/mcs/class/System.ServiceModel/System.ServiceModel.Security.Tokens/IssuedSecurityTokenParameters.cs index ce91e21141e..58faba37d0c 100644 --- a/mcs/class/System.ServiceModel/System.ServiceModel.Security.Tokens/IssuedSecurityTokenParameters.cs +++ b/mcs/class/System.ServiceModel/System.ServiceModel.Security.Tokens/IssuedSecurityTokenParameters.cs @@ -84,7 +84,6 @@ namespace System.ServiceModel.Security.Tokens Collection additional_reqs = new Collection (); - [MonoTODO] public override string ToString () { return base.ToString (); diff --git a/mcs/class/System.ServiceModel/System.ServiceModel.Security.Tokens/SecureConversationSecurityTokenParameters.cs b/mcs/class/System.ServiceModel/System.ServiceModel.Security.Tokens/SecureConversationSecurityTokenParameters.cs index ef61a108567..956104dc08c 100644 --- a/mcs/class/System.ServiceModel/System.ServiceModel.Security.Tokens/SecureConversationSecurityTokenParameters.cs +++ b/mcs/class/System.ServiceModel/System.ServiceModel.Security.Tokens/SecureConversationSecurityTokenParameters.cs @@ -155,7 +155,6 @@ namespace System.ServiceModel.Security.Tokens requirement.KeyType = SecurityKeyType.SymmetricKey; } - [MonoTODO] public override string ToString () { return base.ToString (); diff --git a/mcs/class/System.ServiceModel/System.ServiceModel.Security.Tokens/SecurityTokenParameters.cs b/mcs/class/System.ServiceModel/System.ServiceModel.Security.Tokens/SecurityTokenParameters.cs index 39b0fdcceb7..3618cc99eaa 100644 --- a/mcs/class/System.ServiceModel/System.ServiceModel.Security.Tokens/SecurityTokenParameters.cs +++ b/mcs/class/System.ServiceModel/System.ServiceModel.Security.Tokens/SecurityTokenParameters.cs @@ -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; } diff --git a/mcs/class/System.ServiceModel/System.ServiceModel.Security.Tokens/SslSecurityTokenParameters.cs b/mcs/class/System.ServiceModel/System.ServiceModel.Security.Tokens/SslSecurityTokenParameters.cs index 0e70f06eeb8..15e6bb45864 100644 --- a/mcs/class/System.ServiceModel/System.ServiceModel.Security.Tokens/SslSecurityTokenParameters.cs +++ b/mcs/class/System.ServiceModel/System.ServiceModel.Security.Tokens/SslSecurityTokenParameters.cs @@ -71,7 +71,6 @@ namespace System.ServiceModel.Security.Tokens set { cancel = value; } } - [MonoTODO] public override string ToString () { return base.ToString (); diff --git a/mcs/class/System.ServiceModel/System.ServiceModel.Security.Tokens/SspiSecurityTokenParameters.cs b/mcs/class/System.ServiceModel/System.ServiceModel.Security.Tokens/SspiSecurityTokenParameters.cs index c5aab7c6a7f..ea963d0131b 100644 --- a/mcs/class/System.ServiceModel/System.ServiceModel.Security.Tokens/SspiSecurityTokenParameters.cs +++ b/mcs/class/System.ServiceModel/System.ServiceModel.Security.Tokens/SspiSecurityTokenParameters.cs @@ -98,7 +98,6 @@ namespace System.ServiceModel.Security.Tokens requirement.KeyType = SecurityKeyType.SymmetricKey; } - [MonoTODO] public override string ToString () { return base.ToString (); diff --git a/mcs/class/System.ServiceModel/System.ServiceModel.Security.Tokens/SupportingTokenParameters.cs b/mcs/class/System.ServiceModel/System.ServiceModel.Security.Tokens/SupportingTokenParameters.cs index b8bb7f48313..8bbc19983e4 100644 --- a/mcs/class/System.ServiceModel/System.ServiceModel.Security.Tokens/SupportingTokenParameters.cs +++ b/mcs/class/System.ServiceModel/System.ServiceModel.Security.Tokens/SupportingTokenParameters.cs @@ -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; @@ -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 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'))); } } } -- 2.25.1