vgritsenko    02/04/19 17:04:17

  Modified:    src/java/org/apache/cocoon/transformation Tag:
                        cocoon_2_0_3_branch TraxTransformer.java
  Log:
  character iterator is slower then charAt
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.21.2.1  +9 -8      
xml-cocoon2/src/java/org/apache/cocoon/transformation/TraxTransformer.java
  
  Index: TraxTransformer.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/transformation/TraxTransformer.java,v
  retrieving revision 1.21
  retrieving revision 1.21.2.1
  diff -u -r1.21 -r1.21.2.1
  --- TraxTransformer.java      5 Apr 2002 11:58:09 -0000       1.21
  +++ TraxTransformer.java      20 Apr 2002 00:04:16 -0000      1.21.2.1
  @@ -155,7 +155,7 @@
    * @author <a href="mailto:[EMAIL PROTECTED]";>Giacomo Pati</a>
    * @author <a href="mailto:[EMAIL PROTECTED]";>Ovidiu Predescu</a>
    * @author <a href="mailto:[EMAIL PROTECTED]";>Mark H. Butler</a>
  - * @version CVS $Id: TraxTransformer.java,v 1.21 2002/04/05 11:58:09 cziegeler Exp $
  + * @version CVS $Id: TraxTransformer.java,v 1.21.2.1 2002/04/20 00:04:16 vgritsenko 
Exp $
    */
   public class TraxTransformer extends AbstractTransformer
   implements Transformer, Composable, Configurable, Cacheable, Disposable {
  @@ -509,21 +509,22 @@
       // FIXME (SM): this method may be a hotspot for requests with many
       //             parameters we should try to optimize it further
       static boolean isValidXSLTParameterName(String name) {
  -        StringCharacterIterator iter = new StringCharacterIterator(name);
  -        char c = iter.first();
  +        if (name.length() == 0) {
  +            return false;
  +        }
  +
  +        char c = name.charAt(0);
           if (!(Character.isLetter(c) || c == '_')) {
               return false;
  -        } else {
  -            c = iter.next();
           }
  -        while (c != iter.DONE) {
  +
  +        for (int i = name.length()-1; i > 1; i--) {
  +            c = name.charAt(i);
               if (!(Character.isLetterOrDigit(c) ||
                   c == '-' ||
                   c == '_' ||
                   c == '.')) {
                   return false;
  -            } else {
  -                c = iter.next();
               }
           }
   
  
  
  

----------------------------------------------------------------------
In case of troubles, e-mail:     [EMAIL PROTECTED]
To unsubscribe, e-mail:          [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to