From: Gert D. <dri...@us...> - 2004-07-25 14:43:22
|
Update of /cvsroot/nant/nant/src/NAnt.Core/Filters In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25120 Modified Files: ReplaceString.cs Log Message: renamed attributes, tabs to spaces, ... Index: ReplaceString.cs =================================================================== RCS file: /cvsroot/nant/nant/src/NAnt.Core/Filters/ReplaceString.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** ReplaceString.cs 24 Jul 2004 04:07:56 -0000 1.2 --- ReplaceString.cs 25 Jul 2004 14:43:14 -0000 1.3 *************** *** 36,64 **** /// <remarks> /// <para> ! /// This filter replaces all occurrences of a given string in the original input stream with ! /// a user-supplied replacement string. By default string comparisons are case ! /// sensitive but this can be changed by setting the optional <see cref="IgnoreCase"/> attribute to true. /// </para> /// <para> ! /// To use this filter specify the string to be replaced with the <see cref="TargetString"/> attribute and ! /// the string to replace it with using the <see cref="ReplacementString"/> attribute. Both the target and ! /// replacement strings can contain from 1 to n character but may not be empty. /// </para> /// <para> ! /// Filters are intended to be used as a element of a <see cref="FilterChain"/>. A FilterChain can ! /// be applied to a given task. /// </para> /// </remarks> /// <example> ! /// <para>Standard Syntax</para> ! /// <code> ! /// <![CDATA[ ! /// //Replaces all occurrences of 3.14 with PI ! /// <replacestring targetstring="3.14" replacementstring="PI"/> ! /// ! /// //Replaces string, String, etc with System.String ! /// <replacestring targetstring="String" replacementstring="System.String" /> ! /// ]]> ! /// </code> /// </example> [ElementName("replacestring")] --- 36,72 ---- /// <remarks> /// <para> ! /// This filter replaces all occurrences of a given string in the original ! /// input stream with a user-supplied replacement string. By default string ! /// comparisons are case sensitive but this can be changed by setting the ! /// optional <see cref="IgnoreCase"/> attribute to <see langword="true" />. /// </para> /// <para> ! /// To use this filter specify the string to be replaced with the ! /// <see cref="From"/> attribute and the string to replace it with using the ! /// <see cref="To" /> attribute. /// </para> /// <para> ! /// Filters are intended to be used as a element of a <see cref="FilterChain" />. /// </para> /// </remarks> /// <example> ! /// <para> ! /// Replace all occurrences of "3.14" with "PI". ! /// </para> ! /// <code> ! /// <![CDATA[ ! /// <replacestring from="3.14" to="PI" /> ! /// ]]> ! /// </code> ! /// </example> ! /// <example> ! /// <para> ! /// Replace all occurrences of "string", "String", etc. with "System.String". ! /// </para> ! /// <code> ! /// <![CDATA[ ! /// <replacestring from="String" to="System.String" ignorecase="true" /> ! /// ]]> ! /// </code> /// </example> [ElementName("replacestring")] *************** *** 71,82 **** #region Private Instance Fields ! ! private string _targetString; ! private string _replacementString; ! private string _outputBuffer; ! private bool _endStreamAfterBuffer; ! private int _bufferPosition = 0; ! private bool _stringNotFound = true; ! private bool _ignoreCase = false; //Methods used for Read and Peek --- 79,90 ---- #region Private Instance Fields ! ! private string _from; ! private string _to = string.Empty; ! private string _outputBuffer; ! private bool _endStreamAfterBuffer; ! private int _bufferPosition = 0; ! private bool _stringNotFound = true; ! private bool _ignoreCase; //Methods used for Read and Peek *************** *** 90,115 **** /// <summary> ! /// String to replace with the value specified by <see cref="ReplacementString"/>. /// </summary> ! [TaskAttribute("targetstring", Required=true)] [StringValidator(AllowEmpty=false)] ! public string TargetString { ! get { return _targetString; } ! set { _targetString = value; } } /// <summary> ! /// String the replaces all instances of the string specified by <see cref="TargetString"/>. /// </summary> ! [TaskAttribute("replacementstring", Required=true)] [StringValidator(AllowEmpty=false)] ! public string ReplacementString { ! get { return _replacementString; } ! set { _replacementString = value; } } /// <summary> ! /// Determines if case will be ignored ! /// The default is <see langword="false"/>. /// </summary> [TaskAttribute("ignorecase", Required=false)] --- 98,123 ---- /// <summary> ! /// The string that must be replaced. /// </summary> ! [TaskAttribute("from", Required=true)] [StringValidator(AllowEmpty=false)] ! public string From { ! get { return _from; } ! set { _from = value; } } /// <summary> ! /// The new value for the replaced string. /// </summary> ! [TaskAttribute("to", Required=false)] [StringValidator(AllowEmpty=false)] ! public string To { ! get { return _to; } ! set { _to = value; } } /// <summary> ! /// Determines if case will be ignored. ! /// The default is <see langword="false" />. /// </summary> [TaskAttribute("ignorecase", Required=false)] *************** *** 119,122 **** --- 127,131 ---- set { _ignoreCase = value; } } + #endregion Public Instance Properties *************** *** 159,176 **** #endregion Override implementation of ChainableReader - #region Override implementation of Element - - /// <summary> - /// Initialize the filter by setting its parameters. - /// </summary> - protected override void InitializeElement(XmlNode elementNode) { - - if (this._targetString.Length == 0) { - throw new BuildException("The target string can not be empty.", Location); - } - } - - #endregion Override implementation of Element - #region Private Instance Methods --- 168,171 ---- *************** *** 199,203 **** //create a new buffer ! StringBuilder buffer = new StringBuilder(_targetString.Length, _targetString.Length); //Add first char that initiate the FindString --- 194,198 ---- //create a new buffer ! StringBuilder buffer = new StringBuilder(_from.Length, _from.Length); //Add first char that initiate the FindString *************** *** 208,212 **** //we have found the string. int streamChar; ! for (int pos = 1 ; pos < _targetString.Length ; pos++) { //Read a character streamChar = base.Read(); --- 203,207 ---- //we have found the string. int streamChar; ! for (int pos = 1 ; pos < _from.Length ; pos++) { //Read a character streamChar = base.Read(); *************** *** 218,222 **** //Is it the correct character? ! if (CompareCharacters(streamChar, _targetString[pos]) == false) { //Check for end of stream if (streamChar == -1) { --- 213,217 ---- //Is it the correct character? ! if (CompareCharacters(streamChar, _from[pos]) == false) { //Check for end of stream if (streamChar == -1) { *************** *** 249,253 **** ch = base.Read(); } else { ! //Characters left in the buffer? if (_bufferPosition < _outputBuffer.Length) { --- 244,248 ---- ch = base.Read(); } else { ! // characters left in the buffer? if (_bufferPosition < _outputBuffer.Length) { *************** *** 278,293 **** } ! //If the character matches the first character of the target string then search ! //for the string. ! if (CompareCharacters(ch, _targetString[0])) { ! ! //Search for the target string if (FindString(ch, out _endStreamAfterBuffer, out _outputBuffer) == true) { //Target was found _stringNotFound = false; ! _outputBuffer = _replacementString; _bufferPosition = 1; ! return _replacementString[0]; } else { //Target not found --- 273,288 ---- } ! // if the character matches the first character of the target string then search ! // for the string. ! if (CompareCharacters(ch, _from[0])) { ! // search for the target string if (FindString(ch, out _endStreamAfterBuffer, out _outputBuffer) == true) { //Target was found _stringNotFound = false; ! _outputBuffer = _to; _bufferPosition = 1; ! ! return _to[0]; } else { //Target not found |