Browse Source

Implement several ToString() methods.

atsushieno 15 years ago
parent
commit
526f29729f

+ 4 - 0
mcs/class/System.ServiceModel/System.ServiceModel.Channels/ChangeLog

@@ -1,3 +1,7 @@
+2010-07-28  Atsushi Enomoto  <[email protected]>
+
+	* SecurityBindingElement.cs : implement ToString().
+
 2010-07-15  Atsushi Enomoto  <[email protected]>
 
 	* MtomMessageEncodingBindingElement.cs, MtomMessageEncoder.cs :

+ 13 - 2
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]

+ 8 - 0
mcs/class/System.ServiceModel/System.ServiceModel.Security.Tokens/ChangeLog

@@ -1,3 +1,11 @@
+2010-07-28  Atsushi Enomoto  <[email protected]>
+
+	* SecurityTokenParameters.cs, SupportingTokenParameters.cs,
+	  SslSecurityTokenParameters.cs, IssuedSecurityTokenParameters.cs,
+	  SspiSecurityTokenParameters.cs,
+	  SecureConversationSecurityTokenParameters.cs :
+	  implement ToString().
+
 2010-07-15  Atsushi Enomoto  <[email protected]>
 
 	* SslSecurityTokenProvider.cs : verify mismatch. We don't have

+ 0 - 1
mcs/class/System.ServiceModel/System.ServiceModel.Security.Tokens/IssuedSecurityTokenParameters.cs

@@ -84,7 +84,6 @@ namespace System.ServiceModel.Security.Tokens
 		Collection<XmlElement> additional_reqs =
 			new Collection<XmlElement> ();
 
-		[MonoTODO]
 		public override string ToString ()
 		{
 			return base.ToString ();

+ 0 - 1
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 ();

+ 13 - 2
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; }

+ 0 - 1
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 ();

+ 0 - 1
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 ();

+ 16 - 2
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<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')));
 		}
 	}
 }