From: Clayton H. <dr...@us...> - 2005-01-01 22:07:37
|
Update of /cvsroot/sharpcvslib/sharpcvslib/src/ICSharpCode/SharpCvsLib/Misc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9234/src/ICSharpCode/SharpCvsLib/Misc Modified Files: CvsRoot.cs CvsRootParseException.cs UnsupportedProtocolException.cs Log Message: Cleaned up documentation, added SSPI class that depends on DocVisions library. If the library is not found in lib/ext then the sspi classes are not included. Refactored some of the exception classes. Index: CvsRoot.cs =================================================================== RCS file: /cvsroot/sharpcvslib/sharpcvslib/src/ICSharpCode/SharpCvsLib/Misc/CvsRoot.cs,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** CvsRoot.cs 1 Nov 2004 21:23:31 -0000 1.17 --- CvsRoot.cs 1 Jan 2005 22:06:55 -0000 1.18 *************** *** 57,60 **** --- 57,76 ---- private readonly ILog LOGGER = LogManager.GetLogger(typeof(CvsRoot)); + + /// <summary> + /// Available protocols. + /// </summary> + public enum ProtocolType { + pserver, ssh, ext, sspi + } + + private ProtocolType protocol = ProtocolType.pserver; + private string user = String.Empty; + private string host = String.Empty; + private int port = SharpCvsLibConfig.DEFAULT_PORT; + private string cvsrepository = String.Empty; + + private const int PROTOCOL_INDEX = 1; + /// <summary> /// Identify the protocols that are currently supported. *************** *** 62,65 **** --- 78,82 ---- /// NOTE: This probably should be replaced by enums. /// </summary> + [Obsolete("Use the enumeration ProtocolType.")] public class HostProtocol { /// <summary> *************** *** 76,103 **** public const String EXT = "ext"; } - private string protocol = String.Empty; - private string user = String.Empty; - private string host = String.Empty; - private int port = SharpCvsLibConfig.DEFAULT_PORT; - private string cvsrepository = String.Empty; - - private const int PROTOCOL_INDEX = 1; /// <summary> ! /// The protocol to use when communicating with the server. Currently supported ! /// and accepted values are: ! /// <ol> ! /// <li>pserver</li> ! /// <li>ssh</li> ! /// <li>ext</li> ! /// </ol> /// </summary> public string Protocol { ! get {return protocol;} ! set { ! LOGGER.Debug(String.Format("Protocol: {0}", value)); ! AssertNotEmpty(value, "Protocol"); ! protocol = value; ! } } --- 93,111 ---- public const String EXT = "ext"; } /// <summary> ! /// The protocol to use when communicating with the server. See <see cref="ProtocolType"/> ! /// for currently supported and accepted values. /// </summary> public string Protocol { ! get {return protocol.ToString();} ! set { ! this.protocol = ! (ProtocolType)System.Enum.Parse(typeof(ProtocolType), value); } ! } ! ! public ProtocolType TransportProtocol { ! get { return this.protocol; } ! set { this.protocol = value; } } *************** *** 106,113 **** /// </summary> public string User { ! get {return user;} ! set { ! LOGGER.Debug(String.Format("User: {0}", value)); ! user = value;} } --- 114,119 ---- /// </summary> public string User { ! get { return user; } ! set { user = value; } } *************** *** 133,137 **** } ! if (HasUserVar(this.Protocol)) { AssertNotEmpty(this.User, "User"); } --- 139,143 ---- } ! if (HasUserVar(this.TransportProtocol)) { AssertNotEmpty(this.User, "User"); } *************** *** 181,187 **** /// <list type="table"> /// <term>protocol:</term> ! /// <description>pserver, ssh and ext protocols ! /// <warn>NOTE: Currently unsupported, but valid cvs protocols include: sspi and ntserver</warn> ! /// </description> /// <term>username:</term> /// <description>the login user for the remote client. This will be --- 187,191 ---- /// <list type="table"> /// <term>protocol:</term> ! /// <description>pserver, ssh, ext, sspi protocols</description> /// <term>username:</term> /// <description>the login user for the remote client. This will be *************** *** 197,224 **** /// <example> /// Cvsroot examples: ! /// <table> ! /// /// <item>:pserver:ano...@cv...:/cvsroot/sharpcvslib - /// /// would be parsed as follows: ! /// <list> ! /// <item>protocol = pserver (password server protocol)</item> ! /// <item>user = anonymous</item> ! /// <item>server = cvs.sourceforge.net</item> ! /// port = 2401 (default port) ! /// path = /cvsroot/sharpcvslib ! /// ! /// 2) :pserver:ano...@cv...:80:/cvsroot/sharpcvslib ! /// ! /// would be parsed as follows: ! /// protocol = pserver (password server protocol) ! /// user = anonymous ! /// server = cvs.sourceforge.net ! /// port = 80 ! /// path = /cvsroot/sharpcvslib ! /// ! /// /// </example> ! /// <exception cref="CvsRootParseException">If the cvsroot does not /// translate to a valid cvsroot.</exception> public CvsRoot(string cvsRoot) { --- 201,257 ---- /// <example> /// Cvsroot examples: ! /// <list type="table"> /// <item>:pserver:ano...@cv...:/cvsroot/sharpcvslib /// would be parsed as follows: ! /// <list type="table"> ! /// <item> ! /// <term>protocol</term> ! /// <description>pserver (password server protocol)</description> ! /// </item> ! /// <item> ! /// <term>user</term> ! /// <description>anonymous</description> ! /// </item> ! /// <item> ! /// <term>server</term> ! /// <description>cvs.sourceforge.net</description> ! /// </item> ! /// <item> ! /// <term>port</term> ! /// <description>2401 (default port)</description> ! /// </item> ! /// <item> ! /// <term>path</term> ! /// <description>/cvsroot/sharpcvslib</description> ! /// </item> ! /// </list> ! /// </item> ! /// <item>:pserver:ano...@cv...:80:/cvsroot/sharpcvslib ! /// <list type="table"> ! /// <item> ! /// <term>protocol</term> ! /// <description>pserver (password server protocol)</description> ! /// </item> ! /// <item> ! /// <term>user</term> ! /// <description>anonymous</description> ! /// </item> ! /// <item> ! /// <term>server</term> ! /// <description>cvs.sourceforge.net</description> ! /// </item> ! /// <item> ! /// <term>port</term> ! /// <description>80</description> ! /// </item> ! /// <item> ! /// <term>path</term> ! /// <description>/cvsroot/sharpcvslib</description> ! /// </item> ! /// </list> ! /// </item> ! /// </list> /// </example> ! /// <exception cref="ICSharpCode.SharpCvsLib.Exceptions.CvsRootParseException">If the cvsroot does not /// translate to a valid cvsroot.</exception> public CvsRoot(string cvsRoot) { *************** *** 231,235 **** /// </summary> /// <param name="cvsRoot">The array of cvs root variables</param> ! /// <exception cref="CvsRootParseException">A parse exception is thrown /// if the cvsroot is not in a format that is recognized.</exception> private void Parse (String cvsRoot) { --- 264,268 ---- /// </summary> /// <param name="cvsRoot">The array of cvs root variables</param> ! /// <exception cref="ICSharpCode.SharpCvsLib.Exceptions.CvsRootParseException">A parse exception is thrown /// if the cvsroot is not in a format that is recognized.</exception> private void Parse (String cvsRoot) { *************** *** 240,244 **** LOGGER.Debug(String.Format("Matches count: {0}.", matches.Groups.Count)); if (!matches.Success) { ! throw new CvsRootParseException(String.Format(@"Bad cvsroot. Expected ( :protocol:[usename@]server[:port]:[C:]/path/to/repos ) Found ( {0} )", --- 273,277 ---- LOGGER.Debug(String.Format("Matches count: {0}.", matches.Groups.Count)); if (!matches.Success) { ! throw new ICSharpCode.SharpCvsLib.Exceptions.CvsRootParseException(String.Format(@"Bad cvsroot. Expected ( :protocol:[usename@]server[:port]:[C:]/path/to/repos ) Found ( {0} )", *************** *** 269,282 **** private bool HasUserVar (String[] vars) { ! return this.HasUserVar(vars[PROTOCOL_INDEX]); ! } ! ! private bool HasUserVar (String protocol) { if (null == protocol) { return false; } ! if (protocol.ToLower().Equals(HostProtocol.PSERVER) || ! protocol.ToLower().Equals(HostProtocol.SSH) || ! protocol.ToLower().Equals(HostProtocol.EXT)){ return true; } --- 302,318 ---- private bool HasUserVar (String[] vars) { ! string protocol = vars[PROTOCOL_INDEX]; if (null == protocol) { return false; } ! ProtocolType tProtocol = ! (ProtocolType)System.Enum.Parse(typeof(ProtocolType), protocol); ! return this.HasUserVar(tProtocol); ! } ! ! private bool HasUserVar (ProtocolType protocol) { ! if (protocol == ProtocolType.pserver || ! protocol == ProtocolType.ssh || ! protocol == ProtocolType.ext){ return true; } *************** *** 286,290 **** private void AssertNotEmpty(string value, string fieldName) { if (null == value || value.Length == 0) { ! throw new CvsRootParseException( String.Format("{0} must contain a value.", fieldName)); } --- 322,326 ---- private void AssertNotEmpty(string value, string fieldName) { if (null == value || value.Length == 0) { ! throw new ICSharpCode.SharpCvsLib.Exceptions.CvsRootParseException( String.Format("{0} must contain a value.", fieldName)); } *************** *** 296,300 **** /// <returns></returns> public override string ToString() { ! return ':' + protocol + ':' + user + '@' + host + ':' + cvsrepository; } --- 332,336 ---- /// <returns></returns> public override string ToString() { ! return ':' + protocol.ToString() + ':' + user + '@' + host + ':' + cvsrepository; } Index: UnsupportedProtocolException.cs =================================================================== RCS file: /cvsroot/sharpcvslib/sharpcvslib/src/ICSharpCode/SharpCvsLib/Misc/UnsupportedProtocolException.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** UnsupportedProtocolException.cs 22 Nov 2003 18:18:09 -0000 1.1 --- UnsupportedProtocolException.cs 1 Jan 2005 22:06:55 -0000 1.2 *************** *** 8,12 **** /// library. /// </summary> ! public class UnsupportedProtocolException : Exception{ /// <summary> /// Indicate that an unknown protocol has been used. --- 8,13 ---- /// library. /// </summary> ! [Obsolete("Use ICSharpCode.SharpCvsLib.Exceptions.UnsupportedProtocolException.")] ! public class UnsupportedProtocolException : NotImplementedException{ /// <summary> /// Indicate that an unknown protocol has been used. Index: CvsRootParseException.cs =================================================================== RCS file: /cvsroot/sharpcvslib/sharpcvslib/src/ICSharpCode/SharpCvsLib/Misc/CvsRootParseException.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** CvsRootParseException.cs 5 Dec 2003 05:27:52 -0000 1.2 --- CvsRootParseException.cs 1 Jan 2005 22:06:55 -0000 1.3 *************** *** 40,43 **** --- 40,44 ---- /// a root that is not understood by the server. /// </summary> + [Obsolete ("Use ICSharpCode.SharpCvsLib.Exceptions.CvsRootParseException.")] public class CvsRootParseException : Exception{ /// <summary> |